]> Creatis software - crea.git/blobdiff - appli/creaNewProject/CMakeLists.txt
Feature #1711 CreaDevManager application implementation
[crea.git] / appli / creaNewProject / CMakeLists.txt
index a9a08abff409e29a24c199490374974577406cf4..6a98816f74c381940f794717b43ad0eff6df37fc 100644 (file)
@@ -1,48 +1,90 @@
+# ---------------------------------------------------------------------
+#
+# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image 
+#                        pour la Santé)
+# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
+# Previous Authors : Laurent Guigues, Jean-Pierre Roux
+# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
+#
+#  This software is governed by the CeCILL-B license under French law and 
+#  abiding by the rules of distribution of free software. You can  use, 
+#  modify and/ or redistribute the software under the terms of the CeCILL-B 
+#  license as circulated by CEA, CNRS and INRIA at the following URL 
+#  http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html 
+#  or in the file LICENSE.txt.
+#
+#  As a counterpart to the access to the source code and  rights to copy,
+#  modify and redistribute granted by the license, users are provided only
+#  with a limited warranty  and the software's author,  the holder of the
+#  economic rights,  and the successive licensors  have only  limited
+#  liability. 
+#
+#  The fact that you are presently reading this means that you have had
+#  knowledge of the CeCILL-B license and that you accept its terms.
+# ------------------------------------------------------------------------ */ 
+
+#============================================================================
+# Builds and install the executable creaNewProject
+
+SET(EXE_NAME creaNewProject)
+SET(${EXE_NAME}_SOURCES creaNewProject.cpp)
+SET(${EXE_NAME}_HAS_GUI TRUE)
+SET(${EXE_NAME}_CONSOLE FALSE)
+SET(${EXE_NAME}_LINK_LIBRARIES crea)
+
+CREA_ADD_EXECUTABLE( ${EXE_NAME} )
+#============================================================================
+
+
+#============================================================================
 # Installs creaNewProject.bat/.sh  
 # used to creates the file architecture for a new project
 # and configures/installs the empty project structure used by creaNewProject
-
 SET(INPUT_PROJECT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/NewProject)
-FILE(GLOB_RECURSE NAMES RELATIVE ${INPUT_PROJECT_DIR} *.txt *.in *.cmake )
 
 IF(WIN32)
 
-
   # Build tree 
+  CONFIGURE_FILE(
+    ${CMAKE_CURRENT_SOURCE_DIR}/xcopy.exe
+    ${EXECUTABLE_OUTPUT_PATH}/Debug/xcopy.exe
+    COPYONLY 
+    )
   CONFIGURE_FILE(
     ${CMAKE_CURRENT_SOURCE_DIR}/creaNewProject.bat.in
     ${EXECUTABLE_OUTPUT_PATH}/Debug/creaNewProject.bat
     @ONLY IMMEDIATE
     )
+         
+  CONFIGURE_FILE(
+    ${CMAKE_CURRENT_SOURCE_DIR}/NewProject/lib/template_lib/creaSystem.h.in
+    ${EXECUTABLE_OUTPUT_PATH}/lib/template_lib/${PROJECT_NAME}System.h
+    @ONLY IMMEDIATE
+    )
+      
   CREA_MKDIR(${EXECUTABLE_OUTPUT_PATH}/Debug/creaNewProject_data)
-  FOREACH( NAME  ${NAMES} )
-    STRING(SUBSTRING ${NAME} 0 3 subStrTmp )
-    MESSAGE(ERROR ${subStrTmp})
-    IF( NOT ${subStrTmp} STREQUAL "../" )
-      CONFIGURE_FILE(${INPUT_PROJECT_DIR}/${NAME} 
-       ${EXECUTABLE_OUTPUT_PATH}/Debug/creaNewProject_data/${NAME}
-       COPYONLY 
-       )
-    ENDIF( NOT ${subStrTmp} STREQUAL "../" )
-  ENDFOREACH(NAME)
+  CREA_CPDIR(${INPUT_PROJECT_DIR} ${EXECUTABLE_OUTPUT_PATH}/Debug/creaNewProject_data )
   
