]> SALOME platform Git repositories - modules/eficas.git/commitdiff
Salome HOME
MPa : mise à jour du CMakeLists
authorMartine PAOLILLO <martine.paolillo@edf.fr>
Wed, 6 May 2015 15:48:27 +0000 (17:48 +0200)
committerMartine PAOLILLO <martine.paolillo@edf.fr>
Wed, 6 May 2015 15:48:27 +0000 (17:48 +0200)
CMakeLists.txt

index bed3fb8b3753226ccde253eb173682a005e7b02b..f7285e2d87b303724ebebc7df3a7af47c433c8ed 100644 (file)
@@ -1,7 +1,7 @@
 # -*- coding: utf-8 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
-# COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
+# COPYRIGHT (C) 1991 - 2002, 2013  EDF R&D                  WWW.CODE-ASTER.ORG
 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
 #
 # ======================================================================
 
-cmake_minimum_required ( VERSION 2.8 )
-
-project ( Eficas CXX C )
-
-# Definition du chemin d'acces aux modules additionnels
-set ( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/CMakeModules" )
-
-# Detection de Python
-find_package ( PythonInterp 2.4 REQUIRED )
-if (PYTHONINTERP_FOUND)
-  string ( RANDOM tmpPyScript )
-  set ( tmpPyScript "${tmpPyScript}.py" )
-  file ( WRITE  ${tmpPyScript}
-"# Automaticaly generated by CMake. Do NOT edit. Changes will be lost
-import sys
-print '%d.%d' % ( sys.version_info[0], sys.version_info[1] )
-" )
-  get_source_file_property ( PYSCRIPT_LOC ${tmpPyScript} LOCATION )
-  execute_process ( COMMAND ${PYTHON_EXECUTABLE} ${PYSCRIPT_LOC}
-                    OUTPUT_VARIABLE PYTHON_VERSION
-                   #ERROR_QUIET
-                   OUTPUT_STRIP_TRAILING_WHITESPACE )
-  file ( REMOVE ${tmpPyScript} )
-endif (PYTHONINTERP_FOUND)
-message ( STATUS "Using Python version ${PYTHON_VERSION}" )
-# Detection de QT4
-find_package ( Qt4 COMPONENTS QtCore QtGui REQUIRED )
-include( ${QT_USE_FILE} )
-
-# Detection de PyQt4
-if (NOT PYQT4_FOUND)
-  execute_process ( COMMAND ${PYTHON_EXECUTABLE} -c "\"import PyQt4\""
-                    RESULT_VARIABLE _res
-                   OUTPUT_VARIABLE _trashout
-                   ERROR_VARIABLE  _trasherr
+set ( _PYFILES )
+macro ( eficas_compile_ui uifile )
+  get_filename_component ( _file_we ${uifile} NAME_WE )
+  set ( _pyfile "${_file_we}.py" )
+  add_custom_command ( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_pyfile}
+                       COMMAND ${PYUIC4} ARGS -x -o ${CMAKE_CURRENT_BINARY_DIR}/${_pyfile} ${CMAKE_CURRENT_SOURCE_DIR}/${uifile}
+                       MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/${uifile}
+                       COMMENT "Compiling ${uifile}"
+                     )
+  list ( APPEND _PYFILES ${CMAKE_CURRENT_BINARY_DIR}/${_pyfile} )
+endmacro ( eficas_compile_ui )
+
+eficas_compile_ui ( desSelectVal.ui )
+eficas_compile_ui ( desViewTexte.ui )
+eficas_compile_ui ( desChoixCommandes.ui )
+eficas_compile_ui ( desParam.ui )
+eficas_compile_ui ( desWidgetCommande.ui )
+eficas_compile_ui ( desWidgetSimpBase.ui )
+eficas_compile_ui ( desWidget4a6RadioButton.ui )
+eficas_compile_ui ( desWidgetRadioButton.ui ) 
+eficas_compile_ui ( desWidgetBloc.ui )
+eficas_compile_ui ( desWidgetCB.ui )
+eficas_compile_ui ( desWidgetPlusieursBase.ui )
+eficas_compile_ui ( desWidgetFact.ui )
+eficas_compile_ui ( desWidgetFactPlie.ui )
+eficas_compile_ui ( desWidgetSimpBool.ui )
+eficas_compile_ui ( desWidgetSimpComplexe.ui )
+eficas_compile_ui ( myMain.ui )
+eficas_compile_ui ( desChoixCata.ui )
+eficas_compile_ui ( desWidgetPlusieursInto.ui )
+eficas_compile_ui ( desWidgetPlusieursIntoOrdonne.ui )
+eficas_compile_ui ( desBaseWidget.ui )
+eficas_compile_ui ( desWidgetOptionnel.ui )
+eficas_compile_ui ( desWidgetSimpFichier.ui )
+eficas_compile_ui ( desWidgetSimpTxt.ui )
+eficas_compile_ui ( desRecherche.ui )
+eficas_compile_ui ( desWidgetCommentaire.ui )
+eficas_compile_ui ( desWidgetTuple2.ui )
+eficas_compile_ui ( desWidgetTuple3.ui )
+eficas_compile_ui ( desWidgetParam.ui )
+eficas_compile_ui ( desWidgetHeure.ui )
+eficas_compile_ui ( desWidgetDate.ui )
+eficas_compile_ui ( desWidgetVide.ui )
+eficas_compile_ui ( desWidgetInformation.ui )
+eficas_compile_ui ( desVisu.ui )
+eficas_compile_ui ( desSelectVal.ui )
+
+add_custom_target ( CompileUI ALL DEPENDS ${_PYFILES}
+                    COMMENT "Built UI files"
                   )
-  if (NOT _res)
-    message ( STATUS "Looking for Python package PyQt4 - found" )
-    set ( PYQT4_FOUND 1 CACHE INTERNAL "True if Python package PyQt4 is here" )
-  else (NOT _res)
-    message ( STATUS "Looking for Python package PyQt4 - not found" )
-    set ( PYQT4_FOUND 0 CACHE INTERNAL "True if Python package PyQt4 is here" )
-  endif (NOT _res)
-endif (NOT PYQT4_FOUND)
-
-if (NOT PYQT4_FOUND)
-  message ( FATAL_ERROR "Python package PyQt4 is REQUIRED" )
-endif (NOT PYQT4_FOUND)
-
-# Detection de pyuic4
-find_program ( PYUIC4 NAMES pyuic4
-               DOC  "Path to the pyuic4 compilation tool"
-             )
-if (NOT PYUIC4)
-  message ( FATAL_ERROR "pyuic4 tool is REQUIRED" )
-endif (NOT PYUIC4)
-
-# Definition des options de CMake
-option ( WITH_ALL_PACKAGES "Install all package files" OFF )
-option ( WITH_SALOME_MECA  "Install OT, Aster and SEP files" OFF )
-option ( WITH_OPENTURNS    "Install Open TURNS files"  OFF )
-option ( WITH_ASTER        "Install Aster files"       OFF )
-option ( WITH_MAP          "Install MAP files"         OFF )
-option ( WITH_CARMEL       "Install CARMEL files"      OFF )
-option ( WITH_SEP          "Install SEP files"         OFF )
-option ( WITH_ZCRACKS      "Install ZCRACKS files"     OFF )
-option ( IN_SALOME_CONTEXT "Configure Eficas for use in Salome" OFF )
-
-set ( _OPTIONLIST
-  WITH_OPENTURNS 
-  WITH_ASTER
-  WITH_MAP
-  WITH_CARMEL
-  WITH_SALOME_MECA
-  )
-
-set ( _SALOME_MECA_LIST
-  WITH_OPENTURNS 
-  WITH_ASTER
-  WITH_SEP
-  WITH_ZCRACKS
-  IN_SALOME_CONTEXT
-  )
-
-if (WITH_ALL_PACKAGES)
-  foreach ( _opt ${_OPTIONLIST} )
-    set ( ${_opt} ON )
-  endforeach ( _opt )
-endif (WITH_ALL_PACKAGES)
-
-if (WITH_SALOME_MECA)
-  foreach ( _opt ${_SALOME_MECA_LIST} )
-    set ( ${_opt} ON )
-  endforeach ( _opt )
-endif (WITH_SALOME_MECA)
-
-# Verification: au moins une option doit etre selectionnee
-set ( _VALIDOPT FALSE )
-foreach ( _opt ${_OPTIONLIST} )
-  if ( ${_opt} )
-    set ( _VALIDOPT TRUE )
-    string ( REPLACE WITH_ "" _opt2 ${_opt} )
-    message ( STATUS "Will install package ${_opt2}" )
-  endif ( ${_opt} )
-endforeach ( _opt )
-if ( NOT ${_VALIDOPT} )
-  message ( FATAL_ERROR "At least one option within ${_OPTIONLIST} must be selected" )
-endif ( NOT ${_VALIDOPT} )
-
-# Detection des prerequis lies aux options
-if (WITH_OPENTURNS)
-  if (IN_SALOME_CONTEXT)
-    SET(OpenTURNS_PYTHON_MODULE_DIR "")
-  else (IN_SALOME_CONTEXT)
-    find_package ( OpenTURNS REQUIRED )
-  endif (IN_SALOME_CONTEXT)
-endif (WITH_OPENTURNS)
-
-#if (WITH_ASTER)
-#  find_package ( Aster REQUIRED )
-#endif (WITH_ASTER)
-
-#if (WITH_MAP)
-#  find_package ( MAP REQUIRED )
-#endif (WITH_MAP)
-
-
-# Parcours recursif des sous-repertoires
-add_subdirectory ( Accas )
-add_subdirectory ( Aide )
-add_subdirectory ( Editeur )
-add_subdirectory ( Extensions )
-add_subdirectory ( Ihm )
-add_subdirectory ( InterfaceQT4 )
-add_subdirectory ( Noyau )
-add_subdirectory ( UiQT4 )
-add_subdirectory ( Validation )
-add_subdirectory ( convert )
-add_subdirectory ( generator )
-add_subdirectory ( Traducteur )
-
-# Installation des fichiers : Open TURNS
-if (WITH_OPENTURNS)
-  add_subdirectory ( Openturns_Study )
-  add_subdirectory ( Openturns_Wrapper )
-endif (WITH_OPENTURNS)
-
-# Installation des fichiers : Aster
-if (WITH_ASTER)
-  add_subdirectory ( Aster )
-endif (WITH_ASTER)
-
-if (WITH_TK)
-  add_subdirectory ( InterfaceTK )
-  add_subdirectory ( Pmw )
-  add_subdirectory ( Tools )
-  add_subdirectory ( Misc )
-  add_subdirectory ( AIDE )
-endif (WITH_TK)
-
-# Installation des fichiers : MAP
-if (WITH_MAP)
-  add_subdirectory ( MAP )
-endif (WITH_MAP)
-
-# Installation des fichiers : CARMEL
-if (WITH_CARMEL)
-  add_subdirectory ( Carmel3D )
-  add_subdirectory ( CarmelCND )
-  add_subdirectory ( CarmelCS )
-endif (WITH_CARMEL)
-
-# Installation des fichiers : Sep
-if (WITH_SEP)
-  add_subdirectory ( Sep )
-endif (WITH_SEP)
-
-# Installation des fichiers : ZCracks
-if (WITH_ZCRACKS)
-  add_subdirectory ( ZCracks )
-endif (WITH_ZCRACKS)
 
+install ( FILES ${_PYFILES}
+          DESTINATION ${CMAKE_INSTALL_PREFIX}/UiQT4
+        )
+
+# Rules to compile TS files
+SET(TSFILES eficas_en.ts
+            eficas_fr.ts)
+
+SET(QMFILES)
+FOREACH(input ${TSFILES})
+  GET_FILENAME_COMPONENT(base ${input} NAME_WE)
+  SET(output ${CMAKE_CURRENT_BINARY_DIR}/${base}.qm)
+  SET(QMFILES ${QMFILES} ${output})
+  ADD_CUSTOM_COMMAND(OUTPUT ${output}
+    COMMAND ${QT_LRELEASE_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/${input} -qm ${output}
+    MAIN_DEPENDENCY ${input})
+ENDFOREACH(input ${TSFILES})
+
+ADD_CUSTOM_TARGET(CompileTS ALL DEPENDS ${QMFILES})
+INSTALL(FILES ${QMFILES} DESTINATION ${CMAKE_INSTALL_PREFIX}/UiQT4)
 
 ### Local Variables:
 ### mode: cmake