cmake: allow SwiftSyntax parser to have an externally defined version number in the dylib

This commit is contained in:
Xi Ge
2019-02-01 22:24:11 -08:00
parent 8136393a51
commit 29a4ca8519
2 changed files with 28 additions and 0 deletions

View File

@@ -20,6 +20,27 @@ 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}")
elseif (DARWIN_TOOLCHAIN_VERSION)
set(SWIFTSYNTAX_PARSER_VERSION_STRING "${DARWIN_TOOLCHAIN_VERSION}")
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(SWIFT_NEED_EXPLICIT_LIBDISPATCH)