Como corrigir CMake "target_include_directories called with invalid arguments"

Problema:

No seu CMakeLists.txt, você quer adicionar um diretório de include tal como /usr/include/mylibrary para o executável myexe usando código como:

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

Mas quando você tenta configurar a construção usando cmake . ou make, você vê uma mensagem de erro como

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


-- Configuring incomplete, errors occurred!

Solução

Você precisa adicionar PUBLIC entre o nome do target (myexe) e o diretório/diretórios de include:

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

Check out similar posts by category: CMake