Skip to content

Commit f17debe

Browse files
committed
Fixed platform definitions in CMake
1 parent a3f5f7d commit f17debe

File tree

1 file changed

+18
-21
lines changed

1 file changed

+18
-21
lines changed

tests/CMakeLists.txt

Lines changed: 18 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,18 @@
1-
# set OS preprocessor defines
2-
if(CMAKE_SYSTEM_NAME MATCHES "Emscripten")
3-
set(OUP_PLATFORM_WASM TRUE)
4-
set(OUP_COMPILER_EMSCRIPTEN TRUE)
5-
elseif (APPLE)
6-
set(OUP_PLATFORM_OSX TRUE)
7-
elseif (UNIX)
8-
set(OUP_PLATFORM_LINUX TRUE)
9-
elseif (WIN32)
10-
set(OUP_PLATFORM_WINDOWS TRUE)
11-
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
12-
set(OUP_COMPILER_MSVC TRUE)
13-
endif()
14-
endif()
1+
function(add_platform_definitions TARGET)
2+
if(CMAKE_SYSTEM_NAME MATCHES "Emscripten")
3+
target_compile_definitions(${TARGET} PRIVATE OUP_PLATFORM_WASM)
4+
target_compile_definitions(${TARGET} PRIVATE OUP_COMPILER_EMSCRIPTEN)
5+
elseif (APPLE)
6+
target_compile_definitions(${TARGET} PRIVATE OUP_PLATFORM_OSX)
7+
elseif (UNIX)
8+
target_compile_definitions(${TARGET} PRIVATE OUP_PLATFORM_LINUX)
9+
elseif (WIN32)
10+
target_compile_definitions(${TARGET} PRIVATE OUP_PLATFORM_WINDOWS)
11+
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
12+
target_compile_definitions(${TARGET} PRIVATE OUP_COMPILER_MSVC)
13+
endif()
14+
endif()
15+
endfunction()
1516

1617
include(FetchContent)
1718

@@ -28,13 +29,7 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${Catch2_SOURCE_DIR}/extras")
2829
add_executable(oup_tests ${PROJECT_SOURCE_DIR}/tests/runtime_tests.cpp)
2930
target_link_libraries(oup_tests PRIVATE Catch2::Catch2WithMain)
3031
target_link_libraries(oup_tests PRIVATE oup::oup)
31-
target_compile_definitions(oup_tests PRIVATE
32-
OUP_PLATFORM_OSX
33-
OUP_PLATFORM_WASM
34-
OUP_PLATFORM_LINUX
35-
OUP_PLATFORM_WINDOWS
36-
OUP_COMPILER_MSVC
37-
OUP_COMPILER_EMSCRIPTEN)
32+
add_platform_definitions(oup_tests)
3833

3934
include(CTest)
4035
include(Catch)
@@ -79,9 +74,11 @@ message(STATUS "Running compile-time tests ended.")
7974

8075
add_executable(oup_size_benchmark ${PROJECT_SOURCE_DIR}/tests/size_benchmark.cpp)
8176
target_link_libraries(oup_size_benchmark PRIVATE oup::oup)
77+
add_platform_definitions(oup_tests)
8278

8379
add_executable(oup_speed_benchmark
8480
${PROJECT_SOURCE_DIR}/tests/speed_benchmark.cpp
8581
${PROJECT_SOURCE_DIR}/tests/speed_benchmark_utility.cpp
8682
${PROJECT_SOURCE_DIR}/tests/speed_benchmark_utility2.cpp)
8783
target_link_libraries(oup_speed_benchmark PRIVATE oup::oup)
84+
add_platform_definitions(oup_tests)

0 commit comments

Comments
 (0)