add_executable(SafeInt_Test AddVerify.cpp CastVerify.cpp DivVerify.cpp IncDecVerify.cpp ModVerify.cpp MultVerify.cpp SubVerify.cpp TestMain.cpp TestMain.h) target_link_libraries(SafeInt_Test PRIVATE SafeInt) add_executable(SafeInt_CompileTest CleanCompile.cpp CompileTest.cpp ConstExpr.cpp) target_link_libraries(SafeInt_CompileTest PRIVATE SafeInt) if(SAFEINT_SANITIZE) if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang") target_compile_options(SafeInt_Test PRIVATE -fsanitize=undefined -ftrapv) target_link_libraries(SafeInt_Test PRIVATE -fsanitize=undefined) endif() endif() if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang") target_compile_options(SafeInt_CompileTest PRIVATE -Wall) endif() if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") target_compile_options(SafeInt_Test PRIVATE /W4) target_compile_options(SafeInt_CompileTest PRIVATE /W4) # /Oi for "Generate Intrinsic Functions" target_compile_options(SafeInt_Test PRIVATE $<$>:/Oi>) target_compile_options(SafeInt_CompileTest PRIVATE $<$>:/Oi>) endif() install(TARGETS SafeInt_Test RUNTIME DESTINATION bin) install(TARGETS SafeInt_CompileTest RUNTIME DESTINATION bin) if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") install(FILES "$" DESTINATION bin OPTIONAL) install(FILES "$" DESTINATION bin OPTIONAL) endif()