| 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 |