Comment définir include_directories à partir d'un CMakeLists.txt fichier?

Je semble avoir de la difficulté à mettre l'include path ("-I") à l'aide de la include_directories() la commande CMake. Mon répertoire du projet est comme suit:

Root
| - CMakeLists.txt
| - libs
| - | - CMakeLists.txt
| - | - inc
| - | - | - //lib specific includes
| - | - src
| - | - | - //lib specific sources
| - proj1
| - | - CMakeLists.txt
| - | - inc
| - | - | - //proj1 specific includes
| - | - src
| - | - | - //proj1 specific sources

La racine CMakeLists fichier ressemble à ceci:

project(ROOT)
add_subdirectory(libs)
add_subdirectory(proj1)

L'CMakeLists.txt fichier sous libs:

project(lib)
add_library(lib STATIC ${lib_hdrs} ${lib_srcs}) //for conciseness, omitted set() 

Et enfin, la CMakeLists.txt fichier sous proj1

project(proj1)

include_directories("${ROOT_SOURCE_DIR}/lib/inc") # <- problem line?

add_executable(proj1 ${proj1_srcs})
target_link_libraries(proj1 lib)

L'objectif est de créer la bibliothèque de la source et les fichiers d'en-tête dans les libs, puis les lier à l'encontre de la execuable généré sous proj1. Proj1 a certains fichiers #include trucs dans libs comprendre, donc j'ai besoin d'ajouter des répertoires à être utilisé avec l'option "-I". Basé sur la documentation, c'est ce que include_directories est censé faire. Cependant, malgré la définition explicite de que et en le suivant avec un message de débogage(${INCLUDE_DIRECTORIES}), le INCLUDE_DIRECTORIES variable est une chaîne vide, et pas de répertoires sont spécifiés pour le chemin, de sorte que ma compilation de proj1 échoue.

J'ai aussi essayé de retirer les guillemets autour de ${ROOT_SOURCE_DIR}/inc pour voir si cela a aidé mais pas de chance.

Faute de frappe? Vous avez include_directories("${ROOT_SOURCE_DIR}/lib/inc") mais lib devrait être libs. Et en invoquant la CMake fonction include_directories de ne pas remplir une variable nommée INCLUDE_DIRECTORIES.
Toutes mes excuses, c'est juste une faute de frappe dans la question.

OriginalL'auteur HD_Mouse | 2013-10-18