Neui
a1c54063d0
CMake: CCache: Always make clang happy
...
When we are using ccache anyway, always add the flags to make clang
happy. Also, fix copy-paste error regarding what variable to modify for
it.
2024-06-10 23:44:46 +02:00
Neui
f91413db8f
CMake: Fix CCache support when already using _LAUNCHER
...
The official ccache documentation[1] recommends to set
`CMAKE_C(XX)_COMPILER_LAUNCHER` to ccache to enable ccache.
These also work as envionment variables (supported by CMake itself).
However, using these instructions generates the following error during
building:
ccache: error: Recursive invocation (the name of the ccache binary must be "ccache")
This is because Dolphin adds an additional command ccache layer (ccache
ccache compiler ...).
This fixes that issue by checking for `CMAKE_C(XX)_COMPILER_LAUNCHER`
before inserting our own. Also, use `CMAKE_C(XX)_COMPILER_LAUNCHER`
to add ccache because the CMake docs discourages the use of
`RULE_LAUNCH_COMPILE` in favour of `CMAKE_C(XX)_COMPILER_LAUNCHER`.
[1]: https://github.com/ccache/ccache/wiki/CMake
2024-06-08 16:05:14 +02:00
OatmealDome
c3e0aeb184
Merge pull request #12728 from OatmealDome/mac-version-numbers-2
...
ScmRevGen: Generate Info.plist files containing the current version
2024-05-30 01:13:32 -04:00
Guilherme Janczak
cd25e91ca2
use pkg_search_module to find minizip-ng or minizip
...
OpenBSD calls minizip-ng's .pc file minizip.pc
Others call minizip-ng's .pc file minizip-ng.pc
2024-05-07 04:25:04 +00:00
OatmealDome
c154134e28
ScmRevGen: Generate Info.plist for MacUpdater
2024-04-21 13:28:21 -04:00
OatmealDome
3ad1037d7f
ScmRevGen: Generate Info.plist for DolphinQt
2024-04-21 13:28:21 -04:00
OatmealDome
1cb6ce6057
ScmRevGen: Refactor file configuration into a function
2024-04-21 13:28:18 -04:00
Jordan Woyak
02f57a4778
Replace SCM_IS_MASTER with SCM_COMMITS_AHEAD_MASTER
2024-03-23 16:48:52 -05:00
Jordan Woyak
25833cfd62
CMake: Hide warnings in Externals also for non-msvc.
2024-03-19 01:12:52 -05:00
Admiral H. Curtiss
fa81006b51
Merge pull request #11955 from TellowKrinkle/CMakeDependencies
...
CMake: Allow ignoring system packages
2023-06-30 19:06:04 +02:00
Admiral H. Curtiss
2a6f4d879c
CMake: Generate scmrev.h at build time instead of configure time.
2023-06-29 03:23:31 +02:00
TellowKrinkle
ade40650f5
CMake: Support using bundled libraries even if system libraries exist
2023-06-15 01:41:41 -05:00
TellowKrinkle
5b10a80401
CMake: Use targets for all optionally-external dependencies
2023-06-15 01:41:41 -05:00
OatmealDome
1a0a1e8f12
Merge pull request #10976 from TellowKrinkle/StackFrames
...
Improve stack frames for profilers
2023-06-12 05:00:08 +02:00
Admiral H. Curtiss
2a9616d0a2
Fix lingering CMAKE_REQUIRED_INCLUDES variable from FindMBEDTLS, this breaks any further can-compile checks.
2023-06-06 19:09:31 +02:00
Alexandre Bouvier
4d61ec1f4f
CMake: Fix build with system Mbed TLS
2023-05-26 01:59:51 +00:00
Admiral H. Curtiss
86f1ef1e33
Merge pull request #11707 from TellowKrinkle/CMakeIconv
...
CMake: Use find_package and imported targets for Iconv
2023-05-19 19:27:16 +02:00
TellowKrinkle
eb6bf08170
CMake: Add custom FindIconv
...
Workaround for https://gitlab.kitware.com/cmake/cmake/-/issues/24695
2023-04-08 21:43:03 -05:00
TellowKrinkle
0d4a5274f1
CMake: Remove custom SDL2 find script
...
It doesn't properly set the include paths for macos framework builds of SDL, and SDL has had its own find script since 2.0.10
2023-03-30 21:17:10 -05:00
Valeri
6aafbaf66f
Fix build when using mGBA in unorthodox location
...
Includes use `mgba/` and `mgba-util/` as part of path, making compilation fail when relying on include directory supplied here was actually needed.
2023-02-14 22:24:02 +03:00
Admiral H. Curtiss
1eb69ea0a0
Merge pull request #10936 from TellowKrinkle/FixIncludeDirs
...
CMake: Actually use the include directories specified by dependencies
2023-01-30 09:19:06 +01:00
Maxime Gauduin
afde3a0e0d
try for system libmgba first
2022-12-22 19:18:07 +01:00
Shawn Hoffman
717c36bc43
WinUpdater: Check OS and VC++ Redist versions.
2022-09-20 15:57:50 -07:00
TellowKrinkle
1bc133f3ae
CMake: Properly include lzma include directories
2022-08-18 21:06:57 -05:00
TellowKrinkle
048f6fac52
CMake: Properly include zstd include directories
2022-08-18 21:06:57 -05:00
TellowKrinkle
b5da4e9d48
CMake: Don't omit frame pointer on RelWithDebInfo builds
2022-08-10 23:48:56 -05:00
Admiral H. Curtiss
6ea7af13e8
cmake: Disable warnings for most externals on MSVC, like we do in the VS project files.
2022-05-22 00:30:56 +02:00
Admiral H. Curtiss
a5e85627b0
cmake: Use Policy CMP0117 for more sensible RTTI flag configuration on MSVC.
2022-05-22 00:30:56 +02:00
OatmealDome
d8a5a8827e
Externals: Update mbedtls to 2.28.0
2022-04-02 19:30:22 -04:00
Léo Lam
d0484a9ea9
CMake: Fix MSVC flags for Release/RelWithDebInfo
...
See https://gitlab.kitware.com/cmake/cmake/-/issues/20812
Manually redefine MSVC flags to match Visual Studio defaults
and ensure that Release builds generate debug info.
2021-04-27 12:54:18 +02:00
Florent Castelli
6910fab63f
cmake: Replace /Zi with /Z7 for sccache support
...
Also allows better parallelization since there's no contention on a PDB
file with compiling.
2021-04-24 17:59:34 +02:00
Florent Castelli
712b078a5b
cmake: Search for sccache too in CCache module
...
sccache is a ccache rewrite that supports GCC, Clang and MSVC.
2021-04-24 17:59:34 +02:00
Norbert Lange
439e2e3fc2
Stricter test for compiler flags
...
Some flags do nothing but generate dozens of warnings later,
add '-Werror' during testing to catch those early.
Main culprit is '-fvisibility-inlines-hidden' which is invalid for C files
2021-02-22 10:47:12 +01:00
orbea
2bfbc4d79f
cmake: Silence warnings.
2020-09-08 21:18:40 -07:00
Pierre Bourdon
143131a6a1
cmake: add an option to control dependencies vendoring
...
Disable by default, to be used by distributions who care to try and
prefer system-wide libraries when available. It makes sense for us to
keep using vendored libs by default when possible to make it easier for
users to compile, but we should provide appropriate tools for distro to
figure out which dependencies they can share with the rest of the
system.
2020-05-10 09:34:14 +02:00
Tellow Krinkle
f04f5fe930
Match path type to BundleUtilities when running fixup_bundle
...
BundleUtilities uses `ABSOLUTE`, and if you use `REALPATH` (which removes symlinks) and compile from a path that contains symlinks, BundleUtilities will complain about things not being inside the main app bundle because some paths don't match
2020-03-29 20:04:03 -05:00
Stenzek
c95802afeb
CMake: Make X11 and EGL optional
2018-10-20 21:11:34 +10:00
orbea
227807df36
cmake: Support system cubeb builds.
2018-08-08 07:36:19 -07:00
Rémi Verschelde
d37ccc844e
CMake: Fix case in FindPugixml resulting in false negative
...
As mentioned in GH-6652.
2018-05-30 09:12:24 +02:00
Léo Lam
f4ec261719
CMake: Use system-wide pugixml if available
...
Makes it possible to use a system-wide pugixml instead of always
using Externals. This is nicer for distro packagers.
2018-04-15 18:57:39 +02:00
Lioncash
b31281527a
CMakeLists: Define an OProfile target and use it
...
Allows us to bring includes and relevant libraries into scope by explicitly declaring linkage against the target
as opposed to using a variable. Also removes the dumping of OProfile includes into the top-level directory.
2018-04-13 19:35:17 -04:00
Pierre Bourdon
f221fac02e
cmake: check for optional libsystemd presence
2018-03-08 06:00:40 +00:00
Ryan Meredith
1f226ec14f
Update Readme.md and various fixes
2017-12-20 10:54:51 +01:00
Michael M
26f5d500b9
FindMiniupnpc: expose imported library target
2017-08-17 13:15:02 -07:00
Michael Maltese
9dfd8bbf38
CMake: fix FindFFmpeg when ffmpeg isn't found
2017-05-26 00:53:58 -07:00
Michael Maltese
d951d2e4c4
CMake: libav/ffmpeg cleanups
...
Use @Orphis's FindFFmpeg module from ppsspp:
2149d3db7f
From that commit:
> This new module should be able to handle both libraries in the regular
> paths and fallback to pkg-config.
> It is also able to find dynamic libraries, not just static libraries.
> It will generate imported targets with the name FFmpeg::<lib> that you
> can use in your scripts.
2017-05-26 00:53:58 -07:00
Michael Maltese
655ab9b4e2
CMake: clean up HIDAPI build
2017-04-27 02:41:00 -07:00
Michael Maltese
af63235dc4
Remove libao sound backend
...
A single person uses it[0], and it sometimes messes up the Linux
buildbots ("ninja: error: 'ao', needed by 'Binaries/dolphin-emu', missing
and no known rule to make it").
[0]: https://analytics.dolphin-emu.org/stats/popular-audio-backends.txt
2017-03-31 14:59:57 -07:00
Florent Castelli
d2119d35fb
cmake: Find bundled ffmpeg even if you have pkg-config on Win32
2017-03-10 14:45:52 +01:00
Florent Castelli
5514680bc8
cmake: Fix typo in dolphin_compile_definitions
2017-03-08 06:47:00 +01:00