From fbcd32a2a63189bc2a3f7e5febde8f8eda6d84b7 Mon Sep 17 00:00:00 2001 From: Charles PIGNEROL <> Date: Wed, 21 Jun 2023 11:12:15 +0200 Subject: [PATCH 1/2] Version 6.2.0 : sortie du projet GUIToolkits. --- CMakeLists.txt | 6 +- cmake/common.cmake | 33 ---- cmake/organization.cmake | 36 ----- cmake/version.cmake | 6 +- cmake/workarounds.cmake | 83 ---------- src/QtUtil/CMakeLists.txt | 8 +- src/encoding/CMakeLists.txt | 6 +- src/flow/CMakeLists.txt | 6 +- src/tests/CMakeLists.txt | 6 +- src/tests/QtAboutMainWindow.cpp | 2 - versions.txt | 265 +++++++++++++++++--------------- 11 files changed, 165 insertions(+), 292 deletions(-) delete mode 100644 cmake/common.cmake delete mode 100644 cmake/organization.cmake delete mode 100644 cmake/workarounds.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index 6157296..7ec7f2e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,12 +3,14 @@ cmake_minimum_required(VERSION 3.12) project (QtUtil CXX) include (GNUInstallDirs) + +find_package (GUIToolkitsVariables) + include (cmake/version.cmake) -include (cmake/common.cmake) +include (${GUIToolkitsVariables_CMAKE_DIR}/common.cmake) set (QtUtil_VERSION ${QT_UTIL_VERSION}) -# Ici et pas ailleurs : CMAKE_VERBOSE_MAKEFILE set (CMAKE_VERBOSE_MAKEFILE ON) option (BUILD_SHARED_LIBS "Creation de bibliotheques dynamiques (defaut : ON)" ON) diff --git a/cmake/common.cmake b/cmake/common.cmake deleted file mode 100644 index 9e11e96..0000000 --- a/cmake/common.cmake +++ /dev/null @@ -1,33 +0,0 @@ -# -# common.cmake : instructions de compilation partagées par tous les CMakeLists.txt. -# include (version.cmake) ici ne fonctionnenent pas. Why ??? Ce fichier est déjà un -#fichier déjà inclus ??? -# => include version.cmake avant celui-ci. -# - -include (${CMAKE_SOURCE_DIR}/cmake/organization.cmake) - - -# Compilation : -add_definitions (-DQT_UTIL_VERSION="${QT_UTIL_VERSION}") -set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CXX_FLAGS}") -set (MANDATORY_CXX_OPTIONS -DMULTITHREADED_APPLICATION) - -if (NOT CMAKE_BUILD_TYPE STREQUAL "Debug") - add_definitions (-DNDEBUG) -endif() - -# Edition des liens : -# A l'installation les RPATHS utilisés seront ceux spécifiés ci-dessous (liste -# de répertoires séparés par des ;) : -#set (CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/${MT_INSTALL_SHLIB_DIR}) -#set (CMAKE_BUILD_WITH_INSTALL_RPATH ON) -# CMAKE_SKIP_BUILD_RPATH : avoir le rpath dans l'arborescence de developpement -set (CMAKE_SKIP_BUILD_RPATH OFF) -set (CMAKE_SKIP_RPATH OFF) - -set (CMAKE_SKIP_INSTALL_RPATH OFF) -#set (CMAKE_INSTALL_RPATH_USE_LINK_PATH ON) - -# ATTENTION : enleve le build tree du rpath : -#set (CMAKE_BUILD_WITH_INSTALL_RPATH ON) diff --git a/cmake/organization.cmake b/cmake/organization.cmake deleted file mode 100644 index a985c91..0000000 --- a/cmake/organization.cmake +++ /dev/null @@ -1,36 +0,0 @@ -# -# organization.cmake : organisation des répertoires du projet -# - - -# L'installation : -# ================ - -# Le répertoire d'installation où sont mis les fichiers cmake à destination des utilisateurs (Module/cmake) : -set (CMAKE_CMAKE_ROOT_DIR ${CMAKE_INSTALL_LIBDIR}) -set (CMAKE_CMAKE_DIR ${CMAKE_CMAKE_ROOT_DIR}/${CURRENT_PACKAGE_NAME}/cmake) - -# Répertoire d'installation des bibliothèques (pour le RPATH) : -set (CMAKE_PACKAGE_RPATH_DIR ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}) - -# Module:: -set (CMAKE_MODULE_NAMESPACE ${CURRENT_PACKAGE_NAME}::) - -# ModuleConfig -set (CMAKE_PACKAGE_CONFIG_NAME ${CURRENT_PACKAGE_NAME}Config) - -# ModuleTargets -set (CMAKE_PACKAGE_TARGETS_NAME ${CURRENT_PACKAGE_NAME}Targets) - -# Le répertoire des fichiers de configuration (lib/Module/cmake) : -set (CMAKE_PACKAGE_CONFIG_DIR ${CMAKE_CURRENT_BINARY_DIR}/${CURRENT_PACKAGE_NAME}) - -# Le Fichier lib/Module/cmake/ModuleConfigVersion.cmake : -set (CMAKE_PACKAGE_CONFIG_FILE ${CMAKE_PACKAGE_CONFIG_DIR}/${CMAKE_PACKAGE_CONFIG_NAME}.cmake) - -# Le Fichier lib/Module/cmake/ModuleConfigVersion.cmake : -set (CMAKE_PACKAGE_VERSION_FILE ${CMAKE_PACKAGE_CONFIG_DIR}/${CMAKE_PACKAGE_CONFIG_NAME}Version.cmake) - -# Le Fichier lib/Module/cmake/ModuleTargets.cmake : -set (CMAKE_PACKAGE_TARGETS_BASENAME ${CMAKE_PACKAGE_TARGETS_NAME}.cmake) -set (CMAKE_PACKAGE_TARGETS_FILE ${CMAKE_PACKAGE_CONFIG_DIR}/${CMAKE_PACKAGE_TARGETS_BASENAME}) diff --git a/cmake/version.cmake b/cmake/version.cmake index 79a00d1..0eb56ec 100644 --- a/cmake/version.cmake +++ b/cmake/version.cmake @@ -2,9 +2,9 @@ # version.cmake : version du projet # -set (QT_UTIL_MAJOR_VERSION "5") -set (QT_UTIL_MINOR_VERSION "7") -set (QT_UTIL_RELEASE_VERSION "8") +set (QT_UTIL_MAJOR_VERSION "6") +set (QT_UTIL_MINOR_VERSION "2") +set (QT_UTIL_RELEASE_VERSION "0") set (QT_UTIL_VERSION ${QT_UTIL_MAJOR_VERSION}.${QT_UTIL_MINOR_VERSION}.${QT_UTIL_RELEASE_VERSION}) diff --git a/cmake/workarounds.cmake b/cmake/workarounds.cmake deleted file mode 100644 index 18209a8..0000000 --- a/cmake/workarounds.cmake +++ /dev/null @@ -1,83 +0,0 @@ -# -# workarounds.cmake -# -# Version 0.9.0 (27/09/2021) -# -# On définit ici les contournement aux problèmes de type build-system rencontrés dans le projet -# -include (CMakeDetermineCXXCompiler) - -message ("CMAKE_SYSTEM_NAME=" ${CMAKE_SYSTEM_NAME}) -find_program(CCC_OS_FOUND ccc_os) -if (CCC_OS_FOUND) - execute_process (COMMAND ccc_os OUTPUT_VARIABLE PLATFORM OUTPUT_STRIP_TRAILING_WHITESPACE) -endif (CCC_OS_FOUND) - -if (NOT PLATFORM) - execute_process (COMMAND lsb_release -d COMMAND awk "{print $2;}" OUTPUT_VARIABLE PLATFORM OUTPUT_STRIP_TRAILING_WHITESPACE) -endif (NOT PLATFORM) -message ("PLATFORM=" ${PLATFORM}) -message ("LANGUAGES=" ${LANGUAGES}) -message ("CXX=" ${CXX}) -message ("CMAKE_CXX_COMPILER=" ${CMAKE_CXX_COMPILER}) -message ("_CMAKE_TOOLCHAIN_PREFIX=" ${_CMAKE_TOOLCHAIN_PREFIX}) -message ("COMPILER_BASENAME=" ${COMPILER_BASENAME}) - -# Les répertoires de recherche par le compilateur des bibliothèques (a priori portable g++/icpc/clang++) : -# Méthode 1 (ça marche), en passant par bash : -#execute_process(COMMAND bash "-c" "LANG=C ${CMAKE_CXX_COMPILER} -print-search-dirs | sed -n 's/libraries: =//gp' | tr -s ':' ';'" OUTPUT_VARIABLE GNU_LIBRARIES_SEARCH_DIR) -#message ( "GNU_LIBRARIES_SEARCH_DIR=""${GNU_LIBRARIES_SEARCH_DIR}") -#find_library (STDC_LIB stdc++ PATHS ${GNU_LIBRARIES_SEARCH_DIR}) -# Méthode 2 : version cmake en pipant les commandes : -execute_process (COMMAND bash "-c" "LANG=C LC_ALL=C ${CMAKE_CXX_COMPILER} -print-search-dirs" COMMAND /usr/bin/sed -n "s/libraries: =//gp" COMMAND tr -s ":" ";" OUTPUT_VARIABLE LIBRARIES_SEARCH_DIR) -find_library (STDC_LIB stdc++ PATHS ${LIBRARIES_SEARCH_DIR}) - -# Aspects C++ : à affiner si nécessaire avec CMakeDetermineCXXCompiler.cmake -get_filename_component (CXX_BIN_DIR ${CMAKE_CXX_COMPILER} DIRECTORY) -get_filename_component (CXX_NAME ${CMAKE_CXX_COMPILER} NAME) -get_filename_component (CXX_ROOT_DIR ${CXX_BIN_DIR} DIRECTORY) -message (STATUS "CXX_ROOT_DIR=${CXX_ROOT_DIR} CXX_NAME=${CXX_NAME} CMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}") -message (STATUS "CMAKE_COMPILER_IS_GNUCXX=" ${CMAKE_COMPILER_IS_GNUCXX}) - -# Ubuntu 17 et 18 : le RUNPATH n'est pas transitif => bien que runpath soit bien positionné (readelf -a executable | grep PATH) les libs utilisées de manière -# indirectes ne sont pas trouvées, et requiert un positionnement de la variable LD_LIBRARY_PATH. -# On force à utiliser un RPATH à l'édition des liens via l'option --disable-new-dtags du linker. A noter que transmise -# à la ligne de commande via -DCMAKE_SHARED_LINKER_FLAGS="-Wl,--disable-new-dtags" cette option est curieusement ignorée. -#execute_process (COMMAND uname -a OUTPUT_VARIABLE FULL_PLATFORM OUTPUT_STRIP_TRAILING_WHITESPACE) -#string (REGEX MATCH "Ubuntu" IS_UBUNTU "${FULL_PLATFORM}") -#string (REGEX MATCH "(17|18)" IS_17_OR_18 "${FULL_PLATFORM}") -#message (STATUS "IS_UBUNTU=${IS_UBUNTU} IS_17_OR_18=${IS_17_OR_18}") -#if (IS_UBUNTU AND IS_17_OR_18) -if (PLATFORM STREQUAL "Ubuntu") - message (STATUS "PLATFORM UBUNTU 17 OR 18 DETECTED => USING RPATH INSTEADOF RUNPATH (${FULL_PLATFORM}") - add_link_options ("-Wl,--disable-new-dtags") -endif (PLATFORM STREQUAL "Ubuntu") - -if (CMAKE_COMPILER_IS_GNUCXX) - if ((PLATFORM STREQUAL "CentOS") OR (PLATFORM STREQUAL "RedHat-7-x86_64") OR (PLATFORM STREQUAL "Atos_7__x86_64") OR (PLATFORM STREQUAL "Rhel_8__x86_64")) -# On force le lien à cette version de la libstdc++. C'est nécessaire pour les wrappers swig/python lorsqu'on utilise directement -# le fichier python => chargement par python de _module.so qui, sans cette directive, chargement /lib64/libstdc++.so qui n'aura -# pas une ABI assez récente ... - message ("==> Ajout de la bibliothèque " ${STDC_LIB} " à l'édition des liens.") - link_libraries (${STDC_LIB}) - get_filename_component (STDC_LIB_DIR ${STDC_LIB} DIRECTORY) - message ("==> Ajout de du répertoire " ${STDC_LIB_DIR} " à l'édition des liens.") -# link_directories (BEFORE "${STDC_LIB_DIR}") - add_link_options ("-Wl,-rpath,${STDC_LIB_DIR}") # It works - endif ( ) - if (PLATFORM STREQUAL "Atos_7__x86_64") # Malgré include (FindThreads) et target_link_libraries (mylib PUBLIC Threads::Threads) le -lpthread ne suit pas toujours en cmake 3.14 - link_libraries (pthread) - endif() -elseif (CXX_NAME STREQUAL "icpc") - # Alors là c'est très fort. Il n'y a que du c++ et pourtant icpc 17.0.4.196 link avec les libs imf et autres, sans -Wl,-rpath - # Donc on rajoute ça ... - message (STATUS "CXX IS ICPC") - find_library (INTEL_LIB intlc PATHS ${LIBRARIES_SEARCH_DIR}) - if (INTEL_LIB) - get_filename_component (INTEL_LIB_DIR ${INTEL_LIB} DIRECTORY) - message ("==> Ajout de du répertoire " ${INTEL_LIB_DIR} " à l'édition des liens.") - add_link_options ("-Wl,-rpath,${INTEL_LIB_DIR}") # It works - endif (INTEL_LIB) -endif (CMAKE_COMPILER_IS_GNUCXX) - - diff --git a/src/QtUtil/CMakeLists.txt b/src/QtUtil/CMakeLists.txt index faa8321..b0c2110 100644 --- a/src/QtUtil/CMakeLists.txt +++ b/src/QtUtil/CMakeLists.txt @@ -1,11 +1,13 @@ set (CURRENT_PACKAGE_NAME "QtUtil") set (CURRENT_PACKAGE_MACRO_NAME "QT_UTIL") +find_package (GUIToolkitsVariables) + include (${CMAKE_SOURCE_DIR}/cmake/version.cmake) -include (${CMAKE_SOURCE_DIR}/cmake/common.cmake) -include (${CMAKE_SOURCE_DIR}/cmake/workarounds.cmake) +include (${GUIToolkitsVariables_CMAKE_DIR}/common.cmake) +include (${GUIToolkitsVariables_CMAKE_DIR}/workarounds.cmake) -find_package (TkUtil 5 REQUIRED) +find_package (TkUtil 6 REQUIRED) find_package (Qt5Widgets 5 REQUIRED NO_CMAKE_SYSTEM_PATH) find_package (Qt5PrintSupport 5 REQUIRED NO_CMAKE_SYSTEM_PATH) # diff --git a/src/encoding/CMakeLists.txt b/src/encoding/CMakeLists.txt index 9e1cf73..4f35ab7 100644 --- a/src/encoding/CMakeLists.txt +++ b/src/encoding/CMakeLists.txt @@ -1,6 +1,8 @@ +find_package (GUIToolkitsVariables) + include (${CMAKE_SOURCE_DIR}/cmake/version.cmake) -include (${CMAKE_SOURCE_DIR}/cmake/common.cmake) -include (${CMAKE_SOURCE_DIR}/cmake/workarounds.cmake) +include (${GUIToolkitsVariables_CMAKE_DIR}/common.cmake) +include (${GUIToolkitsVariables_CMAKE_DIR}/workarounds.cmake) find_package (Qt5Widgets 5 REQUIRED NO_CMAKE_SYSTEM_PATH) diff --git a/src/flow/CMakeLists.txt b/src/flow/CMakeLists.txt index 520e1ec..39ecb5e 100644 --- a/src/flow/CMakeLists.txt +++ b/src/flow/CMakeLists.txt @@ -1,6 +1,8 @@ +find_package (GUIToolkitsVariables) + include (${CMAKE_SOURCE_DIR}/cmake/version.cmake) -include (${CMAKE_SOURCE_DIR}/cmake/common.cmake) -include (${CMAKE_SOURCE_DIR}/cmake/workarounds.cmake) +include (${GUIToolkitsVariables_CMAKE_DIR}/common.cmake) +include (${GUIToolkitsVariables_CMAKE_DIR}/workarounds.cmake) find_package (Qt5Widgets 5 REQUIRED NO_CMAKE_SYSTEM_PATH) diff --git a/src/tests/CMakeLists.txt b/src/tests/CMakeLists.txt index a75d688..dfb008e 100644 --- a/src/tests/CMakeLists.txt +++ b/src/tests/CMakeLists.txt @@ -1,6 +1,8 @@ +find_package (GUIToolkitsVariables) + include (${CMAKE_SOURCE_DIR}/cmake/version.cmake) -include (${CMAKE_SOURCE_DIR}/cmake/common.cmake) -include (${CMAKE_SOURCE_DIR}/cmake/workarounds.cmake) +include (${GUIToolkitsVariables_CMAKE_DIR}/common.cmake) +include (${GUIToolkitsVariables_CMAKE_DIR}/workarounds.cmake) find_package (Qt5Widgets 5 REQUIRED NO_CMAKE_SYSTEM_PATH) diff --git a/src/tests/QtAboutMainWindow.cpp b/src/tests/QtAboutMainWindow.cpp index 3b59123..442fb4b 100644 --- a/src/tests/QtAboutMainWindow.cpp +++ b/src/tests/QtAboutMainWindow.cpp @@ -84,8 +84,6 @@ string QtAboutMainWindow::webTag (""); QtAboutMainWindow::QtAboutMainWindow (QWidget* parent) : QMainWindow (parent), _webBrowser (0), _logView (0), _statusLogOutputStream (0), _logDispatcher ( ) { -// EXPURGE_BEGINNING_TAG WEB_PAGES_TAG -// EXPURGE_COMPLETION_TAG QMenu* menu = new QMenu ("Application", this); menuBar ( )->addMenu (menu); menu->setToolTipsVisible (true); diff --git a/versions.txt b/versions.txt index a6e8a98..03c3341 100644 --- a/versions.txt +++ b/versions.txt @@ -1,13 +1,31 @@ +Version 6.2.0 : 21/06/23 +=============== + +Sortie du projet GUIToolkits. + + +Version 6.1.0 : 31/03/23 +=============== + +Portage GitHub environnement podman/spack/tests CI. + + +Version 6.0.0 : 10/01/23 +=============== + +Intégration au projet GUIToolkits. + + Version 5.7.8 : 25/11/22 =============== -Un peu de nettoyage (hors sources). +Suppression répertoire module. Version 5.7.7 : 15/02/22 =============== -Retouche gestion des dépendances. +Retouche gestion des dépendances. Version 5.7.6 : 09/02/22 @@ -19,14 +37,14 @@ CMakeLists.txt : remplacement de NO_DEFAULT_PATH par NO_CMAKE_SYSTEM_PATH pour Q Version 5.7.5 : 04/11/21 =============== -Portage RHx86_64, retouches cmake pour interdire de chercher Qt dans les répertoires systémes +Portage RHx86_64, retouches cmake pour interdire de chercher Qt dans les répertoires systèmes (=> find_package (Qt5Widgets 5 REQUIRED NO_DEFAULT_PATH) ...) Version 5.7.4 : 10/09/21 =============== -Suppression de mini gros-mots et de balises EXPURGE. +Divers nettoyage. Version 5.7.3 : 24/08/21 @@ -35,94 +53,93 @@ Version 5.7.3 : 24/08/21 Suppression des noms de services et laboratoires. -Version 5.7.2 : 21/12/20 Révisions svn 529/530 +Version 5.7.2 : 21/12/20 Révisions svn 529/530 =============== Retouche mineure QtUtil/CMakeLists.txt -Version 5.7.1 : 14/12/20 Révisions svn 527/528 +Version 5.7.1 : 14/12/20 Révisions svn 527/528 =============== Retouche mineure CMakeLists.txt racine -Version 5.7.0 : 03/11/20 Révisions svn 525/526 +Version 5.7.0 : 03/11/20 Révisions svn 525/526 =============== -Retouches mineures des CMakeLists.txt relatives é l'utilisation de Qt. +Retouches mineures des CMakeLists.txt relatives à l'utilisation de Qt. -Utilisation possible de QtWebKit. Par défaut, les classes QtWebBrowser et QtHelpWindow utilisent l'API Qt5WebEngine -reposant sur chromium. En son absence QtUtil se rabat si possible sur QtWebKit, et, é défaut, utilise la classe QWebBrowser. +Utilisation possible de QtWebKit. Par défaut, les classes QtWebBrowser et QtHelpWindow utilisent l'API Qt5WebEngine +reposant sur chromium. En son absence QtUtil se rabat si possible sur QtWebKit, et, à défaut, utilise la classe QWebBrowser. -Il est possible d'imposer l'API utilisée via les options cmake suivantes : -- -DUSE_QT_WEB_ENGINE:BOOL=ON : utilisation de l'API Qt avec moteur chromium (solution la plus évoluée mais pas la plus simple é installer) -- -DUSE_QT_WEBKIT:BOOL=ON : utilisation de l'ancienne API Qt (< Qt 5.6) forkée et disponible sous license GPL v 2.1 sur internet (https://github.com/qt/qtwebkit) -- -DUSE_QT_TEXT_BROWSER:BOOL=ON : utilisation du browser Qt (solution la moins évoluée) +Il est possible d'imposer l'API utilisée via les options cmake suivantes : +- -DUSE_QT_WEB_ENGINE:BOOL=ON : utilisation de l'API Qt avec moteur chromium (solution la plus évoluée mais pas la plus simple à installer) +- -DUSE_QT_WEBKIT:BOOL=ON : utilisation de l'ancienne API Qt (< Qt 5.6) forkée et disponible sous license GPL v 2.1 sur internet (https://github.com/qt/qtwebkit) +- -DUSE_QT_TEXT_BROWSER:BOOL=ON : utilisation du browser Qt (solution la moins évoluée) -Version 5.6.0 : 23/09/20 Révisions svn 522/523 +Version 5.6.0 : 23/09/20 Révisions svn 522/523 =============== -Possibilité de s'affranchir de QtWebEngine en transmettant é cmake la directive -DUSE_QT_TEXT_BROWSER:BOOL=ON. -En l'absence de directive le CMakeLists.txt est configuré de maniére telle que cmake essaie de trouver -QtWebEngine. En cas de succés il le prend, sinon il se rabat sur l'implémentation avec QtTextBrowser. -Le code QtWebKit est laissé mais cette API n'est plus livrée avec Qt depuis la version 5.6.0. QtWebKit -est disponible en opensource sur le web mais sa compilation ne semble pas gagnée é tous les coups ... +Possibilité de s'affranchir de QtWebEngine en transmettant à cmake la directive -DUSE_QT_TEXT_BROWSER:BOOL=ON. +En l'absence de directive le CMakeLists.txt est configuré de manière telle que cmake essaie de trouver +QtWebEngine. En cas de succès il le prend, sinon il se rabat sur l'implémentation avec QtTextBrowser. +Le code QtWebKit est laissé mais cette API n'est plus livrée avec Qt depuis la version 5.6.0. QtWebKit +est disponible en opensource sur le web mais sa compilation ne semble pas gagnée à tous les coups ... -Méthode QtUtilInfos::getDetailedVersion ( ). +Méthode QtUtilInfos::getDetailedVersion ( ). -Version 5.5.0 : 11/09/20 Révisions svn 518/519 +Version 5.5.0 : 11/09/20 Révisions svn 518/519 =============== Classe QtFileDialogUtilities Fichier QtErrorManagement.h -Version 5.4.4 : 22/07/20 Révisions svn 516/517 +Version 5.4.4 : 22/07/20 Révisions svn 516/517 =============== v 0.8.0 de cmake/workarounds.cmake (LC_ALL=C) -Prise en compte dans le CMakeLists.txt de QtUtil de -DUSE_QT_WEBENGINE. Corrige le bogue oé la -gestion des pages web était moins bonne. +Prise en compte dans le CMakeLists.txt de QtUtil de -DUSE_QT_WEBENGINE. Corrige le bogue où la +gestion des pages web était moins bonne. -Version 5.4.3 : 15/07/20 Révisions svn 513/514 +Version 5.4.3 : 15/07/20 Révisions svn 513/514 =============== -- Ajout -DNDEBUG é la compilation en mode non debug. -- Retouches fichiers cmake relatives aux droits des fichiers installés (fonction INSTALL). +- Ajout -DNDEBUG à la compilation en mode non debug. +- Retouches fichiers cmake relatives aux droits des fichiers installés (fonction INSTALL). -Version 5.4.2 : 25/06/20 Révisions svn 510/511 +Version 5.4.2 : 25/06/20 Révisions svn 510/511 =============== Petits correctifs pour import/export. -Version 5.4.1 : 08/06/20 Révisions svn 506/507 +Version 5.4.1 : 08/06/20 Révisions svn 506/507 =============== Petits correctifs pour import/export. -cmake/common.cmake : ajout é CMAKE_CXX_FLAGS de la variable EXTRA_CXX_FLAGS éventuellement transmise en argument +cmake/common.cmake : ajout à CMAKE_CXX_FLAGS de la variable EXTRA_CXX_FLAGS éventuellement transmise en argument de cmake. -Version 5.4.0 : 04/06/20 Révisions svn 504/505 +Version 5.4.0 : 04/06/20 Révisions svn 504/505 =============== -Fin réintégration en environnement CEA suite confinement covid-19. -Procédure d'exportation ouverte des sources : cible export avec script export.sh (réalisation d'un tarball filtré, -sans gros mots, reposant sur la commande expurge réalisée é cet effet et sur la commande tar). -cmake/workaround.cmake utilise maintenant la commande lsb_release -d é la place du tandem uname/commande locale. A +Fin réintégration en environnement CEA suite confinement covid-19. +Procédure d'exportation ouverte des sources : cible export avec script export.sh. +cmake/workaround.cmake utilise maintenant la commande lsb_release -d à la place du tandem uname/commande locale. A finaliser sur calculateur. Version 5.3.0 : 04/04/20 =============== -Déplacement des en-tétes dans le répertoire QtUtil +Déplacement des en-têtes dans le répertoire QtUtil TkUtil v 5.4.0 @@ -134,40 +151,40 @@ Portage g++ v 7.5.0 auto_ptr -> unique_ptr -Version 5.1.0 : 18/02/20. Révisions svn 496 +Version 5.1.0 : 18/02/20. Révisions svn 496 =============== -- Retouches compatibilité (SameMinorVersion -> SameMajorVersion) +- Retouches compatibilité (SameMinorVersion -> SameMajorVersion) -Version 5.0.3 : 03/02/20. Révisions svn 493 +Version 5.0.3 : 03/02/20. Révisions svn 493 =============== -Retouches gestion des dépendances, notamment arrét dépendance é Qt 5.9.1. +Retouches gestion des dépendances, notamment arrêt dépendance à Qt 5.9.1. -ATTENTION : testé uniquement avec Qt 5.9.1 dans un contexte CMake/Spack. +ATTENTION : testé uniquement avec Qt 5.9.1 dans un contexte CMake/Spack. -Version 5.0.2 : 21/01/20. Révisions svn 492 +Version 5.0.2 : 21/01/20. Révisions svn 492 =============== -Script de génération de l'archive des sources, script create_tarball.sh. +Script de génération de l'archive des sources, script create_tarball.sh. Fichier LISEZMOI.txt -Version 5.0.1 : 06/01/20 révision svn 491 +Version 5.0.1 : 06/01/20 révision svn 491 =============== Version 5.0.1. Portage (Atos_7__x86_64). Retouche workarounds.cmake pour lib stdc++ GNU. -Version 5.0.0 : 18/12/19 (révisions svn r490/r491) +Version 5.0.0 : 18/12/19 (révisions svn r490/r491) =============== Portage CMake/Spack g++ 8.3/intel 18.0.3 -Version 4.8.0 : deployee le 26/09/19 (révisions svn r480/r481) +Version 4.8.0 : deployee le 26/09/19 (révisions svn r480/r481) =============== TK_libraries v 4.10.0 @@ -175,36 +192,36 @@ TK_libraries v 4.10.0 Classe QtColorChooser -Version 4.7.0 : deployee le 05/09/19 (révisions svn r476/r477) +Version 4.7.0 : deployee le 05/09/19 (révisions svn r476/r477) =============== TK_libraries v 4.9.0, TkUtil v 4.6.0. Classe QtExternalLinkDialog : UTF8String en arguments du constructeur en remplacement de string. -Classe QtCharsetedFileDialog : Ajout implémentation méthode getExtension. +Classe QtCharsetedFileDialog : Ajout implémentation méthode getExtension. Classes QtFontPanel et QtPenPanel : Utilisation de QColorDialog non natives. -Version 4.6.0 : deployee le 28/11/18 (révisions svn r473/r475) +Version 4.6.0 : deployee le 28/11/18 (révisions svn r473/r475) =============== TkUtil v 4.5.0 -Version 4.5.0 : deployee le 16/11/18 (révisions svn r470/r472) +Version 4.5.0 : deployee le 16/11/18 (révisions svn r470/r472) =============== TkUtil v 4.4.0 -Version 4.4.0 : deployee le 14/09/18 (révisions svn r463/r465) +Version 4.4.0 : deployee le 14/09/18 (révisions svn r463/r465) =============== -Révision svn 466/468 suite re-déploiement du 20/09/18. +Révision svn 466/468 suite re-déploiement du 20/09/18. -Redéployée le 20/09/18 : QtCharsetedFileDialog n'utilise pas un sélecteur natif +Redéployée le 20/09/18 : QtCharsetedFileDialog n'utilise pas un sélecteur natif sinon plantage sous CentOS 7 / Qt 5.9.1 en environnement Gnome (passe sous KDE). @@ -214,38 +231,38 @@ Utilisation par QtWebBrowser, QtStringHelper, QtUnicodeHelper et QtTextEditor de ces sorties consoles. -Version 4.3.0 : deployee le 04/09/18 (révisions svn r460/r462) +Version 4.3.0 : deployee le 04/09/18 (révisions svn r460/r462) =============== -QtHelpWindow : désactivation de l'utilisation d'Open GL par chromium -(qui fait mauvais ménage avec VTK). +QtHelpWindow : désactivation de l'utilisation d'Open GL par chromium +(qui fait mauvais ménage avec VTK). Classes QtCharsetComboBox, QtLabelisedCharsetComboBox et QtCharsetedFileDialog. -Version 4.2.0 : 22/06/18 (révisions svn r457/r459) +Version 4.2.0 : 22/06/18 (révisions svn r457/r459) =============== TK_Variants v 4.2.0 (TkUtil v 4.1.0, nouveaux services UTF8String). -Version 4.1.0 : 08/06/18 (révisions svn r453/r455) +Version 4.1.0 : 08/06/18 (révisions svn r453/r455) =============== -Redéployé le 21/06/18 : correctif encodage logs de type ProcessLog et +Redéployé le 21/06/18 : correctif encodage logs de type ProcessLog et ProgressionLog. TK_Variants v 4.1.0 (Qt591, ECM_Variants v 1.22.0 => arret cible BullEL_6_AE__x86_64). -Utilisation du scenario de deploiement QT_LIBS. Déploiement uniquement des +Utilisation du scenario de deploiement QT_LIBS. Déploiement uniquement des versions statiques. - QtHelpWindow et QtWebBrowser : utilisation de QWebEngine pour les versions -supérieures ou égales é Qt 5.9.1. +supérieures ou égales à Qt 5.9.1. - QtStringPanel : - Le constructeur prend des UTF8String en arguments. - - getValue retourne une UTF8String, méthode getStdValue + - getValue retourne une UTF8String, méthode getStdValue Version 4.0.0 : 16/03/18 @@ -253,34 +270,34 @@ Version 4.0.0 : 16/03/18 TK_Variants v 4.0.0 -Utilisation de la classe Charset de TkUtil é des fins d'auto-détection -du jeu de caractéres utilisé pour encoder les fichiers sources en vue -d'assurer un meilleur rendu des libellés dans les IHMs. +Utilisation de la classe Charset de TkUtil à des fins d'auto-détection +du jeu de caractères utilisé pour encoder les fichiers sources en vue +d'assurer un meilleur rendu des libellés dans les IHMs. -Gestion des chaénes de caractéres au format UTF-8 (classe TkUtil::UTF8String), +Gestion des chaînes de caractères au format UTF-8 (classe TkUtil::UTF8String), y compris dans les (flux de) logs. Version 3.6.0 : 17/11/17 =============== -Redéployée le 14/12/17 puis le 25/01/18, puis le 29/01/18 (légers correctifs +Redéployée le 14/12/17 puis le 25/01/18, puis le 29/01/18 (légers correctifs QString -> QLatin1String). TK_Variants v 3.0.0 (ECM_Variants v 1.21.0 : portage RH 7, compilateurs gcc 6.2.0, icpc 17.0.4) Fichier CharToLatinQString : macro permettant de transformer automatiquement des -char* en QLatin1String, utile é partir de Qt 5.?. +char* en QLatin1String, utile à partir de Qt 5.?. -Retouche de la régle de conversion .h -> moc_* requise é partir de Qt 5.?. En +Retouche de la règle de conversion .h -> moc_* requise à partir de Qt 5.?. En effet moc, lorsque la sortie est un fichier (et non stdout), fait les includes -vers le .h compilé en relatif et non pas en absolu, et, du coup, éa ne marche -pas forcément ... +vers le .h compilé en relatif et non pas en absolu, et, du coup, ça ne marche +pas forcément ... Suppression des QtCore/, QtGui/ et autre au niveau des include car incompatible -avec les stations RH7 qui ont ses répertoires dans /usr/include => les fichiers -inclus viennent de lé en priorité et ce peut étre incompatible avec ceux issus +avec les stations RH7 qui ont ses répertoires dans /usr/include => les fichiers +inclus viennent de là en priorité et ce peut être incompatible avec ceux issus de notre distribution ... @@ -303,12 +320,12 @@ Version 3.2.0 : 15/03/17 =============== TK_Variants version 2.7.0. -TkUtil v 3.1.0 : arrét annulation de threads via API thread Posix, +TkUtil v 3.1.0 : arrêt annulation de threads via API thread Posix, incompatible avec le langage C++. - Classe QtCoordinatesTextField (issue de QtVtk). -- Correctif dans QtAboutDialog::showEvent : l'avertissement ci-aprés était -affiché dans le terminal de lancement : +- Correctif dans QtAboutDialog::showEvent : l'avertissement ci-après était +affiché dans le terminal de lancement : QWidget::setMinimumSize: (/QtAboutDialog) Negative sizes (-1,-1) are not possible @@ -325,7 +342,7 @@ Version 3.0.0 : 09/12/16 - TK_Variants-2.0.0 -Arrét variant MT. +Arrêt variant MT. Version 2.53.0 : 29/08/16 @@ -333,7 +350,7 @@ Version 2.53.0 : 29/08/16 - TK_Variants-1.73.0 -Redéployé le 25/10/16 : correctif QtHelpWindow::displayURL sous Qt 4.8.5. +Redéployé le 25/10/16 : correctif QtHelpWindow::displayURL sous Qt 4.8.5. Version 2.52.0 : 15/03/16 @@ -373,7 +390,7 @@ Version 2.49.0 : 12/10/15 Version 2.48.0 : 06/07/15 ================ -Redéployée le 24/07/15 (retouches messages QtDoubleTextField::getValue). +Redéployée le 24/07/15 (retouches messages QtDoubleTextField::getValue). TK_variants v 2.52.0 (Portage Atos_7__x86_64 ...). @@ -413,7 +430,7 @@ Version 2.44.1 : 23/06/14 ================ - Correctif dans QtDoubleTextField::getValue : pouvait lever une exception -si la valeur saisie était égale au minimum ou au maximum du domaine de saisie. +si la valeur saisie était égale au minimum ou au maximum du domaine de saisie. Version 2.44.0 : 04/04/14 @@ -428,8 +445,8 @@ Version 2.43.0 : 10/02/14 - TK_Variants v 1.34.0. - QtLogsView : -Correctif : l'affichage des logs n'apparait pas forcément en temps réel. Un -QApplication::processEvents ( ) est effectué afin de forcer la prise d'effet +Correctif : l'affichage des logs n'apparait pas forcément en temps réel. Un +QApplication::processEvents ( ) est effectué afin de forcer la prise d'effet du QTextBrowser::append. Formatage optionnel du nombre de colonnes lors de l'affichage des messages. - Classe QtWebBrowser. @@ -449,10 +466,10 @@ Suppression du code Qt 3.x. Support Qt v 4.8.5 et 5.1.1. - QtValidatedTextField : la validation automatique lors de la perte -de focus ou de la frappe d'une touche est désactivable. +de focus ou de la frappe d'une touche est désactivable. - QtIntTextField et QtDoubleTextField : messages d'erreurs -personnalisés en cas de domaines de validité infinis. -- QtHelpWindow : repose sur QtWebKit par défaut, mais possibilité de la faire +personnalisés en cas de domaines de validité infinis. +- QtHelpWindow : repose sur QtWebKit par défaut, mais possibilité de la faire reposer sur QTextBrowser (cf. common.xml, activation de add_definitions -DUSE_QT_WEBKIT). @@ -469,8 +486,8 @@ Version 2.40.1 : 16/09/13 Correction de bogue : - QtDoubleTextField::setNotation : en cas de changement de notation la valeur -dans le champ de texte est r'eécrite avec la nouvelle notation. -Bogue corrigé : validate, appelé notamment lors de la perte du focus, levait +dans le champ de texte est r'eécrite avec la nouvelle notation. +Bogue corrigé : validate, appelé notamment lors de la perte du focus, levait une exception. @@ -480,8 +497,8 @@ Version 2.40.0 : 30/05/13 (et 10/06/13 puis 16/09/13) - TK_Variants 1.27.0. - TkUtil v 2.32.0. -Redéployé le 10/06/13 avec le correctif suivant : -- Correction de bogue : Qt3DDataPanel::numberOfCharacters passe é 18 +Redéployé le 10/06/13 avec le correctif suivant : +- Correction de bogue : Qt3DDataPanel::numberOfCharacters passe à 18 (anciennement 12, insuffisant lorsque la notation utilisait des exposants). @@ -489,41 +506,41 @@ Version 2.39.0 : 13/05/13 ================ - TK_Variants 1.26.0. -- TkUtil v 2.31.0 : évolutions classe Mutex (mutex non récursifs, tryLock). +- TkUtil v 2.31.0 : évolutions classe Mutex (mutex non récursifs, tryLock). Version 2.38.0 : 25/01/13 ================ - TK_Variants v 1.24.0 (TkUtil v 2.30.0). -- Correctif dans la classe QtHelpWindow : lors des appels é displayURL la -fenétre ne se positionnait pas sur la balise transmise en second argument. +- Correctif dans la classe QtHelpWindow : lors des appels à displayURL la +fenêtre ne se positionnait pas sur la balise transmise en second argument. Version 2.37.0 : 16/01/13 ================ - QtTextField : - - Méthodes sizeHint ( ) et isNumeric ( ). + - Méthodes sizeHint ( ) et isNumeric ( ). - setVisibleColumns : correctif pour Qt 4. -- Classes QtIntTextField et QtDoubleTextField : méthode isNumeric. +- Classes QtIntTextField et QtDoubleTextField : méthode isNumeric. - Classe Qt3DDataPanel : utilise des champs de type QtDoubleTextField. Version 2.36.0 : 06/12/12 ================ -- TK_Variants v 1.23.0 (cibles de déploiement actualisées). +- TK_Variants v 1.23.0 (cibles de déploiement actualisées). - Qt 4.7.4. - HelpWindow reposant sur QtWebKit (support HTML nettement enrichit, notamment -avec possibilité d'une image "confidentiel défense" en fond de page). +avec possibilité d'une image "confidentiel défense" en fond de page). Version 2.35.0 : 12/10/12 ================ - TK_Variants v 1.22.0 (TkUtil v 2.29.0). -- Qt 4.7.4, arrét Qt 3. +- Qt 4.7.4, arrêt Qt 3. Version 2.34.0 : 24/11/11 @@ -537,12 +554,12 @@ Version 2.33.0 : 08/09/11 - TK_Variants v 1.19.0 (TkUtil v 2.25.0). - QtLogsView et QtStatusLogOutputStream : logs non interruptibles par -pthread_cancel en cas de multithreading. Problémes de dead-locks observés lors -d'annulation différée de thread (pthread_cancel, PTHREAD_CANCEL_DEFERRED). Ces -dead-locks sont provoqués par QMetaObject::activate qui aurait des points +pthread_cancel en cas de multithreading. Problèmes de dead-locks observés lors +d'annulation différée de thread (pthread_cancel, PTHREAD_CANCEL_DEFERRED). Ces +dead-locks sont provoqués par QMetaObject::activate qui aurait des points d'annulation indirects de thread. En cas d'annulation un mutex ne serait pas -déverrouillé. -Bogue appli, bogue Qt 4.6.2, incompatibilité car non utilisation des QThreads ? +déverrouillé. +Bogue appli, bogue Qt 4.6.2, incompatibilité car non utilisation des QThreads ? => On interdit une annulation de thread dans la partie Qt. @@ -561,19 +578,19 @@ Version 2.31.0 : 25/01/11 Version 2.30.0 : 13/01/11 ================ -- Blindage mutithreading sous Qt 4. Des actions d'écriture/affichage -initiées par des threads autres que le thread principal entraénent l'affichage -dans la console de message X11 variés, le plantage de l'application, voir le -blocage du serveur X. Les pixmaps sont plus particuliérement touchés. -- Classes impactées : +- Blindage mutithreading sous Qt 4. Des actions d'écriture/affichage +initiées par des threads autres que le thread principal entraînent l'affichage +dans la console de message X11 variés, le plantage de l'application, voir le +blocage du serveur X. Les pixmaps sont plus particulièrement touchés. +- Classes impactées : - QtAutoWaitingCursor - QtStatusLogOutputStream - QtLogsView -Rem : d'autres classes peuvent étre le siége de problémes analogues. Cela a -été remarqué sur ces classes car elles étaient appelées par des taches lancées -dans des threads et provoquaient des opérations d'affichage ou (in)activation -de menus depuis ces threads. Le sablier d'attente était activé durant ces -opérations d'affichage. +Rem : d'autres classes peuvent être le siège de problèmes analogues. Cela a +été remarqué sur ces classes car elles étaient appelées par des taches lancées +dans des threads et provoquaient des opérations d'affichage ou (in)activation +de menus depuis ces threads. Le sablier d'attente était activé durant ces +opérations d'affichage. Version 2.29.0 : 30/11/10 @@ -581,16 +598,16 @@ Version 2.29.0 : 30/11/10 - Classe QtStatusLogOutputStream. - Correctif de bogue dans la classe QtScientificTextDialog : bouton -"Appliquer" inactif si l'on a utilisé que le clavier de la boite de dialogue -avec les caractéres grecs. +"Appliquer" inactif si l'on a utilisé que le clavier de la boite de dialogue +avec les caractères grecs. - Exemple test : utilisation des gestionnaires de flux sortants pour affichage -d'infos sur le déroulement d'une session. +d'infos sur le déroulement d'une session. Version 2.28.0 : 07/10/10 ================ -- En-tétes : #include "*.h" -> #include <*.h> +- En-têtes : #include "*.h" -> #include <*.h> - TkUtil 2.21.0 @@ -599,21 +616,21 @@ Version 2.27.0 : 31/08/10 - TK_Variants-1.9.0 - TkUtil 2.20.0 -- Arrét déploiement Qt 4.4.1. +- Arrêt déploiement Qt 4.4.1. Version 2.26.0 : 21/06/10 ================ -Mise é jour du 13/07/10 : +Mise à jour du 13/07/10 : - Correctif de bogue dans QtStringListSelectionPanel en Qt 4. - - Tests testant également QtStringListSelectionPanel. + - Tests testant également QtStringListSelectionPanel. -Mise é jour du 09/07/10 : +Mise à jour du 09/07/10 : - Correctif de bogue dans QtCoordinatesDialog (plantage sous Qt 4). - Correctif de bogue dans QtRotationDialog (angle et axe non - affichés sous Qt 4). - - Tests testant également QtCoordinatesDialog et QtRotationDialog. + affichés sous Qt 4). + - Tests testant également QtCoordinatesDialog et QtRotationDialog. TK_Variants-1.8.0 : ajout version Qt 4.6.2. @@ -797,7 +814,7 @@ Module util : - Correctif dans QtWidgetAutoLock::setEnabled -Versions antérieures : +Versions antérieures : ====================== Voir fichier versions.old. From 653f4c9aa8fbaff163e807fdc4184998237b794c Mon Sep 17 00:00:00 2001 From: Benoit LELANDAIS Date: Mon, 17 Jul 2023 08:58:26 +0200 Subject: [PATCH 2/2] New CI workflows --- .github/workflows/cmake-ci.yml | 15 --------------- .github/workflows/make-release.yml | 11 +++++++++++ .github/workflows/spack-ci.yml | 9 +++++---- 3 files changed, 16 insertions(+), 19 deletions(-) delete mode 100644 .github/workflows/cmake-ci.yml create mode 100644 .github/workflows/make-release.yml diff --git a/.github/workflows/cmake-ci.yml b/.github/workflows/cmake-ci.yml deleted file mode 100644 index 657f563..0000000 --- a/.github/workflows/cmake-ci.yml +++ /dev/null @@ -1,15 +0,0 @@ -name: Cmake CI - -on: - workflow_dispatch: - push: - branches: [ main ] - pull_request: - branches: [ main ] - -jobs: - call: - name: Call Cmake reusable workflow - uses: LIHPC-Computational-Geometry/lihpccg-ci/.github/workflows/cmake-reusable.yml@main - with: - run-tests: false diff --git a/.github/workflows/make-release.yml b/.github/workflows/make-release.yml new file mode 100644 index 0000000..dae16eb --- /dev/null +++ b/.github/workflows/make-release.yml @@ -0,0 +1,11 @@ +name: Make release + +on: + push: + tags: + - '*' + +jobs: + call: + name: Call check version CI + uses: LIHPC-Computational-Geometry/lihpccg-ci/.github/workflows/make-release-reusable.yml@main diff --git a/.github/workflows/spack-ci.yml b/.github/workflows/spack-ci.yml index 9b60d48..0299c3b 100644 --- a/.github/workflows/spack-ci.yml +++ b/.github/workflows/spack-ci.yml @@ -1,13 +1,14 @@ name: Spack CI on: - workflow_dispatch: push: - branches: [ main ] + branches: + - '**' pull_request: - branches: [ main ] + # Allows you to run this workflow manually + workflow_dispatch: jobs: call: - name: Call Spack reusable workflow + name: Call Spack CI uses: LIHPC-Computational-Geometry/lihpccg-ci/.github/workflows/spack-reusable.yml@main