Skip to content

Commit ef21a84

Browse files
compnerdowenv
authored andcommitted
build: attempt to bundle files for the modules
This adds a helper to bundle files into the resource directory for the module.
1 parent 7cd307d commit ef21a84

File tree

6 files changed

+41
-0
lines changed

6 files changed

+41
-0
lines changed

Sources/CMakeLists.txt

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,21 @@ See http://swift.org/LICENSE.txt for license information
88
See http://swift.org/CONTRIBUTORS.txt for Swift project authors
99
]]
1010

11+
include(CMakeParseArguments)
12+
function(SwiftBuild_Bundle)
13+
set(Options)
14+
set(OneValueArguments MODULE)
15+
set(MultiValueArguments FILES)
16+
cmake_parse_arguments(PARSE_ARGV 0 BundleXCSpecs
17+
"${Options}" "${OneValueArguments}" "${MultiValueArguments}")
18+
19+
add_custom_command(TARGET ${BundleXCSpecs_MODULE} POST_BUILD
20+
COMMAND
21+
${CMAKE_COMMAND} -E make_directory "$<TARGET_PROPERTY:${BundleXCSpecs_MODULE},LOCATION>/SwiftBuild_${BundleXCSpecs_MODULE}.resources"
22+
COMMAND
23+
${CMAKE_COMMAND} -E copy_if_different ${BundleXCSpecs_FILES} "$<TARGET_PROPERTY:${BundleXCSpecs_MODULE},LOCATION>/SwiftBuild_${BundleXCSpecs_MODULE}.resources/")
24+
endfunction()
25+
1126
add_subdirectory(SWBCSupport)
1227
add_subdirectory(SWBCLibc)
1328
add_subdirectory(SWBLibc)

Sources/SWBAndroidPlatform/CMakeLists.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,3 +45,6 @@ set_property(GLOBAL APPEND PROPERTY SWIFTBUILD_EXPORTS SWBAndroidPlatform)
4545

4646
install(TARGETS SWBAndroidPlatform
4747
ARCHIVE DESTINATION "${SwiftBuild_INSTALL_LIBDIR}")
48+
49+
SwiftBuild_Bundle(MODULE SWBAndroidPlatform FILES
50+
Android.xcspec)

Sources/SWBGenericUnixPlatform/CMakeLists.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,3 +43,9 @@ set_property(GLOBAL APPEND PROPERTY SWIFTBUILD_EXPORTS SWBGenericUnixPlatform)
4343

4444
install(TARGETS SWBGenericUnixPlatform
4545
ARCHIVE DESTINATION "${SwiftBuild_INSTALL_LIBDIR}")
46+
47+
SwiftBuild_Bundle(MODULE SWBGenericUnixPlatform FILES
48+
Unix.xcspec
49+
UnixCompile.xcspec
50+
UnixLd.xcspec
51+
UnixLibtool.xcspec)

Sources/SWBQNXPlatform/CMakeLists.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,3 +45,8 @@ set_property(GLOBAL APPEND PROPERTY SWIFTBUILD_EXPORTS SWBQNXPlatform)
4545

4646
install(TARGETS SWBQNXPlatform
4747
ARCHIVE DESTINATION "${SwiftBuild_INSTALL_LIBDIR}")
48+
49+
SwiftBuild_Bundle(MODULE SWBQNXPlatform FILES
50+
QNX.xcspec
51+
QNXCompile.xcspec
52+
QNXLibtool.xcspec)

Sources/SWBWebAssemblyPlatform/CMakeLists.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,3 +44,9 @@ set_property(GLOBAL APPEND PROPERTY SWIFTBUILD_EXPORTS SWBWebAssemblyPlatform)
4444

4545
install(TARGETS SWBWebAssemblyPlatform
4646
ARCHIVE DESTINATION "${SwiftBuild_INSTALL_LIBDIR}")
47+
48+
SwiftBuild_Bundle(MODULE SWBWebAssemblyPlatform FILES
49+
WasmCompile.xcspec
50+
WasmLd.xcspec
51+
WasmLibtool.xcspec
52+
WebAssembly.xcspec)

Sources/SWBWindowsPlatform/CMakeLists.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,3 +46,9 @@ set_property(GLOBAL APPEND PROPERTY SWIFTBUILD_EXPORTS SWBWindowsPlatform)
4646

4747
install(TARGETS SWBWindowsPlatform
4848
ARCHIVE DESTINATION "${SwiftBuild_INSTALL_LIBDIR}")
49+
50+
SwiftBuild_Bundle(MODULE SWBWindowsPlatform FILES
51+
Windows.xcspec
52+
WindowsCompile.xcspec
53+
WindowsLd.xcspec
54+
WindowsLibtool.xcspec)

0 commit comments

Comments
 (0)