CMakeLists之include_directories
最近在写CMakeLists的时候遇到了一些问题,在这里记录一下我解决的方案
下面是一个简单的demo
项目的结构如图左边所示。test.h
在python文件夹下的include文件夹里面,test.cpp
在python文件夹下面的src里面,CMakeLists如下所示
cmake_minimum_required(VERSION 3.4.1)
project(demo)
include_directories(
${CMAKE_CURRENT_SOURCE_DIR}/include
)
add_library(demo src/try_1.cpp)
此时项目可以正常的编译,只需在build文件夹下面cmake …然后make,假如我们把test.h
放在与python同级目录下的include文件夹下面,仍然使用当前cmake,则会有报错
如果希望能够找到头文件那么应该怎么办呢?
只需做下面的更改
cmake_minimum_required(VERSION 3.4.1)
project(demo)
include_directories(
${CMAKE_CURRENT_SOURCE_DIR}/include
${CMAKE_CURRENT_SOURCE_DIR}/../include #这行为增加的
)
add_library(demo src/try_1.cpp)
这行的意思是搜索上一级目录下的include文件夹,如果我们希望搜索上一级的includes
(假设有一个)文件夹,那么我们需要把include改为includes