Add Directories to Compiler Include Path
Syntax#
- include_directories([AFTER|BEFORE] [SYSTEM] dir1 [dir2 …])
Parameters#
Parameter | Description |
---|---|
dirN |
one ore more relative or absolute paths |
AFTER , BEFORE |
(optional) whether to add the given directories to the front or end of the current list of include paths; default behaviour is defined by CMAKE_INCLUDE_DIRECTORIES_BEFORE |
SYSTEM |
(optional) tells the compiler to tread the given directories as system include dirs, which might trigger special handling by the compiler |
## Add a Project’s Subdirectory | |
Given the following project structure | |
``` | |
include\ | |
myHeader.h | |
src\ | |
main.cpp | |
CMakeLists.txt | |
``` | |
the following line in the CMakeLists.txt file |
|
``` | |
include_directories(${PROJECT_SOURCE_DIR}/include) | |
``` | |
adds the include directory to the include search path of the compiler for all targets defined in this directory (and all its subdirectories included via add_subdirectory() ). |
Thus, the file myHeader.h
in the project’s include
subdirectory can be included via #include "myHeader.h"
in the main.cpp
file.