Skip to content

Commit fcc3413

Browse files
committed
Refactor CMake scripts to replace CONFIGURE_COMMAND with CMAKE_ARGS for better clarity and maintainability.
1 parent 7e4f660 commit fcc3413

File tree

4 files changed

+72
-35
lines changed

4 files changed

+72
-35
lines changed

cmake/gtest.cmake

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,24 @@
11
include_directories(${CMAKE_SOURCE_DIR}/3rdparty/googletest/googletest/include)
22
include(ExternalProject)
3+
34
ExternalProject_Add(ppc_googletest
45
SOURCE_DIR "${CMAKE_SOURCE_DIR}/3rdparty/googletest"
56
PREFIX "${CMAKE_CURRENT_BINARY_DIR}/ppc_googletest"
67
BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/ppc_googletest/build"
78
INSTALL_DIR "${CMAKE_CURRENT_BINARY_DIR}/ppc_googletest/install"
8-
CONFIGURE_COMMAND "${CMAKE_COMMAND}" -S "${CMAKE_SOURCE_DIR}/3rdparty/googletest/" -B "${CMAKE_CURRENT_BINARY_DIR}/ppc_googletest/build/"
9-
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} -G${CMAKE_GENERATOR} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
10-
-D CMAKE_C_COMPILER_LAUNCHER=${CMAKE_C_COMPILER_LAUNCHER} -D CMAKE_CXX_COMPILER_LAUNCHER=${CMAKE_CXX_COMPILER_LAUNCHER}
11-
-Dgtest_force_shared_crt=ON -DCMAKE_CXX_FLAGS="-w" -DCMAKE_C_FLAGS="-w"
12-
-D CMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} -D CMAKE_CXX_STANDARD_REQUIRED=ON
9+
10+
CMAKE_ARGS
11+
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
12+
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
13+
-DCMAKE_C_COMPILER_LAUNCHER=${CMAKE_C_COMPILER_LAUNCHER}
14+
-DCMAKE_CXX_COMPILER_LAUNCHER=${CMAKE_CXX_COMPILER_LAUNCHER}
15+
-DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}
16+
-DCMAKE_CXX_STANDARD_REQUIRED=ON
17+
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
18+
-DCMAKE_C_FLAGS=-w
19+
-DCMAKE_CXX_FLAGS=-w
20+
-Dgtest_force_shared_crt=ON
21+
1322
BUILD_COMMAND "${CMAKE_COMMAND}" --build "${CMAKE_CURRENT_BINARY_DIR}/ppc_googletest/build" --config ${CMAKE_BUILD_TYPE} --parallel
14-
INSTALL_COMMAND "${CMAKE_COMMAND}" --install "${CMAKE_CURRENT_BINARY_DIR}/ppc_googletest/build" --prefix "${CMAKE_CURRENT_BINARY_DIR}/ppc_googletest/install")
23+
INSTALL_COMMAND "${CMAKE_COMMAND}" --install "${CMAKE_CURRENT_BINARY_DIR}/ppc_googletest/build" --prefix "${CMAKE_CURRENT_BINARY_DIR}/ppc_googletest/install"
24+
)

cmake/json.cmake

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,22 @@
11
include_directories(${CMAKE_SOURCE_DIR}/3rdparty/json/include)
2+
23
include(ExternalProject)
4+
35
ExternalProject_Add(ppc_json
46
SOURCE_DIR "${CMAKE_SOURCE_DIR}/3rdparty/json"
57
PREFIX "${CMAKE_CURRENT_BINARY_DIR}/ppc_json"
68
BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/ppc_json/build"
79
INSTALL_DIR "${CMAKE_CURRENT_BINARY_DIR}/ppc_json/install"
8-
CONFIGURE_COMMAND "${CMAKE_COMMAND}" -S "${CMAKE_SOURCE_DIR}/3rdparty/json/" -B "${CMAKE_CURRENT_BINARY_DIR}/ppc_json/build/"
9-
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} -G${CMAKE_GENERATOR} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
10-
-D CMAKE_C_COMPILER_LAUNCHER=${CMAKE_C_COMPILER_LAUNCHER} -D CMAKE_CXX_COMPILER_LAUNCHER=${CMAKE_CXX_COMPILER_LAUNCHER}
11-
-D CMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} -D CMAKE_CXX_STANDARD_REQUIRED=ON
10+
11+
CMAKE_ARGS
12+
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
13+
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
14+
-DCMAKE_C_COMPILER_LAUNCHER=${CMAKE_C_COMPILER_LAUNCHER}
15+
-DCMAKE_CXX_COMPILER_LAUNCHER=${CMAKE_CXX_COMPILER_LAUNCHER}
16+
-DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}
17+
-DCMAKE_CXX_STANDARD_REQUIRED=ON
18+
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
19+
1220
BUILD_COMMAND "${CMAKE_COMMAND}" --build "${CMAKE_CURRENT_BINARY_DIR}/ppc_json/build" --config ${CMAKE_BUILD_TYPE} --parallel
13-
INSTALL_COMMAND "${CMAKE_COMMAND}" --install "${CMAKE_CURRENT_BINARY_DIR}/ppc_json/build" --prefix "${CMAKE_CURRENT_BINARY_DIR}/ppc_json/install")
21+
INSTALL_COMMAND "${CMAKE_COMMAND}" --install "${CMAKE_CURRENT_BINARY_DIR}/ppc_json/build" --prefix "${CMAKE_CURRENT_BINARY_DIR}/ppc_json/install"
22+
)

