Editing file CMakeLists.txt

This commit is contained in:
Guus Waals 2025-05-25 15:46:51 +08:00
parent 45829ecc7e
commit 494038ebde
1 changed files with 49 additions and 0 deletions

49
tooling/CMakeLists.txt Normal file
View File

@ -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}
)