OLD | NEW |
1 cmake_minimum_required(VERSION 2.8.8) | |
2 project(FindBadConstructs) | |
3 | |
4 # This pugin is built using LLVM's build system, not Chromium's. | |
5 # It expects LLVM_SRC_DIR and LLVM_BUILD_DIR to be set. | |
6 # For example: | |
7 # | |
8 # cmake -GNinja \ | |
9 # -DLLVM_BUILD_DIR=$CHROMIUM_SRC_DIR/third_party/llvm-build/Release+Asserts \ | |
10 # -DLLVM_SRC_DIR=$CHROMIUM_SRC_DIR/third_party/llvm \ | |
11 # $CHROMIUM_SRC_DIR/tools/clang/plugins/ | |
12 # ninja | |
13 | |
14 | |
15 list(APPEND CMAKE_MODULE_PATH "${LLVM_BUILD_DIR}/share/llvm/cmake") | |
16 | |
17 include(LLVMConfig) | |
18 include(AddLLVM) | |
19 include(HandleLLVMOptions) | |
20 | |
21 # Use rpath to find the bundled standard C++ library. | |
22 set(CMAKE_BUILD_WITH_INSTALL_RPATH ON) | |
23 if (APPLE) | |
24 set(CMAKE_INSTALL_NAME_DIR "@rpath") | |
25 set(CMAKE_INSTALL_RPATH "@executable_path/../lib") | |
26 else(UNIX) | |
27 set(CMAKE_INSTALL_RPATH "\$ORIGIN/../lib") | |
28 endif() | |
29 | |
30 set(LLVM_RUNTIME_OUTPUT_INTDIR "${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin") | |
31 set(LLVM_LIBRARY_OUTPUT_INTDIR "${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib") | |
32 | |
33 include_directories("${LLVM_SRC_DIR}/include" | |
34 "${LLVM_SRC_DIR}/tools/clang/include" | |
35 "${LLVM_BUILD_DIR}/include" | |
36 "${LLVM_BUILD_DIR}/tools/clang/include") | |
37 | |
38 add_llvm_loadable_module(libFindBadConstructs | 1 add_llvm_loadable_module(libFindBadConstructs |
39 ChromeClassTester.cpp | 2 ChromeClassTester.cpp |
40 FindBadConstructsAction.cpp | 3 FindBadConstructsAction.cpp |
41 FindBadConstructsConsumer.cpp | 4 FindBadConstructsConsumer.cpp |
42 ) | 5 ) |
| 6 |
| 7 install(TARGETS libFindBadConstructs LIBRARY DESTINATION lib) |
| 8 |
| 9 cr_add_test(plugins_test |
| 10 ${CMAKE_CURRENT_SOURCE_DIR}/tests/test.sh |
| 11 ${LLVM_BUILD_DIR}/bin/clang |
| 12 $<TARGET_FILE:libFindBadConstructs> |
| 13 ) |
OLD | NEW |