From 494038ebdec3c2c53e33b29fab6fb33839dc3e11 Mon Sep 17 00:00:00 2001 From: Guus Waals <_@guusw.nl> Date: Sun, 25 May 2025 15:46:51 +0800 Subject: [PATCH] Editing file CMakeLists.txt --- tooling/CMakeLists.txt | 49 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 tooling/CMakeLists.txt diff --git a/tooling/CMakeLists.txt b/tooling/CMakeLists.txt new file mode 100644 index 00000000..33d6067d --- /dev/null +++ b/tooling/CMakeLists.txt @@ -0,0 +1,49 @@ +set(LLVM_PATH "" CACHE STRING "Path to the LLVM source tree") + +set(LLVM_ADD_PATH ${LLVM_PATH}/llvm) +if(NOT EXISTS ${LLVM_ADD_PATH}/CMakeLists.txt) + message(FATAL_ERROR "LLVM_PATH is invalid (${LLVM_PATH})") +endif() + +set(BUILD_SHARED_LIBS OFF) +set(LLVM_INCLUDE_UTILS OFF CACHE BOOL "" FORCE) +set(LLVM_INCLUDE_RUNTIMES OFF CACHE BOOL "" FORCE) +set(LLVM_BUILD_RUNTIME OFF CACHE BOOL "" FORCE) +set(LLVM_INCLUDE_TESTS OFF CACHE BOOL "" FORCE) +set(LLVM_INCLUDE_EXAMPLES OFF CACHE BOOL "" FORCE) +set(LLVM_INCLUDE_DOCS OFF CACHE BOOL "" FORCE) +set(LLVM_ENABLE_OCAMLDOC OFF CACHE BOOL "" FORCE) +set(LLVM_ENABLE_BINDINGS OFF CACHE BOOL "" FORCE) +set(LLVM_ENABLE_TELEMETRY OFF CACHE BOOL "" FORCE) +set(LLVM_INCLUDE_BENCHMARKS OFF CACHE BOOL "" FORCE) +set(LLVM_TARGETS_TO_BUILD "X86" CACHE STRING "" FORCE) +set(LLVM_ENABLE_PROJECTS "clang" CACHE STRING "" FORCE) + +add_subdirectory(${LLVM_ADD_PATH} ${CMAKE_BINARY_DIR}/external/llvm) + +# Add the clang tooling executable +add_executable(clang_tool main.cpp) + +# Link against clang tooling libraries +target_link_libraries(clang_tool + clangTooling + clangFrontend + clangASTMatchers + clangAST + clangBasic + clangSerialization + clangDriver + clangParse + clangSema + clangAnalysis + clangEdit + clangRewrite + clangLex + spdlog::spdlog +) + +# Include LLVM/Clang headers +target_include_directories(clang_tool PRIVATE + ${LLVM_INCLUDE_DIRS} + ${CLANG_INCLUDE_DIRS} +) \ No newline at end of file