mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
Restore the previous commit which somehow passed the buildbot given a missing condition on the sub-configure for libdispatch. This makes it more explicit as to what the desire is; the variable was being used to serve as a proxy for whether the build is not on a Darwin target.
60 lines
2.3 KiB
CMake
60 lines
2.3 KiB
CMake
include(SwiftWindowsSupport)
|
|
swift_swap_compiler_if_needed("SwiftSyntaxParser")
|
|
|
|
# Use an 'internal' name, this is primarily intended for SwiftSyntax to import.
|
|
set(SYNTAX_PARSER_LIB_NAME "_InternalSwiftSyntaxParser")
|
|
|
|
set(LLVM_EXPORTED_SYMBOL_FILE
|
|
${CMAKE_CURRENT_SOURCE_DIR}/libSwiftSyntaxParser.exports)
|
|
|
|
add_swift_host_library(libSwiftSyntaxParser SHARED
|
|
c-include-check.c
|
|
libSwiftSyntaxParser.cpp)
|
|
if(NOT SWIFT_BUILT_STANDALONE AND NOT CMAKE_C_COMPILER_ID MATCHES Clang)
|
|
add_dependencies(libSwiftSyntaxParser clang)
|
|
endif()
|
|
target_link_libraries(libSwiftSyntaxParser PRIVATE
|
|
swiftParse)
|
|
set_target_properties(libSwiftSyntaxParser
|
|
PROPERTIES
|
|
OUTPUT_NAME ${SYNTAX_PARSER_LIB_NAME})
|
|
|
|
add_llvm_symbol_exports(libSwiftSyntaxParser ${LLVM_EXPORTED_SYMBOL_FILE})
|
|
|
|
# Adds -dead_strip option
|
|
add_link_opts(libSwiftSyntaxParser)
|
|
|
|
if (SWIFT_LIBPARSER_VER)
|
|
set(SWIFTSYNTAX_PARSER_VERSION_STRING "${SWIFT_LIBPARSER_VER}")
|
|
else()
|
|
set(SWIFTSYNTAX_PARSER_VERSION_STRING "${SWIFT_COMPILER_VERSION}")
|
|
endif()
|
|
|
|
if(SWIFTSYNTAX_PARSER_VERSION_STRING)
|
|
if("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin")
|
|
set(LIBPARSER_LINK_FLAGS " -Wl,-compatibility_version -Wl,1")
|
|
set(LIBPARSER_LINK_FLAGS "${LIBPARSER_LINK_FLAGS} -Wl,-current_version -Wl,${SWIFTSYNTAX_PARSER_VERSION_STRING}")
|
|
set_property(TARGET libSwiftSyntaxParser APPEND_STRING PROPERTY
|
|
LINK_FLAGS ${LIBPARSER_LINK_FLAGS})
|
|
else()
|
|
set_target_properties(libSwiftSyntaxParser
|
|
PROPERTIES
|
|
VERSION ${SWIFTSYNTAX_PARSER_VERSION_STRING})
|
|
endif()
|
|
endif()
|
|
|
|
set_property(TARGET libSwiftSyntaxParser APPEND_STRING PROPERTY
|
|
COMPILE_FLAGS " -fblocks")
|
|
if(NOT CMAKE_SYSTEM_NAME STREQUAL Darwin)
|
|
target_link_libraries(libSwiftSyntaxParser PRIVATE
|
|
BlocksRuntime)
|
|
endif()
|
|
|
|
add_dependencies(parser-lib libSwiftSyntaxParser)
|
|
swift_install_in_component(PROGRAMS "${SWIFT_LIBRARY_OUTPUT_INTDIR}/${CMAKE_SHARED_LIBRARY_PREFIX}${SYNTAX_PARSER_LIB_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}"
|
|
DESTINATION "lib${LLVM_LIBDIR_SUFFIX}/swift/${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_LIB_SUBDIR}"
|
|
COMPONENT parser-lib)
|
|
swift_install_in_component(DIRECTORY "${SWIFT_MAIN_INCLUDE_DIR}/swift-c/SyntaxParser/"
|
|
DESTINATION "lib${LLVM_LIBDIR_SUFFIX}/swift/${SYNTAX_PARSER_LIB_NAME}"
|
|
COMPONENT parser-lib)
|