Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(359)

Side by Side Diff: tools/clang/CMakeLists.txt

Issue 615083006: Fix clang tooling build on Linux (shim CMake in LLVM tree). (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Minor formatting tweak Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 cmake_minimum_required(VERSION 2.8.8) 1 cmake_minimum_required(VERSION 2.8.8)
2 project(ChromeExtras) 2 project(ChromeExtras)
3 enable_testing() 3 enable_testing()
4 4
5 list(APPEND CMAKE_MODULE_PATH "${LLVM_BUILD_DIR}/share/llvm/cmake") 5 list(APPEND CMAKE_MODULE_PATH "${LLVM_BUILD_DIR}/share/llvm/cmake")
6 6
7 # These tools are built using LLVM's build system, not Chromium's. 7 # These tools are built using LLVM's build system, not Chromium's.
8 # It expects LLVM_SRC_DIR and LLVM_BUILD_DIR to be set. 8 # The build script generates a shim CMakeLists.txt in the LLVM source tree,
9 # For example: 9 # which simply forwards to this file.
10 #
11 # cmake -GNinja \
12 # -DLLVM_BUILD_DIR=$CHROMIUM_SRC_DIR/third_party/llvm-build/Release+Asserts \
13 # -DLLVM_SRC_DIR=$CHROMIUM_SRC_DIR/third_party/llvm \
14 # -DCHROMIUM_TOOLS=blink_gc_plugin;plugin \
15 # $CHROMIUM_SRC_DIR/tools/clang/
16 # ninja
17 10
18 11
19 include(LLVMConfig)
20 include(AddLLVM)
21 include(HandleLLVMOptions)
22
23 # Use rpath to find the bundled standard C++ library. 12 # Use rpath to find the bundled standard C++ library.
24 set(CMAKE_BUILD_WITH_INSTALL_RPATH ON) 13 set(CMAKE_BUILD_WITH_INSTALL_RPATH ON)
25 if (APPLE) 14 if (APPLE)
26 set(CMAKE_INSTALL_NAME_DIR "@rpath") 15 set(CMAKE_INSTALL_NAME_DIR "@rpath")
27 set(CMAKE_INSTALL_RPATH "@executable_path/../lib") 16 set(CMAKE_INSTALL_RPATH "@executable_path/../lib")
28 else(UNIX) 17 else(UNIX)
29 set(CMAKE_INSTALL_RPATH "\$ORIGIN/../lib") 18 set(CMAKE_INSTALL_RPATH "\$ORIGIN/../lib")
30 endif() 19 endif()
31 20
32 set(LLVM_RUNTIME_OUTPUT_INTDIR "${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin") 21 include_directories("${CMAKE_SOURCE_DIR}/include"
33 set(LLVM_LIBRARY_OUTPUT_INTDIR "${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib") 22 "${CMAKE_SOURCE_DIR}/tools/clang/include"
23 "${CMAKE_BINARY_DIR}/include"
24 "${CMAKE_BINARY_DIR}/tools/clang/include")
34 25
35 include_directories("${LLVM_SRC_DIR}/include" 26 link_directories("${CMAKE_SOURCE_DIR}/lib"
36 "${LLVM_SRC_DIR}/tools/clang/include" 27 "${CMAKE_SOURCE_DIR}/tools/clang/lib"
37 "${LLVM_BUILD_DIR}/include" 28 "${CMAKE_BINARY_DIR}/lib"
38 "${LLVM_BUILD_DIR}/tools/clang/include") 29 "${CMAKE_BINARY_DIR}/tools/clang/lib")
39
40 link_directories("${LLVM_SRC_DIR}/lib"
41 "${LLVM_SRC_DIR}/tools/clang/lib"
42 "${LLVM_BUILD_DIR}/lib"
43 "${LLVM_BUILD_DIR}/tools/clang/lib")
44 30
45 # cr_add_test( 31 # cr_add_test(
46 # name 32 # name
47 # testprog 33 # testprog
48 # arguments... 34 # arguments...
49 # ) 35 # )
50 function(cr_add_test name testprog) 36 function(cr_add_test name testprog)
51 add_test(NAME ${name} COMMAND ${testprog} ${ARGN}) 37 add_test(NAME ${name} COMMAND ${testprog} ${ARGN})
52 add_dependencies(check-all ${name}) 38 add_dependencies(cr-check-all ${name})
53 endfunction(cr_add_test) 39 endfunction(cr_add_test)
54 40
55 # Tests for all enabled tools can be run by building this target. 41 # Tests for all enabled tools can be run by building this target.
56 add_custom_target(check-all COMMAND ${CMAKE_CTEST_COMMAND} -V) 42 add_custom_target(cr-check-all COMMAND ${CMAKE_CTEST_COMMAND} -V)
43
44 function(cr_install)
45 install(${ARGN} COMPONENT chrome-tools OPTIONAL)
46 endfunction(cr_install)
47
48 # Custom install target, so the chrome tools can be installed without installing
49 # all the other LLVM targets.
50 add_custom_target(cr-install COMMAND
51 ${CMAKE_COMMAND} -D COMPONENT=chrome-tools -P cmake_install.cmake)
57 52
58 foreach(tool ${CHROMIUM_TOOLS}) 53 foreach(tool ${CHROMIUM_TOOLS})
59 add_subdirectory(${tool}) 54 add_subdirectory(${tool})
60 endforeach(tool) 55 endforeach(tool)
OLDNEW
« no previous file with comments | « no previous file | tools/clang/blink_gc_plugin/CMakeLists.txt » ('j') | tools/clang/scripts/update.sh » ('J')

Powered by Google App Engine
This is Rietveld 408576698