54 lines · plain
1# Building shared libraries requires PIC objects.2if(LLVM_ENABLE_PIC)3 4 set(LLVM_LINK_COMPONENTS5 AllTargetsAsmParsers6 AllTargetsCodeGens7 AllTargetsDescs8 AllTargetsDisassemblers9 AllTargetsInfos10 BitReader11 Core12 CodeGen13 LTO14 MC15 MCDisassembler16 Support17 Target18 TargetParser19 )20 21 set(SOURCES22 LTODisassembler.cpp23 lto.cpp24 )25 26 set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_CURRENT_SOURCE_DIR}/lto.exports)27 28 if(CMAKE_SYSTEM_NAME STREQUAL "AIX")29 set(LTO_LIBRARY_TYPE MODULE)30 set(LTO_LIBRARY_NAME libLTO)31 else()32 set(LTO_LIBRARY_TYPE SHARED)33 set(LTO_LIBRARY_NAME LTO)34 endif()35 36 add_llvm_library(${LTO_LIBRARY_NAME} ${LTO_LIBRARY_TYPE} INSTALL_WITH_TOOLCHAIN37 ${SOURCES} DEPENDS intrinsics_gen)38 39 install(FILES ${LLVM_MAIN_INCLUDE_DIR}/llvm-c/lto.h40 DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/llvm-c"41 COMPONENT LTO)42 43 if (APPLE)44 set(LTO_VERSION ${LLVM_VERSION_MAJOR})45 if(LLVM_LTO_VERSION_OFFSET)46 math(EXPR LTO_VERSION "${LLVM_VERSION_MAJOR} + ${LLVM_LTO_VERSION_OFFSET}")47 endif()48 set_property(TARGET LTO APPEND_STRING PROPERTY49 LINK_FLAGS50 " -compatibility_version 1 -current_version ${LTO_VERSION}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}")51 endif()52 53endif()54