-
Notifications
You must be signed in to change notification settings - Fork 16
/
Copy pathcmake.cli.txt
85 lines (73 loc) · 4.56 KB
/
cmake.cli.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
┏━━━━━━━━━━━┓
┃ CMAKE ┃
┗━━━━━━━━━━━┛
cmake et doxygen
PRINCIPE ==> # Fichier de cmake sur Makefile (script
# configuration ce fichier contenant une
# (indépendant --> sur une --> suite de commande
# de la plateforme) plateforme de compilation,
# donnée telle que gcc,
# \ et de variables
# \ telles que les
# \ option de
# \ compilation pour la
# \ compilation sur
# \ cette plateforme,
# \ etc.)
# \ |
# \ v
# \ Binaire /
# +Installation
#
#Le "Makefile" est nommé différemment sous d'autres
#environnements : il y a les Makefile BSD et les
#Makefile Linux ; il s'agit de fichiers XCode sous
#Mac OS X, et de fichiers pour MVSC, ou de Makefile
#pour nmake pour W$, ou Cygwin (tous ces derniers se
#passant de makefile et compilant directement)
#CMake produit donc un Makefile ou un fichier pour un
#IDE donné, à partir d'un fichier conf universel.
#Autres outils faisant la même chose (mais avec un
#fichier de configuration différent) :
# - autoconf (+ automake)
# - scons
# - waf
# - jam
# - qmake
#Fichiers à la racine du projet :
# - CMakeLists.txt : informations
cmake . -G"STRING" #Génère un fichier Makefile ou IDE en fonction de
#./CMakeLists.txt pour la destination STRING qui peut
#être, sous Linux :
# - "Unix Makefiles"
# - "CodeBlocks - Unix Makefiles"
# - "Eclipse CDT4 - Unix Makefiles"
# - "KDevelop3"
# - "KDevelop3 - Unix Makefiles"
#Les STRING disponibles dépendent de la plateforme
#actuelle.
#Peut générer :
# - CMakeFiles : fichiers temps et intermédiaires
# - CMakeCache.txt : informations de la plateforme
# actuelle.
# - cmake_install.cmake : script d'installation
# - MyProject.xxx ou Makefile
COMMAND(ARGS...) #Pas d'espace entre COMMAND et la première parenthèse.
COMMAND( #Si ARG contient des espaces, ils doivent être
ARGS... #échappés (double guillemets). Sinon, pas besoin de
) #guillemets, même pour une string.
#COMMENTAIRES
${VAR} #Variable pouvant stocker des FILE..., etc.
project(STRNG[, STRNG2])#Déclare un projet dont le nom est STRING, et le langage
#STRING2 (en général deviné).
cmake_minimum_required #Indique que la version de cmake doit être au moins
(STRING) #STRING (actuelle 2.8.2) :
# - 2.6 : file()
add_executable(FILE1, #FILE sont des chemins relatifs, avec des / et non \.
FILE...) #(quel que soit la plateforme à destination).
#Crée un exécutable à partir des FILE... (sources +
#headers)
#Pas mettre d'extension à FILE1
file(STRING, VAR, #Stocke l'ensemble des FILE... désignés par CHEMIN dans
CHEMIN) #VAR. STRING peut être GLOB (globbing) ou GLOB_RECURSE
#(* équivalent à ** en Bash).