【发布时间】:2017-09-26 13:38:38
【问题描述】:
我有一个项目,如果用户愿意,您可以或不可以为该项目构建 GUI。这是一个可选的库。
我正在尝试创建一个用于安装的 Cmake 配置文件,但我不知道是否有任何聪明的方法可以知道这一点并为它调整文件。现在我有:
set(MYPROG_INCLUDE_DIRS @CMAKE_INSTALL_PREFIX@/include/myprog)
foreach(lib feature geometry gui sensors sensorstream utils)
list(APPEND MYPROG_LIBRARIES @CMAKE_INSTALL_PREFIX@/lib/libmyprog_${lib}.so)
endforeach()
但是在我构建 gui 的那一刻,这个文件也给了MYPROG_LIBRARY 指向 gui 的链接,即使它不是构建的。我考虑过将两者分开:
set(MYPROG_INCLUDE_DIRS @CMAKE_INSTALL_PREFIX@/include/myprog)
foreach(lib feature geometry sensors sensorstream utils)
list(APPEND MYPROG_LIBRARIES @CMAKE_INSTALL_PREFIX@/lib/libmyprog_${lib}.so)
endforeach()
set(MYPROG_LIBRARIES_GUI CMAKE_INSTALL_PREFIX@/lib/libmyprog_gui.so)
但如果我构建了 gui,我现在必须执行不同的调用来获取所有库。
在我的 Cmake 中,如果我无法构建 GUI,我将 BUILD_GUI 设置为 0。有什么方法可以使用吗?
【问题讨论】:
标签: cmake config configuration-files