From 7ddc2a110c0e52ce6e2e360a69aadf9291edbb11 Mon Sep 17 00:00:00 2001 From: Craig Scott Date: Wed, 25 Jul 2018 21:06:30 +1000 Subject: GoogleTest: Ensure policy settings allow use of IN_LIST If policy settings at the time the GoogleTest module is included are such that CMP0057 is unset or set to OLD, the use of IN_LIST with if() will lead to an error. Therefore, explicitly specify the policy settings for the whole file to ensure the function implementations have access to the required CMake features. Fixes: #18198 --- Modules/GoogleTest.cmake | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Modules/GoogleTest.cmake b/Modules/GoogleTest.cmake index bfb83e1..2c9ee11 100644 --- a/Modules/GoogleTest.cmake +++ b/Modules/GoogleTest.cmake @@ -238,6 +238,10 @@ same as the Google Test name (i.e. ``suite.testcase``); see also #]=======================================================================] +# Save project's policies +cmake_policy(PUSH) +cmake_policy(SET CMP0057 NEW) # if IN_LIST + #------------------------------------------------------------------------------ function(gtest_add_tests) @@ -454,3 +458,6 @@ endfunction() set(_GOOGLETEST_DISCOVER_TESTS_SCRIPT ${CMAKE_CURRENT_LIST_DIR}/GoogleTestAddTests.cmake ) + +# Restore project's policies +cmake_policy(POP) -- cgit v0.12