aboutsummaryrefslogtreecommitdiff
path: root/backend/utils/TableGen/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'backend/utils/TableGen/CMakeLists.txt')
-rw-r--r--backend/utils/TableGen/CMakeLists.txt46
1 files changed, 46 insertions, 0 deletions
diff --git a/backend/utils/TableGen/CMakeLists.txt b/backend/utils/TableGen/CMakeLists.txt
new file mode 100644
index 0000000..6873cbc
--- /dev/null
+++ b/backend/utils/TableGen/CMakeLists.txt
@@ -0,0 +1,46 @@
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+set(
+ RCCBackendTableGenBackendSources
+ AsmWriterEmitter.cpp
+ CallingConvEmitter.cpp
+ CodeEmitterGen.cpp
+ Common/CodeGenInstruction.cpp
+ Common/CodeGenRegisters.cpp
+ Common/CodeGenSchedule.cpp
+ Common/CodeGenTarget.cpp
+ InstrInfoEmitter.cpp
+ RegisterBankEmitter.cpp
+ RegisterInfoEmitter.cpp
+ SearchableTableEmitter.cpp
+ SubtargetEmitter.cpp
+)
+set(
+ RCCBackendTableGenBackendHeaders
+ "${CMAKE_CURRENT_SOURCE_DIR}/Common/CodeGenTarget.h"
+ "${CMAKE_CURRENT_SOURCE_DIR}/TableGenBackends.h"
+)
+
+add_library(RCCBackendTableGenBackends STATIC ${RCCBackendTableGenBackendSources})
+add_library(RCCBackend::TableGenBackends ALIAS RCCBackendTableGenBackends)
+rcc_backend_configure_target(RCCBackendTableGenBackends)
+target_include_directories(
+ RCCBackendTableGenBackends
+ PUBLIC "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>"
+)
+target_link_libraries(RCCBackendTableGenBackends PUBLIC RCCBackend::TableGen)
+
+add_executable(RCCBackendTableGenTool rcc-tblgen.cpp)
+rcc_backend_configure_target(RCCBackendTableGenTool)
+target_link_libraries(RCCBackendTableGenTool PRIVATE RCCBackend::TableGenBackends)
+set_target_properties(RCCBackendTableGenTool PROPERTIES OUTPUT_NAME rcc-tblgen)
+
+rcc_backend_register_format_files(
+ "${CMAKE_CURRENT_SOURCE_DIR}/rcc-tblgen.cpp"
+ ${RCCBackendTableGenBackendSources}
+ ${RCCBackendTableGenBackendHeaders}
+)
+rcc_backend_register_tidy_files(
+ "${CMAKE_CURRENT_SOURCE_DIR}/rcc-tblgen.cpp"
+ ${RCCBackendTableGenBackendSources}
+)