From: vsr Date: Tue, 15 Oct 2013 07:23:41 +0000 (+0000) Subject: Changes SIP/PyQt check procedures: X-Git-Tag: BR_hydro_v_0_3_1~41 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=9c98b99d01b55ac3cff55f0805d00da9cff44b64;p=modules%2Fgui.git Changes SIP/PyQt check procedures: - all variables related to PyQt4 are set in FindPyQt4 - FindSalomePyQt4 automatically calls FindSalomeSIP --- diff --git a/adm_local/cmake_files/FindPyQt4.cmake b/adm_local/cmake_files/FindPyQt4.cmake index 37ff974e1..a7f0349ac 100644 --- a/adm_local/cmake_files/FindPyQt4.cmake +++ b/adm_local/cmake_files/FindPyQt4.cmake @@ -2,6 +2,8 @@ # Sets the following variables: # PYQT_PYUIC_EXECUTABLE - path to the pyuic executable # PYQT_PYRCC_EXECUTABLE - path to the pyrcc executable +# PYQT_PYUIC_PATH - command to launch pyuic with the correct PYTHONPATH +# PYQT_PYRCC_PATH - command to launch pyrcc with the correct PYTHONPATH # PYQT_PYTHONPATH - path to the PyQt Python modules # PYQT_SIPS_DIR - path to main include directory (which contains several sub folders) # PYQT_INCLUDE_DIRS - list of paths to include when compiling (all rooted on PYQT_SIP_DIRS) @@ -43,6 +45,10 @@ IF(NOT PyQt4_FIND_QUIETLY) MESSAGE(STATUS "Looking for PyQt4 ...") ENDIF() +IF(NOT SIP_FOUND AND NOT PyQt4_FIND_QUIETLY) + MESSAGE(WARNING "PyQt4 needs SIP to be detected correctly!") +ENDIF() + FIND_PROGRAM(PYQT_PYUIC_EXECUTABLE NAMES pyuic4 pyuic4.bat) FIND_PROGRAM(PYQT_PYRCC_EXECUTABLE NAMES pyrcc4 pyrcc4.bat) @@ -96,3 +102,16 @@ ENDFOREACH() INCLUDE(FindPackageHandleStandardArgs) FIND_PACKAGE_HANDLE_STANDARD_ARGS(PyQt4 REQUIRED_VARS PYQT_PYUIC_EXECUTABLE PYQT_PYRCC_EXECUTABLE PYQT_SIPS_DIR PYQT_SIPFLAGS ) +# Wrap the final executables so that they always use the proper environment (PYTHONPATH): +# The results are put to variables: +# PYQT_PYUIC_PATH - command to launch pyuic with the correct PYTHONPATH +# PYQT_PYRCC_PATH - command to launch pyrcc with the correct PYTHONPATH +# TODO: should be done like Sphinx in KERNEL (i.e. generating a shell script)? +IF(WIN32 AND NOT CYGWIN) + MESSAGE(WARNING "PyQt4 command was not tested under Win32") + SET(PYQT_PYUIC_PATH set PYTHONPATH=${PYQT_PYTHONPATH};${SIP_PYTHONPATH};%PYTHONPATH% && ${PYQT_PYUIC_EXECUTABLE}) + SET(PYQT_PYRCC_PATH set PYTHONPATH=${PYQT_PYTHONPATH};${SIP_PYTHONPATH};%PYTHONPATH% && ${PYQT_PYRCC_EXECUTABLE}) +ELSE() + SET(PYQT_PYUIC_PATH /usr/bin/env PYTHONPATH="${PYQT_PYTHONPATH}:${SIP_PYTHONPATH}:$$PYTHONPATH" ${PYQT_PYUIC_EXECUTABLE}) + SET(PYQT_PYRCC_PATH /usr/bin/env PYTHONPATH="${PYQT_PYTHONPATH}:${SIP_PYTHONPATH}:$$PYTHONPATH" ${PYQT_PYRCC_EXECUTABLE}) +ENDIF() diff --git a/adm_local/cmake_files/FindSalomePyQt4.cmake b/adm_local/cmake_files/FindSalomePyQt4.cmake index 390b6f684..279bcbc54 100644 --- a/adm_local/cmake_files/FindSalomePyQt4.cmake +++ b/adm_local/cmake_files/FindSalomePyQt4.cmake @@ -24,23 +24,8 @@ # !! Please read the generic detection procedure in SalomeMacros.cmake !! # -IF(NOT SalomeSIP_FOUND AND NOT SalomePyQt4_FIND_QUIETLY) - MESSAGE(WARNING "PyQt4 needs SIP to be detected correctly!") -ENDIF() +# PyQt needs SIP, call it automatically +FIND_PACKAGE(SalomeSIP REQUIRED) SALOME_FIND_PACKAGE_AND_DETECT_CONFLICTS(PyQt4 PYQT_PYUIC_EXECUTABLE 2) MARK_AS_ADVANCED(PYQT_PYUIC_EXECUTABLE PYQT_PYRCC_EXECUTABLE PYQT_SIPS_DIR PYQT_PYUIC_PATH PYQT_PYRCC_PATH) - -# Wrap the final executables so that they always use the proper environment (PYTHONPATH): -# The results are put to variables: -# PYQT_PYUIC_PATH - command to launch pyuic with the correct PYTHONPATH -# PYQT_PYRCC_PATH - command to launch pyrcc with the correct PYTHONPATH -# TODO: should be done like Sphinx in KERNEL (i.e. generating a shell script)? -IF(WIN32 AND NOT CYGWIN) - MESSAGE(WARNING "PyQt4 command was not tested under Win32") - SET(PYQT_PYUIC_PATH set PYTHONPATH=${PYQT_PYTHONPATH};${SIP_PYTHONPATH};%PYTHONPATH% && ${PYQT_PYUIC_EXECUTABLE}) - SET(PYQT_PYRCC_PATH set PYTHONPATH=${PYQT_PYTHONPATH};${SIP_PYTHONPATH};%PYTHONPATH% && ${PYQT_PYRCC_EXECUTABLE}) -ELSE() - SET(PYQT_PYUIC_PATH /usr/bin/env PYTHONPATH="${PYQT_PYTHONPATH}:${SIP_PYTHONPATH}:$$PYTHONPATH" ${PYQT_PYUIC_EXECUTABLE}) - SET(PYQT_PYRCC_PATH /usr/bin/env PYTHONPATH="${PYQT_PYTHONPATH}:${SIP_PYTHONPATH}:$$PYTHONPATH" ${PYQT_PYRCC_EXECUTABLE}) -ENDIF()