FindFLTK¶
查找 Fast Light Toolkit (FLTK),一个用于 GUI 开发的跨平台工具包。
FLTK 使用基于 CMake 的构建系统,并提供一个包配置文件供项目查找。从 1.4.0 版本开始,它还提供封装使用要求的导入目标。例如,fltk::fltk
,可以链接到需要 FLTK 的项目目标。此模块考虑了这一点,并首先尝试以“配置模式”查找 FLTK。如果配置文件不可用,它会回退到“模块模式”并搜索标准位置。有关如何将 FLTK 与 CMake 一起使用的更多信息,请参阅官方 FLTK 文档。
在版本 3.11 中新增: 调试和发布库变体分别查找并使用每个配置变量。
结果变量¶
此模块定义了以下变量
FLTK_FOUND
指示是否找到 FLTK 的布尔值。
FLTK_LIBRARIES
使用 FLTK 所需链接的库。
FLTK_WRAP_UI
指示是否找到
fluid
可执行文件的布尔值。此变量仅在以“模块模式”找到 FLTK 时可用,并且可以用于,例如,在需要且可用的情况下有条件地调用fltk_wrap_ui()
命令。
缓存变量¶
以下缓存变量也可用于设置或使用
FLTK_FLUID_EXECUTABLE
fluid
二进制工具的路径。FLTK_INCLUDE_DIR
包含使用 FLTK 所需头文件的包含目录。
FLTK_BASE_LIBRARY_RELEASE
3.11 版本新增。
发布(优化)FLTK 基础库的路径。
FLTK_BASE_LIBRARY_DEBUG
3.11 版本新增。
调试 FLTK 基础库的路径。
FLTK_GL_LIBRARY_RELEASE
3.11 版本新增。
发布(优化)FLTK GL 库的路径。
FLTK_GL_LIBRARY_DEBUG
3.11 版本新增。
调试 FLTK GL 库的路径。
FLTK_FORMS_LIBRARY_RELEASE
3.11 版本新增。
发布(优化)FLTK Forms 库的路径。
FLTK_FORMS_LIBRARY_DEBUG
3.11 版本新增。
调试 FLTK Forms 库的路径。
FLTK_IMAGES_LIBRARY_RELEASE
3.11 版本新增。
发布(优化)FLTK Images protobuf 库的路径。
FLTK_IMAGES_LIBRARY_DEBUG
3.11 版本新增。
调试 FLTK Images 库的路径。
输入变量¶
默认情况下,此模块搜索所有 FLTK 库及其 fluid
可执行文件。在调用 find_package(FLTK)
之前可以设置以下变量,以指示哪些元素对于成功配置是可选的。
FLTK_SKIP_FLUID
设置为布尔值 true 以将
fluid
可执行文件标记为可选。FLTK_SKIP_FORMS
设置为布尔值 true 以将 FLTK Forms 库标记为可选;因此它将不包含在
FLTK_LIBRARIES
结果变量中。FLTK_SKIP_IMAGES
设置为布尔值 true 以将 FLTK Image 库标记为可选;因此它将不包含在
FLTK_LIBRARIES
结果变量中。FLTK_SKIP_OPENGL
设置为布尔值 true 以将 FLTK OpenGL 库标记为可选;因此它将不包含在
FLTK_LIBRARIES
结果变量中。
示例¶
查找 FLTK 并在上游 FLTK 包未提供时有条件地创建一个 fltk::fltk
导入接口目标。然后导入目标可以链接到项目目标。
find_package(FLTK)
if(FLTK_FOUND AND NOT TARGET fltk::fltk)
add_library(fltk::fltk INTERFACE IMPORTED)
set_target_properties(
fltk::fltk
PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${FLTK_INCLUDE_DIR}"
INTERFACE_LINK_LIBRARIES "${FLTK_LIBRARIES}"
)
endif()
target_link_libraries(project_target PRIVATE fltk::fltk)