CMake projet C/C++, problème de liens entre les fichiers
Bonjour,
Je travaille actuellement sur un projet C/C++ dans lequel je dois utiliser CMake pour le créer puis le compiler.
L'arborescence du projet est la suivante :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
/projet (dossier source)
- CMakeLists.txt
- main.cpp
/Modules
- CMakeLists.txt
- Abstract.h (Classe Abstract : classe avec fonction virtuelles pures)
- Abstract.cpp
/Module1 (Classe Module1 : classe fille de Abstract : Redéfinition des fonctions virtuelles)
- CMakeLists.txt
- Module1.h
- Module1.cpp
/Module2 (Classe Module2 : classe fille de Abstract : Redéfinition des fonctions virtuelles)
- CMakeLists.txt
- Module2.h
- Module2.cpp
/typesApplication
- typesAppli.h |
De base les fichiers CMake sont les suivants :
-Fichier CMake du dossier source :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
cmake_minimum_required (VERSION 2.6)
#Name of the project
project(module)
add_subdirectory (Modules)
add_subdirectory (typesApplication)
include_directories (Modules)
link_directories (Modules)
add_executable(testModule main.cpp)
target_link_libraries(testModule Abstract Module1 Module2) |
- fichier CMake du dossier Modules :
Code:
1 2 3 4 5
|
add_subdirectory (Module1)
add_subdirectory (Module2)
add_library(Abstract Abstract.cpp ) |
- fichier CMake dossier Module1:
Code:
1 2
|
add_library(Module1 Module1.cpp) |
-fichier CMake dossier Module2:
Code:
1 2
|
add_library(Module2 Module2.cpp) |
Le fichier typesAppli.h est nouveau et je souhaite l'appeler via un include "typesAppli.h" dans le fichier Abstract.h.
J'ai rajouté les lignes suivantes dans le CMakeLists.txt du dossier /Modules :
Code:
1 2 3
|
include_directories (${MODULE_SOURCE_DIR}/typesApplication)
link_directories (${MODULE_BINARY_DIR}/typesApplication) |
Mais lors de la compilation, il ne me trouve pas le fichier. Dois-je rajouter un fichier CMake dans le dossier /typesApplication ou faire d'autres modifications?
Merci d'avances pour vos réponses ou suggestions.