From 81cf8b68eca2636574f3d0a9fa1cf0b428c163e9 Mon Sep 17 00:00:00 2001 From: Richard-Qin-X Date: Sat, 1 Aug 2026 04:30:34 +0800 Subject: [Backend] Establish standalone build infrastructure Add the thin monorepo CMake entry point and an independently configurable backend project. Enforce the Clang/C++23 toolchain, expose Make/Ninja-neutral tests and developer checks, export an installable RCCBackend package, and introduce the first Support error abstraction. --- CMakeLists.txt | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 CMakeLists.txt (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..597963a --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,34 @@ +# SPDX-License-Identifier: GPL-3.0-or-later + +cmake_minimum_required(VERSION 3.25) + +project( + RCC + VERSION 0.1.0 + DESCRIPTION "RCC compiler collection" + LANGUAGES CXX +) + +list(PREPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules") + +include(RCCPreventInSourceBuild) +include(RCCProjects) +include(CTest) + +rcc_add_enabled_projects("${CMAKE_CURRENT_SOURCE_DIR}") + +if(TARGET rcc-backend-format) + add_custom_target(format DEPENDS rcc-backend-format) +endif() + +if(TARGET rcc-backend-format-check) + add_custom_target(format-check DEPENDS rcc-backend-format-check) +endif() + +if(TARGET rcc-backend-tidy) + add_custom_target(tidy DEPENDS rcc-backend-tidy) +endif() + +if(TARGET rcc-backend-analyze) + add_custom_target(analyze DEPENDS rcc-backend-analyze) +endif() -- cgit v1.2.3