+
+  CONFIGURE_FILE(
+    ${CMAKE_CURRENT_SOURCE_DIR}/xcopy.exe
+    ${EXECUTABLE_OUTPUT_PATH}/Release/xcopy.exe
+    COPYONLY 
+    )
   CONFIGURE_FILE(
     ${CMAKE_CURRENT_SOURCE_DIR}/creaNewProject.bat.in
     ${EXECUTABLE_OUTPUT_PATH}/Release/creaNewProject.bat
     @ONLY IMMEDIATE
     )
   CREA_MKDIR(${EXECUTABLE_OUTPUT_PATH}/Release/creaNewProject_data)
-  FOREACH( NAME  ${NAMES})
-    STRING(SUBSTRING ${NAME} 0 3 subStrTmp )
-    IF( NOT ${subStrTmp} STREQUAL "../" )
-      CONFIGURE_FILE(${INPUT_PROJECT_DIR}/${NAME} 
-       ${EXECUTABLE_OUTPUT_PATH}/Release/creaNewProject_data/${NAME}
-       COPYONLY )
-    ENDIF( NOT ${subStrTmp} STREQUAL "../" )
-  ENDFOREACH(NAME)
+  CREA_CPDIR(${INPUT_PROJECT_DIR} ${EXECUTABLE_OUTPUT_PATH}/Release/creaNewProject_data )
   
   
   # install tree
+  INSTALL(
+    PROGRAMS ${EXECUTABLE_OUTPUT_PATH}/Debug/xcopy.exe
+    DESTINATION bin
+    )
   INSTALL(
     PROGRAMS ${EXECUTABLE_OUTPUT_PATH}/Debug/creaNewProject.bat
     DESTINATION bin
@@ -54,34 +96,36 @@ IF(WIN32)
   
 ELSE(WIN32)
 
-
+# ======================= LINUX =======================
 
   # Build tree 
   CONFIGURE_FILE(
     ${CMAKE_CURRENT_SOURCE_DIR}/creaNewProject.sh.in
-    ${EXECUTABLE_OUTPUT_PATH}/creaNewProject
+    ${EXECUTABLE_OUTPUT_PATH}/creaNewProject.sh
     @ONLY IMMEDIATE
     )
-  CREA_MKDIR(${EXECUTABLE_OUTPUT_PATH}/creaNewProject_data)
-  FOREACH( NAME  ${NAMES})
-    STRING(SUBSTRING ${NAME} 0 3 subStrTmp )
-    IF( NOT ${subStrTmp} STREQUAL "../" )
-      CONFIGURE_FILE(${INPUT_PROJECT_DIR}/${NAME} 
-       ${EXECUTABLE_OUTPUT_PATH}/creaNewProject_data/${NAME}
-       COPYONLY )
-    ENDIF( NOT ${subStrTmp} STREQUAL "../" )
-  ENDFOREACH(NAME)
   
+ # CONFIGURE_FILE(
+ #   ${CMAKE_CURRENT_SOURCE_DIR}/NewProject/lib/template_lib/creaSystem.h.in
+ #   ${EXECUTABLE_OUTPUT_PATH}/NewProject/lib/template_lib/${PROJECT_NAME}System.h
+ #   ${CMAKE_CURRENT_SOURCE_DIR}/NewProject/lib/template_lib/${PROJECT_NAME}System.h
+ #   @ONLY IMMEDIATE
+ #   )
+
+  CREA_MKDIR(${EXECUTABLE_OUTPUT_PATH}/share/creaNewProject)
+  CREA_CPDIR(${INPUT_PROJECT_DIR} ${EXECUTABLE_OUTPUT_PATH}/share/creaNewProject)
+
   # Install tree
   INSTALL(
-    FILES ${EXECUTABLE_OUTPUT_PATH}/creaNewProject
+    FILES ${EXECUTABLE_OUTPUT_PATH}/creaNewProject.sh
     DESTINATION bin
     PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
     )
-  INSTALL( 
-    DIRECTORY ${EXECUTABLE_OUTPUT_PATH}/creaNewProject_data
-    DESTINATION bin
-    )  
+
+  INSTALL(
+    DIRECTORY ${EXECUTABLE_OUTPUT_PATH}/share/creaNewProject
+    DESTINATION share
+    )
   
 ENDIF(WIN32)