0023473: [CEA 2163] SMESH compilation failure with a PyCompileError

- Add direct dependencies between targets generated by PYQT_WRAP_UIC and SALOME_INSTALL_SCRIPTS macros to avoid races problem
This commit is contained in:
vsr 2017-10-12 12:48:54 +03:00
parent f4da288f5a
commit ca5275c924
7 changed files with 98 additions and 76 deletions

View File

@ -16,36 +16,41 @@
#
# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
#
IF(SALOME_BUILD_DOC)
ADD_SUBDIRECTORY(doc)
ENDIF(SALOME_BUILD_DOC)
INCLUDE(UsePyQt)
IF(SALOME_BUILD_GUI)
INCLUDE(UsePyQt)
ENDIF(SALOME_BUILD_GUI)
# --- scripts ---
# scripts / static
SET(plugin_SCRIPTS
SET(_plugin_SCRIPTS
MGCleanerMonPlugDialog.py
MGCleanerMonViewText.py
MGCleanerplug_plugin.py
)
# --- resources ---
# uic files / to be processed by pyuic
SET(_pyuic_files
MGCleanerPlugDialog.ui
MGCleanerViewText.ui
)
# scripts / pyuic wrappings
PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_files})
IF(SALOME_BUILD_GUI)
# uic files / to be processed by pyuic
SET(_pyuic_FILES
MGCleanerPlugDialog.ui
MGCleanerViewText.ui
)
# scripts / pyuic wrappings
PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_FILES} TARGET_NAME _target_name_pyuic)
ENDIF(SALOME_BUILD_GUI)
# --- rules ---
SALOME_INSTALL_SCRIPTS("${plugin_SCRIPTS}" ${SALOME_SMESH_INSTALL_PLUGINS})
SALOME_INSTALL_SCRIPTS("${_plugin_SCRIPTS}" ${SALOME_SMESH_INSTALL_PLUGINS})
IF(SALOME_BUILD_GUI)
SALOME_INSTALL_SCRIPTS("${_pyuic_SCRIPTS}" ${SALOME_SMESH_INSTALL_PLUGINS})
ENDIF(SALOME_BUILD_GUI)
SALOME_INSTALL_SCRIPTS("${_pyuic_SCRIPTS}" ${SALOME_SMESH_INSTALL_PLUGINS} TARGET_NAME _target_name_pyuic_py)
# add dependency of compiled py files on uic files in order
# to avoid races problems when compiling in parallel
ADD_DEPENDENCIES(${_target_name_pyuic_py} ${_target_name_pyuic})
ENDIF(SALOME_BUILD_GUI)

View File

@ -38,7 +38,7 @@ SET(_link_LIBRARIES
# --- scripts ---
# scripts / static
SET(plugin_SCRIPTS
SET(_plugin_SCRIPTS
meshcut_plugin.py
)
@ -61,26 +61,25 @@ SET(MeshCut_SOURCES
)
IF(SALOME_BUILD_GUI)
# --- resources ---
# uic files / to be processed by pyuic
SET(_pyuic_files
SET(_pyuic_FILES
MeshCutDialog.ui
)
# scripts / pyuic wrappings
PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_files})
PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_FILES} TARGET_NAME _target_name_pyuic)
ENDIF(SALOME_BUILD_GUI)
# --- rules ---
SALOME_INSTALL_SCRIPTS("${plugin_SCRIPTS}" ${SALOME_SMESH_INSTALL_PLUGINS})
SALOME_INSTALL_SCRIPTS("${_plugin_SCRIPTS}" ${SALOME_SMESH_INSTALL_PLUGINS})
ADD_EXECUTABLE(MeshCut ${MeshCut_SOURCES})
TARGET_LINK_LIBRARIES(MeshCut ${_link_LIBRARIES})
INSTALL(TARGETS MeshCut EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_BINS})
IF(SALOME_BUILD_GUI)
INSTALL(FILES ${_pyuic_SCRIPTS} DESTINATION ${SALOME_INSTALL_BINS})
SALOME_INSTALL_SCRIPTS("${_pyuic_SCRIPTS}" ${SALOME_INSTALL_BINS} TARGET_NAME _target_name_pyuic_py)
# add dependency of compiled py files on uic files in order
# to avoid races problems when compiling in parallel
ADD_DEPENDENCIES(${_target_name_pyuic_py} ${_target_name_pyuic})
ENDIF(SALOME_BUILD_GUI)

View File

