diff --git a/spine-cpp/CMakeLists.txt b/spine-cpp/CMakeLists.txt index a1e4a57b8..7926a46c8 100644 --- a/spine-cpp/CMakeLists.txt +++ b/spine-cpp/CMakeLists.txt @@ -46,22 +46,25 @@ if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) endif() # Configure no-cpprt linking for different platforms - add_executable(headless-test-no-cpprt ${CMAKE_CURRENT_SOURCE_DIR}/tests/HeadlessTest.cpp) - target_link_libraries(headless-test-no-cpprt spine-cpp-no-cpprt) - target_compile_definitions(headless-test-no-cpprt PRIVATE SPINE_NO_CPP_RT) + # No-cpprt variant (not compatible with sanitizers) + if(NOT SPINE_SANITIZE) + add_executable(headless-test-no-cpprt ${CMAKE_CURRENT_SOURCE_DIR}/tests/HeadlessTest.cpp) + target_link_libraries(headless-test-no-cpprt spine-cpp-no-cpprt) + target_compile_definitions(headless-test-no-cpprt PRIVATE SPINE_NO_CPP_RT) - if(MSVC) - target_link_options(headless-test-no-cpprt PRIVATE /NODEFAULTLIB) - target_link_libraries(headless-test-no-cpprt msvcrt kernel32) - elseif(CMAKE_CXX_COMPILER_ID MATCHES "Clang") - target_link_options(headless-test-no-cpprt PRIVATE -nostdlib++ -lc) - else() - target_link_options(headless-test-no-cpprt PRIVATE -nodefaultlibs) - target_link_libraries(headless-test-no-cpprt -lm -lc -lgcc) + if(MSVC) + target_link_options(headless-test-no-cpprt PRIVATE /NODEFAULTLIB) + target_link_libraries(headless-test-no-cpprt msvcrt kernel32) + elseif(CMAKE_CXX_COMPILER_ID MATCHES "Clang") + target_link_options(headless-test-no-cpprt PRIVATE -nostdlib++ -lc) + else() + target_link_options(headless-test-no-cpprt PRIVATE -nodefaultlibs) + target_link_libraries(headless-test-no-cpprt -lm -lc -lgcc) + endif() endif() - # Static variants (Linux only) - if(UNIX AND NOT APPLE) + # Static variants (Linux only, but not with sanitizers) + if(UNIX AND NOT APPLE AND NOT SPINE_SANITIZE) add_executable(headless-test-static ${CMAKE_CURRENT_SOURCE_DIR}/tests/HeadlessTest.cpp) target_link_libraries(headless-test-static spine-cpp) target_link_options(headless-test-static PRIVATE -static)