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.
33 lines
996 B
CMake
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"
|
|
)
|