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 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
# #
IF(SALOME_BUILD_DOC) IF(SALOME_BUILD_DOC)
ADD_SUBDIRECTORY(doc) ADD_SUBDIRECTORY(doc)
ENDIF(SALOME_BUILD_DOC) ENDIF(SALOME_BUILD_DOC)
INCLUDE(UsePyQt) IF(SALOME_BUILD_GUI)
INCLUDE(UsePyQt)
ENDIF(SALOME_BUILD_GUI)
# --- scripts --- # --- scripts ---
# scripts / static # scripts / static
SET(plugin_SCRIPTS SET(_plugin_SCRIPTS
MGCleanerMonPlugDialog.py MGCleanerMonPlugDialog.py
MGCleanerMonViewText.py MGCleanerMonViewText.py
MGCleanerplug_plugin.py MGCleanerplug_plugin.py
) )
# --- resources --- IF(SALOME_BUILD_GUI)
# uic files / to be processed by pyuic
# uic files / to be processed by pyuic SET(_pyuic_FILES
SET(_pyuic_files
MGCleanerPlugDialog.ui MGCleanerPlugDialog.ui
MGCleanerViewText.ui MGCleanerViewText.ui
) )
# scripts / pyuic wrappings
# scripts / pyuic wrappings PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_FILES} TARGET_NAME _target_name_pyuic)
PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_files}) ENDIF(SALOME_BUILD_GUI)
# --- rules --- # --- rules ---
SALOME_INSTALL_SCRIPTS("${plugin_SCRIPTS}" ${SALOME_SMESH_INSTALL_PLUGINS}) SALOME_INSTALL_SCRIPTS("${_plugin_SCRIPTS}" ${SALOME_SMESH_INSTALL_PLUGINS})
IF(SALOME_BUILD_GUI) IF(SALOME_BUILD_GUI)
SALOME_INSTALL_SCRIPTS("${_pyuic_SCRIPTS}" ${SALOME_SMESH_INSTALL_PLUGINS}) 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) ENDIF(SALOME_BUILD_GUI)

View File

@ -38,7 +38,7 @@ SET(_link_LIBRARIES
# --- scripts --- # --- scripts ---
# scripts / static # scripts / static
SET(plugin_SCRIPTS SET(_plugin_SCRIPTS
meshcut_plugin.py meshcut_plugin.py
) )
@ -61,26 +61,25 @@ SET(MeshCut_SOURCES
) )
IF(SALOME_BUILD_GUI) IF(SALOME_BUILD_GUI)
# --- resources ---
# uic files / to be processed by pyuic # uic files / to be processed by pyuic
SET(_pyuic_files SET(_pyuic_FILES
MeshCutDialog.ui MeshCutDialog.ui
) )
# scripts / pyuic wrappings # 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) ENDIF(SALOME_BUILD_GUI)
# --- rules --- # --- rules ---
SALOME_INSTALL_SCRIPTS("${plugin_SCRIPTS}" ${SALOME_SMESH_INSTALL_PLUGINS}) SALOME_INSTALL_SCRIPTS("${_plugin_SCRIPTS}" ${SALOME_SMESH_INSTALL_PLUGINS})
ADD_EXECUTABLE(MeshCut ${MeshCut_SOURCES}) ADD_EXECUTABLE(MeshCut ${MeshCut_SOURCES})
TARGET_LINK_LIBRARIES(MeshCut ${_link_LIBRARIES}) TARGET_LINK_LIBRARIES(MeshCut ${_link_LIBRARIES})
INSTALL(TARGETS MeshCut EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_BINS}) INSTALL(TARGETS MeshCut EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_BINS})
IF(SALOME_BUILD_GUI) 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) ENDIF(SALOME_BUILD_GUI)

View File

