Skip to content

Commit d9f1538

Browse files
committed
[CMake] Update swift-syntax libraries installation
1 parent 57a1401 commit d9f1538

File tree

1 file changed

+33
-7
lines changed

1 file changed

+33
-7
lines changed

lib/CMakeLists.txt

+33-7
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,39 @@ if (SWIFT_BUILD_SWIFT_SYNTAX)
2727
SwiftCompilerPluginMessageHandling
2828
)
2929

30-
swift_install_in_component(
31-
TARGETS ${SWIFT_SYNTAX_MODULES}
32-
DESTINATION "lib${LLVM_LIBDIR_SUFFIX}/swift/host"
33-
COMPONENT compiler
34-
)
35-
# TODO: Install for Windoes
36-
# TODO: Install .swiftmodule
30+
if(CMAKE_SYSTEM_NAME MATCHES Windows)
31+
swift_install_in_component(TARGETS ${SWIFT_SYNTAX_MODULES}
32+
DESTINATION "bin"
33+
COMPONENT compiler)
34+
else()
35+
swift_install_in_component(TARGETS ${SWIFT_SYNTAX_MODULES}
36+
DESTINATION "lib${LLVM_LIBDIR_SUFFIX}/swift/host"
37+
COMPONENT compiler)
38+
endif()
39+
40+
# Install import libraries in Windows.
41+
if(CMAKE_SYSTEM_NAME MATCHES Windows)
42+
list(TRANSFORM SWIFT_SYNTAX_MODULES
43+
PREPEND "${CMAKE_IMPORT_LIBRARY_PREFIX}"
44+
OUTPUT_VARIABLE SWIFT_SYNTAX_IMPORT_LIBRARIES)
45+
list(TRANSFORM SWIFT_SYNTAX_IMPORT_LIBRARIES
46+
APPEND "${CMAKE_IMPORT_LIBRARY_SUFFIX}"
47+
OUTPUT_VARIABLE SWIFT_SYNTAX_IMPORT_LIBRARIES)
48+
list(TRANSFORM SWIFT_SYNTAX_IMPORT_LIBRARIES
49+
PREPEND "${SWIFT_HOST_LIBRARIES_DEST_DIR}/"
50+
OUTPUT_VARIABLE SWIFT_SYNTAX_IMPORT_LIBRARIES)
51+
swift_install_in_component(PROGRAMS "${SWIFT_SYNTAX_IMPORT_LIBRARIES}"
52+
DESTINATION lib
53+
COMPONENT compiler)
54+
endif()
55+
56+
foreach(module ${SWIFT_SYNTAX_MODULES})
57+
set(module_dir "${module}.swiftmodule")
58+
set(module_file "${SWIFT_HOST_LIBRARIES_DEST_DIR}/${module_dir}/${SWIFT_HOST_MODULE_TRIPLE}.swiftinterface")
59+
swift_install_in_component(FILES "${module_file}"
60+
DESTINATION "lib${LLVM_LIBDIR_SUFFIX}/swift/host/${module_dir}"
61+
COMPONENT compiler)
62+
endforeach()
3763
endif()
3864

3965
add_subdirectory(APIDigester)

0 commit comments

Comments
 (0)