32 lines
1.3 KiB
CMake
32 lines
1.3 KiB
CMake
# Ftxui.cmake - provide FTXUI (https://github.com/ArthurSonzogni/FTXUI) via
|
|
# FetchContent, mirroring cmake/Paho.cmake. FTXUI powers the optional terminal
|
|
# dashboard (TuiUi); headless builds (-DWITH_TUI=OFF) never fetch it.
|
|
#
|
|
# HARDENING (recommended): the tag below is a mutable ref. For maximum integrity
|
|
# pin FTXUI_TAG to a full commit SHA (immutable), or switch to URL + URL_HASH
|
|
# (SHA256) of the signed release tarball and verify out-of-band. Bump the version
|
|
# deliberately, not silently.
|
|
|
|
include(FetchContent)
|
|
|
|
set(FTXUI_TAG "v5.0.0" CACHE STRING "FTXUI git tag/commit")
|
|
|
|
# Keep the dependency lean: we only need the libraries, not its examples/docs/tests.
|
|
set(FTXUI_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)
|
|
set(FTXUI_BUILD_DOCS OFF CACHE BOOL "" FORCE)
|
|
set(FTXUI_BUILD_TESTS OFF CACHE BOOL "" FORCE)
|
|
set(FTXUI_ENABLE_INSTALL OFF CACHE BOOL "" FORCE)
|
|
|
|
# FTXUI's bundled CMakeLists declares a cmake_minimum_required below CMake 4's
|
|
# floor; allow it to configure under modern CMake (same shim used for Paho/doctest).
|
|
set(CMAKE_POLICY_VERSION_MINIMUM 3.5)
|
|
|
|
FetchContent_Declare(ftxui
|
|
GIT_REPOSITORY https://github.com/ArthurSonzogni/FTXUI.git
|
|
GIT_TAG ${FTXUI_TAG}
|
|
GIT_SHALLOW TRUE
|
|
)
|
|
FetchContent_MakeAvailable(ftxui)
|
|
|
|
unset(CMAKE_POLICY_VERSION_MINIMUM)
|