FTXUI 6.1.9
C++ functional terminal UI.
Loading...
Searching...
No Matches
CMake

本页解释了如何使用 CMake 依赖 FTXUI。

集成方法

使用 FetchContent

这种方法在配置时下载 FTXUI,不需要系统范围的安装。

include(FetchContent)
FetchContent_Declare(ftxui
GIT_REPOSITORY https://github.com/ArthurSonzogni/FTXUI
GIT_TAG v6.1.9 # 替换为版本、标签或提交哈希
)
FetchContent_MakeAvailable(ftxui)
add_executable(main main.cpp)
target_link_libraries(main
PRIVATE ftxui::screen
PRIVATE ftxui::dom
PRIVATE ftxui::component
)

这确保了可重现的构建和简单的依赖管理。

使用 find_package

如果 FTXUI 已系统范围安装或通过包管理器(例如 vcpkg 或 Conan)安装,您可以使用:

find_package(ftxui REQUIRED)
add_executable(main main.cpp)
target_link_libraries(main
PRIVATE ftxui::screen
PRIVATE ftxui::dom
PRIVATE ftxui::component
)

确保包在您的 CMAKE_PREFIX_PATH 中可见。

使用 git submodule

您还可以将 FTXUI 添加为 Git 子模块,使其成为您仓库的一部分:

git submodule add https://github.com/ArthurSonzogni/FTXUI external/ftxui
git submodule update --init --recursive

当克隆一个已经包含 FTXUI 作为子模块的仓库时,请确保使用以下命令获取子模块:

git clone --recurse-submodules <your-repo>
# 或者,如果已经克隆:
git submodule update --init --recursive

然后在您的 CMakeLists.txt 中:

add_subdirectory(external/ftxui)
add_executable(main main.cpp)
target_link_libraries(main
PRIVATE ftxui::screen
PRIVATE ftxui::dom
PRIVATE ftxui::component
)

如果您想在自己的仓库中包含 FTXUI,这种方法很有效。

可选 CMake 标志

FTXUI 支持以下 CMake 选项:

选项 描述 默认值
FTXUI_BUILD_EXAMPLES 构建捆绑示例 OFF
FTXUI_BUILD_DOCS 构建文档 OFF
FTXUI_BUILD_TESTS 启用测试 OFF
FTXUI_ENABLE_INSTALL 生成安装目标 ON
FTXUI_MICROSOFT_TERMINAL_FALLBACK 改进 Windows 兼容性 ON/OFF

要启用一个选项:

cmake -DFTXUI_BUILD_EXAMPLES=ON ..

验证集成

要确认设置是否正常工作,请构建并运行一个最小示例。 如果您需要完整的模板,请参阅:ftxui-starter

<div class="section_buttons}> <table class="markdownTable"> <tr class="markdownTableHead"> <th class="markdownTableHeadLeft"> 上一步

入门