我这样使用CMake GNUInstallDirs:
set(BINDIR "${CMAKE_INSTALL_FULL_BINDIR}" CACHE STRING "Where install binary")
set(DATADIR "${CMAKE_INSTALL_FULL_DATADIR}/cubosphere" CACHE STRING "Data location (install-time)")
set(RUNTIME_DATADIR "${DATADIR}" CACHE STRING "Data location (run-time)")但是,如果未指定CMAKE_INSTALL_PREFIX,则将/bin和/shared作为值。
使用message(WARNING "${CMAKE_INSTALL_FULL_DATADIR}")也可以收到奇怪的结果:干净运行的/bin,缓存的/usr/local/bin。
是否有办法克服这个问题,例如使用/usr/local/bin而不是/bin
发布于 2018-12-31 22:24:29
CMake只在调用CMAKE_INSTALL_PREFIX时设置project()的默认值。因为模块GNUInstallDirs使用这个变量,所以它应该包含在 project()之后。
project(MyProject)
# ...
include(GNUInstallDirs)https://stackoverflow.com/questions/53989278
复制相似问题