-
Notifications
You must be signed in to change notification settings - Fork 76
Expand file tree
/
Copy pathlibenvpp.cmake
More file actions
40 lines (37 loc) · 1.38 KB
/
libenvpp.cmake
File metadata and controls
40 lines (37 loc) · 1.38 KB
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
36
37
38
39
40
if(WIN32)
set(PPC_FMT_FLAGS "/EHsc /DFMT_CONSTEVAL=inline")
else()
set(PPC_FMT_FLAGS "-fexceptions -DFMT_CONSTEVAL=inline")
endif()
include(ExternalProject)
ExternalProject_Add(
ppc_libenvpp
SOURCE_DIR "${CMAKE_SOURCE_DIR}/3rdparty/libenvpp"
PREFIX "${CMAKE_CURRENT_BINARY_DIR}/ppc_libenvpp"
BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/ppc_libenvpp/build"
INSTALL_DIR "${CMAKE_CURRENT_BINARY_DIR}/ppc_libenvpp/install"
CMAKE_ARGS -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
-DCMAKE_C_COMPILER_LAUNCHER=${CMAKE_C_COMPILER_LAUNCHER}
-DCMAKE_CXX_COMPILER_LAUNCHER=${CMAKE_CXX_COMPILER_LAUNCHER}
-DCMAKE_CXX_STANDARD_REQUIRED=ON
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DCMAKE_CXX_FLAGS=${PPC_FMT_FLAGS}
BUILD_COMMAND
"${CMAKE_COMMAND}" --build "${CMAKE_CURRENT_BINARY_DIR}/ppc_libenvpp/build"
--config ${CMAKE_BUILD_TYPE} --parallel
INSTALL_COMMAND
"${CMAKE_COMMAND}" --install
"${CMAKE_CURRENT_BINARY_DIR}/ppc_libenvpp/build" --prefix
"${CMAKE_CURRENT_BINARY_DIR}/ppc_libenvpp/install")
string(TOLOWER "${CMAKE_BUILD_TYPE}" cmake_build_type_lower)
if(cmake_build_type_lower STREQUAL "debug")
set(PPC_FMT_LIB_NAME fmtd)
else()
set(PPC_FMT_LIB_NAME fmt)
endif()
if(WIN32)
set(PPC_ENVPP_LIB_NAME libenvpp)
else()
set(PPC_ENVPP_LIB_NAME envpp)
endif()