• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1cmake_minimum_required(VERSION 2.8.8)
2project(ChromeExtras)
3enable_testing()
4
5list(APPEND CMAKE_MODULE_PATH "${LLVM_BUILD_DIR}/share/llvm/cmake")
6
7# These tools are built using LLVM's build system, not Chromium's.
8# The build script generates a shim CMakeLists.txt in the LLVM source tree,
9# which simply forwards to this file.
10
11
12# Use rpath to find the bundled standard C++ library.
13set(CMAKE_BUILD_WITH_INSTALL_RPATH ON)
14if (APPLE)
15  set(CMAKE_INSTALL_NAME_DIR "@rpath")
16  set(CMAKE_INSTALL_RPATH "@executable_path/../lib")
17else(UNIX)
18  set(CMAKE_INSTALL_RPATH "\$ORIGIN/../lib")
19endif()
20
21include_directories("${CMAKE_SOURCE_DIR}/include"
22                    "${CMAKE_SOURCE_DIR}/tools/clang/include"
23                    "${CMAKE_BINARY_DIR}/include"
24                    "${CMAKE_BINARY_DIR}/tools/clang/include")
25
26link_directories("${CMAKE_SOURCE_DIR}/lib"
27                 "${CMAKE_SOURCE_DIR}/tools/clang/lib"
28                 "${CMAKE_BINARY_DIR}/lib"
29                 "${CMAKE_BINARY_DIR}/tools/clang/lib")
30
31# Tests for all enabled tools can be run by building this target.
32add_custom_target(cr-check-all COMMAND ${CMAKE_CTEST_COMMAND} -V)
33
34# cr_add_test(
35#   name
36#   testprog
37#   arguments...
38#   )
39function(cr_add_test name testprog)
40  add_custom_target(
41    ${name} COMMAND ${testprog} ${ARGN}
42    WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}")
43  add_dependencies(cr-check-all ${name})
44endfunction(cr_add_test)
45
46function(cr_install)
47  install(${ARGN} COMPONENT chrome-tools OPTIONAL)
48endfunction(cr_install)
49
50# Custom install target, so the chrome tools can be installed without installing
51# all the other LLVM targets.
52add_custom_target(cr-install COMMAND
53  ${CMAKE_COMMAND} -D COMPONENT=chrome-tools -P cmake_install.cmake)
54
55foreach(tool ${CHROMIUM_TOOLS})
56  add_subdirectory(${tool})
57endforeach(tool)
58