cmake/libenvpp.cmake

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,18 @@ ExternalProject_Add(ppc_libenvpp
77
PREFIX "${CMAKE_CURRENT_BINARY_DIR}/ppc_libenvpp"
88
BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/ppc_libenvpp/build"
99
INSTALL_DIR "${CMAKE_CURRENT_BINARY_DIR}/ppc_libenvpp/install"
10-
CONFIGURE_COMMAND "${CMAKE_COMMAND}" -S "${CMAKE_SOURCE_DIR}/3rdparty/libenvpp/" -B "${CMAKE_CURRENT_BINARY_DIR}/ppc_libenvpp/build/"
11-
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} -G${CMAKE_GENERATOR} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
12-
-D CMAKE_C_COMPILER_LAUNCHER=${CMAKE_C_COMPILER_LAUNCHER} -D CMAKE_CXX_COMPILER_LAUNCHER=${CMAKE_CXX_COMPILER_LAUNCHER}
13-
-D CMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} -D CMAKE_CXX_STANDARD_REQUIRED=ON -DFMT_CONSTEVAL=inline
10+
CMAKE_ARGS
11+
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
12+
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
13+
-DCMAKE_C_COMPILER_LAUNCHER=${CMAKE_C_COMPILER_LAUNCHER}
14+
-DCMAKE_CXX_COMPILER_LAUNCHER=${CMAKE_CXX_COMPILER_LAUNCHER}
15+
-DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}
16+
-DCMAKE_CXX_STANDARD_REQUIRED=ON
17+
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
18+
-DFMT_CONSTEVAL=inline
1419
BUILD_COMMAND "${CMAKE_COMMAND}" --build "${CMAKE_CURRENT_BINARY_DIR}/ppc_libenvpp/build" --config ${CMAKE_BUILD_TYPE} --parallel
15-
INSTALL_COMMAND "${CMAKE_COMMAND}" --install "${CMAKE_CURRENT_BINARY_DIR}/ppc_libenvpp/build" --prefix "${CMAKE_CURRENT_BINARY_DIR}/ppc_libenvpp/install")
20+
INSTALL_COMMAND "${CMAKE_COMMAND}" --install "${CMAKE_CURRENT_BINARY_DIR}/ppc_libenvpp/build" --prefix "${CMAKE_CURRENT_BINARY_DIR}/ppc_libenvpp/install"
21+
)
1622

1723
string(TOLOWER "${CMAKE_BUILD_TYPE}" cmake_build_type_lower)
1824
if(cmake_build_type_lower STREQUAL "debug")

cmake/onetbb.cmake

Lines changed: 31 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,43 @@
1-
# Build Core OneTBB components
2-
include_directories(${CMAKE_SOURCE_DIR}/3rdparty/onetbb/include)
3-
41
include(ExternalProject)
52

