diff options
author | crupest <crupest@outlook.com> | 2023-10-16 21:55:04 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2023-10-16 21:55:04 +0800 |
commit | 0a67b1c862954d0d18d4fbf322c31ea0faf065d7 (patch) | |
tree | 21ed0f02a3bfcad3f35a0e0ca820ca2e117a4a12 /CMakeLists.txt | |
parent | b96302d5b517cce20544b4aac3153aada1bd56f3 (diff) | |
download | cru-0a67b1c862954d0d18d4fbf322c31ea0faf065d7.tar.gz cru-0a67b1c862954d0d18d4fbf322c31ea0faf065d7.tar.bz2 cru-0a67b1c862954d0d18d4fbf322c31ea0faf065d7.zip |
Try to fix catch2 static link bug on win.
Although I'm off a windows pc...
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 086e5048..49abb47c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,15 +1,19 @@ cmake_minimum_required(VERSION 3.21) +# This make option variable not override normal variable. +set(CMAKE_POLICY_DEFAULT_CMP0077 NEW) +# Note the next line won't work because cmake policy is scoped and won't affect subdir. +# cmake_policy(SET CMP0077 NEW) + set(CMAKE_EXPORT_COMPILE_COMMANDS ON) -set(CRU_DEFAULT_BUILD_SHARED_LIBS ON) +# We default to build shared libs. +set(BUILD_SHARED_LIBS ON) if (EMSCRIPTEN) # WebAssembly has no idea about static/dynamic libraries. - set(CRU_DEFAULT_BUILD_SHARED_LIBS OFF) + set(BUILD_SHARED_LIBS OFF) endif() -option(BUILD_SHARED_LIBS "Try to build shared libraries as default" ${CRU_DEFAULT_BUILD_SHARED_LIBS}) - set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_EXTENSIONS OFF) @@ -19,7 +23,12 @@ if (APPLE) include_directories(BEFORE SYSTEM "/usr/local/include") endif() +# Catch2 requires static link. +set(OLD_BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS}) +set(BUILD_SHARED_LIBS OFF) add_subdirectory(lib/Catch2) +set(BUILD_SHARED_LIBS ${OLD_BUILD_SHARED_LIBS}) + add_subdirectory(lib/double-conversion) add_subdirectory(lib/GSL) |