Browse Source

Merge topic 'module_policy_protection'

8ede35523e IN_LIST: Ensure policy allows if(IN_LIST) if used by a module
e549e31f79 CMakeIOSInstallCombined: Prevent policy leakage

Acked-by: Kitware Robot <[email protected]>
Merge-request: !2375
Brad King 7 years ago
parent
commit
88e6e35358

+ 7 - 2
Modules/CMakeIOSInstallCombined.cmake

@@ -1,6 +1,8 @@
 # Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
 # file Copyright.txt or https://cmake.org/licensing for details.
 
+cmake_policy(PUSH)
+cmake_policy(SET CMP0057 NEW) # if IN_LIST
 
 # Function to print messages of this module
 function(_ios_install_combined_message)
@@ -57,6 +59,7 @@ endfunction()
 
 # Get architectures of given SDK (iphonesimulator/iphoneos)
 function(_ios_install_combined_get_valid_archs sdk resultvar)
+  cmake_policy(PUSH)
   cmake_policy(SET CMP0007 NEW)
 
   if("${resultvar}" STREQUAL "")
@@ -73,6 +76,8 @@ function(_ios_install_combined_get_valid_archs sdk resultvar)
   _ios_install_combined_message("Architectures (${sdk}): ${printable}")
 
   set("${resultvar}" "${valid_archs}" PARENT_SCOPE)
+
+  cmake_policy(POP)
 endfunction()
 
 # Final target can contain more architectures that specified by SDK. This
@@ -161,8 +166,6 @@ function(_ios_install_combined_keep_archs lib archs)
 endfunction()
 
 function(_ios_install_combined_detect_sdks this_sdk_var corr_sdk_var)
-  cmake_policy(SET CMP0057 NEW)
-
   set(this_sdk "$ENV{PLATFORM_NAME}")
   if("${this_sdk}" STREQUAL "")
     message(FATAL_ERROR "Environment variable PLATFORM_NAME is empty")
@@ -305,3 +308,5 @@ function(ios_install_combined target destination)
 
   _ios_install_combined_message("Install done: ${destination}")
 endfunction()
+
+cmake_policy(POP)

+ 5 - 0
Modules/CSharpUtilities.cmake

@@ -184,6 +184,9 @@ Helper functions which are used by the above ones
 
 #]=======================================================================]
 
+cmake_policy(PUSH)
+cmake_policy(SET CMP0057 NEW) # if IN_LIST
+
 function(csharp_get_filename_keys OUT)
   set(${OUT} "")
   foreach(f ${ARGN})
@@ -304,3 +307,5 @@ function(csharp_set_xaml_cs_properties)
     endif()
   endforeach()
 endfunction()
+
+cmake_policy(POP)

+ 5 - 0
Modules/Internal/CPack/CPackDeb.cmake

@@ -10,6 +10,9 @@ if(CMAKE_BINARY_DIR)
   message(FATAL_ERROR "CPackDeb.cmake may only be used by CPack internally.")
 endif()
 
+cmake_policy(PUSH)
+cmake_policy(SET CMP0057 NEW) # if IN_LIST
+
 function(cpack_deb_variable_fallback OUTPUT_VAR_NAME)
   set(FALLBACK_VAR_NAMES ${ARGN})
 
@@ -579,3 +582,5 @@ function(cpack_deb_prepare_package_vars)
 endfunction()
 
 cpack_deb_prepare_package_vars()
+
+cmake_policy(POP)

+ 5 - 0
Modules/Internal/CPack/CPackRPM.cmake

@@ -3,6 +3,9 @@
 
 # Author: Eric Noulard with the help of Alexander Neundorf.
 
+cmake_policy(PUSH)
+cmake_policy(SET CMP0057 NEW) # if IN_LIST
+
 function(get_file_permissions FILE RETURN_VAR)
   execute_process(COMMAND ls -l ${FILE}
           OUTPUT_VARIABLE permissions_
@@ -1865,3 +1868,5 @@ mv %_topdir/tmpBBroot $RPM_BUILD_ROOT
 endfunction()
 
 cpack_rpm_generate_package()
+
+cmake_policy(POP)

+ 5 - 0
Modules/Platform/Android-Determine.cmake

@@ -18,6 +18,9 @@ if(CMAKE_SYSTEM_VERSION EQUAL 1)
   return()
 endif()
 
+cmake_policy(PUSH)
+cmake_policy(SET CMP0057 NEW) # if IN_LIST
+
 # If the user provided CMAKE_SYSROOT for us, extract information from it.
 set(_ANDROID_SYSROOT_NDK "")
 set(_ANDROID_SYSROOT_API "")
@@ -371,3 +374,5 @@ endif()
 
 # Report the chosen architecture.
 message(STATUS "Android: Targeting API '${CMAKE_SYSTEM_VERSION}' with architecture '${CMAKE_ANDROID_ARCH}', ABI '${CMAKE_ANDROID_ARCH_ABI}', and processor '${CMAKE_SYSTEM_PROCESSOR}'")
+
+cmake_policy(POP)