set(INSTALL_INCLUDEDIR ${CMAKE_INSTALL_INCLUDEDIR} CACHE PATH "Installation directory for header files") 这实际上重新定义了INSTALL_BINDIR、INSTALL_LIBDIR和INSTALL_INCLUDEDIR便利变量,以便在我们的项目中使用。我们还定义了额外的INSTALL_CMAKEDIR变量,但其作用将在接下来的几个配方中详细讨论。 GNUInstallDirs...
相对路径:会使用 CMAKE_INSTALL_PREFIX 作为前缀路径,即${CMAKE_INSTALL_PREFIX}/<your_path>,指定路径不存在的话可以自动创建。如果在cpack中使用,路径使用CPACK_PACKAGING_INSTALL_PREFIX 绝对路径 COMPONENT:指定一个与安装规则相关联的安装组件名,如"lib", "runtime"等,指定后就会只安装与相关的组件。举例说明...
例如,CMAKE_INSTALL_BINDIR表示二进制文件的安装目录,CMAKE_INSTALL_LIBDIR表示库文件的安装目录。 我们可以通过include命令来使用这个模块: include(GNUInstallDirs)install(TARGETSmyExecutableDESTINATION${CMAKE_INSTALL_BINDIR})install(TARGETSmyLibraryDESTINATION${CMAKE_INSTALL_LIBDIR}) 使用GNUInstallDirs模块可以使...
例如,CMAKE_INSTALL_BINDIR表示二进制文件的安装目录,CMAKE_INSTALL_LIBDIR表示库文件的安装目录。 我们可以通过include命令来使用这个模块: include(GNUInstallDirs)install(TARGETS myExecutable DESTINATION ${CMAKE_INSTALL_BINDIR})install(TARGETS myLibrary DESTINATION ${CMAKE_INSTALL_LIBDIR}) 使用GNUInstallDirs...
@@ -184,7 +184,7 @@ macro(GNUInstallDirs_set_install_dir var docstring) "${docstring} (Default: ${CMAKE_INSTALL_DEFAULT_${var}})" ${_GNUInstallDirs_CMAKE_INSTALL_FORCE_${var}}) if(NOT "${CMAKE_INSTALL_${var}}" STREQUAL "${CMAKE_INSTALL_DEFAULT_${var}}") if(NOT CMA...
对于常规的可执行文件、静态库文件、共享库文件,DESTINATION安装选项不是必须的,因为在未提供DESTINATION选项时,会从变量GNUInstallDirs获取一个默认值,如果该变量也未定义,会设置为内置的默认值。对于PUBLIC_HEADER和PRIVATE_HEADER指定与安装目标关联的公共头文件、私有头文件、文件集合,也是一样的规则。一般来说,模块库...
INCLUDE (GNUInstallDirs) PROJECT (c-ares C) @@ -42,19 +43,6 @@ SET (CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib) SET (CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib) SET (PACKAGE_DIRECTORY ${PROJECT_BINARY_DIR}/package) # Install path helpers IF (NOT DEFINED...
ProjectJsonCpp.cmake:引入jsoncpp库 # 导入插件include(ExternalProject)include(GNUInstallDirs)# 下载安装依赖库ExternalProject_Add(jsoncpp# 项目根目录PREFIX${CMAKE_SOURCE_DIR}/deps# 下载名DOWNLOAD_NAME jsoncpp-1.8.4.tar.gz# 下载链接(支持多源下载)URL https://github.com/open-source-parsers/jsoncpp/archi...
install(FILES ${CMAKE_SOURCE_DIR}/src/cem_mts.json DESTINATION ${CMAKE_INSTALL_PREFIX}/config) 在这个例子中,我们将cem_mts.json文件安装到了CMAKE_INSTALL_PREFIX指定的目录下的config子目录中。 正如Victor Hugo 在《悲惨世界》中所说:“人是可以被塑造的。”(“People can be shaped.”)。这句话与...
CMake提供了一个名为GNUInstallDirs的模块,可以帮助我们更好地管理安装目录。这个模块定义了一些变量,表示了GNU系统中常见的安装目录。例如,CMAKE_INSTALL_BINDIR表示二进制文件的安装目录,CMAKE_INSTALL_LIBDIR表示库文件的安装目录。 我们可以通过include命令来使用这个模块: ...