Як виправити 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 між ім’ям target (myexe) та include-директорією/директоріями:

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

Дивіться схожі статті за категоріями: CMake