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