Loading CMakeLists.txt 0 → 100644 +92 −0 Original line number Diff line number Diff line ############################################################################### # CMakeLists.txt # # # # author : Emeric VERSCHUUR # # creation : Sunday, March 2 2008 (3/2/2008) # # Projet M1-STIC 2007-2008 sur le lancer de rayons # # Encadrant : Gilles Subrenat # # Encadrés : Josselin François # # Michaël Nauge # # Axel Richard # # Hervé Souchaud # # Emeric Verschuur # ############################################################################### ############################################################################### # # # HOWTO CMake # # # ############################################################################### # # # 1. NE RIEN MODIFIER, normalement tout se fait dynamiquement donc pas # # besoin d'ajouter un fichier dans une liste de fichier car cette lise est # # gérée de façon dynamique via la macro AUX_SOURCE_DIRECTORY. Pareil pour ce # # qui est de passer du mode débogage au mode normal qui qui se fait via un # # argument (description un peu plus bas...). # # # # 2. Grâce à CMake, on peu dissocier le dossier source et le dossier # # de compilation. Voilà comment je procède habituellement : # # # # Je pars de cette arborescence : # # /[...]/[-]lray/[+]bin/ (Dossier de compilation) # # [+]trunk/ (Dossier source) # # [+][etc..] # # # # On suppose qu'on est dans le dossier bin fraîchement créé : on a plus qu'a # # taper la commande suivante : # # $ cmake ../trunk/ -DDEBUG:BOOLEAN=TRUE # # pour le mode débogage. Vous pouvez à tous moment repasser en mode normal en # # tapant la commande : # # $ cmake ../trunk/ -DDEBUG:BOOLEAN=FALSE # # ou encore, tout simplement : # # $ cmake ../trunk/ # # pour ceux qui sont sous WIN32 avec MinGW il auront un argument à rajouter, # # ce qui donne, en mode débogage : # # $ cmake ..\trunk -G "MinGW Makefiles" -DDEBUG:BOOLEAN=TRUE # # voilà ! ça se limite à ça le CMake donc à part pour l'initialisation ou # # pour le changement du mode déboge en mode normal et vice-versa, on aura # # plus besoin de taper cette commande car même en cas de modification du # # fichier CMakeLists.txt dans le trunk, le Makefile dans le dossier bin se # # mettra à jour automatiquement au prochain coup de make. # # # # 3. Pour les IDEs de développement il suffit de créer/importer un # # projet simple ou à partir de Makefile personnalisé et ensuite de spécifier # # d'une part le dossier de compilation (bin/) et d'autre part le chemin du # # Makefile (bin/Makefile). # # # # 4. Pour avoir le détail des commandes (g++ avec les 5 lignes de # # flags etc...) vous pouvez rajouter l'argument # # -DCMAKE_VERBOSE_MAKEFILE:BOOLEAN=FALSE à la commande cmake # # # ############################################################################### # CMAKE_VERBOSE_MAKEFILE # ### Entête ### # Nom du projet PROJECT(lray) # ### Définitions ### # Liste des fichiers sources AUX_SOURCE_DIRECTORY(./ lray_SRCS) # Liste des bibliothèques (sans le préfix "-l") SET(lray_LIBS ) # Liste des flags de compilation ADD_DEFINITIONS(-Wall -D_REENTRANT -DHAVE_CONFIG_H) # Liste des flags de linkage SET(lray_LDFS ) # ### Paramétrage ### # Mode débogage IF(DEBUG) ADD_DEFINITIONS(-g3) ELSE(DEBUG) ADD_DEFINITIONS(-O3) ENDIF(DEBUG) # ### Construction ### ADD_EXECUTABLE(lray ${lray_SRCS}) # SET_TARGET_PROPERTIES(lray PROPERTIES LINK_FLAGS "${lray_LDFS}") # TARGET_LINK_LIBRARIES(lray ${qmrtiservadmin_LIBS}) # ### Installation ### INSTALL(TARGETS lray DESTINATION bin PERMISSIONS OWNER_READ GROUP_READ WORLD_READ OWNER_EXECUTE GROUP_EXECUTE WORLD_EXECUTE) main.cpp 0 → 100644 +5 −0 Original line number Diff line number Diff line int main(int argc, char** argv) { } Loading
CMakeLists.txt 0 → 100644 +92 −0 Original line number Diff line number Diff line ############################################################################### # CMakeLists.txt # # # # author : Emeric VERSCHUUR # # creation : Sunday, March 2 2008 (3/2/2008) # # Projet M1-STIC 2007-2008 sur le lancer de rayons # # Encadrant : Gilles Subrenat # # Encadrés : Josselin François # # Michaël Nauge # # Axel Richard # # Hervé Souchaud # # Emeric Verschuur # ############################################################################### ############################################################################### # # # HOWTO CMake # # # ############################################################################### # # # 1. NE RIEN MODIFIER, normalement tout se fait dynamiquement donc pas # # besoin d'ajouter un fichier dans une liste de fichier car cette lise est # # gérée de façon dynamique via la macro AUX_SOURCE_DIRECTORY. Pareil pour ce # # qui est de passer du mode débogage au mode normal qui qui se fait via un # # argument (description un peu plus bas...). # # # # 2. Grâce à CMake, on peu dissocier le dossier source et le dossier # # de compilation. Voilà comment je procède habituellement : # # # # Je pars de cette arborescence : # # /[...]/[-]lray/[+]bin/ (Dossier de compilation) # # [+]trunk/ (Dossier source) # # [+][etc..] # # # # On suppose qu'on est dans le dossier bin fraîchement créé : on a plus qu'a # # taper la commande suivante : # # $ cmake ../trunk/ -DDEBUG:BOOLEAN=TRUE # # pour le mode débogage. Vous pouvez à tous moment repasser en mode normal en # # tapant la commande : # # $ cmake ../trunk/ -DDEBUG:BOOLEAN=FALSE # # ou encore, tout simplement : # # $ cmake ../trunk/ # # pour ceux qui sont sous WIN32 avec MinGW il auront un argument à rajouter, # # ce qui donne, en mode débogage : # # $ cmake ..\trunk -G "MinGW Makefiles" -DDEBUG:BOOLEAN=TRUE # # voilà ! ça se limite à ça le CMake donc à part pour l'initialisation ou # # pour le changement du mode déboge en mode normal et vice-versa, on aura # # plus besoin de taper cette commande car même en cas de modification du # # fichier CMakeLists.txt dans le trunk, le Makefile dans le dossier bin se # # mettra à jour automatiquement au prochain coup de make. # # # # 3. Pour les IDEs de développement il suffit de créer/importer un # # projet simple ou à partir de Makefile personnalisé et ensuite de spécifier # # d'une part le dossier de compilation (bin/) et d'autre part le chemin du # # Makefile (bin/Makefile). # # # # 4. Pour avoir le détail des commandes (g++ avec les 5 lignes de # # flags etc...) vous pouvez rajouter l'argument # # -DCMAKE_VERBOSE_MAKEFILE:BOOLEAN=FALSE à la commande cmake # # # ############################################################################### # CMAKE_VERBOSE_MAKEFILE # ### Entête ### # Nom du projet PROJECT(lray) # ### Définitions ### # Liste des fichiers sources AUX_SOURCE_DIRECTORY(./ lray_SRCS) # Liste des bibliothèques (sans le préfix "-l") SET(lray_LIBS ) # Liste des flags de compilation ADD_DEFINITIONS(-Wall -D_REENTRANT -DHAVE_CONFIG_H) # Liste des flags de linkage SET(lray_LDFS ) # ### Paramétrage ### # Mode débogage IF(DEBUG) ADD_DEFINITIONS(-g3) ELSE(DEBUG) ADD_DEFINITIONS(-O3) ENDIF(DEBUG) # ### Construction ### ADD_EXECUTABLE(lray ${lray_SRCS}) # SET_TARGET_PROPERTIES(lray PROPERTIES LINK_FLAGS "${lray_LDFS}") # TARGET_LINK_LIBRARIES(lray ${qmrtiservadmin_LIBS}) # ### Installation ### INSTALL(TARGETS lray DESTINATION bin PERMISSIONS OWNER_READ GROUP_READ WORLD_READ OWNER_EXECUTE GROUP_EXECUTE WORLD_EXECUTE)
main.cpp 0 → 100644 +5 −0 Original line number Diff line number Diff line int main(int argc, char** argv) { }