Skip to content

Commit dd51ea4

Browse files
committed
build: add additional target exports for static linking
When building with llbuild using statically linked libraries, we need to export additional targets to ensure that the full closure is available to consumers. This is meant to support building swift-driver against a statically linked library form of llbuild to allow using the early swift-driver on Windows.
1 parent 13b3332 commit dd51ea4

File tree

7 files changed

+13
-0
lines changed

7 files changed

+13
-0
lines changed

lib/Basic/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,5 @@ if(CMAKE_SYSTEM_NAME STREQUAL Windows)
2020
target_link_libraries(llbuildBasic PUBLIC
2121
ShLwApi.lib)
2222
endif()
23+
24+
set_property(GLOBAL APPEND PROPERTY LLBuild_EXPORTS llbuildBasic)

lib/BuildSystem/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,5 @@ target_link_libraries(llbuildBuildSystem PRIVATE
1515
llbuildCore
1616
llbuildBasic
1717
llvmSupport)
18+
19+
set_property(GLOBAL APPEND PROPERTY LLBuild_EXPORTS llbuildBuildSystem)

lib/Core/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,5 @@ target_link_libraries(llbuildCore PRIVATE
1111
llbuildBasic
1212
llvmSupport
1313
SQLite::SQLite3)
14+
15+
set_property(GLOBAL APPEND PROPERTY LLBuild_EXPORTS llbuildCore)

lib/Ninja/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,5 @@ add_llbuild_library(llbuildNinja STATIC
88
target_link_libraries(llbuildNinja PRIVATE
99
llbuildBasic
1010
llvmSupport)
11+
12+
set_property(GLOBAL APPEND PROPERTY LLBuild_EXPORTS llbuildNinja)

lib/llvm/Demangle/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,5 @@ add_llbuild_library(LLVMDemangle STATIC
22
ItaniumDemangle.cpp
33
MicrosoftDemangle.cpp
44
)
5+
6+
set_property(GLOBAL APPEND PROPERTY LLBuild_EXPORTS LLVMDemangle)

lib/llvm/Support/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,3 +67,5 @@ endif()
6767
if(${CMAKE_SYSTEM_NAME} MATCHES "Android|Darwin|Linux|FreeBSD")
6868
target_link_libraries(llvmSupport PRIVATE curses)
6969
endif()
70+
71+
set_property(GLOBAL APPEND PROPERTY LLBuild_EXPORTS llvmSupport)

products/libllbuild/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ install(TARGETS libllbuild
5656
LIBRARY DESTINATION lib${LLBUILD_LIBDIR_SUFFIX}
5757
RUNTIME DESTINATION bin
5858
COMPONENT libllbuild)
59+
set_property(GLOBAL APPEND PROPERTY LLBuild_EXPORTS libllbuild)
5960

6061
add_custom_target(install-libllbuild
6162
DEPENDS libllbuild

0 commit comments

Comments
 (0)