aboutsummaryrefslogtreecommitdiff
path: root/backend/lib/Target/CMakeLists.txt
diff options
context:
space:
mode:
authorRichard-Qin-X <richard.qin.001@gmail.com>2026-08-28 18:51:10 +0800
committerRichard-Qin-X <richard.qin.001@gmail.com>2026-08-28 18:51:10 +0800
commitf89d528efc0228c049c2867dcba886a56bac8619 (patch)
tree7a47f751e729845af1537beee20bc57007d3e21c /backend/lib/Target/CMakeLists.txt
parent6889b82a5c9ecc6bd178760c66653d7af0121162 (diff)
downloadrcc-project-f89d528efc0228c049c2867dcba886a56bac8619.tar.gz
rcc-project-f89d528efc0228c049c2867dcba886a56bac8619.tar.xz
[CodeGen] Add target machine registry
Diffstat (limited to 'backend/lib/Target/CMakeLists.txt')
-rw-r--r--backend/lib/Target/CMakeLists.txt36
1 files changed, 36 insertions, 0 deletions
diff --git a/backend/lib/Target/CMakeLists.txt b/backend/lib/Target/CMakeLists.txt
index 341d98d..0c61f57 100644
--- a/backend/lib/Target/CMakeLists.txt
+++ b/backend/lib/Target/CMakeLists.txt
@@ -1,3 +1,39 @@
# SPDX-License-Identifier: GPL-3.0-or-later
+add_library(RCCBackendTarget TargetMachine.cpp)
+add_library(RCCBackend::Target ALIAS RCCBackendTarget)
+
+rcc_backend_configure_target(RCCBackendTarget)
+
+target_include_directories(
+ RCCBackendTarget
+ PUBLIC
+ "$<BUILD_INTERFACE:${RCC_BACKEND_SOURCE_DIR}/include>"
+ "$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>"
+)
+target_link_libraries(RCCBackendTarget PUBLIC RCCBackend::CodeGen)
+
+set_target_properties(
+ RCCBackendTarget
+ PROPERTIES
+ EXPORT_NAME Target
+ OUTPUT_NAME RCCBackendTarget
+)
+
+install(
+ TARGETS RCCBackendTarget
+ 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}/TargetMachine.cpp"
+ "${RCC_BACKEND_SOURCE_DIR}/include/rcc/Target/TargetMachine.h"
+ "${RCC_BACKEND_SOURCE_DIR}/include/rcc/Target/TargetOptions.h"
+ "${RCC_BACKEND_SOURCE_DIR}/include/rcc/Support/TargetSelect.h"
+)
+rcc_backend_register_tidy_files("${CMAKE_CURRENT_SOURCE_DIR}/TargetMachine.cpp")
+
add_subdirectory(RISCV)