2011-03-12 16:48:49 +00:00
|
|
|
set(LLVM_LINK_COMPONENTS
|
|
|
|
${LLVM_TARGETS_TO_BUILD}
|
2013-09-24 23:52:22 +00:00
|
|
|
ipo scalaropts linker bitreader bitwriter lto mcdisassembler vectorize)
|
2011-03-11 15:44:24 +00:00
|
|
|
|
|
|
|
add_definitions( -DLLVM_VERSION_INFO=\"${PACKAGE_VERSION}\" )
|
|
|
|
|
2011-03-12 17:32:30 +00:00
|
|
|
set(SOURCES
|
2012-11-24 16:59:10 +00:00
|
|
|
LTODisassembler.cpp
|
2011-03-11 15:44:24 +00:00
|
|
|
lto.cpp
|
|
|
|
)
|
|
|
|
|
2013-10-02 14:04:38 +00:00
|
|
|
if( NOT CYGWIN AND LLVM_ENABLE_PIC )
|
|
|
|
if ( WIN32 )
|
|
|
|
# Create .def file containing a list of exports preceeded by
|
|
|
|
# 'EXPORTS'. The file "lto.exports" already contains the list, so we
|
|
|
|
# massage it into the correct format here to create "lto.exports.def".
|
|
|
|
set(LTO_EXPORTS_DEF ${CMAKE_CURRENT_BINARY_DIR}/lto.exports.def)
|
2013-10-08 15:07:00 +00:00
|
|
|
set(LTO_EXPORTS_DEF_TEMP ${LTO_EXPORTS_DEF}.txt)
|
2013-10-02 14:04:38 +00:00
|
|
|
file(READ "lto.exports" exports_list)
|
2013-10-08 15:07:00 +00:00
|
|
|
file(WRITE ${LTO_EXPORTS_DEF_TEMP} "LIBRARY LTO\n")
|
|
|
|
file(APPEND ${LTO_EXPORTS_DEF_TEMP} "EXPORTS\n")
|
|
|
|
file(APPEND ${LTO_EXPORTS_DEF_TEMP} ${exports_list})
|
|
|
|
|
|
|
|
# Copy the file only if it has changed.
|
|
|
|
execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
|
|
|
${LTO_EXPORTS_DEF_TEMP} ${LTO_EXPORTS_DEF})
|
|
|
|
|
2013-10-02 14:04:38 +00:00
|
|
|
set(SHARED_LIB_SOURCES ${SOURCES} ${LTO_EXPORTS_DEF})
|
|
|
|
else()
|
|
|
|
set(SHARED_LIB_SOURCES ${SOURCES})
|
|
|
|
endif()
|
|
|
|
|
2011-03-12 22:01:36 +00:00
|
|
|
set(bsl ${BUILD_SHARED_LIBS})
|
2011-03-12 17:32:30 +00:00
|
|
|
set(BUILD_SHARED_LIBS ON)
|
2013-10-02 14:04:38 +00:00
|
|
|
add_llvm_library(LTO ${SHARED_LIB_SOURCES})
|
2011-03-12 22:01:36 +00:00
|
|
|
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")
|
2011-03-12 17:32:30 +00:00
|
|
|
endif()
|
2013-08-26 16:54:12 +00:00
|
|
|
|
2013-10-02 14:04:38 +00:00
|
|
|
if( NOT CYGWIN )
|
2013-08-26 16:54:12 +00:00
|
|
|
install(FILES ${LLVM_MAIN_INCLUDE_DIR}/llvm-c/lto.h
|
|
|
|
DESTINATION include/llvm-c)
|
|
|
|
endif()
|