aboutsummaryrefslogtreecommitdiff
path: root/backend/lib/IR/CMakeLists.txt
diff options
context:
space:
mode:
authorRichard-Qin-X <richard.qin.001@gmail.com>2026-08-13 12:55:12 +0800
committerRichard-Qin-X <richard.qin.001@gmail.com>2026-08-13 12:55:12 +0800
commitfde3e045d4dcc5c404cb4216389e18b0e720b8e0 (patch)
treebdb3f421a87028594d122a6dcae7150c2e5589ca /backend/lib/IR/CMakeLists.txt
parentaa7c85ca71859aab15bdf1e6dc1ea3a5aa5d1e28 (diff)
downloadrcc-project-fde3e045d4dcc5c404cb4216389e18b0e720b8e0.tar.gz
rcc-project-fde3e045d4dcc5c404cb4216389e18b0e720b8e0.tar.xz
[IR] Split LL parsing, assembly writing, and data layout
Diffstat (limited to 'backend/lib/IR/CMakeLists.txt')
-rw-r--r--backend/lib/IR/CMakeLists.txt48
1 files changed, 48 insertions, 0 deletions
diff --git a/backend/lib/IR/CMakeLists.txt b/backend/lib/IR/CMakeLists.txt
new file mode 100644
index 0000000..a53cc96
--- /dev/null
+++ b/backend/lib/IR/CMakeLists.txt
@@ -0,0 +1,48 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+set(RCCBackendIRSources AsmWriter.cpp Constants.cpp DataLayout.cpp)
+set(
+ RCCBackendIRHeaders
+ "${RCC_BACKEND_SOURCE_DIR}/include/rcc/IR/Constants.h"
+ "${RCC_BACKEND_SOURCE_DIR}/include/rcc/IR/DataLayout.h"
+)
+
+add_library(RCCBackendIR ${RCCBackendIRSources})
+add_library(RCCBackend::IR ALIAS RCCBackendIR)
+
+rcc_backend_configure_target(RCCBackendIR)
+
+target_include_directories(
+ RCCBackendIR
+ PUBLIC
+ "$<BUILD_INTERFACE:${RCC_BACKEND_SOURCE_DIR}/include>"
+ "$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>"
+)
+target_link_libraries(RCCBackendIR PUBLIC RCCBackend::Support)
+
+set_target_properties(
+ RCCBackendIR
+ PROPERTIES
+ EXPORT_NAME IR
+ OUTPUT_NAME RCCBackendIR
+)
+
+install(
+ TARGETS RCCBackendIR
+ 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}/AsmWriter.cpp"
+ "${CMAKE_CURRENT_SOURCE_DIR}/Constants.cpp"
+ "${CMAKE_CURRENT_SOURCE_DIR}/DataLayout.cpp"
+ ${RCCBackendIRHeaders}
+)
+rcc_backend_register_tidy_files(
+ "${CMAKE_CURRENT_SOURCE_DIR}/AsmWriter.cpp"
+ "${CMAKE_CURRENT_SOURCE_DIR}/Constants.cpp"
+ "${CMAKE_CURRENT_SOURCE_DIR}/DataLayout.cpp"
+)