Как исправить CMake "target_include_directories called with invalid arguments"

Проблема:

В вашем CMakeLists.txt вы хотите добавить include-директорию, такую как /usr/include/mylibrary, для исполняемого файла myexe с использованием кода:

CMakeLists.txt
target_include_directories( myexe /usr/include/mylib )

Но при попытке сконфигурировать сборку с использованием cmake . или make вы видите сообщение об ошибке, такое как

cmake_error.txt
CMake Error at CMakeLists.txt:8 (target_include_directories):
  target_include_directories called with invalid arguments


-- Configuring incomplete, errors occurred!

Решение

Вам нужно добавить PUBLIC между именем цели (myexe) и include-директорией(ами):

CMakeLists.txt
target_include_directories( myexe PUBLIC /usr/include/mylib )

Check out similar posts by category: CMake