@ -22,7 +22,7 @@ INCLUDE(UsePyQt)
# --- scripts --- # --- scripts ---
# scripts / static # scripts / static
SET(plugin_SCRIPTS SET(_plugin_SCRIPTS
maFenetreChoix.py maFenetreChoix.py
monEditor.py monEditor.py
monNomBase.py monNomBase.py
@ -30,10 +30,8 @@ SET(plugin_SCRIPTS
__init__.py __init__.py
) )
# --- resources ---
# uic files / to be processed by pyuic # uic files / to be processed by pyuic
SET(_pyuic_files SET(_pyuic_FILES
desFenetreChoix.ui desFenetreChoix.ui
desStat.ui desStat.ui
myMainTotale.ui myMainTotale.ui
@ -42,12 +40,14 @@ SET(_pyuic_files
nomBase.ui nomBase.ui
tousLesJobs.ui tousLesJobs.ui
) )
# scripts / pyuic wrappings # scripts / pyuic wrappings
PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_files}) PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_FILES} TARGET_NAME _target_name_pyuic)
# --- rules --- # --- 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) ADD_SUBDIRECTORY(doc)
ENDIF(SALOME_BUILD_DOC) ENDIF(SALOME_BUILD_DOC)
INCLUDE(UsePyQt) IF(SALOME_BUILD_GUI)
INCLUDE(UsePyQt)
ENDIF(SALOME_BUILD_GUI)
# --- scripts --- # --- scripts ---
# scripts / static # scripts / static
SET(plugin_SCRIPTS SET(_plugin_SCRIPTS
monYamsPlugDialog.py monYamsPlugDialog.py
monViewText.py monViewText.py
yamsplug_plugin.py yamsplug_plugin.py
) )
# --- resources --- IF(SALOME_BUILD_GUI)
# uic files / to be processed by pyuic
# uic files / to be processed by pyuic SET(_pyuic_FILES
SET(_pyuic_files
YamsPlugDialog.ui YamsPlugDialog.ui
ViewText.ui ViewText.ui
) )
# scripts / pyuic wrappings
# scripts / pyuic wrappings PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_FILES} TARGET_NAME _target_name_pyuic)
PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_files}) ENDIF(SALOME_BUILD_GUI)
# --- rules --- # --- 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) ADD_SUBDIRECTORY(casTests)
INCLUDE(UsePyQt) IF(SALOME_BUILD_GUI)
INCLUDE(UsePyQt)
ENDIF(SALOME_BUILD_GUI)
# --- scripts --- # --- scripts ---
# scripts / static # scripts / static
SET(plugin_SCRIPTS SET(_plugin_SCRIPTS
__init__.py __init__.py
ellipse.py ellipse.py
genereCrack.py genereCrack.py
@ -38,22 +40,27 @@ SET(plugin_SCRIPTS
Zset.py Zset.py
) )
SET(command_SCRIPTS SET(_command_SCRIPTS
zcracksLaunch.py zcracksLaunch.py
) )
# --- resources --- IF(SALOME_BUILD_GUI)
# uic files / to be processed by pyuic
# uic files / to be processed by pyuic SET(_pyuic_FILES
SET(_pyuic_files
zcracks.ui zcracks.ui
) )
# scripts / pyuic wrappings
# scripts / pyuic wrappings PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_FILES} TARGET_NAME _target_name_pyuic)
PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_files}) ENDIF(SALOME_BUILD_GUI)
# --- rules --- # --- rules ---
SALOME_INSTALL_SCRIPTS("${plugin_SCRIPTS}" ${SALOME_INSTALL_PYTHON}/Zcracks) 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("${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 ---
# scripts / static # scripts / static
SET(plugin_SCRIPTS SET(_plugin_SCRIPTS
__init__.py __init__.py
fissureCoude_ihm.py fissureCoude_ihm.py
fissureCoude_plugin.py fissureCoude_plugin.py
@ -30,19 +30,19 @@ SET(plugin_SCRIPTS
dialogFissureCoude.dic dialogFissureCoude.dic
) )
# --- resources ---
# uic files / to be processed by pyuic # uic files / to be processed by pyuic
SET(_pyuic_files SET(_pyuic_FILES
fissureCoude.ui fissureCoude.ui
fissureGenerale.ui fissureGenerale.ui
) )
# scripts / pyuic wrappings # scripts / pyuic wrappings
PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_files}) PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_FILES} TARGET_NAME _target_name_pyuic)
# --- rules --- # --- 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 ---
# scripts / static # scripts / static
SET(py_SCRIPTS SET(_py_SCRIPTS
__init__.py __init__.py
plugindialog.py plugindialog.py
inputdialog.py inputdialog.py
@ -32,7 +32,7 @@ SET(py_SCRIPTS
# --- resources --- # --- resources ---
# uic files / to be processed by pyuic # uic files / to be processed by pyuic
SET(spadderpy_DATA SET(_spadderpy_DATA
parameters.png parameters.png
input.png input.png
select.png select.png
@ -46,15 +46,20 @@ SET(spadderpy_DATA
steelbar.png steelbar.png
) )
SET(_pyuic_files SET(_pyuic_FILES
plugindialog.ui plugindialog.ui
inputframe.ui inputframe.ui
) )
# scripts / pyuic wrappings # scripts / pyuic wrappings
PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_files}) PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_FILES} TARGET_NAME _target_name_pyuic)
# --- rules --- # --- rules ---
SALOME_INSTALL_SCRIPTS("${_pyuic_SCRIPTS}" ${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)
SALOME_INSTALL_SCRIPTS("${py_SCRIPTS}" ${SALOME_INSTALL_PYTHON}/salome/smesh/spadder/gui) # add dependency of compiled py files on uic files in order
INSTALL(FILES ${spadderpy_DATA} DESTINATION ${SALOME_INSTALL_PYTHON}/salome/smesh/spadder/gui) # 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)