Commit Graph

26 Commits

Author SHA1 Message Date
rdb 96b2f3a4d5 CMake: Split out Objective-C++ flags on macOS to fix crash
This now requires CMake 3.16

This is a similar fix as 987f2f036b but for CMake
2023-05-08 20:00:39 +02:00
rdb 600fa45d6e CMake: Fix typo in CMAKE_CXX_FLAGS variable on MSVC 2023-05-08 19:59:15 +02:00
rdb 5475084717 build: Enable -fno-semantic-interposition for GCC
This matches the more optimized clang behavior for -fPIC
2022-03-09 16:23:37 +01:00
rdb 264747d213 CMake: Drop support for CMake versions below 3.13
We are already using target_link_options, and while it's possible to keep supporting older versions, it doesn't sound worth it.  I can revert this out if someone gives me a really good reason to.
2022-03-09 16:23:37 +01:00
rdb 3a120c4d68 CMake: Update warning flags to match makepanda (see f60c55f) 2022-03-02 09:45:22 +01:00
Sam Edwards b00d7b23bc CMake: Use CMAKE_FIND_PACKAGE_PREFER_CONFIG to control find_package override 2019-12-31 06:48:06 -07:00
Sam Edwards e474350a48 CMake: Add a "Coverage" configuration, when using GCC/Clang 2019-12-05 10:35:25 -07:00
Sam Edwards 6bde9423df CMake: Don't pass GNU-like -f options to clang-cl 2019-12-05 10:34:47 -07:00
Sam Edwards 5c98b793a2 CMake: Make sure C++11 is marked as the required standard 2019-12-05 10:34:47 -07:00
Sam Edwards 5b4ea0e277 CMake: Proper Standard compiler flags for MSVC 2019-11-04 13:41:20 -07:00
Sam Edwards 9bb59b03b9 CMake: Add several essential flags
See GH #717 for relevant discussion
2019-09-19 22:33:11 -06:00
Sam Edwards bd1605907e CMake: Rename 'Distribution' config to 'Standard'
This is the configuration shipped to Python developers
in the form of the public SDK.
2019-09-19 22:18:28 -06:00
Sam Edwards 8429f50d3a CMake: Use -fno-rtti on most build configurations 2019-09-19 04:44:46 -06:00
Sam Edwards 5654e64645 CMake: First batch of improvements per review
Addressing feedback per @rdb in GitHub #717
2019-09-06 01:11:50 -06:00
Sam Edwards 5fa4af9189 CMake: Rely on GNUInstallDirs to specify install paths
This makes multiarch OSes happy as they can dictate that
64-bit libraries go into 'lib64'
2019-08-31 00:48:42 -06:00
Sam Edwards cde25670d6 CMake: Remove some uses of CFG_INTDIR
It's not install() friendly, so we use $<CONFIG> instead in
some cases. Unfortunately, $<CONFIG> isn't friendly with
add_custom_command's OUTPUT options while CMAKE_CFG_INTDIR
explicitly is, so we use a hybrid approach until CMake gets
its act together.
2019-08-28 17:12:01 -06:00
Sam Edwards 8588ddc3dc CMake: When building on MSVC, add /bigobj to compiler where necessary 2019-08-25 15:54:02 -06:00
Sam Edwards 9ca4f19b90 CMake: Make sure we define flags variables for Distribution
This fixes a CMake error with the MSVC generator, but it's also
generally good to have around.
2019-08-22 14:58:43 -06:00
Donny Lawrence 3160c77bc3 CMake: MODULEs should use .dylib, not .so 2019-06-27 17:38:18 -06:00
Donny Lawrence 10abe6e216 CMake: Remove usages of string(APPEND ...) 2019-06-27 17:38:18 -06:00
Donny Lawrence 89bc83c48f CMake: Suppress $(EFFECTIVE_PLATFORM_NAME). 2019-06-27 17:38:18 -06:00
Donny Lawrence 3eb1895811 CMake: Use a generator expression to mitigate make's warning spam on the Xcode generator. 2019-06-27 17:38:18 -06:00
Sam Edwards 059c78bade CMake: Restructure multi-configuration binary directory layout
This changes the structure to use paths like `build/Release/lib`
instead of `build/lib/Release`, so that the `build/Release` directory
more closely mimics the structure of `build` when in single-configuration
mode.
2019-05-01 23:44:47 -06:00
Sam Edwards 6097d34ead CMake: Neatly format everything for readability and consistency 2019-04-14 22:37:18 -06:00
Sam Edwards d961514892 CMake: Use string/list(APPEND foo ...) instead of set(foo ${foo} ...) 2019-01-19 17:01:36 -07:00
Sam Edwards 8c4dfd7a70 CMake: Move compiler flag detection to its own file 2019-01-19 13:22:20 -07:00