aboutsummaryrefslogtreecommitdiff
path: root/backend/lib/Tooling/CMakeLists.txt
diff options
context:
space:
mode:
authorRichard-Qin-X <richard.qin.001@gmail.com>2026-08-10 20:36:50 +0800
committerRichard-Qin-X <richard.qin.001@gmail.com>2026-08-10 20:36:50 +0800
commitadcf8c9b1bd1b47e00bf859693112cea1f7e8c9f (patch)
tree59067aa71befab31678946dbf5e19f57131dd6f2 /backend/lib/Tooling/CMakeLists.txt
parent3a57627e59ba18b6f9f9aae7bb60c390c0d3575a (diff)
downloadrcc-project-adcf8c9b1bd1b47e00bf859693112cea1f7e8c9f.tar.gz
rcc-project-adcf8c9b1bd1b47e00bf859693112cea1f7e8c9f.tar.xz
[Tooling] Complete backend tooling and validation
Diffstat (limited to 'backend/lib/Tooling/CMakeLists.txt')
-rw-r--r--backend/lib/Tooling/CMakeLists.txt76
1 files changed, 76 insertions, 0 deletions
diff --git a/backend/lib/Tooling/CMakeLists.txt b/backend/lib/Tooling/CMakeLists.txt
new file mode 100644
index 0000000..bf20e37
--- /dev/null
+++ b/backend/lib/Tooling/CMakeLists.txt
@@ -0,0 +1,76 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+set(
+ RCCBackendToolingSources
+ BackendInvocation.cpp
+ BackendManifest.cpp
+ BackendDriver.cpp
+ ArtifactStore.cpp
+ MIRFuzzer.cpp
+ MIRReducer.cpp
+ PipelineDriver.cpp
+)
+set(
+ RCCBackendToolingHeaders
+ "${RCC_BACKEND_SOURCE_DIR}/include/rcc/Tooling/BackendInvocation.h"
+ "${RCC_BACKEND_SOURCE_DIR}/include/rcc/Tooling/BackendManifest.h"
+ "${RCC_BACKEND_SOURCE_DIR}/include/rcc/Tooling/BackendDriver.h"
+ "${RCC_BACKEND_SOURCE_DIR}/include/rcc/Tooling/ArtifactStore.h"
+ "${RCC_BACKEND_SOURCE_DIR}/include/rcc/Tooling/MIRFuzzer.h"
+ "${RCC_BACKEND_SOURCE_DIR}/include/rcc/Tooling/MIRReducer.h"
+ "${RCC_BACKEND_SOURCE_DIR}/include/rcc/Tooling/PipelineDriver.h"
+)
+
+add_library(RCCBackendTooling ${RCCBackendToolingSources})
+add_library(RCCBackend::Tooling ALIAS RCCBackendTooling)
+
+rcc_backend_configure_target(RCCBackendTooling)
+
+target_include_directories(
+ RCCBackendTooling
+ PUBLIC
+ "$<BUILD_INTERFACE:${RCC_BACKEND_SOURCE_DIR}/include>"
+ "$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>"
+)
+target_link_libraries(
+ RCCBackendTooling
+ PUBLIC
+ RCCBackend::MIR
+ RCCBackend::RISCV
+ RCCBackend::Support
+)
+
+set_target_properties(
+ RCCBackendTooling
+ PROPERTIES
+ EXPORT_NAME Tooling
+ OUTPUT_NAME RCCBackendTooling
+)
+
+install(
+ TARGETS RCCBackendTooling
+ EXPORT RCCBackendTargets
+ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
+ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
+)
+
+rcc_backend_register_format_files(
+ "${CMAKE_CURRENT_SOURCE_DIR}/BackendInvocation.cpp"
+ "${CMAKE_CURRENT_SOURCE_DIR}/BackendManifest.cpp"
+ "${CMAKE_CURRENT_SOURCE_DIR}/BackendDriver.cpp"
+ "${CMAKE_CURRENT_SOURCE_DIR}/ArtifactStore.cpp"
+ "${CMAKE_CURRENT_SOURCE_DIR}/MIRFuzzer.cpp"
+ "${CMAKE_CURRENT_SOURCE_DIR}/MIRReducer.cpp"
+ "${CMAKE_CURRENT_SOURCE_DIR}/PipelineDriver.cpp"
+ ${RCCBackendToolingHeaders}
+)
+rcc_backend_register_tidy_files(
+ "${CMAKE_CURRENT_SOURCE_DIR}/BackendInvocation.cpp"
+ "${CMAKE_CURRENT_SOURCE_DIR}/BackendManifest.cpp"
+ "${CMAKE_CURRENT_SOURCE_DIR}/BackendDriver.cpp"
+ "${CMAKE_CURRENT_SOURCE_DIR}/ArtifactStore.cpp"
+ "${CMAKE_CURRENT_SOURCE_DIR}/MIRFuzzer.cpp"
+ "${CMAKE_CURRENT_SOURCE_DIR}/MIRReducer.cpp"
+ "${CMAKE_CURRENT_SOURCE_DIR}/PipelineDriver.cpp"
+)