From 4fa303524d063696770a3cbfb63f328161bf48ec Mon Sep 17 00:00:00 2001 From: Martine PAOLILLO Date: Wed, 6 May 2015 17:48:27 +0200 Subject: [PATCH] =?utf8?q?MPa=20:=20mise=20=C3=A0=20jour=20du=20CMakeLists?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- CMakeLists.txt | 251 ++++++++++++++----------------------------------- 1 file changed, 70 insertions(+), 181 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index bed3fb8b..f7285e2d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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 @@ -19,188 +19,77 @@ # # ====================================================================== -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 -- 2.39.2