blob: b3a1706da1fd9522d747f04f34b561a86e9ee0d5 [file] [log] [blame]
set(swiftReflection_SOURCES
MetadataSource.cpp
TypeLowering.cpp
TypeRef.cpp
TypeRefBuilder.cpp
"${SWIFT_SOURCE_DIR}/stdlib/public/runtime/LLVMSupport.cpp"
"${SWIFT_SOURCE_DIR}/lib/Demangling/Context.cpp"
"${SWIFT_SOURCE_DIR}/lib/Demangling/OldDemangler.cpp"
"${SWIFT_SOURCE_DIR}/lib/Demangling/Demangler.cpp"
"${SWIFT_SOURCE_DIR}/lib/Demangling/NodePrinter.cpp"
"${SWIFT_SOURCE_DIR}/lib/Demangling/ManglingUtils.cpp"
"${SWIFT_SOURCE_DIR}/lib/Demangling/Punycode.cpp"
"${SWIFT_SOURCE_DIR}/lib/Demangling/Remangler.cpp")
# When we're building with assertions, include the demangle node dumper to aid
# in debugging.
if (LLVM_ENABLE_ASSERTIONS)
list(APPEND swiftReflection_SOURCES
"${SWIFT_SOURCE_DIR}/lib/Demangling/NodeDumper.cpp")
endif(LLVM_ENABLE_ASSERTIONS)
if(SWIFT_BUILD_STDLIB)
add_swift_target_library(swiftReflection STATIC TARGET_LIBRARY
${swiftReflection_SOURCES}
C_COMPILE_FLAGS ${SWIFT_RUNTIME_CXX_FLAGS} -DswiftCore_EXPORTS
LINK_FLAGS ${SWIFT_RUNTIME_LINK_FLAGS}
INSTALL_IN_COMPONENT dev)
endif()
# Build a specific version for the host with the host toolchain. This is going
# to be used by tools (e.g. lldb)
if(SWIFT_INCLUDE_TOOLS)
if(NOT SWIFT_BUILD_STDLIB)
add_custom_target(swiftReflection-${SWIFT_SDK_${SWIFT_HOST_VARIANT_SDK}_LIB_SUBDIR})
endif()
if(NOT SWIFT_BUILD_RUNTIME_WITH_HOST_COMPILER)
set(CURRENT_CMAKE_C_COMPILER ${CMAKE_C_COMPILER})
set(CURRENT_CMAKE_CXX_COMPILER ${CMAKE_CXX_COMPILER})
set(CMAKE_C_COMPILER ${HOST_CMAKE_C_COMPILER})
set(CMAKE_CXX_COMPILER ${HOST_CMAKE_CXX_COMPILER})
endif()
add_swift_host_library(swiftReflection STATIC
${swiftReflection_SOURCES})
target_compile_options(swiftReflection PRIVATE
${SWIFT_RUNTIME_CXX_FLAGS})
set_property(TARGET swiftReflection
APPEND_STRING PROPERTY LINK_FLAGS ${SWIFT_RUNTIME_LINK_FLAGS})
if(NOT SWIFT_BUILD_RUNTIME_WITH_HOST_COMPILER)
set(CMAKE_C_COMPILER ${CURRENT_CMAKE_C_COMPILER})
set(CMAKE_CXX_COMPILER ${CURRENT_CMAKE_CXX_COMPILER})
endif()
endif()