Salome HOME
Copyright update 2022
[modules/gui.git] / src / GUI_PY / CMakeLists.txt
old mode 100755 (executable)
new mode 100644 (file)
index 5c1a8d9..f5adafc
@@ -1,4 +1,4 @@
-# Copyright (C) 2012-2015  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2012-2022  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
@@ -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,32 +31,33 @@ 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 
-  __init__.py
   genericdialog.py
   helper.py
   mytestdialog.py
   selectvars.py
   dockwidgets.py
 )
+
 SET(_bin_SCRIPTS
   test_dockwidgets.py
 )
 
 SALOME_CONFIGURE_FILE(qtsalome.py.in qtsalome.py)
+SALOME_CONFIGURE_FILE(__init__.py __init__.py INSTALL ${SALOME_INSTALL_PYTHON}/salome/gui)
 
 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})