Skip to content

Commit 267e423

Browse files
authored
Merge pull request #28 from apple/master
[pull] swiftwasm from apple:master
2 parents a01ae50 + 80d9e0a commit 267e423

File tree

5 files changed

+28
-41
lines changed

5 files changed

+28
-41
lines changed

cmake/modules/AddSwift.cmake

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2566,9 +2566,9 @@ function(_add_swift_executable_single name)
25662566

25672567
set(SWIFTEXE_SINGLE_SOURCES ${SWIFTEXE_SINGLE_UNPARSED_ARGUMENTS})
25682568

2569-
translate_flag(${SWIFTEXE_SINGLE_EXCLUDE_FROM_ALL}
2570-
"EXCLUDE_FROM_ALL"
2571-
SWIFTEXE_SINGLE_EXCLUDE_FROM_ALL_FLAG)
2569+
if(SWIFTEXE_SINGLE_EXCLUDE_FROM_ALL)
2570+
message(SEND_ERROR "${name} is using EXCLUDE_FROM_ALL option which is deprecated.")
2571+
endif()
25722572

25732573
# Check arguments.
25742574
precondition(SWIFTEXE_SINGLE_SDK MESSAGE "Should specify an SDK")
@@ -2603,12 +2603,6 @@ function(_add_swift_executable_single name)
26032603
LINK_LIBRARIES_VAR_NAME link_libraries
26042604
LIBRARY_SEARCH_DIRECTORIES_VAR_NAME library_search_directories)
26052605

2606-
if(${SWIFTEXE_SINGLE_SDK} IN_LIST SWIFT_APPLE_PLATFORMS)
2607-
list(APPEND link_flags
2608-
"-Xlinker" "-rpath"
2609-
"-Xlinker" "@executable_path/../lib/swift/${SWIFT_SDK_${SWIFTEXE_SINGLE_SDK}_LIB_SUBDIR}")
2610-
endif()
2611-
26122606
_list_add_string_suffix(
26132607
"${SWIFTEXE_SINGLE_LINK_LIBRARIES}"
26142608
"-${SWIFT_SDK_${SWIFTEXE_SINGLE_SDK}_LIB_SUBDIR}-${SWIFTEXE_SINGLE_ARCHITECTURE}"
@@ -2632,7 +2626,6 @@ function(_add_swift_executable_single name)
26322626
add_swift_source_group("${SWIFTEXE_SINGLE_EXTERNAL_SOURCES}")
26332627

26342628
add_executable(${name}
2635-
${SWIFTEXE_SINGLE_EXCLUDE_FROM_ALL_FLAG}
26362629
${SWIFTEXE_SINGLE_SOURCES}
26372630
${SWIFTEXE_SINGLE_EXTERNAL_SOURCES})
26382631

@@ -2657,6 +2650,11 @@ function(_add_swift_executable_single name)
26572650
if (SWIFT_PARALLEL_LINK_JOBS)
26582651
set_property(TARGET ${name} PROPERTY JOB_POOL_LINK swift_link_job_pool)
26592652
endif()
2653+
if(${SWIFTEXE_SINGLE_SDK} IN_LIST SWIFT_APPLE_PLATFORMS)
2654+
set_target_properties(${name} PROPERTIES
2655+
BUILD_WITH_INSTALL_RPATH YES
2656+
INSTALL_RPATH "@executable_path/../lib/swift/${SWIFT_SDK_${SWIFTEXE_SINGLE_SDK}_LIB_SUBDIR}")
2657+
endif()
26602658
set_output_directory(${name}
26612659
BINARY_DIR ${SWIFT_RUNTIME_OUTPUT_INTDIR}
26622660
LIBRARY_DIR ${SWIFT_LIBRARY_OUTPUT_INTDIR})

cmake/modules/AddSwiftUnittests.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@ function(add_swift_unittest test_dirname)
4040
endif()
4141

4242
if("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin")
43-
set_property(TARGET "${test_dirname}" APPEND_STRING PROPERTY
44-
LINK_FLAGS " -Xlinker -rpath -Xlinker ${SWIFT_LIBRARY_OUTPUT_INTDIR}/swift/macosx")
43+
set_target_properties(${test_dirname} PROPERTIES
44+
BUILD_RPATH ${SWIFT_LIBRARY_OUTPUT_INTDIR}/swift/macosx)
4545
elseif("${SWIFT_HOST_VARIANT}" STREQUAL "android")
4646
swift_android_lib_for_arch(${SWIFT_HOST_VARIANT_ARCH} android_system_libs)
4747
set_property(TARGET "${test_dirname}" APPEND PROPERTY LINK_DIRECTORIES

stdlib/cmake/modules/AddSwiftStdlib.cmake

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@ function(add_swift_target_executable name)
1515

1616
set(SWIFTEXE_TARGET_SOURCES ${SWIFTEXE_TARGET_UNPARSED_ARGUMENTS})
1717

18-
translate_flag(${SWIFTEXE_TARGET_EXCLUDE_FROM_ALL}
19-
"EXCLUDE_FROM_ALL"
20-
SWIFTEXE_TARGET_EXCLUDE_FROM_ALL_FLAG)
18+
if(SWIFTEXE_TARGET_EXCLUDE_FROM_ALL)
19+
message(SEND_ERROR "${name} is using EXCLUDE_FROM_ALL which is deprecated.")
20+
endif()
2121

2222
# All Swift executables depend on the standard library.
2323
list(APPEND SWIFTEXE_TARGET_LINK_LIBRARIES swiftCore)
@@ -29,14 +29,6 @@ function(add_swift_target_executable name)
2929
set(VARIANT_SUFFIX "-${SWIFT_SDK_${sdk}_LIB_SUBDIR}-${arch}")
3030
set(VARIANT_NAME "${name}${VARIANT_SUFFIX}")
3131

32-
set(SWIFTEXE_TARGET_EXCLUDE_FROM_ALL_FLAG_CURRENT
33-
${SWIFTEXE_TARGET_EXCLUDE_FROM_ALL_FLAG})
34-
if(NOT "${VARIANT_SUFFIX}" STREQUAL "${SWIFT_PRIMARY_VARIANT_SUFFIX}")
35-
# By default, don't build executables for target SDKs to avoid building
36-
# target stdlibs.
37-
set(SWIFTEXE_TARGET_EXCLUDE_FROM_ALL_FLAG_CURRENT "EXCLUDE_FROM_ALL")
38-
endif()
39-
4032
if(SWIFTEXE_TARGET_BUILD_WITH_STDLIB)
4133
add_dependencies("swift-test-stdlib${VARIANT_SUFFIX}" ${VARIANT_NAME})
4234
endif()
@@ -54,8 +46,14 @@ function(add_swift_target_executable name)
5446
LLVM_LINK_COMPONENTS ${SWIFTEXE_TARGET_LLVM_LINK_COMPONENTS}
5547
SDK "${sdk}"
5648
ARCHITECTURE "${arch}"
57-
LINK_LIBRARIES ${SWIFTEXE_TARGET_LINK_LIBRARIES}
58-
${SWIFTEXE_TARGET_EXCLUDE_FROM_ALL_FLAG_CURRENT})
49+
LINK_LIBRARIES ${SWIFTEXE_TARGET_LINK_LIBRARIES})
50+
51+
if(NOT "${VARIANT_SUFFIX}" STREQUAL "${SWIFT_PRIMARY_VARIANT_SUFFIX}")
52+
# By default, don't build executables for target SDKs to avoid building
53+
# target stdlibs.
54+
set_target_properties(${VARIANT_NAME} PROPERTIES
55+
EXCLUDE_FROM_ALL TRUE)
56+
endif()
5957

