blob: ec6e9c6e8026c0879bb5226722759d8eddc0d536 [file] [log] [blame]
Mike Stumpa43a21e2009-03-24 17:52:34 +00001set(LLVM_NO_RTTI 1)
2
Michael J. Spencer560a9212010-09-13 23:54:41 +00003set( LLVM_USED_LIBS
Peter Collingbourne1b7255d2010-08-24 00:31:22 +00004 clangFrontendTool
Daniel Dunbar21085772009-12-11 22:20:12 +00005 clangFrontend
Chandler Carruthe89d1d52010-01-29 10:03:42 +00006 clangDriver
Sebastian Redl85728132010-08-17 20:43:28 +00007 clangSerialization
Daniel Dunbar21085772009-12-11 22:20:12 +00008 clangCodeGen
John McCall19510852010-08-20 18:27:03 +00009 clangParse
Chandler Carruthe89d1d52010-01-29 10:03:42 +000010 clangSema
Ted Kremenek1309f9a2010-01-25 04:41:41 +000011 clangChecker
Daniel Dunbar21085772009-12-11 22:20:12 +000012 clangAnalysis
Zhongxing Xu5a9ac232010-07-17 11:59:16 +000013 clangIndex
Daniel Dunbar21085772009-12-11 22:20:12 +000014 clangRewrite
Daniel Dunbar21085772009-12-11 22:20:12 +000015 clangAST
Daniel Dunbar21085772009-12-11 22:20:12 +000016 clangLex
Daniel Dunbarcbcd98b2009-03-24 02:52:57 +000017 clangBasic
18 )
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)
Douglas Gregor40e71922010-04-27 16:14:06 +000038 set(CLANGXX_DESTDIR $ENV{DESTDIR}/)
Douglas Gregor6cef99d2009-11-19 16:42:34 +000039else()
40 set(CLANGXX_LINK_OR_COPY copy)
41endif()
42
Douglas Gregorc720a4d2009-11-19 05:46:45 +000043# Create the clang++ symlink in the build directory.
44add_custom_target(clang++ ALL
Douglas Gregor6cef99d2009-11-19 16:42:34 +000045 ${CMAKE_COMMAND} -E ${CLANGXX_LINK_OR_COPY}
Douglas Gregor234e1622009-11-19 07:59:29 +000046 "${LLVM_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/clang${CMAKE_EXECUTABLE_SUFFIX}"
47 "${LLVM_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/clang++${CMAKE_EXECUTABLE_SUFFIX}"
Douglas Gregorc720a4d2009-11-19 05:46:45 +000048 DEPENDS clang)
49
Douglas Gregor7f7b7482009-08-23 05:28:29 +000050install(TARGETS clang
51 RUNTIME DESTINATION bin)
Douglas Gregorc720a4d2009-11-19 05:46:45 +000052
53# Create the clang++ symlink at installation time.
Douglas Gregor40e71922010-04-27 16:14:06 +000054install(CODE "execute_process(COMMAND \"${CMAKE_COMMAND}\" -E ${CLANGXX_LINK_OR_COPY} \"${CMAKE_INSTALL_PREFIX}/bin/clang${CMAKE_EXECUTABLE_SUFFIX}\" \"${CLANGXX_DESTDIR}${CMAKE_INSTALL_PREFIX}/bin/clang++${CMAKE_EXECUTABLE_SUFFIX}\")")