From 20b7232c4751ff0e155c2774df052b34a51f8eac Mon Sep 17 00:00:00 2001 From: Henry Fredrick Schreiner Date: Wed, 4 Apr 2018 15:58:02 +0200 Subject: [PATCH] Fix for Windows MSVC 2017 and GoogleTest --- cmake/AddGoogletest.cmake | 7 +++++++ tests/CMakeLists.txt | 11 +++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/cmake/AddGoogletest.cmake b/cmake/AddGoogletest.cmake index 80eb9ed6..9801238d 100644 --- a/cmake/AddGoogletest.cmake +++ b/cmake/AddGoogletest.cmake @@ -80,3 +80,10 @@ BUILD_GTEST set_target_properties(gtest gtest_main gmock gmock_main PROPERTIES FOLDER "Extern") + +if(MSVC AND MSVC_VERSION GREATER_EQUAL 1900) + target_compile_definitions(gtest PUBLIC _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING) + target_compile_definitions(gtest_main PUBLIC _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING) + target_compile_definitions(gmock PUBLIC _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING) + target_compile_definitions(gmock_main PUBLIC _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING) +endif() diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 2fc47a67..ab760247 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -55,11 +55,18 @@ target_link_libraries(link_test_2 PUBLIC CLI11 link_test_1) add_gtest(link_test_2) # Add informational printout +# Force this to be in a standard location so CTest can find it add_executable(informational informational.cpp) target_link_libraries(informational PUBLIC CLI11) -set_property(TARGET informational PROPERTY - RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) +set_target_properties(informational PROPERTIES + RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" + RUNTIME_OUTPUT_DIRECTORY_DEBUG "${CMAKE_BINARY_DIR}" + RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_BINARY_DIR}" + RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO "${CMAKE_BINARY_DIR}" + RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL "${CMAKE_BINARY_DIR}" + ) +# Adding this printout to CTest file(WRITE "${PROJECT_BINARY_DIR}/CTestCustom.cmake" "set(CTEST_CUSTOM_PRE_TEST \"${CMAKE_BINARY_DIR}/informational\")" )