From 55aa93eee2dc32b574f9f79a750bba1b7d6e5d61 Mon Sep 17 00:00:00 2001 From: Guus Waals <_@guusw.nl> Date: Sun, 25 May 2025 16:10:17 +0800 Subject: [PATCH] Move tooling to subproject --- .gitignore | 5 +++++ CMakeLists.txt | 6 ------ tooling/CMakeLists.txt | 14 +++++++++++++- tooling/main.cpp | 1 + 4 files changed, 19 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index 54ec4f1b..7ede8d74 100644 --- a/.gitignore +++ b/.gitignore @@ -21,3 +21,8 @@ ACP_Ray2/ build/ # game_re/ windows_libs/ +tooling/build/ + +*.code-workspace +*.log +.edits_backup/ \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt index 33262624..b5f1fadd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,11 +5,5 @@ set(GAME_DATA_DIR ${CMAKE_CURRENT_SOURCE_DIR}/game) add_subdirectory(game_re) -option(BUILD_TOOLING "Build the ghidra tooling" ON) - -if(BUILD_TOOLING) - add_subdirectory(tooling) -endif() - # Use highest possible C standard set_target_properties(game_re PROPERTIES C_STANDARD 23) diff --git a/tooling/CMakeLists.txt b/tooling/CMakeLists.txt index 33d6067d..de8fe0d6 100644 --- a/tooling/CMakeLists.txt +++ b/tooling/CMakeLists.txt @@ -1,3 +1,6 @@ +cmake_minimum_required(VERSION 3.26.4) +project(reman3_tooling) + set(LLVM_PATH "" CACHE STRING "Path to the LLVM source tree") set(LLVM_ADD_PATH ${LLVM_PATH}/llvm) @@ -19,11 +22,20 @@ 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) +set(LLVM_BINARY_DIR ${CMAKE_BINARY_DIR}/external/llvm) +add_subdirectory(${LLVM_ADD_PATH} ${LLVM_BINARY_DIR}) +add_subdirectory(../game_re/third_party/spdlog spdlog) # Add the clang tooling executable add_executable(clang_tool main.cpp) +target_include_directories(clang_tool PRIVATE + ${LLVM_PATH}/llvm/include + ${LLVM_PATH}/clang/include + ${LLVM_BINARY_DIR}/include + ${LLVM_BINARY_DIR}/tools/clang/include +) + # Link against clang tooling libraries target_link_libraries(clang_tool clangTooling diff --git a/tooling/main.cpp b/tooling/main.cpp index a34b2491..9a0efbed 100644 --- a/tooling/main.cpp +++ b/tooling/main.cpp @@ -6,6 +6,7 @@ #include "clang/Tooling/Tooling.h" #include "llvm/Support/CommandLine.h" #include +#include "clang/AST/ASTConcept.h" using namespace clang; using namespace clang::tooling;