| set( LLVM_LINK_COMPONENTS |
| ${LLVM_TARGETS_TO_BUILD} |
| asmparser |
| bitreader |
| bitwriter |
| codegen |
| instrumentation |
| ipo |
| linker |
| selectiondag |
| ) |
| |
| add_clang_executable(clang |
| driver.cpp |
| cc1_main.cpp |
| cc1as_main.cpp |
| ) |
| |
| target_link_libraries(clang |
| clangFrontendTool |
| clangAST |
| clangAnalysis |
| clangBasic |
| clangCodeGen |
| clangDriver |
| clangEdit |
| clangFrontend |
| clangLex |
| clangParse |
| clangEdit |
| clangARCMigrate |
| clangRewriteCore |
| clangRewriteFrontend |
| clangSema |
| clangSerialization |
| clangStaticAnalyzerFrontend |
| clangStaticAnalyzerCheckers |
| clangStaticAnalyzerCore |
| ) |
| |
| set_target_properties(clang PROPERTIES VERSION ${CLANG_EXECUTABLE_VERSION}) |
| |
| add_dependencies(clang clang-headers) |
| |
| if(UNIX) |
| set(CLANGXX_LINK_OR_COPY create_symlink) |
| # Create a relative symlink |
| set(clang_binary "clang${CMAKE_EXECUTABLE_SUFFIX}") |
| else() |
| set(CLANGXX_LINK_OR_COPY copy) |
| set(clang_binary "${LLVM_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/clang${CMAKE_EXECUTABLE_SUFFIX}") |
| endif() |
| |
| # Create the clang++ symlink in the build directory. |
| set(clang_pp "${LLVM_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/clang++${CMAKE_EXECUTABLE_SUFFIX}") |
| add_custom_command(TARGET clang POST_BUILD |
| COMMAND ${CMAKE_COMMAND} -E ${CLANGXX_LINK_OR_COPY} "${clang_binary}" "${clang_pp}") |
| |
| set_property(DIRECTORY APPEND |
| PROPERTY ADDITIONAL_MAKE_CLEAN_FILES ${clang_pp}) |
| |
| install(TARGETS clang |
| RUNTIME DESTINATION bin) |
| |
| # Create the clang++ symlink at installation time. |
| install(SCRIPT clang_symlink.cmake -DCMAKE_INSTALL_PREFIX=\"${CMAKE_INSTALL_PREFIX}\") |