Turn off additional deprecation warnings for GCC.
In follow up from the conversation in #1269, this adds the `-Wno-deprecate-declarations` flag to unit tests to allow them to test deprecated APIs without all the noisy compiler warnings. This also refactors the setting of build properties for test targets to use `target_<...>` commands instead of `set_target_properties()`.
This commit is contained in:
parent
910a895027
commit
829571ab5c
1 changed files with 12 additions and 14 deletions
|
@ -96,22 +96,21 @@ foreach(file ${files})
|
||||||
string(REGEX REPLACE "unit-([^$]+)" "test-\\1" testcase ${file_basename})
|
string(REGEX REPLACE "unit-([^$]+)" "test-\\1" testcase ${file_basename})
|
||||||
|
|
||||||
add_executable(${testcase} $<TARGET_OBJECTS:catch_main> ${file})
|
add_executable(${testcase} $<TARGET_OBJECTS:catch_main> ${file})
|
||||||
set_target_properties(${testcase} PROPERTIES
|
target_compile_definitions(${testcase} PRIVATE
|
||||||
COMPILE_DEFINITIONS "$<$<CXX_COMPILER_ID:MSVC>:_SCL_SECURE_NO_WARNINGS>"
|
CATCH_CONFIG_FAST_COMPILE
|
||||||
COMPILE_OPTIONS "$<$<CXX_COMPILER_ID:MSVC>:/EHsc;$<$<CONFIG:Release>:/Od>>"
|
$<$<CXX_COMPILER_ID:MSVC>:_SCL_SECURE_NO_WARNINGS>
|
||||||
|
)
|
||||||
|
target_compile_options(${testcase} PRIVATE
|
||||||
|
$<$<CXX_COMPILER_ID:MSVC>:/EHsc;$<$<CONFIG:Release>:/Od>>
|
||||||
|
$<$<NOT:$<CXX_COMPILER_ID:MSVC>>:-Wno-deprecated;-Wno-float-equal>
|
||||||
|
$<$<CXX_COMPILER_ID:GNU>:-Wno-deprecated-declarations>
|
||||||
|
)
|
||||||
|
target_include_directories(${testcase} PRIVATE
|
||||||
|
thirdparty/catch
|
||||||
|
thirdparty/fifo_map
|
||||||
)
|
)
|
||||||
|
|
||||||
target_compile_definitions(${testcase} PRIVATE CATCH_CONFIG_FAST_COMPILE)
|
|
||||||
target_compile_features(${testcase} PRIVATE cxx_std_11)
|
|
||||||
target_include_directories(${testcase} PRIVATE "thirdparty/catch")
|
|
||||||
target_include_directories(${testcase} PRIVATE "thirdparty/fifo_map")
|
|
||||||
target_include_directories(${testcase} PRIVATE ${NLOHMANN_JSON_INCLUDE_BUILD_DIR})
|
|
||||||
target_link_libraries(${testcase} ${NLOHMANN_JSON_TARGET_NAME})
|
target_link_libraries(${testcase} ${NLOHMANN_JSON_TARGET_NAME})
|
||||||
|
|
||||||
if(NOT MSVC)
|
|
||||||
set_target_properties(${testcase} PROPERTIES COMPILE_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated -Wno-float-equal")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
add_test(NAME "${testcase}_default"
|
add_test(NAME "${testcase}_default"
|
||||||
COMMAND ${testcase} ${CATCH_TEST_FILTER}
|
COMMAND ${testcase} ${CATCH_TEST_FILTER}
|
||||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||||
|
@ -131,5 +130,4 @@ foreach(file ${files})
|
||||||
)
|
)
|
||||||
set_tests_properties("${testcase}_valgrind" PROPERTIES LABELS "valgrind")
|
set_tests_properties("${testcase}_valgrind" PROPERTIES LABELS "valgrind")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
Loading…
Reference in a new issue