blob: 6dc47d656cf9bee29af39982290b344ff9a1d84b [file] [log] [blame]
Michael J. Spencer560a9212010-09-13 23:54:41 +00001set( LLVM_USED_LIBS
Jeffrey Yasskin0a86d442011-02-11 23:46:38 +00002 clangAST
3 clangAnalysis
4 clangBasic
Daniel Dunbar21085772009-12-11 22:20:12 +00005 clangCodeGen
Jeffrey Yasskin0a86d442011-02-11 23:46:38 +00006 clangDriver
7 clangFrontend
8 clangFrontendTool
9 clangIndex
10 clangLex
John McCall19510852010-08-20 18:27:03 +000011 clangParse
Jeffrey Yasskin0a86d442011-02-11 23:46:38 +000012 clangRewrite
Chandler Carruthe89d1d52010-01-29 10:03:42 +000013 clangSema
Jeffrey Yasskin0a86d442011-02-11 23:46:38 +000014 clangSerialization
Argyrios Kyrtzidise8177712011-02-14 18:13:01 +000015 clangStaticAnalyzerFrontend
Ted Kremenek21142582010-12-23 19:38:26 +000016 clangStaticAnalyzerCheckers
17 clangStaticAnalyzerCore
Daniel Dunbarcbcd98b2009-03-24 02:52:57 +000018 )
19
Michael J. Spencer560a9212010-09-13 23:54:41 +000020set( LLVM_LINK_COMPONENTS
21 ${LLVM_TARGETS_TO_BUILD}
22 asmparser
23 bitreader
24 bitwriter
25 codegen
26 ipo
27 selectiondag
28 )
29
30add_clang_executable(clang
31 driver.cpp
32 cc1_main.cpp
33 cc1as_main.cpp
34 )
35
Douglas Gregor6cef99d2009-11-19 16:42:34 +000036if(UNIX)
37 set(CLANGXX_LINK_OR_COPY create_symlink)
38else()
39 set(CLANGXX_LINK_OR_COPY copy)
40endif()
41
Douglas Gregorc720a4d2009-11-19 05:46:45 +000042# Create the clang++ symlink in the build directory.
Oscar Fuentesaadd04c2011-02-06 15:33:08 +000043set(clang_pp "${LLVM_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/clang++${CMAKE_EXECUTABLE_SUFFIX}")
Douglas Gregorc720a4d2009-11-19 05:46:45 +000044add_custom_target(clang++ ALL
Douglas Gregor6cef99d2009-11-19 16:42:34 +000045 ${CMAKE_COMMAND} -E ${CLANGXX_LINK_OR_COPY}
Oscar Fuentesaadd04c2011-02-06 15:33:08 +000046 "${LLVM_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/clang${CMAKE_EXECUTABLE_SUFFIX}"
Oscar Fuentes839e61a2011-02-05 21:37:37 +000047 "${clang_pp}"
Douglas Gregorc720a4d2009-11-19 05:46:45 +000048 DEPENDS clang)
Oscar Fuentes839e61a2011-02-05 21:37:37 +000049set_property(DIRECTORY APPEND
50 PROPERTY ADDITIONAL_MAKE_CLEAN_FILES ${clang_pp})
Douglas Gregorc720a4d2009-11-19 05:46:45 +000051
Douglas Gregor7f7b7482009-08-23 05:28:29 +000052install(TARGETS clang
53 RUNTIME DESTINATION bin)
Douglas Gregorc720a4d2009-11-19 05:46:45 +000054
55# Create the clang++ symlink at installation time.
Oscar Fuentesfbfe8992010-10-17 16:10:32 +000056install(SCRIPT clang_symlink.cmake -DCMAKE_INSTALL_PREFIX=\"${CMAKE_INSTALL_PREFIX}\")