]> Creatis software - crea.git/blob - appli/creaNewProject/CMakeLists.txt
Feature #1763
[crea.git] / appli / creaNewProject / CMakeLists.txt
1 # ---------------------------------------------------------------------
2 #
3 # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image 
4 #                        pour la Santé)
5 # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
6 #
7 #  This software is governed by the CeCILL-B license under French law and 
8 #  abiding by the rules of distribution of free software. You can  use, 
9 #  modify and/ or redistribute the software under the terms of the CeCILL-B 
10 #  license as circulated by CEA, CNRS and INRIA at the following URL 
11 #  http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html 
12 #  or in the file LICENSE.txt.
13 #
14 #  As a counterpart to the access to the source code and  rights to copy,
15 #  modify and redistribute granted by the license, users are provided only
16 #  with a limited warranty  and the software's author,  the holder of the
17 #  economic rights,  and the successive licensors  have only  limited
18 #  liability. 
19 #
20 #  The fact that you are presently reading this means that you have had
21 #  knowledge of the CeCILL-B license and that you accept its terms.
22 # ------------------------------------------------------------------------ */ 
23
24 #============================================================================
25 # Builds and install the executable creaNewProject
26
27 SET(EXE_NAME creaNewProject)
28 SET(${EXE_NAME}_SOURCES creaNewProject.cpp)
29 SET(${EXE_NAME}_HAS_GUI TRUE)
30 SET(${EXE_NAME}_CONSOLE FALSE)
31 SET(${EXE_NAME}_LINK_LIBRARIES crea)
32
33 CREA_ADD_EXECUTABLE( ${EXE_NAME} )
34 #============================================================================
35
36
37 #============================================================================
38 # Installs creaNewProject.bat/.sh  
39 # used to creates the file architecture for a new project
40 # and configures/installs the empty project structure used by creaNewProject
41 SET(INPUT_PROJECT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/NewProject)
42
43 IF(WIN32)
44
45   # Build tree 
46   CONFIGURE_FILE(
47     ${CMAKE_CURRENT_SOURCE_DIR}/xcopy.exe
48     ${EXECUTABLE_OUTPUT_PATH}/Debug/xcopy.exe
49     COPYONLY 
50     )
51   CONFIGURE_FILE(
52     ${CMAKE_CURRENT_SOURCE_DIR}/creaNewProject.bat.in
53     ${EXECUTABLE_OUTPUT_PATH}/Debug/creaNewProject.bat
54     @ONLY IMMEDIATE
55     )
56          
57   CONFIGURE_FILE(
58     ${CMAKE_CURRENT_SOURCE_DIR}/NewProject/lib/template_lib/creaSystem.h.in
59     ${EXECUTABLE_OUTPUT_PATH}/lib/template_lib/${PROJECT_NAME}System.h
60     @ONLY IMMEDIATE
61     )
62       
63   CREA_MKDIR(${EXECUTABLE_OUTPUT_PATH}/Debug/creaNewProject_data)
64   CREA_CPDIR(${INPUT_PROJECT_DIR} ${EXECUTABLE_OUTPUT_PATH}/Debug/creaNewProject_data )
65   
66
67   CONFIGURE_FILE(
68     ${CMAKE_CURRENT_SOURCE_DIR}/xcopy.exe
69     ${EXECUTABLE_OUTPUT_PATH}/Release/xcopy.exe
70     COPYONLY 
71     )
72   CONFIGURE_FILE(
73     ${CMAKE_CURRENT_SOURCE_DIR}/creaNewProject.bat.in
74     ${EXECUTABLE_OUTPUT_PATH}/Release/creaNewProject.bat
75     @ONLY IMMEDIATE
76     )
77   CREA_MKDIR(${EXECUTABLE_OUTPUT_PATH}/Release/creaNewProject_data)
78   CREA_CPDIR(${INPUT_PROJECT_DIR} ${EXECUTABLE_OUTPUT_PATH}/Release/creaNewProject_data )
79   
80   
81   # install tree
82   INSTALL(
83     PROGRAMS ${EXECUTABLE_OUTPUT_PATH}/Debug/xcopy.exe
84     DESTINATION bin
85     )
86   INSTALL(
87     PROGRAMS ${EXECUTABLE_OUTPUT_PATH}/Debug/creaNewProject.bat
88     DESTINATION bin
89     )
90   INSTALL( 
91     DIRECTORY ${EXECUTABLE_OUTPUT_PATH}/Debug/creaNewProject_data
92     DESTINATION bin
93     )  
94   
95 ELSE(WIN32)
96
97 # ======================= LINUX =======================
98
99   # Build tree 
100   CONFIGURE_FILE(
101     ${CMAKE_CURRENT_SOURCE_DIR}/creaNewProject.sh.in
102     ${EXECUTABLE_OUTPUT_PATH}/creaNewProject.sh
103     @ONLY IMMEDIATE
104     )
105   
106  # CONFIGURE_FILE(
107  #   ${CMAKE_CURRENT_SOURCE_DIR}/NewProject/lib/template_lib/creaSystem.h.in
108  #   ${EXECUTABLE_OUTPUT_PATH}/NewProject/lib/template_lib/${PROJECT_NAME}System.h
109  #   ${CMAKE_CURRENT_SOURCE_DIR}/NewProject/lib/template_lib/${PROJECT_NAME}System.h
110  #   @ONLY IMMEDIATE
111  #   )
112
113   CREA_MKDIR(${EXECUTABLE_OUTPUT_PATH}/share/creaNewProject)
114   CREA_CPDIR(${INPUT_PROJECT_DIR} ${EXECUTABLE_OUTPUT_PATH}/share/creaNewProject)
115
116   # Install tree
117   INSTALL(
118     FILES ${EXECUTABLE_OUTPUT_PATH}/creaNewProject.sh
119     DESTINATION bin
120     PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
121     )
122
123   INSTALL(
124     DIRECTORY ${EXECUTABLE_OUTPUT_PATH}/share/creaNewProject
125     DESTINATION share
126     )
127   
128 ENDIF(WIN32)
129
130
131
132