summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/CMP0165
diff options
context:
space:
mode:
authorCraig Scott <craig.scott@crascit.com>2024-03-30 03:48:50 (GMT)
committerCraig Scott <craig.scott@crascit.com>2024-04-02 12:00:38 (GMT)
commit97464aa9701cc4bebb6d0a44c0201c3476489c3e (patch)
tree5fbbc4104613762d7903702b40b68e18d8c77443 /Tests/RunCMake/CMP0165
parentd166e7d740bfb53c18221f1126e984b668923208 (diff)
downloadCMake-97464aa9701cc4bebb6d0a44c0201c3476489c3e.zip
CMake-97464aa9701cc4bebb6d0a44c0201c3476489c3e.tar.gz
CMake-97464aa9701cc4bebb6d0a44c0201c3476489c3e.tar.bz2
enable_language(): Fail if called before project()
Fixes: #25550
Diffstat (limited to 'Tests/RunCMake/CMP0165')
-rw-r--r--Tests/RunCMake/CMP0165/CMP0165-NEW-result.txt1
-rw-r--r--Tests/RunCMake/CMP0165/CMP0165-NEW-stderr.txt4
-rw-r--r--Tests/RunCMake/CMP0165/CMP0165-NEW.cmake2
-rw-r--r--Tests/RunCMake/CMP0165/CMP0165-OLD.cmake2
-rw-r--r--Tests/RunCMake/CMP0165/CMP0165-WARN-stderr.txt5
-rw-r--r--Tests/RunCMake/CMP0165/CMP0165-WARN.cmake2
-rw-r--r--Tests/RunCMake/CMP0165/CMakeLists.txt7
-rw-r--r--Tests/RunCMake/CMP0165/RunCMakeTest.cmake5
8 files changed, 28 insertions, 0 deletions
diff --git a/Tests/RunCMake/CMP0165/CMP0165-NEW-result.txt b/Tests/RunCMake/CMP0165/CMP0165-NEW-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CMP0165/CMP0165-NEW-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CMP0165/CMP0165-NEW-stderr.txt b/Tests/RunCMake/CMP0165/CMP0165-NEW-stderr.txt
new file mode 100644
index 0000000..662d8ad
--- /dev/null
+++ b/Tests/RunCMake/CMP0165/CMP0165-NEW-stderr.txt
@@ -0,0 +1,4 @@
+CMake Error at CMP0165-NEW\.cmake:[0-9]+ \(enable_language\):
+ project\(\) must be called prior to this enable_language\(\) call\.
+Call Stack \(most recent call first\):
+ CMakeLists\.txt:[0-9]+ \(include\)
diff --git a/Tests/RunCMake/CMP0165/CMP0165-NEW.cmake b/Tests/RunCMake/CMP0165/CMP0165-NEW.cmake
new file mode 100644
index 0000000..8bcb3fd
--- /dev/null
+++ b/Tests/RunCMake/CMP0165/CMP0165-NEW.cmake
@@ -0,0 +1,2 @@
+cmake_policy(SET CMP0165 NEW)
+enable_language(C)
diff --git a/Tests/RunCMake/CMP0165/CMP0165-OLD.cmake b/Tests/RunCMake/CMP0165/CMP0165-OLD.cmake
new file mode 100644
index 0000000..c80ba76
--- /dev/null
+++ b/Tests/RunCMake/CMP0165/CMP0165-OLD.cmake
@@ -0,0 +1,2 @@
+cmake_policy(SET CMP0165 OLD)
+enable_language(C)
diff --git a/Tests/RunCMake/CMP0165/CMP0165-WARN-stderr.txt b/Tests/RunCMake/CMP0165/CMP0165-WARN-stderr.txt
new file mode 100644
index 0000000..32a79df
--- /dev/null
+++ b/Tests/RunCMake/CMP0165/CMP0165-WARN-stderr.txt
@@ -0,0 +1,5 @@
+CMake Warning \(dev\) at CMP0165-WARN\.cmake:[0-9]+ \(enable_language\):
+ project\(\) should be called prior to this enable_language\(\) call\.
+Call Stack \(most recent call first\):
+ CMakeLists\.txt:[0-9]+ \(include\)
+This warning is for project developers\. Use -Wno-dev to suppress it\.
diff --git a/Tests/RunCMake/CMP0165/CMP0165-WARN.cmake b/Tests/RunCMake/CMP0165/CMP0165-WARN.cmake
new file mode 100644
index 0000000..75149dd
--- /dev/null
+++ b/Tests/RunCMake/CMP0165/CMP0165-WARN.cmake
@@ -0,0 +1,2 @@
+# Don't touch the policy, it should warn by default
+enable_language(C)
diff --git a/Tests/RunCMake/CMP0165/CMakeLists.txt b/Tests/RunCMake/CMP0165/CMakeLists.txt
new file mode 100644
index 0000000..2fa8c4e
--- /dev/null
+++ b/Tests/RunCMake/CMP0165/CMakeLists.txt
@@ -0,0 +1,7 @@
+cmake_minimum_required(VERSION 3.29)
+
+# This is different to the usual RunCMake test pattern. We are specifically
+# testing the scenario where enable_language() is called before project().
+include(${RunCMake_TEST}.cmake)
+
+project(${RunCMake_TEST} NONE)
diff --git a/Tests/RunCMake/CMP0165/RunCMakeTest.cmake b/Tests/RunCMake/CMP0165/RunCMakeTest.cmake
new file mode 100644
index 0000000..f5f167c
--- /dev/null
+++ b/Tests/RunCMake/CMP0165/RunCMakeTest.cmake
@@ -0,0 +1,5 @@
+include(RunCMake)
+
+run_cmake(CMP0165-WARN)
+run_cmake(CMP0165-OLD)
+run_cmake(CMP0165-NEW)