cmake-包括外部项目的目录

CMake - Include directories outside project

本文关键字:项目 包括外 cmake-      更新时间:2023-10-16

,所以我想在其他文件夹中包含一个全局标头文件。cmakelist.txt的代码在下面。在我的.cpp中,当我在本地包含文件夹中包含某些内容时,它可以工作,但不适合其他文件夹中的内容。

cmake_minimum_required(VERSION 2.8)
#Project name
project(Server-Client)
#Add all cpp files as source files
file(GLOB_RECURSE SOURCES "src/*.cpp")
#Build executable 'Server' with all files in SOURCES
add_executable(Server ${SOURCES})
#Include all files in include directory
include_directories("include")
target_include_directories(Server PUBLIC "../../GlobalFiles/include")
find_package(Threads REQUIRED)
#Build executable 'localization' with all files in SOURCES
target_link_libraries(Server ${CMAKE_THREAD_LIBS_INIT})

不要使用相对路径,而是使用cmake_current_source_dir变量这样:

target_include_directories(服务器public" $ {cmake_current_source_dir}/../../../globalfiles/inclyd

除此之外,使用宏查找您要寻找的全局标头可能是一个好主意。