Home | History | Annotate | Download | only in driver
      1 set( LLVM_USED_LIBS
      2   clangFrontendTool
      3   clangAST
      4   clangAnalysis
      5   clangBasic
      6   clangCodeGen
      7   clangDriver
      8   clangEdit
      9   clangFrontend
     10   clangLex
     11   clangParse
     12   clangEdit
     13   clangARCMigrate
     14   clangRewrite
     15   clangSema
     16   clangSerialization
     17   clangStaticAnalyzerFrontend
     18   clangStaticAnalyzerCheckers
     19   clangStaticAnalyzerCore
     20   )
     21 
     22 set( LLVM_LINK_COMPONENTS
     23   ${LLVM_TARGETS_TO_BUILD}
     24   asmparser
     25   bitreader
     26   bitwriter
     27   codegen
     28   instrumentation
     29   ipo
     30   linker
     31   selectiondag
     32   )
     33 
     34 add_clang_executable(clang
     35   driver.cpp
     36   cc1_main.cpp
     37   cc1as_main.cpp
     38   )
     39 
     40 set_target_properties(clang PROPERTIES VERSION ${CLANG_EXECUTABLE_VERSION})
     41 
     42 if(UNIX)
     43   set(CLANGXX_LINK_OR_COPY create_symlink)
     44 # Create a relative symlink
     45   set(clang_binary "clang${CMAKE_EXECUTABLE_SUFFIX}")
     46 else()
     47   set(CLANGXX_LINK_OR_COPY copy)
     48   set(clang_binary "${LLVM_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/clang${CMAKE_EXECUTABLE_SUFFIX}")
     49 endif()
     50 
     51 # Create the clang++ symlink in the build directory.
     52 set(clang_pp "${LLVM_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/clang++${CMAKE_EXECUTABLE_SUFFIX}")
     53 add_custom_command(TARGET clang POST_BUILD
     54     COMMAND ${CMAKE_COMMAND} -E ${CLANGXX_LINK_OR_COPY} "${clang_binary}" "${clang_pp}")
     55 
     56 set_property(DIRECTORY APPEND
     57   PROPERTY ADDITIONAL_MAKE_CLEAN_FILES ${clang_pp})
     58 
     59 install(TARGETS clang
     60   RUNTIME DESTINATION bin)
     61 
     62 # Create the clang++ symlink at installation time.
     63 install(SCRIPT clang_symlink.cmake -DCMAKE_INSTALL_PREFIX=\"${CMAKE_INSTALL_PREFIX}\")
     64