Commit e3b0c150 authored by Emeric Verschuur's avatar Emeric Verschuur
Browse files

Ajout du CMakeLists.txt, j'ai créé un petit HOWTO au début du fichier.

parent ccacfa3c
Loading
Loading
Loading
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)
{
}