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 :
De base les fichiers CMake sont les suivants :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
-Fichier CMake du dossier source :
- fichier CMake du dossier Modules :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 dossier Module1:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 add_subdirectory (Module1) add_subdirectory (Module2) add_library(Abstract Abstract.cpp )
-fichier CMake dossier Module2:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 add_library(Module1 Module1.cpp)
Le fichier typesAppli.h est nouveau et je souhaite l'appeler via un include "typesAppli.h" dans le fichier Abstract.h.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 add_library(Module2 Module2.cpp)
J'ai rajouté les lignes suivantes dans le CMakeLists.txt du dossier /Modules :
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?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 include_directories (${MODULE_SOURCE_DIR}/typesApplication) link_directories (${MODULE_BINARY_DIR}/typesApplication)
Merci d'avances pour vos réponses ou suggestions.
Partager