@ -22,7 +22,7 @@ INCLUDE(UsePyQt)
# --- scripts ---
# scripts / static
SET(plugin_SCRIPTS
SET(_plugin_SCRIPTS
maFenetreChoix.py
monEditor.py
monNomBase.py
@ -30,10 +30,8 @@ SET(plugin_SCRIPTS
__init__.py
)
# --- resources ---
# uic files / to be processed by pyuic
SET(_pyuic_files
SET(_pyuic_FILES
desFenetreChoix.ui
desStat.ui
myMainTotale.ui
@ -42,12 +40,14 @@ SET(_pyuic_files
nomBase.ui
tousLesJobs.ui
)
# scripts / pyuic wrappings
PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_files})
PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_FILES} TARGET_NAME _target_name_pyuic)
# --- rules ---
SALOME_INSTALL_SCRIPTS("${plugin_SCRIPTS}" ${SALOME_SMESH_INSTALL_PLUGINS}/Verima/Gui)
SALOME_INSTALL_SCRIPTS("${_plugin_SCRIPTS}" ${SALOME_SMESH_INSTALL_PLUGINS}/Verima/Gui)
SALOME_INSTALL_SCRIPTS("${_pyuic_SCRIPTS}" ${SALOME_SMESH_INSTALL_PLUGINS}/Verima/Gui)
SALOME_INSTALL_SCRIPTS("${_pyuic_SCRIPTS}" ${SALOME_SMESH_INSTALL_PLUGINS}/Verima/Gui TARGET_NAME _target_name_pyuic_py)
# add dependency of compiled py files on uic files in order
# to avoid races problems when compiling in parallel
ADD_DEPENDENCIES(${_target_name_pyuic_py} ${_target_name_pyuic})

View File

@ -21,30 +21,36 @@ IF(SALOME_BUILD_DOC)
ADD_SUBDIRECTORY(doc)
ENDIF(SALOME_BUILD_DOC)
INCLUDE(UsePyQt)
IF(SALOME_BUILD_GUI)
INCLUDE(UsePyQt)
ENDIF(SALOME_BUILD_GUI)
# --- scripts ---
# scripts / static
SET(plugin_SCRIPTS
SET(_plugin_SCRIPTS
monYamsPlugDialog.py
monViewText.py
yamsplug_plugin.py
)
# --- resources ---
# uic files / to be processed by pyuic
SET(_pyuic_files
YamsPlugDialog.ui
ViewText.ui
)
# scripts / pyuic wrappings
PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_files})
IF(SALOME_BUILD_GUI)
# uic files / to be processed by pyuic
SET(_pyuic_FILES
YamsPlugDialog.ui
ViewText.ui
)
# scripts / pyuic wrappings
PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_FILES} TARGET_NAME _target_name_pyuic)
ENDIF(SALOME_BUILD_GUI)
# --- rules ---
SALOME_INSTALL_SCRIPTS("${plugin_SCRIPTS}" ${SALOME_SMESH_INSTALL_PLUGINS})
SALOME_INSTALL_SCRIPTS("${_plugin_SCRIPTS}" ${SALOME_SMESH_INSTALL_PLUGINS})
SALOME_INSTALL_SCRIPTS("${_pyuic_SCRIPTS}" ${SALOME_SMESH_INSTALL_PLUGINS})
IF(SALOME_BUILD_GUI)
SALOME_INSTALL_SCRIPTS("${_pyuic_SCRIPTS}" ${SALOME_SMESH_INSTALL_PLUGINS} TARGET_NAME _target_name_pyuic_py)
# add dependency of compiled py files on uic files in order
# to avoid races problems when compiling in parallel
ADD_DEPENDENCIES(${_target_name_pyuic_py} ${_target_name_pyuic})
ENDIF(SALOME_BUILD_GUI)

View File

@ -19,12 +19,14 @@
ADD_SUBDIRECTORY(casTests)
INCLUDE(UsePyQt)
IF(SALOME_BUILD_GUI)
INCLUDE(UsePyQt)
ENDIF(SALOME_BUILD_GUI)
# --- scripts ---
# scripts / static
SET(plugin_SCRIPTS
SET(_plugin_SCRIPTS
__init__.py
ellipse.py
genereCrack.py
@ -38,22 +40,27 @@ SET(plugin_SCRIPTS
Zset.py
)
SET(command_SCRIPTS
SET(_command_SCRIPTS
zcracksLaunch.py
)
# --- resources ---
# uic files / to be processed by pyuic
SET(_pyuic_files
zcracks.ui
)
# scripts / pyuic wrappings
PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_files})
IF(SALOME_BUILD_GUI)
# uic files / to be processed by pyuic
SET(_pyuic_FILES
zcracks.ui
)
# scripts / pyuic wrappings
PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_FILES} TARGET_NAME _target_name_pyuic)
ENDIF(SALOME_BUILD_GUI)
# --- rules ---
SALOME_INSTALL_SCRIPTS("${plugin_SCRIPTS}" ${SALOME_INSTALL_PYTHON}/Zcracks)
SALOME_INSTALL_SCRIPTS("${_pyuic_SCRIPTS}" ${SALOME_INSTALL_PYTHON}/Zcracks)
SALOME_INSTALL_SCRIPTS("${command_SCRIPTS}" ${SALOME_INSTALL_BINS})
SALOME_INSTALL_SCRIPTS("${_plugin_SCRIPTS}" ${SALOME_INSTALL_PYTHON}/Zcracks)
SALOME_INSTALL_SCRIPTS("${_command_SCRIPTS}" ${SALOME_INSTALL_BINS})
IF(SALOME_BUILD_GUI)
SALOME_INSTALL_SCRIPTS("${_pyuic_SCRIPTS}" ${SALOME_INSTALL_PYTHON}/Zcracks TARGET_NAME _target_name_pyuic_py)
# add dependency of compiled py files on uic files in order
# to avoid races problems when compiling in parallel
ADD_DEPENDENCIES(${_target_name_pyuic_py} ${_target_name_pyuic})
ENDIF(SALOME_BUILD_GUI)

