Mám externý projekt cmake, ktorý chcem použiť v mojom projekte cmake. Vložil som ho do môjho adresára na kompiláciu s mojím projektom. Povedzme:
project dir
| include
| | external
| | | CMakeList.txt
| | | src
| | | | externalLib.h
| src
| CMakeList.txt
V mojom súbore cmake je:
add_subdirectory(include/external)
Takže projekt je prepojený a keď sa pokúšam, aby sa vyskytla chyba:
fatal error: src/exernalLib.h: No such file or directory
Ale ako samostatný kompiluje. Myslím si teda, že musím niekde povedať, že externý projekt musí prevziať svoju pôsobnosť. Ale kde?
odpovede:
1 pre odpoveď č. 1Nie je to dosť. Musíte zadať adresáre vo vašej definícii projektu:
include_directories(${CMAKE_SOURCE_DIR}/include/external/)
Ale najlepšie riešenie je napísať vlastný FindExternLib.cmake podľa https://cmake.org/Wiki/CMake:How_To_Find_Libraries