mirror of
https://github.com/Kitware/CMake.git
synced 2026-02-19 13:40:42 -06:00
Swift doesn't emit swiftmodules for executables, so we shouldn't put it in dependency graph. Ninja sees the "missing" dependency and always tries to rebuild/re-link the target.
37 lines
1.2 KiB
CMake
37 lines
1.2 KiB
CMake
include(RunCMake)
|
|
|
|
if(RunCMake_GENERATOR STREQUAL Xcode)
|
|
if(XCODE_BELOW_6_1)
|
|
run_cmake(XcodeTooOld)
|
|
endif()
|
|
elseif(RunCMake_GENERATOR STREQUAL Ninja)
|
|
if(CMAKE_Swift_COMPILER)
|
|
if (CMAKE_SYSTEM_NAME MATCHES "Windows")
|
|
run_cmake_with_options(Win32ExecutableDisallowed)
|
|
else()
|
|
run_cmake_with_options(Win32ExecutableIgnored)
|
|
set(RunCMake_TEST_OPTIONS -DCMAKE_SYSTEM_NAME=Darwin)
|
|
run_cmake(SwiftMultiArch)
|
|
unset(RunCMake_TEST_OPTIONS)
|
|
endif()
|
|
|
|
# Test that a second build with no changes does nothing.
|
|
block()
|
|
run_cmake(NoWorkToDo)
|
|
set(RunCMake_TEST_NO_CLEAN 1)
|
|
set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/NoWorkToDo-build)
|
|
set(RunCMake_TEST_OUTPUT_MERGE 1)
|
|
run_cmake_command(NoWorkToDo-build ${CMAKE_COMMAND} --build .)
|
|
run_cmake_command(NoWorkToDo-nowork ${CMAKE_COMMAND} --build . -- -d explain)
|
|
endblock()
|
|
endif()
|
|
elseif(RunCMake_GENERATOR STREQUAL "Ninja Multi-Config")
|
|
if(CMAKE_Swift_COMPILER)
|
|
set(RunCMake_TEST_OPTIONS "-DCMAKE_CONFIGURATION_TYPES=Debug\\;Release")
|
|
run_cmake(SwiftSimple)
|
|
unset(RunCMake_TEST_OPTIONS)
|
|
endif()
|
|
else()
|
|
run_cmake(NotSupported)
|
|
endif()
|