mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2025-12-21 17:56:04 +08:00
[cpp] Support sanitizers again
This commit is contained in:
parent
9b778bc508
commit
cfcca956fa
@ -46,22 +46,25 @@ if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Configure no-cpprt linking for different platforms
|
# Configure no-cpprt linking for different platforms
|
||||||
add_executable(headless-test-no-cpprt ${CMAKE_CURRENT_SOURCE_DIR}/tests/HeadlessTest.cpp)
|
# No-cpprt variant (not compatible with sanitizers)
|
||||||
target_link_libraries(headless-test-no-cpprt spine-cpp-no-cpprt)
|
if(NOT SPINE_SANITIZE)
|
||||||
target_compile_definitions(headless-test-no-cpprt PRIVATE SPINE_NO_CPP_RT)
|
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)
|
if(MSVC)
|
||||||
target_link_options(headless-test-no-cpprt PRIVATE /NODEFAULTLIB)
|
target_link_options(headless-test-no-cpprt PRIVATE /NODEFAULTLIB)
|
||||||
target_link_libraries(headless-test-no-cpprt msvcrt kernel32)
|
target_link_libraries(headless-test-no-cpprt msvcrt kernel32)
|
||||||
elseif(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
elseif(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
||||||
target_link_options(headless-test-no-cpprt PRIVATE -nostdlib++ -lc)
|
target_link_options(headless-test-no-cpprt PRIVATE -nostdlib++ -lc)
|
||||||
else()
|
else()
|
||||||
target_link_options(headless-test-no-cpprt PRIVATE -nodefaultlibs)
|
target_link_options(headless-test-no-cpprt PRIVATE -nodefaultlibs)
|
||||||
target_link_libraries(headless-test-no-cpprt -lm -lc -lgcc)
|
target_link_libraries(headless-test-no-cpprt -lm -lc -lgcc)
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Static variants (Linux only)
|
# Static variants (Linux only, but not with sanitizers)
|
||||||
if(UNIX AND NOT APPLE)
|
if(UNIX AND NOT APPLE AND NOT SPINE_SANITIZE)
|
||||||
add_executable(headless-test-static ${CMAKE_CURRENT_SOURCE_DIR}/tests/HeadlessTest.cpp)
|
add_executable(headless-test-static ${CMAKE_CURRENT_SOURCE_DIR}/tests/HeadlessTest.cpp)
|
||||||
target_link_libraries(headless-test-static spine-cpp)
|
target_link_libraries(headless-test-static spine-cpp)
|
||||||
target_link_options(headless-test-static PRIVATE -static)
|
target_link_options(headless-test-static PRIVATE -static)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user