llvm-6502/tools/lto/CMakeLists.txt
Nico Weber b6fe25c476 EXPORTED_SYMBOL_FILE support for cmake
The cmake build didn't support EXPORTED_SYMBOL_FILE. Instead, it had a
Windows-only implementation in tools/lto/CMakeLists.txt, a linux-only
implementation in tools/gold/CMakeLists.txt, and a darwin-only implementation
in tools/clang/tools/libclang/CMakeLists.txt.

This attempts to consolidate these one-offs into a single place. Clients can now
just set LLVM_EXPORTED_SYMBOL_FILE and things (hopefully) Just Work, like in
the make build.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198136 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-28 23:31:44 +00:00

41 lines
931 B
CMake

set(LLVM_LINK_COMPONENTS
${LLVM_TARGETS_TO_BUILD}
Core
LTO
MC
MCDisassembler
Support
)
add_definitions( -DLLVM_VERSION_INFO=\"${PACKAGE_VERSION}\" )
set(SOURCES
LTODisassembler.cpp
lto.cpp
)
set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_CURRENT_SOURCE_DIR}/lto.exports)
if( NOT CYGWIN AND LLVM_ENABLE_PIC )
set(SHARED_LIB_SOURCES ${SOURCES})
set(bsl ${BUILD_SHARED_LIBS})
set(BUILD_SHARED_LIBS ON)
add_llvm_library(LTO ${SHARED_LIB_SOURCES})
set_property(TARGET LTO PROPERTY OUTPUT_NAME "LTO")
set(BUILD_SHARED_LIBS ${bsl})
set(LTO_STATIC_TARGET_NAME LTO_static)
else()
set(LTO_STATIC_TARGET_NAME LTO)
endif()
if( NOT BUILD_SHARED_LIBS )
add_llvm_library(${LTO_STATIC_TARGET_NAME} ${SOURCES})
set_property(TARGET ${LTO_STATIC_TARGET_NAME} PROPERTY OUTPUT_NAME "LTO")
endif()
if( NOT CYGWIN )
install(FILES ${LLVM_MAIN_INCLUDE_DIR}/llvm-c/lto.h
DESTINATION include/llvm-c)
endif()