From e6bcc0c7902f7a520946286c575f896e73aa8b8d Mon Sep 17 00:00:00 2001 From: Timo Nicolai Date: Sun, 26 Dec 2021 16:31:48 +0100 Subject: [PATCH] Use ClangSetup --- .gitmodules | 3 +++ CMakeLists.txt | 7 ++++++- ClangSetup | 1 + fire-llvm/plugin/CMakeLists.txt | 8 +++----- 4 files changed, 13 insertions(+), 6 deletions(-) create mode 160000 ClangSetup diff --git a/.gitmodules b/.gitmodules index 614c734..fc463bb 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,6 @@ [submodule "fire-hpp"] path = fire-hpp url = https://github.com/kongaskristjan/fire-hpp +[submodule "ClangSetup"] + path = ClangSetup + url = https://github.com/Time0o/ClangSetup diff --git a/CMakeLists.txt b/CMakeLists.txt index e5cd291..c4a9ecd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,12 +8,17 @@ include(CTest) option(FIRE_LLVM_ENABLE_TESTING "Enable tests" ON) -find_package(LLVM REQUIRED CONFIG) +# Clang +list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/ClangSetup) +include(ClangSetup) + +# fire-hpp set(FIRE_EXAMPLES OFF CACHE BOOL "Compile fire-hpp examples") set(FIRE_UNIT_TESTS OFF CACHE BOOL "Enable fire-hpp unit tests") add_subdirectory(fire-hpp EXCLUDE_FROM_ALL) +# fire-llvm add_subdirectory(fire-llvm) function(fire_llvm_config TARGET) diff --git a/ClangSetup b/ClangSetup new file mode 160000 index 0000000..dc1cdab --- /dev/null +++ b/ClangSetup @@ -0,0 +1 @@ +Subproject commit dc1cdab674f8c2f6f4879741e77e6afbec2098f9 diff --git a/fire-llvm/plugin/CMakeLists.txt b/fire-llvm/plugin/CMakeLists.txt index 42dd83d..ddee57a 100644 --- a/fire-llvm/plugin/CMakeLists.txt +++ b/fire-llvm/plugin/CMakeLists.txt @@ -2,8 +2,6 @@ cmake_minimum_required(VERSION 3.9) add_library(fire-llvm-plugin MODULE fire.cpp) target_compile_features(fire-llvm-plugin PRIVATE cxx_std_17) - -separate_arguments(LLVM_DEFINITIONS_LIST NATIVE_COMMAND ${LLVM_DEFINITIONS}) - -add_definitions(${LLVM_DEFINITIONS_LIST}) -include_directories(${LLVM_INCLUDE_DIRS}) +target_link_libraries(fire-llvm-plugin PRIVATE clang-cpp) +llvm_config(fire-llvm-plugin USE_SHARED option) +target_include_directories(fire-llvm-plugin PRIVATE ${LLVM_INCLUDE_DIRS})