Skip to content

Commit 14bb68c

Browse files
committed
build: add export targets
This exports targets from SPM so that they can be used in SourceKit-LSP.
1 parent bb52c41 commit 14bb68c

File tree

10 files changed

+19
-0
lines changed

10 files changed

+19
-0
lines changed

CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ else()
4040
endif()
4141

4242
add_subdirectory(Sources)
43+
add_subdirectory(cmake/modules)
4344

4445
if(SWIFTPM_BUILD_DIR)
4546
add_subdirectory(Utilities/BuildExtras/Install)

Sources/Build/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,3 +31,4 @@ install(TARGETS Build
3131
LIBRARY DESTINATION lib
3232
RUNTIME DESTINATION bin)
3333
endif()
34+
set_property(GLOBAL APPEND PROPERTY SwiftPM_EXPORTS Build)

Sources/LLBuildManifest/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,3 +28,4 @@ if(CMAKE_SYSTEM_NAME STREQUAL Windows)
2828
LIBRARY DESTINATION lib
2929
RUNTIME DESTINATION bin)
3030
endif()
31+
set_Property(GLOBAL APPEND PROPERTY SwiftPM_EXPORTS LLBuildManifest)

Sources/PackageGraph/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,3 +33,4 @@ install(TARGETS PackageGraph
3333
LIBRARY DESTINATION lib
3434
RUNTIME DESTINATION bin)
3535
endif()
36+
set_property(GLOBAL APPEND PROPERTY SwiftPM_EXPORTS PackageGraph)

Sources/PackageLoading/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,3 +32,4 @@ install(TARGETS PackageLoading
3232
LIBRARY DESTINATION lib
3333
RUNTIME DESTINATION bin)
3434
endif()
35+
set_property(GLOBAL APPEND PROPERTY SwiftPM_EXPORTS PackageLoading)

Sources/PackageModel/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,3 +31,4 @@ install(TARGETS PackageModel
3131
LIBRARY DESTINATION lib
3232
RUNTIME DESTINATION bin)
3333
endif()
34+
set_property(GLOBAL APPEND PROPERTY SwiftPM_EXPORTS PackageModel)

Sources/SPMLLBuild/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,3 +47,4 @@ install(TARGETS SPMLLBuild
4747
LIBRARY DESTINATION lib
4848
RUNTIME DESTINATION bin)
4949
endif()
50+
set_property(GLOBAL APPEND PROPERTY SwiftPM_EXPORTS SPMLLBuild)

Sources/SourceControl/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,3 +27,4 @@ install(TARGETS SourceControl
2727
LIBRARY DESTINATION lib
2828
RUNTIME DESTINATION bin)
2929
endif()
30+
set_property(GLOBAL APPEND PROPERTY SwiftPM_EXPORTS SourceControl)

cmake/modules/CMakeLists.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
2+
set(SwiftPM_EXPORTS_FILE ${CMAKE_CURRENT_BINARY_DIR}/SwiftPMExports.cmake)
3+
configure_file(SwiftPMConfig.cmake.in
4+
${CMAKE_CURRENT_BINARY_DIR}/SwiftPMConfig.cmake)
5+
6+
get_property(SwiftPM_EXPORTS GLOBAL PROPERTY SwiftPM_EXPORTS)
7+
export(TARGETS ${SwiftPM_EXPORTS} FILE ${SwiftPM_EXPORTS_FILE})

cmake/modules/SwiftPMConfig.cmake.in

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
2+
if(NOT TARGET Build)
3+
include(@SwiftPM_EXPORTS_FILE@)
4+
endif()

0 commit comments

Comments
 (0)