CMakeLists.txt revision 5a0169f0a1434014e727b22240a45a1f329cc0be
1set(LLVM_LINK_COMPONENTS 2 ${LLVM_TARGETS_TO_BUILD} 3 ipo scalaropts linker bitreader bitwriter lto mcdisassembler vectorize) 4 5add_definitions( -DLLVM_VERSION_INFO=\"${PACKAGE_VERSION}\" ) 6 7set(SOURCES 8 LTODisassembler.cpp 9 lto.cpp 10 ) 11 12if( NOT CYGWIN AND LLVM_ENABLE_PIC ) 13 if ( WIN32 ) 14 # Create .def file containing a list of exports preceeded by 15 # 'EXPORTS'. The file "lto.exports" already contains the list, so we 16 # massage it into the correct format here to create "lto.exports.def". 17 set(LTO_EXPORTS_DEF ${CMAKE_CURRENT_BINARY_DIR}/lto.exports.def) 18 set(LTO_EXPORTS_DEF_TEMP ${LTO_EXPORTS_DEF}.txt) 19 file(READ "lto.exports" exports_list) 20 file(WRITE ${LTO_EXPORTS_DEF_TEMP} "LIBRARY LTO\n") 21 file(APPEND ${LTO_EXPORTS_DEF_TEMP} "EXPORTS\n") 22 file(APPEND ${LTO_EXPORTS_DEF_TEMP} ${exports_list}) 23 24 # Copy the file only if it has changed. 25 execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different 26 ${LTO_EXPORTS_DEF_TEMP} ${LTO_EXPORTS_DEF}) 27 28 set(SHARED_LIB_SOURCES ${SOURCES} ${LTO_EXPORTS_DEF}) 29 else() 30 set(SHARED_LIB_SOURCES ${SOURCES}) 31 endif() 32 33 set(bsl ${BUILD_SHARED_LIBS}) 34 set(BUILD_SHARED_LIBS ON) 35 add_llvm_library(LTO ${SHARED_LIB_SOURCES}) 36 set_property(TARGET LTO PROPERTY OUTPUT_NAME "LTO") 37 set(BUILD_SHARED_LIBS ${bsl}) 38 set(LTO_STATIC_TARGET_NAME LTO_static) 39else() 40 set(LTO_STATIC_TARGET_NAME LTO) 41endif() 42 43if( NOT BUILD_SHARED_LIBS ) 44 add_llvm_library(${LTO_STATIC_TARGET_NAME} ${SOURCES}) 45 set_property(TARGET ${LTO_STATIC_TARGET_NAME} PROPERTY OUTPUT_NAME "LTO") 46endif() 47 48if( NOT CYGWIN ) 49 install(FILES ${LLVM_MAIN_INCLUDE_DIR}/llvm-c/lto.h 50 DESTINATION include/llvm-c) 51endif() 52