6058
if(${sdk} IN_LIST SWIFT_APPLE_PLATFORMS)
6159
add_custom_command_target(unused_var2

tools/swift-syntax-parser-test/CMakeLists.txt

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,10 @@ target_link_libraries(swift-syntax-parser-test
1515
libSwiftSyntaxParser
1616
)
1717

18-
if(APPLE)
19-
# Prioritize finding the parser library from the build/lib directory.
20-
# Otherwise it may find it from the 'lib/swift/macosx' directory which could
21-
# be out-of-date.
22-
get_target_property(link_flags swift-syntax-parser-test LINK_FLAGS)
23-
set(link_flags "-Xlinker -rpath -Xlinker @executable_path/../lib ${link_flags}")
24-
set_property(TARGET swift-syntax-parser-test PROPERTY
25-
LINK_FLAGS "${link_flags}")
18+
if(CMAKE_SYSTEM_NAME STREQUAL Darwin)
19+
set_target_properties(swift-syntax-parser-test PROPERTIES
20+
BUILD_WITH_INSTALL_RPATH YES
21+
INSTALL_RPATH @executable_path/../lib)
2622
endif()
2723

2824
set_property(TARGET swift-syntax-parser-test APPEND_STRING PROPERTY

unittests/SyntaxParser/CMakeLists.txt

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,9 @@ target_link_libraries(SwiftSyntaxParserTests
1212
PRIVATE
1313
libSwiftSyntaxParser)
1414

15-
if(APPLE)
16-
# Prioritize finding the parser library from the build/lib directory.
17-
# Otherwise it may find it from the 'lib/swift/macosx' directory which could
18-
# be out-of-date.
19-
get_target_property(link_flags SwiftSyntaxParserTests LINK_FLAGS)
20-
set(link_flags "-Xlinker -rpath -Xlinker ${SWIFT_LIBRARY_OUTPUT_INTDIR} ${link_flags}")
21-
set_property(TARGET SwiftSyntaxParserTests PROPERTY
22-
LINK_FLAGS "${link_flags}")
15+
if(CMAKE_SYSTEM_NAME STREQUAL Darwin)
16+
set_target_properties(SwiftSyntaxParserTests PROPERTIES
17+
BUILD_RPATH ${SWIFT_LIBRARY_OUTPUT_INTDIR})
2318
endif()
2419

2520
set_property(TARGET SwiftSyntaxParserTests APPEND_STRING PROPERTY

0 commit comments

Comments
 (0)