# the usage of include with cmake

**URL:** <https://discourse.cmake.org/t/the-usage-of-include-with-cmake/12803>\
**Category:** Code\
**Created:** [October 20, 2024, 2:09am UTC](https://discourse.cmake.org/t/the-usage-of-include-with-cmake/12803 "2024-10-20T02:09:42Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Sea\_Sea](https://discourse.cmake.org/user_avatar/discourse.cmake.org/sea_sea/32/4025_2.png) [@Sea\_Sea](https://discourse.cmake.org/u/Sea_Sea)\
**Post date:** [October 20, 2024, 2:09am UTC](https://discourse.cmake.org/t/the-usage-of-include-with-cmake/12803/1 "2024-10-20T02:09:42Z")

</div>

For case2, it happen the message  
`#include errors detected. Please update your includePath. Squiggles are disabled for this translation unit `

```auto
// main.cpp
#include "shared/main.hpp"

```

Folder

```auto
test/src/main.cpp
test/include/shared/main.hpp

```

case1

```auto
# cmake
add_executable(test 
${CMAKE_CURRENT_SOURCE_DIR}/src/main.cpp 
${CMAKE_CURRENT_SOURCE_DIR}/include/shared/main.hpp)

target_include_directories(test PUBLIC
  $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
        $<INSTALL_INTERFACE:include>
)

```

case2

```auto
add_executable(test 
${CMAKE_CURRENT_SOURCE_DIR}/src/main.cpp)

target_include_directories(test PUBLIC
  $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
        $<INSTALL_INTERFACE:include>
)

```

---

<div class="post-metadata">

**Author:** ![Oodini](https://discourse.cmake.org/letter_avatar_proxy/v4/letter/o/db5fbb/32.png) [@Oodini](https://discourse.cmake.org/u/Oodini)\
**Post date:** [October 21, 2024, 7:08am UTC](https://discourse.cmake.org/t/the-usage-of-include-with-cmake/12803/2 "2024-10-21T07:08:06Z")

</div>

Try that:

```auto
add_executable(test 
  ${CMAKE_CURRENT_SOURCE_DIR}/src/main.cpp)

target_include_directories(test PUBLIC
  $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include/shared>
  $<INSTALL_INTERFACE:include/shared>
)

```

---

<div class="post-metadata">

**Author:** ![ClausKlein](https://discourse.cmake.org/user_avatar/discourse.cmake.org/clausklein/32/352_2.png) [@ClausKlein](https://discourse.cmake.org/u/ClausKlein)\
**Post date:** [October 21, 2024, 8:36am UTC](https://discourse.cmake.org/t/the-usage-of-include-with-cmake/12803/3 "2024-10-21T08:36:39Z")

</div>

- Is this a compiler message?
- How was the project generated?
