fold/CMakeLists.txt
trvon 3f1234f7bb
fold: bounded symbolic SAST for C++
Clang LibTooling + Z3 BV-64 encoding.
11 detectors: clone, equiv, class-dup, dead, null-deref,
div-by-zero, int-overflow, oob, int-truncation,
sign-conversion, taint-track.

Interfaces: CLI, MCP (JSON-RPC 2.0), LSP.
Output: SARIF 2.1.0, JSON, Markdown.
2026-05-14 23:14:54 -04:00

33 lines
996 B
CMake

cmake_minimum_required(VERSION 3.20)
project(fold-bootstrap LANGUAGES NONE)
# Thin bootstrap: defer the real build to Meson. Modeled after yams/CMakeLists.txt.
set(FOLD_PROFILE "Release" CACHE STRING "Build profile (Debug|Release)")
set_property(CACHE FOLD_PROFILE PROPERTY STRINGS Debug Release)
set(FOLD_BUILD_DIR "" CACHE PATH "Optional build directory override")
find_program(MESON_EXECUTABLE meson REQUIRED)
if(FOLD_BUILD_DIR)
set(_meson_build_dir "${FOLD_BUILD_DIR}")
else()
string(TOLOWER "${FOLD_PROFILE}" _profile_lower)
set(_meson_build_dir "build/${_profile_lower}")
endif()
add_custom_target(fold ALL
COMMAND "${MESON_EXECUTABLE}" compile -C "${_meson_build_dir}"
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
USES_TERMINAL
COMMENT "Building fold via Meson"
)
add_custom_target(fold-install
COMMAND "${MESON_EXECUTABLE}" install -C "${_meson_build_dir}"
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
DEPENDS fold
USES_TERMINAL
COMMENT "Installing fold via Meson"
)