forked from Restream/reindexer
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathCMakeLists.txt
35 lines (31 loc) · 1.54 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# This logic needs to be considered before project()
set(_change_MSVC_flags FALSE)
if(WIN32)
if(CMAKE_VERSION VERSION_LESS 3.15.0)
set(_change_MSVC_flags TRUE)
else()
# Set MSVC runtime to MultiThreaded (/MT)
cmake_policy(SET CMP0091 NEW)
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
endif()
endif()
cmake_minimum_required(VERSION 3.10..3.13)
project(reindexer)
enable_testing()
set(CMAKE_DISABLE_IN_SOURCE_BUILD ON)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
set(REINDEXER_SOURCE_PATH ${PROJECT_SOURCE_DIR}/cpp_src)
option(VCPKG_TARGET_TRIPLET x64-windows-static)
if (DEFINED ENV{VCPKG_ROOT})
set(VCPKG_TOOLCHAIN "$ENV{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake")
set(VCPKG_TARGET_TRIPLET_PATH "$ENV{VCPKG_ROOT}/installed/${VCPKG_TARGET_TRIPLET}")
endif()
if (MSVC)
string(REGEX REPLACE "/MD$<$<CONFIG:Debug>:d>" "/MT$<$<CONFIG:Debug>:d>" COMPILE_OPTIONS "${COMPILE_OPTIONS}")
string(REGEX REPLACE "/MD$<$<CONFIG:Debug>:d>" "/MT$<$<CONFIG:Debug>:d>" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
string(REGEX REPLACE "/MD$<$<CONFIG:Debug>:d>" "/MT$<$<CONFIG:Debug>:d>" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
string(REGEX REPLACE "/MD$<$<CONFIG:Debug>:d>" "/MT$<$<CONFIG:Debug>:d>" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS}")
string(REGEX REPLACE "/MD$<$<CONFIG:Debug>:d>" "/MT$<$<CONFIG:Debug>:d>" CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS}")
string(REGEX REPLACE "/MD$<$<CONFIG:Debug>:d>" "/MT$<$<CONFIG:Debug>:d>" CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS}")
endif()
add_subdirectory(cpp_src)