CMAKE_SOURCE_DIR是cmake最初被调用的位置,CMAKE_CURRENT_SOURCE_DIR也是cmake当前正在工作的位置。例如,如果使用add_subdirectory命令将依赖项包含到项目中,则依赖项将具有自己的依赖项,CMAKE_CURRENT_SOURCE_DIR但CMAKE_SOURCE_DIR将保持不变。 展开一些程序员花花公子的评论,想象一下您在项目的不同目录中具有以下...
CMAKE_CURRENT_SOURCE_DIR:当前正在处理的源目录的路径. 这是cmake当前正在处理的源目录的完整路径. CMAKE_CURRENT_LIST_DIR:当前正在处理的列表文件的完整目录. 当CMake处理项目中的列表文件时,该变量将始终设置为当前正在处理的列表文件(CMAKE_CURRENT_LIST_FILE)所在的目录.该值具有动态范围.当CMake开始处理源...
CMAKE_CURRENT_SOURCE_DIR:当前正在处理的源目录的路径。这是 cmake 当前正在处理的源目录的完整路径。 CMAKE_CURRENT_LIST_DIR:当前正在处理的列表文件的完整目录。当 CMake 处理项目中的列表文件时,此变量将始终设置为当前正在处理的列表文件 (CMAKE_CURRENT_LIST_FILE) 所在的目录。该值具有动态范围。当 CMa...
一种常见的方法是使用 CMAKE_CURRENT_SOURCE_DIR 来获取头文件所在目录的路径。 代码语言:javascript 复制 cmakeCopycodeinclude_directories(${CMAKE_CURRENT_SOURCE_DIR}/include) 然而,在多级子目录的情况下,如果在 main.cpp 所在的子目录中,使用上述方式可能会导致找不到头文件的...
PROJECT_SOURCE_DIR:工程根目录; PROJECT_BINARY_DIR:运行cmake命令的目录。笔者建议定义为${PROJECT_SOURCE_DIR}/build下。具体原因见后文外部编译部分; CMAKE_INCLUDE_PATH:环境变量,非cmake变量; CMAKE_LIBRARY_PATH:环境变量; CMAKE_CURRENT_SOURCE_DIR:当前处理的CMakeLists.txt文件所在路径; ...
${CMAKE_SOURCE_DIR}表示CMakeLists.txt所在的源代码根目录,${CMAKE_SOURCE_DIR}/include表示根目录下的include目录。 $(TARGET_TMPROOTFS_DIR)/include/表示一个变量,它的值是TARGET_TMPROOTFS_DIR变量指定的目录下的include目录。 ${CMAKE_CURRENT_SOURCE_DIR}表示当前CMakeLists.txt所在的源代码目录,${CMAKE...
CMAKE_CURRENT_SOURCE_DIR:当前处理的CMakeLists.txt 所在路径 EXECUTABLE_OUTPUT_PATH:最终二进制结果的存放目录,常见用法:SET(EXECUTABLE_OUTPUT_PATH./bin)LIBRARY_OUTPUT_PATH:设置.so文件的存放目录,常见用法SET(LIBRARY_OUTPUT_PATH./lib) 3.2 编译代码 ...
f(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/tests") add_subdirectory(tests/cefsimple) # cefsimple add_subdirectory(tests/gtest) add_subdirectory(tests/ceftests) endif() 这里之所以使用一个目录判断,目测是在CEF binary distribution的Minimal最小版本中,是剔除了样例工程的,所以做了一个IF判断。 所以,接下来...
如果是 in-source 编译,它跟 CMAKE_CURRENT_SOURCE_DIR 一致,如果是 out-of-source 编译,他指的是 target 编译目录(就是:项目绝对路径/build/顶层cmakelist到子cmakelist的相对路径)。使用 ADD_SUBDIRECTORY的第二个参数可以更改这个变量的:顶层cmakelist到子cmakelist的相对路径,这个值 ...