diff options
author | Saleem Abdulrasool <compnerd@compnerd.org> | 2019-05-31 18:30:58 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2019-06-03 18:05:10 (GMT) |
commit | b06f4c8a745c96f19a9e9a7c7eb0ac22250472a2 (patch) | |
tree | 16391a388c369be9f7379134ff9583421f7a0ac5 /Tests/RunCMake | |
parent | 73472408c501e66c9dd8c027293b8c0907001b42 (diff) | |
download | CMake-b06f4c8a745c96f19a9e9a7c7eb0ac22250472a2.zip CMake-b06f4c8a745c96f19a9e9a7c7eb0ac22250472a2.tar.gz CMake-b06f4c8a745c96f19a9e9a7c7eb0ac22250472a2.tar.bz2 |
Swift: disallow WIN32_EXECUTABLE properties
Currently, the compiler does not synthesize the correct entry point for
the application and passing the subsystem flag does not work the same
way with the Swift linker language. Add a check to prevent the
application of `WIN32_EXECUTABLE` to Swift executables until they can be
properly supported. This will prevent the need for a future policy
change.
Closes: #19325
Diffstat (limited to 'Tests/RunCMake')
-rw-r--r-- | Tests/RunCMake/Swift/E.swift | 2 | ||||
-rw-r--r-- | Tests/RunCMake/Swift/RunCMakeTest.cmake | 2 | ||||
-rw-r--r-- | Tests/RunCMake/Swift/Win32ExecutableDisallowed-result.txt | 1 | ||||
-rw-r--r-- | Tests/RunCMake/Swift/Win32ExecutableDisallowed-stderr.txt | 4 | ||||
-rw-r--r-- | Tests/RunCMake/Swift/Win32ExecutableDisallowed.cmake | 4 |
5 files changed, 12 insertions, 1 deletions
diff --git a/Tests/RunCMake/Swift/E.swift b/Tests/RunCMake/Swift/E.swift new file mode 100644 index 0000000..a415467 --- /dev/null +++ b/Tests/RunCMake/Swift/E.swift @@ -0,0 +1,2 @@ +func f() { +} diff --git a/Tests/RunCMake/Swift/RunCMakeTest.cmake b/Tests/RunCMake/Swift/RunCMakeTest.cmake index de99042..4817045 100644 --- a/Tests/RunCMake/Swift/RunCMakeTest.cmake +++ b/Tests/RunCMake/Swift/RunCMakeTest.cmake @@ -6,7 +6,7 @@ if(RunCMake_GENERATOR STREQUAL Xcode) endif() elseif(RunCMake_GENERATOR STREQUAL Ninja) if(CMAKE_Swift_COMPILER) - # Add Ninja-specific Swift tests here. + run_cmake(Win32ExecutableDisallowed) endif() else() run_cmake(NotSupported) diff --git a/Tests/RunCMake/Swift/Win32ExecutableDisallowed-result.txt b/Tests/RunCMake/Swift/Win32ExecutableDisallowed-result.txt new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/Tests/RunCMake/Swift/Win32ExecutableDisallowed-result.txt @@ -0,0 +1 @@ +1 diff --git a/Tests/RunCMake/Swift/Win32ExecutableDisallowed-stderr.txt b/Tests/RunCMake/Swift/Win32ExecutableDisallowed-stderr.txt new file mode 100644 index 0000000..d78101a --- /dev/null +++ b/Tests/RunCMake/Swift/Win32ExecutableDisallowed-stderr.txt @@ -0,0 +1,4 @@ +^CMake Error at Win32ExecutableDisallowed.cmake:[0-9]+ \(add_executable\): + WIN32_EXECUTABLE property is not supported on Swift executables +Call Stack \(most recent call first\): + CMakeLists.txt:[0-9]+ \(include\) diff --git a/Tests/RunCMake/Swift/Win32ExecutableDisallowed.cmake b/Tests/RunCMake/Swift/Win32ExecutableDisallowed.cmake new file mode 100644 index 0000000..02d5447 --- /dev/null +++ b/Tests/RunCMake/Swift/Win32ExecutableDisallowed.cmake @@ -0,0 +1,4 @@ +enable_language(Swift) +add_executable(E E.swift) +set_target_properties(E PROPERTIES + WIN32_EXECUTABLE TRUE) |