3+
include_directories("${CMAKE_SOURCE_DIR}/3rdparty/onetbb/include")
4+
65
if(WIN32)
7-
set(ppc_onetbb_TEST_COMMAND "${CMAKE_COMMAND}" -E copy_directory "${CMAKE_CURRENT_BINARY_DIR}/ppc_onetbb/install/bin" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}")
6+
set(ppc_onetbb_TEST_COMMAND "${CMAKE_COMMAND}" -E copy_directory
7+
"${CMAKE_CURRENT_BINARY_DIR}/ppc_onetbb/install/bin"
8+
"${CMAKE_RUNTIME_OUTPUT_DIRECTORY}"
9+
)
810
else()
911
set(ppc_onetbb_TEST_COMMAND "")
1012
endif()
1113

1214
ExternalProject_Add(ppc_onetbb
13-
SOURCE_DIR "${CMAKE_SOURCE_DIR}/3rdparty/onetbb"
14-
PREFIX "${CMAKE_CURRENT_BINARY_DIR}/ppc_onetbb"
15-
BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/ppc_onetbb/build"
16-
INSTALL_DIR "${CMAKE_CURRENT_BINARY_DIR}/ppc_onetbb/install"
17-
CONFIGURE_COMMAND "${CMAKE_COMMAND}" -S "${CMAKE_SOURCE_DIR}/3rdparty/onetbb/" -B "${CMAKE_CURRENT_BINARY_DIR}/ppc_onetbb/build/"
18-
-DCMAKE_CXX_FLAGS="-w" -DCMAKE_C_FLAGS="-w"
19-
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
20-
-DCMAKE_C_COMPILER_LAUNCHER=${CMAKE_C_COMPILER_LAUNCHER} -DCMAKE_CXX_COMPILER_LAUNCHER=${CMAKE_CXX_COMPILER_LAUNCHER}
21-
-G${CMAKE_GENERATOR} -DTBB_TEST=OFF -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
22-
-D CMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} -D CMAKE_CXX_STANDARD_REQUIRED=ON
23-
BUILD_COMMAND "${CMAKE_COMMAND}" --build "${CMAKE_CURRENT_BINARY_DIR}/ppc_onetbb/build" --config ${CMAKE_BUILD_TYPE} --parallel
24-
INSTALL_COMMAND "${CMAKE_COMMAND}" --install "${CMAKE_CURRENT_BINARY_DIR}/ppc_onetbb/build" --prefix "${CMAKE_CURRENT_BINARY_DIR}/ppc_onetbb/install"
25-
TEST_COMMAND ${ppc_onetbb_TEST_COMMAND}
15+
SOURCE_DIR "${CMAKE_SOURCE_DIR}/3rdparty/onetbb"
16+
PREFIX "${CMAKE_CURRENT_BINARY_DIR}/ppc_onetbb"
17+
BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/ppc_onetbb/build"
18+
INSTALL_DIR "${CMAKE_CURRENT_BINARY_DIR}/ppc_onetbb/install"
19+
20+
CMAKE_ARGS
21+
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
22+
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
23+
-DCMAKE_C_COMPILER_LAUNCHER=${CMAKE_C_COMPILER_LAUNCHER}
24+
-DCMAKE_CXX_COMPILER_LAUNCHER=${CMAKE_CXX_COMPILER_LAUNCHER}
25+
-DCMAKE_C_FLAGS=-w
26+
-DCMAKE_CXX_FLAGS=-w
27+
-DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}
28+
-DCMAKE_CXX_STANDARD_REQUIRED=ON
29+
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
30+
-DTBB_TEST=OFF
31+
32+
BUILD_COMMAND "${CMAKE_COMMAND}" --build "${CMAKE_CURRENT_BINARY_DIR}/ppc_onetbb/build" --config ${CMAKE_BUILD_TYPE} --parallel
33+
INSTALL_COMMAND "${CMAKE_COMMAND}" --install "${CMAKE_CURRENT_BINARY_DIR}/ppc_onetbb/build" --prefix "${CMAKE_CURRENT_BINARY_DIR}/ppc_onetbb/install"
34+
TEST_COMMAND ${ppc_onetbb_TEST_COMMAND}
35+
)
36+
37+
install(
38+
DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/ppc_onetbb/install/"
39+
DESTINATION "${CMAKE_INSTALL_PREFIX}"
2640
)
27-
install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/ppc_onetbb/install/"
28-
DESTINATION "${CMAKE_INSTALL_PREFIX}")
2941

3042
string(TOLOWER "${CMAKE_BUILD_TYPE}" cmake_build_type_lower)
3143
if(cmake_build_type_lower STREQUAL "debug")

0 commit comments

Comments
 (0)