diff options
Diffstat (limited to 'backend/tools/AssemblyEmitter/CMakeLists.txt')
| -rw-r--r-- | backend/tools/AssemblyEmitter/CMakeLists.txt | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/backend/tools/AssemblyEmitter/CMakeLists.txt b/backend/tools/AssemblyEmitter/CMakeLists.txt new file mode 100644 index 0000000..a262983 --- /dev/null +++ b/backend/tools/AssemblyEmitter/CMakeLists.txt @@ -0,0 +1,39 @@ +# SPDX-License-Identifier: GPL-3.0-or-later + +add_executable(RCCBackendAssemblyEmitter AssemblyEmitterMain.cpp) +rcc_backend_configure_target(RCCBackendAssemblyEmitter) +target_link_libraries( + RCCBackendAssemblyEmitter + PRIVATE + RCCBackend::MIR + RCCBackend::RISCV +) + +set_target_properties( + RCCBackendAssemblyEmitter + PROPERTIES + OUTPUT_NAME rcc-backend-asm +) + +install( + TARGETS RCCBackendAssemblyEmitter + EXPORT RCCBackendTargets + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" +) + +find_program(RCCBackendLLVMMC NAMES llvm-mc-20 llvm-mc) +foreach(InputName IN ITEMS RISCVGenericPipeline RISCVWideConstantPipeline RISCVDataPipeline) + add_test( + NAME RCCBackend.AssemblyEmitter.${InputName} + COMMAND + "${CMAKE_COMMAND}" + "-DEMITTER=$<TARGET_FILE:RCCBackendAssemblyEmitter>" + "-DINPUT=${RCC_BACKEND_SOURCE_DIR}/unittests/Target/Inputs/${InputName}.mir" + "-DOUTPUT=${CMAKE_CURRENT_BINARY_DIR}/${InputName}.s" + "-DLLVM_MC=${RCCBackendLLVMMC}" + -P "${CMAKE_CURRENT_SOURCE_DIR}/AssemblyPipelineTest.cmake" + ) +endforeach() + +rcc_backend_register_format_files("${CMAKE_CURRENT_SOURCE_DIR}/AssemblyEmitterMain.cpp") +rcc_backend_register_tidy_files("${CMAKE_CURRENT_SOURCE_DIR}/AssemblyEmitterMain.cpp") |
