summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
authorSaleem Abdulrasool <compnerd@compnerd.org>2020-02-01 21:33:38 (GMT)
committerSaleem Abdulrasool <compnerd@compnerd.org>2020-02-02 01:25:57 (GMT)
commit1e26d57188d5cd4be6869a0602e6021c4b2bd3e3 (patch)
treed055578c66f059525c4ced395dccf9acd969773e /Modules
parent7edad7bfa2e74044cc6430ba796d1fbfefb8d0d2 (diff)
downloadCMake-1e26d57188d5cd4be6869a0602e6021c4b2bd3e3.zip
CMake-1e26d57188d5cd4be6869a0602e6021c4b2bd3e3.tar.gz
CMake-1e26d57188d5cd4be6869a0602e6021c4b2bd3e3.tar.bz2
Ninja: properly handle exports from Swift exes
This adds logic to properly handle Swift executables. Only executables marked as exporting symbols will now generate module interfaces for the executable.
Diffstat (limited to 'Modules')
-rw-r--r--Modules/CMakeSwiftInformation.cmake4
1 files changed, 3 insertions, 1 deletions
diff --git a/Modules/CMakeSwiftInformation.cmake b/Modules/CMakeSwiftInformation.cmake
index 672d3f8..848934c 100644
--- a/Modules/CMakeSwiftInformation.cmake
+++ b/Modules/CMakeSwiftInformation.cmake
@@ -17,6 +17,8 @@ if(CMAKE_Swift_COMPILER_ID)
include(Platform/${CMAKE_EFFECTIVE_SYSTEM_NAME}-${CMAKE_Swift_COMPILER_ID}-Swift OPTIONAL)
endif()
+set(CMAKE_EXE_EXPORTS_Swift_FLAG "-emit-module -emit-module-path <SWIFT_MODULE> ${CMAKE_Swift_IMPLIB_LINKER_FLAGS}")
+
set(CMAKE_INCLUDE_FLAG_Swift "-I ")
if(CMAKE_SYSTEM_NAME STREQUAL Darwin)
set(CMAKE_SHARED_LIBRARY_SONAME_Swift_FLAG "-Xlinker -install_name -Xlinker ")
@@ -81,7 +83,7 @@ if(NOT CMAKE_Swift_CREATE_SHARED_MODULE)
endif()
if(NOT CMAKE_Swift_LINK_EXECUTABLE)
- set(CMAKE_Swift_LINK_EXECUTABLE "<CMAKE_Swift_COMPILER> -output-file-map <SWIFT_OUTPUT_FILE_MAP> -incremental -j ${CMAKE_Swift_NUM_THREADS} -emit-executable -o <TARGET> -emit-module -emit-module-path <SWIFT_MODULE> -emit-dependencies <DEFINES> <FLAGS> <INCLUDES> <SWIFT_SOURCES> <LINK_FLAGS> ${CMAKE_Swift_IMPLIB_LINKER_FLAGS} <LINK_LIBRARIES>")
+ set(CMAKE_Swift_LINK_EXECUTABLE "<CMAKE_Swift_COMPILER> -output-file-map <SWIFT_OUTPUT_FILE_MAP> -incremental -j ${CMAKE_Swift_NUM_THREADS} -emit-executable -o <TARGET> -emit-dependencies <DEFINES> <FLAGS> <INCLUDES> <SWIFT_SOURCES> <LINK_FLAGS> <LINK_LIBRARIES>")
endif()
if(NOT CMAKE_Swift_CREATE_STATIC_LIBRARY)