【摘要】 解决CMAKE_CURRENT_SOURCE_DIR在使用CMake构建项目时,经常会用到 CMAKE_CURRENT_SOURCE_DIR 这个变量,用于获取当前源代码目录的路径。然而,有时候在项目中存在多级子目录的情况下,CMAKE_CURRENT_SOURCE_DIR 变量可能无法正确解析。 本文将介绍一种解决 CMAKE_CURRENT...
CMAKE_CURRENT_SOURCE_DIR: 一般来说,一个工程会有多个cmakelists.txt文件,对应当前文件目录。 CMAKE_CURRENT_BINARY_DIR: 对应build里的目录。 CMAKE_MODULE_PATH: api(include/find_package)包含别的cmake文件时的搜索目录。 CMAKE_PREFIX_PATH: api(find_libray/path)包含模块时的搜索目录。 CMAKE_INSTALL_...
COMMAND"${CMAKE_COMMAND}"-E copy"${CMAKE_CURRENT_SOURCE_DIR}/src/json/value.h""${export_dir}/libsojsoncpp/include/json/value.h" COMMAND"${CMAKE_COMMAND}"-E copy"${CMAKE_CURRENT_SOURCE_DIR}/src/json/reader.h""${export_dir}/libsojsoncpp/include/json/reader.h" COMMAND"${CMAKE_CO...
CMAKE_CURRENT_SOURCE_DIR: 一般来说,一个工程会有多个cmakelists.txt文件,对应当前文件目录。 CMAKE_CURRENT_BINARY_DIR: 对应build里的目录。 CMAKE_MODULE_PATH: api(include/find_package)包含别的cmake文件时的搜索目录。 CMAKE_PREFIX_PATH: api(find_libray/path)包含模块时的搜索目录。 CMAKE_INSTALL_...
cmakeCopycodeinclude_directories(${CMAKE_CURRENT_SOURCE_DIR}/include) 然而,在多级子目录的情况下,如果在 main.cpp 所在的子目录中,使用上述方式可能会导致找不到头文件的错误。 解决办法 为了解决这个问题,我们可以使用 CMAKE_CURRENT_LIST_DIR 变量来获取当前 CMakeList...
1.2,子目录cmake src文件下面的子目录中cmake文件内容 set(SOURCES student.cpp ${PROJECT_SOURCE_DIR}/bin/main_student.cpp ) add_executable(student ${SOURCES} ${PROJECT_SOURCE_DIR}/bin) include_directories("${PROJECT_SOURCE_DIR}/src/student") set 设置变量的值 add_executable 生成可执行文件(可执...
CMAKE_CURRENT_SOURCE_DIR为当前CMakeLists.txt文件所在目录。 CMAKE_CURRENT_BINARY_DIR为当前CMakeLists.txt构建输出所在的目录。 CMAKE_CURRENT_LIST_DIR为当前执行CMakeLists.txt文件所在目录,CMAKE_CURRENT_LIST_FILE为当前执行CMakeLists.txt文件所在路径,CMAKE_CURRENT_LIST_LINE为 当前执行CMakeLists.txt文件...
Is there a way to really change the CMAKE_CURRENT_SOURCE_DIR? Use add_subdirectory(qqq). Seriously, CMAKE_CURRENT_SOURCE_DIR denotes location of the CMakeLists.txt which is currently processed. Some CMake functions (even internal ones) heavily rely on this property of the variable. This va...
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/tunerservice/world") include_directories("${CMAKE_INSTALL_INCLUDEDIR}") link_directories("${CMAKE_INSTALL_LIBDIR}") #添加需要链接的库文件目录 # 1.2 C/CXX/LD Flags add_definitions("-std=c++11 -fPIC -Wno-deprecated") #-W -Wall 添加编译条...
变量CMAKE_CURRENT_SOURCE_DIR和CMAKE_CURRENT_LIST_DIR可以指代由具有include命令的不同文件包括的CMake列表文件的不同目录.例如,如果目录项目中存在CMakeLists.txt并且包含以下指令 include(src/CMakeLists.txt) 然后在处理src/CMakeLists.txt时,CMAKE_CURRENT_LIST_DIR将引用project / src,而CMAKE_CURRENT_SOURCE...