From 3e8d7d1270ace353cce0080a80021dcc7532f2be Mon Sep 17 00:00:00 2001 From: Richard Qin Date: Tue, 20 Oct 2026 01:30:20 +0800 Subject: [CMake] Establish RCC and CFront builds and package exports --- rcc/utils/CMakeLists.txt | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 rcc/utils/CMakeLists.txt (limited to 'rcc/utils/CMakeLists.txt') diff --git a/rcc/utils/CMakeLists.txt b/rcc/utils/CMakeLists.txt new file mode 100644 index 0000000..bb13e46 --- /dev/null +++ b/rcc/utils/CMakeLists.txt @@ -0,0 +1,43 @@ +# SPDX-License-Identifier: GPL-3.0-or-later + +# Resolve developer tools only when the corresponding target is invoked. +set(RCC_PYTHON_EXECUTABLE python3 CACHE STRING "Python interpreter for developer tools") +set(RCC_CLANG_FORMAT_EXECUTABLE clang-format CACHE STRING "clang-format executable") +set(RCC_CLANG_TIDY_EXECUTABLE clang-tidy CACHE STRING "clang-tidy executable") +set(RCC_ANALYZER_EXECUTABLE clang++ CACHE STRING "Clang static analyzer executable") +set(RCC_CLANG_FORMAT_VERSION "" CACHE STRING "Required clang-format version, if specified") +set(RCC_CLANG_TIDY_VERSION "" CACHE STRING "Required clang-tidy version, if specified") +set(RCC_ANALYZER_VERSION "" CACHE STRING "Required Clang analyzer version, if specified") +set(RCC_DEV_BASE HEAD CACHE STRING "Git revision used for changed-file checks") + +set(rccDevScript "${CMAKE_CURRENT_SOURCE_DIR}/dev.py") +add_custom_target(format-check + COMMAND "${RCC_PYTHON_EXECUTABLE}" "${rccDevScript}" format + --build-dir "${CMAKE_BINARY_DIR}" + --base "${RCC_DEV_BASE}" + --tool "${RCC_CLANG_FORMAT_EXECUTABLE}" + --tool-version "${RCC_CLANG_FORMAT_VERSION}" + WORKING_DIRECTORY "${RCC_SOURCE_DIR}/.." + USES_TERMINAL VERBATIM) +add_custom_target(format + COMMAND "${RCC_PYTHON_EXECUTABLE}" "${rccDevScript}" format --fix + --build-dir "${CMAKE_BINARY_DIR}" + --base "${RCC_DEV_BASE}" + --tool "${RCC_CLANG_FORMAT_EXECUTABLE}" + --tool-version "${RCC_CLANG_FORMAT_VERSION}" + WORKING_DIRECTORY "${RCC_SOURCE_DIR}/.." + USES_TERMINAL VERBATIM) +add_custom_target(tidy + COMMAND "${RCC_PYTHON_EXECUTABLE}" "${rccDevScript}" tidy + --build-dir "${CMAKE_BINARY_DIR}" --base "${RCC_DEV_BASE}" + --tool "${RCC_CLANG_TIDY_EXECUTABLE}" + --tool-version "${RCC_CLANG_TIDY_VERSION}" + WORKING_DIRECTORY "${RCC_SOURCE_DIR}/.." + USES_TERMINAL VERBATIM) +add_custom_target(analyze + COMMAND "${RCC_PYTHON_EXECUTABLE}" "${rccDevScript}" analyze + --build-dir "${CMAKE_BINARY_DIR}" --base "${RCC_DEV_BASE}" + --tool "${RCC_ANALYZER_EXECUTABLE}" + --tool-version "${RCC_ANALYZER_VERSION}" + WORKING_DIRECTORY "${RCC_SOURCE_DIR}/.." + USES_TERMINAL VERBATIM) -- cgit v1.2.3