FindFLTK¶
查找 Fast Light Toolkit (FLTK),这是一个用于 GUI 开发的跨平台工具包。
find_package(FLTK [...])
FLTK 使用基于 CMake 的构建系统,并提供了一个包配置文件供项目查找。从 1.4.0 版本开始,它还提供了 导入目标,这些目标封装了使用要求。例如,fltk::fltk,可以链接到需要 FLTK 的项目目标。此模块会考虑到这一点,并首先尝试以配置模式查找 FLTK。如果配置文件不可用,它将回退到模块模式并搜索标准位置。有关更多信息,请参阅官方 FLTK 文档,了解如何将 FLTK 与 CMake 一起使用。
版本 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_RELEASE3.11 版本新增。
指向发布(优化)的 FLTK Base 库的路径。
FLTK_BASE_LIBRARY_DEBUG3.11 版本新增。
指向调试 FLTK Base 库的路径。
FLTK_GL_LIBRARY_RELEASE3.11 版本新增。
指向发布(优化)的 FLTK GL 库的路径。
FLTK_GL_LIBRARY_DEBUG3.11 版本新增。
指向调试 FLTK GL 库的路径。
FLTK_FORMS_LIBRARY_RELEASE3.11 版本新增。
指向发布(优化)的 FLTK Forms 库的路径。
FLTK_FORMS_LIBRARY_DEBUG3.11 版本新增。
指向调试 FLTK Forms 库的路径。
FLTK_IMAGES_LIBRARY_RELEASE3.11 版本新增。
指向发布(优化)的 FLTK Images protobuf 库的路径。
FLTK_IMAGES_LIBRARY_DEBUG3.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)