View File

@ -22,7 +22,7 @@ INCLUDE(UsePyQt)
# --- scripts ---
# scripts / static
SET(plugin_SCRIPTS
SET(_plugin_SCRIPTS
__init__.py
fissureCoude_ihm.py
fissureCoude_plugin.py
@ -30,19 +30,19 @@ SET(plugin_SCRIPTS
dialogFissureCoude.dic
)
# --- resources ---
# uic files / to be processed by pyuic
SET(_pyuic_files
SET(_pyuic_FILES
fissureCoude.ui
fissureGenerale.ui
)
# scripts / pyuic wrappings
PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_files})
PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_FILES} TARGET_NAME _target_name_pyuic)
# --- rules ---
SALOME_INSTALL_SCRIPTS("${plugin_SCRIPTS}" ${SALOME_INSTALL_PYTHON}/blocFissure/ihm)
SALOME_INSTALL_SCRIPTS("${_plugin_SCRIPTS}" ${SALOME_INSTALL_PYTHON}/blocFissure/ihm)
SALOME_INSTALL_SCRIPTS("${_pyuic_SCRIPTS}" ${SALOME_INSTALL_PYTHON}/blocFissure/ihm)
SALOME_INSTALL_SCRIPTS("${_pyuic_SCRIPTS}" ${SALOME_INSTALL_PYTHON}/blocFissure/ihm TARGET_NAME _target_name_pyuic_py)
# add dependency of compiled py files on uic files in order
# to avoid races problems when compiling in parallel
ADD_DEPENDENCIES(${_target_name_pyuic_py} ${_target_name_pyuic})

View File

@ -22,7 +22,7 @@ INCLUDE(UsePyQt)
# --- scripts ---
# scripts / static
SET(py_SCRIPTS
SET(_py_SCRIPTS
__init__.py
plugindialog.py
inputdialog.py
@ -32,7 +32,7 @@ SET(py_SCRIPTS
# --- resources ---
# uic files / to be processed by pyuic
SET(spadderpy_DATA
SET(_spadderpy_DATA
parameters.png
input.png
select.png
@ -46,15 +46,20 @@ SET(spadderpy_DATA
steelbar.png
)
SET(_pyuic_files
SET(_pyuic_FILES
plugindialog.ui
inputframe.ui
)
# scripts / pyuic wrappings
PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_files})
PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_FILES} TARGET_NAME _target_name_pyuic)
# --- rules ---
SALOME_INSTALL_SCRIPTS("${_pyuic_SCRIPTS}" ${SALOME_INSTALL_PYTHON}/salome/smesh/spadder/gui)
SALOME_INSTALL_SCRIPTS("${py_SCRIPTS}" ${SALOME_INSTALL_PYTHON}/salome/smesh/spadder/gui)
INSTALL(FILES ${spadderpy_DATA} DESTINATION ${SALOME_INSTALL_PYTHON}/salome/smesh/spadder/gui)
SALOME_INSTALL_SCRIPTS("${_pyuic_SCRIPTS}" ${SALOME_INSTALL_PYTHON}/salome/smesh/spadder/gui TARGET_NAME _target_name_pyuic_py)
# add dependency of compiled py files on uic files in order
# to avoid races problems when compiling in parallel
ADD_DEPENDENCIES(${_target_name_pyuic_py} ${_target_name_pyuic})
SALOME_INSTALL_SCRIPTS("${_py_SCRIPTS}" ${SALOME_INSTALL_PYTHON}/salome/smesh/spadder/gui)
INSTALL(FILES ${_spadderpy_DATA} DESTINATION ${SALOME_INSTALL_PYTHON}/salome/smesh/spadder/gui)