فهرست منبع

Tests: Verify generate-time policy scope behavior.

If some day there are no policies checked through the makefile at generate time,
this can be fixed.
Stephen Kelly 10 سال پیش
والد
کامیت
f0005bb484

+ 1 - 0
Tests/RunCMake/CMakeLists.txt

@@ -145,6 +145,7 @@ add_RunCMake_test(TargetSources)
 add_RunCMake_test(find_dependency)
 add_RunCMake_test(CompileDefinitions)
 add_RunCMake_test(CompileFeatures)
+add_RunCMake_test(PolicyScope)
 add_RunCMake_test(WriteCompilerDetectionHeader)
 if(NOT WIN32)
   add_RunCMake_test(PositionIndependentCode)

+ 3 - 0
Tests/RunCMake/PolicyScope/CMakeLists.txt

@@ -0,0 +1,3 @@
+cmake_minimum_required(VERSION 2.8.12)
+project(${RunCMake_TEST} NONE)
+include(${RunCMake_TEST}.cmake NO_POLICY_SCOPE)

+ 4 - 0
Tests/RunCMake/PolicyScope/RunCMakeTest.cmake

@@ -0,0 +1,4 @@
+include(RunCMake)
+
+run_cmake(parent-dir-generate-time)
+run_cmake(dir-in-macro-generate-time)

+ 1 - 0
Tests/RunCMake/PolicyScope/dir-in-macro-generate-time-result.txt

@@ -0,0 +1 @@
+0

+ 5 - 0
Tests/RunCMake/PolicyScope/dir-in-macro-generate-time-stderr.txt

@@ -0,0 +1,5 @@
+CMake Warning \(dev\) at dir1/CMakeLists.txt:5 \(target_compile_definitions\):
+  Policy CMP0044 is not set: Case sensitive <LANG>_COMPILER_ID generator
+  expressions.  Run "cmake --help-policy CMP0044" for policy details.  Use
+  the cmake_policy command to set the policy and suppress this warning.
+This warning is for project developers.  Use -Wno-dev to suppress it.

+ 2 - 0
Tests/RunCMake/PolicyScope/dir-in-macro-generate-time.cmake

@@ -0,0 +1,2 @@
+
+include(dir-in-macro-include.cmake)

+ 6 - 0
Tests/RunCMake/PolicyScope/dir-in-macro-include.cmake

@@ -0,0 +1,6 @@
+
+enable_language(CXX)
+
+# This does not affect dir1 despite being set before the add_subdirectory.
+cmake_policy(SET CMP0044 NEW)
+add_subdirectory(dir1)

+ 5 - 0
Tests/RunCMake/PolicyScope/dir1/CMakeLists.txt

@@ -0,0 +1,5 @@
+
+
+add_library(foo STATIC foo.cpp)
+string(TOLOWER ${CMAKE_CXX_COMPILER_ID} compiler_id)
+target_compile_definitions(foo PRIVATE Foo=$<CXX_COMPILER_ID:${compiler_id}>)

+ 5 - 0
Tests/RunCMake/PolicyScope/dir1/foo.cpp

@@ -0,0 +1,5 @@
+
+int main()
+{
+  return 0;
+}

+ 1 - 0
Tests/RunCMake/PolicyScope/parent-dir-generate-time-result.txt

@@ -0,0 +1 @@
+0

+ 7 - 0
Tests/RunCMake/PolicyScope/parent-dir-generate-time.cmake

@@ -0,0 +1,7 @@
+
+enable_language(CXX)
+
+add_subdirectory(dir1)
+
+# This affects dir1 despite being set after the add_subdirectory.
+cmake_policy(SET CMP0044 NEW)