From 5294a022d90933c4232c6df3113867ef438ccda7 Mon Sep 17 00:00:00 2001 From: vsr Date: Fri, 13 Oct 2017 12:04:26 +0300 Subject: [PATCH] 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 --- src/GUI_PY/CMakeLists.txt | 15 ++++++++------- src/SalomeApp/pluginsdemo/CMakeLists.txt | 12 ++++++++---- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/src/GUI_PY/CMakeLists.txt b/src/GUI_PY/CMakeLists.txt index 098f5b128..ed18b1075 100755 --- a/src/GUI_PY/CMakeLists.txt +++ b/src/GUI_PY/CMakeLists.txt @@ -22,7 +22,7 @@ INCLUDE(UsePyQt) # --- resources --- # uic files / to be processed by pyuic -SET(_pyuic_files +SET(_pyuic_FILES SelectVarsDialog.ui genericdialog.ui mytestdialog.ui @@ -31,7 +31,7 @@ SET(_pyuic_files # --- scripts --- # scripts / pyuic wrappings -PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_files}) +PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_FILES} TARGET_NAME _target_name_pyuic) # scripts / static SET(_other_SCRIPTS @@ -42,6 +42,7 @@ SET(_other_SCRIPTS selectvars.py dockwidgets.py ) + SET(_bin_SCRIPTS test_dockwidgets.py ) @@ -52,11 +53,11 @@ SET(_gen_SCRIPTS ${CMAKE_CURRENT_BINARY_DIR}/qtsalome.py ) -# scripts / to install - -SET(_all_SCRIPTS ${_other_SCRIPTS} ${_pyuic_SCRIPTS}) - # --- rules --- SALOME_INSTALL_SCRIPTS("${_gen_SCRIPTS}" ${SALOME_INSTALL_PYTHON}) -SALOME_INSTALL_SCRIPTS("${_all_SCRIPTS}" ${SALOME_INSTALL_PYTHON}/salome/gui) +SALOME_INSTALL_SCRIPTS("${_other_SCRIPTS}" ${SALOME_INSTALL_PYTHON}/salome/gui) SALOME_INSTALL_SCRIPTS("${_bin_SCRIPTS}" ${SALOME_INSTALL_SCRIPT_DATA}) +SALOME_INSTALL_SCRIPTS("${_pyuic_SCRIPTS}" ${SALOME_INSTALL_PYTHON}/salome/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}) diff --git a/src/SalomeApp/pluginsdemo/CMakeLists.txt b/src/SalomeApp/pluginsdemo/CMakeLists.txt index 68319ee8a..93f64bc3e 100755 --- a/src/SalomeApp/pluginsdemo/CMakeLists.txt +++ b/src/SalomeApp/pluginsdemo/CMakeLists.txt @@ -31,19 +31,18 @@ INCLUDE(UsePyQt) # --- resources --- # uic files / to be processed by pyuic -SET(_pyuic_files +SET(_pyuic_FILES minmax.ui ) # scripts / pyuic wrappings -PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_files}) +PYQT_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_FILES} TARGET_NAME _target_name_pyuic) # --- scripts --- # scripts / static # TODO: process UIC files via PyQt pyuic tool, see UsePyQt.cmake SET(_plugins_SCRIPTS - ${_pyuic_SCRIPTS} minmax_plugin.py trihedron.py tubedialog_ui.py @@ -52,11 +51,16 @@ SET(_plugins_SCRIPTS salome_plugins.py smesh_plugins.py ) + SET(_helper_SCRIPTS xalome.py ) # --- rules --- -SALOME_INSTALL_SCRIPTS("${_plugins_SCRIPTS}" ${SALOME_GUI_INSTALL_PLUGINS}/demo DEF_PERMS) SALOME_INSTALL_SCRIPTS("${_helper_SCRIPTS}" ${SALOME_INSTALL_PYTHON}) +SALOME_INSTALL_SCRIPTS("${_plugins_SCRIPTS}" ${SALOME_GUI_INSTALL_PLUGINS}/demo DEF_PERMS) +SALOME_INSTALL_SCRIPTS("${_pyuic_SCRIPTS}" ${SALOME_GUI_INSTALL_PLUGINS}/demo DEF_PERMS 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}) -- 2.39.2