blob: 130d0543cb1734f4b3280f25c3767c19c80c9263 [file] [log] [blame]
# Set sources.
set(SOURCES
BuildSystemBindings.swift
CoreBindings.swift)
# Load version number from the XCConfig
file(STRINGS "${CMAKE_SOURCE_DIR}/Xcode/Configs/Version.xcconfig" VERSION_XCCONFIG)
if(VERSION_XCCONFIG MATCHES ".*LLBUILD_C_API_VERSION = ([0-9]+).*")
string(REGEX REPLACE ".*LLBUILD_C_API_VERSION = ([0-9]+).*" "\\1" LLBUILD_C_API_VERSION "${VERSION_XCCONFIG}")
else(VERSION_XCCONFIG MATCHES ".*LLBUILD_C_API_VERSION = ([0-9]+).*")
message(FATAL_ERROR "Unable to find LLBUILD_C_API_VERSION in Version.xcconfig")
endif(VERSION_XCCONFIG MATCHES ".*LLBUILD_C_API_VERSION = ([0-9]+).*")
# Link C API.
list(APPEND additional_args -DLLBUILD_C_API_VERSION_${LLBUILD_C_API_VERSION} -I ${CMAKE_CURRENT_SOURCE_DIR}/../libllbuild/include -lllbuild)
if(APPLE)
list(APPEND additional_args -target x86_64-apple-macosx10.10)
endif()
# Add swift bindings target if swift compiler is present.
if (SWIFTC_FOUND)
add_swift_module(libllbuildSwift llbuildSwift libllbuild "${SOURCES}" "${additional_args}")
# Install libllbuild.
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../libllbuild/include
DESTINATION lib/swift/pm/llbuild
COMPONENT libllbuildSwift
FILES_MATCHING
PATTERN "*.h"
PATTERN "module.modulemap")
# Install the swift headers.
install(FILES
${CMAKE_CURRENT_BINARY_DIR}/llbuildSwift.swiftmodule
${CMAKE_CURRENT_BINARY_DIR}/llbuildSwift.swiftdoc
DESTINATION lib/swift/pm/llbuild/include
COMPONENT libllbuildSwift)
# Install the library.
install(FILES "${LLBUILD_LIBRARY_OUTPUT_INTDIR}/libllbuildSwift.dylib"
DESTINATION lib/swift/pm/llbuild
COMPONENT libllbuildSwift)
# Add install target.
add_custom_target(install-libllbuildSwift
DEPENDS libllbuildSwift
COMMENT "Installing libllbuildSwift..."
COMMAND "${CMAKE_COMMAND}"
-DCMAKE_INSTALL_COMPONENT=libllbuildSwift
-P "${CMAKE_BINARY_DIR}/cmake_install.cmake")
endif()