From: Nabil Ghodbane Date: Mon, 22 May 2023 07:44:49 +0000 (+0200) Subject: bos #33720: build PERSALYS with Visual C++ 2017 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=b6993cb5244c60e737f85387228883fd78282ee7;p=tools%2Fsat_salome.git bos #33720: build PERSALYS with Visual C++ 2017 --- diff --git a/applications/SALOME-master-windows.pyconf b/applications/SALOME-master-windows.pyconf index 207404a..1b9dc2b 100644 --- a/applications/SALOME-master-windows.pyconf +++ b/applications/SALOME-master-windows.pyconf @@ -59,6 +59,7 @@ APPLICATION : embree : '3.12.2' expat : '2.0.1' f2c : '1.0.0' + FMILibrary : '2.0.3' freeimage : '3.18.0' freetype : '2.9.1' gmsh : '4.10.3' @@ -95,12 +96,13 @@ APPLICATION : ospray : '2.4.0' packaging : '19.0' ParaView : {tag:'5.11.0', base: 'no', section: 'version_5_11_0'} - #PERSALYS: 'v14.0.1' + PERSALYS: 'v14.0.1' perl : '5.28.1.1' Pillow : '7.1.1' planegcs : '0.18-3cb6890' psutil : '5.7.2' pthreads : '2.9.1' + PyFMI : '2.6' Pygments : '2.4.2' pyparsing : '2.4.0' PyQt : '5.15.3' @@ -173,7 +175,7 @@ APPLICATION : 'ADAO' 'PARAVISADDONS' 'PY2CPP' - #'OPENTURNS_SALOME' + 'OPENTURNS_SALOME' #'YDEFX' 'pmml' 'TESTBASE' @@ -202,7 +204,7 @@ __overwrite__ : [ { __condition__ : "APPLICATION.debug == 'yes'" - 'APPLICATION.rm_products' : ['matplotlib', 'openturns', 'scipy', 'Pillow'] + 'APPLICATION.rm_products' : ['matplotlib', 'openturns', 'scipy', 'Pillow', 'PERSALYS', 'OPENTURNS_SALOME', 'cminpack', 'openblas', 'FMILibrary', 'PyFMI'] # TODO: cmake 3.24 screws things up by adding _d suffix to debug libraries to KERNEL 'APPLICATION.products.cmake' : {tag: '3.12.1', base: 'no', section : 'version_3_12_1' } 'APPLICATION.products.numpy' : {tag: '1.16.4', base: 'no', section : 'version_1_16_4_win_dbg' } diff --git a/products/FMILibrary.pyconf b/products/FMILibrary.pyconf index 1ac79b5..bd07ea3 100644 --- a/products/FMILibrary.pyconf +++ b/products/FMILibrary.pyconf @@ -27,9 +27,9 @@ default_win : compil_script : 'pip_install' + $VARS.scriptExtension properties : { - single_install_dir : "yes" + single_install_dir : "no" incremental : "yes" - pip : "yes" + pip : "no" } depend : ['Python', 'lapack', 'hdf5', 'tbb', 'nlopt', 'libxml2', 'eigen', 'pthreads'] opt_depend : [] @@ -38,4 +38,4 @@ default_win : version_2_0_3 : { patches : ['FMILibrary-2.0.3-installdir.patch'] -} \ No newline at end of file +} diff --git a/products/OPENTURNS_SALOME.pyconf b/products/OPENTURNS_SALOME.pyconf index 770d393..d28f5fe 100644 --- a/products/OPENTURNS_SALOME.pyconf +++ b/products/OPENTURNS_SALOME.pyconf @@ -21,9 +21,9 @@ default : depend : [ 'KERNEL', 'GUI', - 'PERSALYS', - 'gdal', - 'YACS' + 'PERSALYS', + 'gdal', + 'YACS' ] build_depend : ["cmake", "swig", "doxygen"] source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name @@ -35,4 +35,22 @@ default : incremental : "yes" has_unit_tests : "yes" } + patches : [] +} + +default_win : +{ + name : "OPENTURNS" + build_source : "script" + compil_script : "OPENTURNS_SALOME.bat" + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + "OPENTURNS_SALOME" + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name + depend : [ + 'KERNEL', + 'GUI', + 'PERSALYS', + 'YACS', + 'openturns' + ] + patches : ['openturns_salome.001.patch'] } diff --git a/products/PERSALYS.pyconf b/products/PERSALYS.pyconf index 9a937cf..164af14 100644 --- a/products/PERSALYS.pyconf +++ b/products/PERSALYS.pyconf @@ -83,12 +83,16 @@ version_v14_0_1_win : 'qt', 'ParaView', 'openturns', + 'FMILibrary', + 'PyFMI', 'YACS', #'YDEFX', 'CAS', 'CONFIGURATION', - 'openblas' + 'openblas', + 'pthreads' ] + patches : ["PERSALYS-v14.0.1-001.patch"] } version_v13_0 : diff --git a/products/PyFMI.pyconf b/products/PyFMI.pyconf index 47d5874..e7261fe 100644 --- a/products/PyFMI.pyconf +++ b/products/PyFMI.pyconf @@ -37,6 +37,20 @@ version_2_6_no_pip : } } +version_2_6 : +{ +} + +version_2_6_win : +{ + compil_script : "PyFMI-2.6.bat" + properties: + { + incremental : "yes" + pip : "no" + } +} + version_2_6_UB22_04: { patches: ['pyfmi-2.6-python-3.1x.01.patch'] diff --git a/products/YACS.pyconf b/products/YACS.pyconf index ec4d021..1a2ef65 100644 --- a/products/YACS.pyconf +++ b/products/YACS.pyconf @@ -44,8 +44,14 @@ default : has_unit_tests incremental : "yes" } + patches : [] } +default_win : +{ + patches : ['yacs.persalys-14.0.1.patch'] +} + version_9_2_0_to_9_8_0 : { cmake_options : "" diff --git a/products/cminpack.pyconf b/products/cminpack.pyconf index aee72df..ac75ad0 100644 --- a/products/cminpack.pyconf +++ b/products/cminpack.pyconf @@ -43,5 +43,5 @@ version_1_3_6_win: build_depend : ["cmake", "swig"] opt_depend : ['openmpi'] compil_script: 'cminpack-1.3.6.bat' - patches : [] + patches : ["cminpack-1.3.6-openblas.patch"] } diff --git a/products/compil_scripts/OPENTURNS_SALOME.bat b/products/compil_scripts/OPENTURNS_SALOME.bat new file mode 100644 index 0000000..2c49ef3 --- /dev/null +++ b/products/compil_scripts/OPENTURNS_SALOME.bat @@ -0,0 +1,159 @@ +@echo off + +echo ########################################################################## +echo OPENTURNS_SALOME %VERSION% +echo ########################################################################## + +IF NOT DEFINED SAT_DEBUG ( + SET SAT_DEBUG=0 +) + +SET PRODUCT_BUILD_TYPE=Release +if %SAT_DEBUG% == 1 ( + set PRODUCT_BUILD_TYPE=Debug +) + +IF NOT DEFINED CMAKE_GENERATOR ( + SET CMAKE_GENERATOR="Visual Studio 15 2017 Win64" +) + +if NOT exist "%PRODUCT_INSTALL%" mkdir %PRODUCT_INSTALL% + +REM clean BUILD directory +if exist "%BUILD_DIR%" rmdir /Q /S %BUILD_DIR% +mkdir %BUILD_DIR% + +SET CMAKE_OPTIONS= +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_INSTALL_PREFIX:STRING=%PRODUCT_INSTALL:\=/% +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_BUILD_TYPE:STRING=%PRODUCT_BUILD_TYPE% +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_INSTALL_LIBDIR:STRING=lib +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DPYTHON_EXECUTABLE=%PYTHONBIN% +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DSWIG_EXECUTABLE=%SWIG_ROOT_DIR:\=/%/bin/swig.exe +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DTBB_ROOT_DIR=%TBB_ROOT_DIR% +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -Dtbb_DIR:PATH=%TBB_ROOT_DIR:\=/% +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DUSE_TBB=OFF +REM libxml2 settings +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DVTK_MODULE_USE_EXTERNAL_VTK_libxml2:BOOL=ON +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DLIBXML2_INCLUDE_DIR:STRING=%LIBXML2_ROOT_DIR:\=/%/include +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DLIBXML2_LIBRARIES:STRING=%LIBXML2_ROOT_DIR:\=/%/lib/libxml2.lib +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DLIBXML2_LIBRARY:STRING=%LIBXML2_ROOT_DIR:\=/%/lib/libxml2.lib +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DLIBXML2_XMLLINT_EXECUTABLE=%LIBXML2_ROOT_DIR:\=/%/bin/xmllint.exe + + +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DPTHREAD_ROOT_DIR=%PTHREAD_ROOT_DIR:\=/% +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DPTHREAD_INCLUDE_DIR=%PTHREAD_ROOT_DIR:\=/%/include +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DPTHREAD_DLL_LIBRARY=%PTHREAD_ROOT_DIR:\=/%/lib/pthreadVC2.dll +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DPTHREAD_LIBRARY=%PTHREAD_ROOT_DIR:\=/%/lib/pthreadVCE2.lib + +REM HDF5 settings +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DVTK_MODULE_USE_EXTERNAL_VTK_hdf5:BOOL=ON +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DHDF5_DIR:PATH=%HDF5_ROOT_DIR:\=/%/cmake/hdf5 +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DHDF5_INCLUDE_DIRS:PATH=%HDF5_ROOT_DIR:\=/%/include +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DHDF5_USE_STATIC_LIBRARIES:BOOL=OFF + +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DNLOPT_INCLUDE_DIRS:STRING=%NLOPT_ROOT_DIR:\=/%/include +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DNLOPT_LIBRARIES:STRING=%NLOPT_ROOT_DIR:\=/%/bin +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DNLOPT_DIR:STRING=%NLOPT_ROOT_DIR:\=/% + +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCBLAS_DIR=%OPENBLAS_ROOT_DIR:\=/%/share/cmake/OpenBLAS + +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DPython3_EXECUTABLE:FILEPATH=%PYTHON_ROOT_DIR:\=/%/python3.exe +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DPython3_INCLUDE_DIR:PATH=%PYTHON_ROOT_DIR:\=/%/include + +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DLAPACK_LIBRARIES:FILEPATH=%OPENBLAS_ROOT_DIR:\=/%/lib/openblas.lib +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_SHARED_LINKER_FLAGS_RELEASE="/OPT:NOREF /INCREMENTAL:NO" +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_UNITY_BUILD=ON +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_UNITY_BUILD_BATCH_SIZE=16 +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DSWIG_COMPILE_FLAGS="/bigobj" +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DUSE_SPHINX=OFF +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DQWT_INCLUDE_DIR=%QWT_ROOT_DIR:\=/%/include +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DBUILD_SHARED_LIBS:BOOL=ON +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DADAO_ROOT_DIR=%ADAO_ROOT_DIR:\=/% + +REM Boost settings +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DBOOST_ROOT:PATH=%BOOST_ROOT_DIR:\=/% +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DBoost_ADDITIONAL_VERSIONS="1.67.0 1.67" +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DBOOST_INCLUDEDIR=%BOOST_ROOT_DIR:\=/%/include/boost-1_67 +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DBoost_INCLUDE_DIR=%BOOST_ROOT_DIR:\=/%/include/boost-1_67 +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DBoost_NO_BOOST_CMAKE:BOOL=ON +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DBoost_NO_SYSTEM_PATHS:BOOL=ON + +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DGUI_ROOT_DIR=%GUI_ROOT_DIR:\=/% +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DSalomeGUI_DIR=%GUI_ROOT_DIR:\=/%/adm_local/cmake_files +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DKERNEL_ROOT_DIR=%KERNEL_ROOT_DIR:\=/% +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DSalomeKERNEL_DIR=%KERNEL_ROOT_DIR:\=/%/salome_adm/cmake_files +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DOpenTURNS_DIR=%OT_ROOT_DIR:\=/%/lib/cmake/openturns +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -Dotmorris_DIR==%OT_ROOT_DIR:\=/%/lib/cmake/otmorris +rem SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DPy2cpp_DIR=%PY2CPP_ROOT_DIR:\=/%/lib/cmake/py2cpp + +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DQWT_INCLUDE_DIR=%QWT_ROOT_DIR:\=/%/include +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DQWT_LIBRARY=%QWT_ROOT_DIR:\=/%/lib/qwt.lib + +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DUSE_SPHINX=OFF +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DSPHINX_ROOT_DIR=%SPHINX_ROOT_DIR:\=/% +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DYACS_ROOT_DIR=%YACS_ROOT_DIR:\=/% +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DSalomeYACS_DIR=%YACS_ROOT_DIR:\=/%/adm/cmake +rem SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -Dydefx_DIR=%YDEFX_ROOT_DIR:\=/%/salome_adm/cmake_files +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DAdaoCppLayer_INCLUDE_DIR=%ADAO_INTERFACE_ROOT_DIR:\=/%/include +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DAdaoCppLayer_ROOT_DIR=%ADAO_INTERFACE_ROOT_DIR:\=/% +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DUSE_SALOME=ON +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DTBB_ROOT=%TBB_ROOT_DIR:\=/% +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DTBB_INCLUDE_DIR=%TBB_ROOT_DIR:\=/%/include +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DPYTHON_EXECUTABLE=%PYTHONBIN:\=/% +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DPYTHON_INCLUDE_DIR=%PYTHON_INCLUDE:\=/% +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_FIND_ROOT_PATH=ON + +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCGNS_INCLUDE_DIR:PATH=%CGNS_ROOT_DIR:\=/%/include +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCGNS_LIBRARY:STRING=%CGNS_ROOT_DIR:\=/%/lib/cgnsdll.lib +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCGNS_INCLUDE_DIR:PATH=%CGNS_ROOT_DIR:\=/%/include + +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DPersalys_DIR=%PERSALYS_ROOT_DIR:\=/% -DOPENTURNS_HOME=%OPENTURNS_HOME:\=/% +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON +if NOT exist "%PRODUCT_INSTALL%" mkdir %PRODUCT_INSTALL% +REM clean BUILD directory +if exist "%BUILD_DIR%" rmdir /Q /S %BUILD_DIR% +mkdir %BUILD_DIR% + +cd %BUILD_DIR% + +set MSBUILDDISABLENODEREUSE=1 + +echo. +echo ********************************************************************* +echo *** %CMAKE_ROOT%\bin\cmake %CMAKE_OPTIONS% %SOURCE_DIR% +echo ********************************************************************* +echo. + +%CMAKE_ROOT%\bin\cmake -G "Visual Studio 15 2017 Win64" %CMAKE_OPTIONS% %SOURCE_DIR% +if NOT %ERRORLEVEL% == 0 ( + echo "ERROR on cmake" + exit 1 +) + +echo. +echo ********************************************************************* +echo *** msbuild %MAKE_OPTIONS% /p:Configuration=%PRODUCT_BUILD_TYPE% /p:Platform=x64 /p:CharacterSet=Unicode ALL_BUILD.vcxproj + +echo ********************************************************************* +echo. + +msbuild %MAKE_OPTIONS% /p:Configuration=%PRODUCT_BUILD_TYPE% /p:Platform=x64 /p:CharacterSet=Unicode ALL_BUILD.vcxproj +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on msbuild ALL_BUILD.vcxproj, please check! + REM exit 2 +) + +echo. +echo ********************************************************************* +echo *** installation... +echo ********************************************************************* +echo. + +msbuild %MAKE_OPTIONS% /p:Configuration=%PRODUCT_BUILD_TYPE% /p:Platform=x64 /p:CharacterSet=Unicode INSTALL.vcxproj +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on msbuild INSTALL.vcxproj + exit 3 +) + +echo +echo "########## END" diff --git a/products/compil_scripts/PERSALYS-v14.0.1.bat b/products/compil_scripts/PERSALYS-v14.0.1.bat index ce69e38..459f1b1 100644 --- a/products/compil_scripts/PERSALYS-v14.0.1.bat +++ b/products/compil_scripts/PERSALYS-v14.0.1.bat @@ -28,7 +28,7 @@ SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_INSTALL_PREFIX:STRING=%PRODUCT_INSTALL SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_BUILD_TYPE:STRING=%PRODUCT_BUILD_TYPE% SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_INSTALL_LIBDIR:STRING=lib SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DPYTHON_EXECUTABLE=%PYTHONBIN% -SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DSWIG_EXECUTABLE=%SWIG_ROOT_DIR:\=/%/bin/swig +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DSWIG_EXECUTABLE=%SWIG_ROOT_DIR:\=/%/bin/swig.exe SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DTBB_ROOT_DIR=%TBB_ROOT_DIR% SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -Dtbb_DIR:PATH=%TBB_ROOT_DIR:\=/% SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DUSE_TBB=OFF @@ -39,17 +39,27 @@ set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DLIBXML2_LIBRARIES:STRING=%LIBXML2_ROOT_DIR:\ set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DLIBXML2_LIBRARY:STRING=%LIBXML2_ROOT_DIR:\=/%/lib/libxml2.lib set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DLIBXML2_XMLLINT_EXECUTABLE=%LIBXML2_ROOT_DIR:\=/%/bin/xmllint.exe + +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DPTHREAD_ROOT_DIR=%PTHREAD_ROOT_DIR:\=/% +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DPTHREAD_INCLUDE_DIR=%PTHREAD_ROOT_DIR:\=/%/include +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DPTHREAD_DLL_LIBRARY=%PTHREAD_ROOT_DIR:\=/%/lib/pthreadVC2.dll +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DPTHREAD_LIBRARY=%PTHREAD_ROOT_DIR:\=/%/lib/pthreadVCE2.lib + REM HDF5 settings set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DVTK_MODULE_USE_EXTERNAL_VTK_hdf5:BOOL=ON set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DHDF5_DIR:PATH=%HDF5_ROOT_DIR:\=/%/cmake/hdf5 set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DHDF5_INCLUDE_DIRS:PATH=%HDF5_ROOT_DIR:\=/%/include set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DHDF5_USE_STATIC_LIBRARIES:BOOL=OFF + set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DNLOPT_INCLUDE_DIRS:STRING=%NLOPT_ROOT_DIR:\=/%/include set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DNLOPT_LIBRARIES:STRING=%NLOPT_ROOT_DIR:\=/%/bin set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DNLOPT_DIR:STRING=%NLOPT_ROOT_DIR:\=/% + set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCBLAS_DIR=%OPENBLAS_ROOT_DIR:\=/%/share/cmake/OpenBLAS + set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DPython3_EXECUTABLE:FILEPATH=%PYTHON_ROOT_DIR:\=/%/python3.exe set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DPython3_INCLUDE_DIR:PATH=%PYTHON_ROOT_DIR:\=/%/include + set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DLAPACK_LIBRARIES:FILEPATH=%OPENBLAS_ROOT_DIR:\=/%/lib/openblas.lib set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_SHARED_LINKER_FLAGS_RELEASE="/OPT:NOREF /INCREMENTAL:NO" set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_UNITY_BUILD=ON @@ -59,14 +69,26 @@ set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DUSE_SPHINX=OFF SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DQWT_INCLUDE_DIR=%QWT_ROOT_DIR:\=/%/include SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DBUILD_SHARED_LIBS:BOOL=ON SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DADAO_ROOT_DIR=%ADAO_ROOT_DIR:\=/% -SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DBOOST_ROOT:PATH=%BOOST_ROOT_DIR:\=/% + +REM Boost settings +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DBOOST_ROOT:PATH=%BOOST_ROOT_DIR:\=/% +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DBoost_ADDITIONAL_VERSIONS="1.67.0 1.67" +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DBOOST_INCLUDEDIR=%BOOST_ROOT_DIR:\=/%/include/boost-1_67 +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DBoost_INCLUDE_DIR=%BOOST_ROOT_DIR:\=/%/include/boost-1_67 +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DBoost_NO_BOOST_CMAKE:BOOL=ON +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DBoost_NO_SYSTEM_PATHS:BOOL=ON + SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DGUI_ROOT_DIR=%GUI_ROOT_DIR:\=/% SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DSalomeGUI_DIR=%GUI_ROOT_DIR:\=/%/adm_local/cmake_files SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DKERNEL_ROOT_DIR=%KERNEL_ROOT_DIR:\=/% SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DSalomeKERNEL_DIR=%KERNEL_ROOT_DIR:\=/%/salome_adm/cmake_files -REM SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DOpenTURNS_DIR=$OT_ROOT_DIR/lib/cmake/openturns +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DOpenTURNS_DIR=%OT_ROOT_DIR:\=/%/lib/cmake/openturns +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -Dotmorris_DIR==%OT_ROOT_DIR:\=/%/lib/cmake/otmorris rem SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DPy2cpp_DIR=%PY2CPP_ROOT_DIR:\=/%/lib/cmake/py2cpp + SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DQWT_INCLUDE_DIR=%QWT_ROOT_DIR:\=/%/include +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DQWT_LIBRARY=%QWT_ROOT_DIR:\=/%/lib/qwt.lib + SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DUSE_SPHINX=OFF SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DSPHINX_ROOT_DIR=%SPHINX_ROOT_DIR:\=/% SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DYACS_ROOT_DIR=%YACS_ROOT_DIR:\=/% @@ -80,7 +102,9 @@ SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DTBB_INCLUDE_DIR=%TBB_ROOT_DIR:\=/%/include SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DPYTHON_EXECUTABLE=%PYTHONBIN:\=/% SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DPYTHON_INCLUDE_DIR=%PYTHON_INCLUDE:\=/% SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_FIND_ROOT_PATH=ON -REM CMAKE_OPTIONS+=" -DSWIG_EXECUTABLE:PATH=$(which swig)" + +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCGNS_INCLUDE_DIR:PATH=%CGNS_ROOT_DIR:\=/%/include +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCGNS_LIBRARY:STRING=%CGNS_ROOT_DIR:\=/%/lib/cgnsdll.lib SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCGNS_INCLUDE_DIR:PATH=%CGNS_ROOT_DIR:\=/%/include @@ -107,12 +131,12 @@ if NOT %ERRORLEVEL% == 0 ( echo. echo ********************************************************************* -echo *** msbuild %MAKE_OPTIONS% /p:Configuration=%PRODUCT_BUILD_TYPE% /p:Platform=x64 ALL_BUILD.vcxproj +echo *** msbuild %MAKE_OPTIONS% /p:Configuration=%PRODUCT_BUILD_TYPE% /p:Platform=x64 /p:CharacterSet=Unicode ALL_BUILD.vcxproj echo ********************************************************************* echo. -msbuild %MAKE_OPTIONS% /p:Configuration=%PRODUCT_BUILD_TYPE% /p:Platform=x64 ALL_BUILD.vcxproj +msbuild %MAKE_OPTIONS% /p:Configuration=%PRODUCT_BUILD_TYPE% /p:Platform=x64 /p:CharacterSet=Unicode ALL_BUILD.vcxproj if NOT %ERRORLEVEL% == 0 ( echo ERROR on msbuild ALL_BUILD.vcxproj, please check! REM exit 2 @@ -124,7 +148,7 @@ echo *** installation... echo ********************************************************************* echo. -msbuild %MAKE_OPTIONS% /p:Configuration=%PRODUCT_BUILD_TYPE% /p:Platform=x64 INSTALL.vcxproj +msbuild %MAKE_OPTIONS% /p:Configuration=%PRODUCT_BUILD_TYPE% /p:Platform=x64 /p:CharacterSet=Unicode INSTALL.vcxproj if NOT %ERRORLEVEL% == 0 ( echo ERROR on msbuild INSTALL.vcxproj exit 3 diff --git a/products/compil_scripts/PyFMI-2.6.bat b/products/compil_scripts/PyFMI-2.6.bat new file mode 100644 index 0000000..fff8441 --- /dev/null +++ b/products/compil_scripts/PyFMI-2.6.bat @@ -0,0 +1,59 @@ +@echo off + +echo ########################################################################## +echo PyFMI %VERSION% +echo ########################################################################## + +SET INSTALL_CENTRALLY=1 +REM retrieve the PRODUCT name... +for %%i in (%PRODUCT_INSTALL%) do set "PRODUCT_NAME=%%~nxi" +echo ########################################################################## +echo *** Installing %PRODUCT_NAME% version: %VERSION% +echo ########################################################################## + +if NOT exist "%PRODUCT_INSTALL%" mkdir %PRODUCT_INSTALL% +REM clean BUILD directory +if exist "%BUILD_DIR%" rmdir /Q /S %BUILD_DIR% +mkdir %BUILD_DIR% + +cd %SOURCE_DIR% + +set INSTALL_LIB=%PRODUCT_INSTALL%\lib\python%PYTHON_VERSION%\site-packages +if NOT exist "%INSTALL_LIB%" mkdir %INSTALL_LIB% +set PYTHONPATH=%INSTALL_LIB%;%PYTHONPATH% + +echo. +echo ########################################################################## +echo *** Launching "python.exe setup.py build" +echo ########################################################################## + +%PYTHON_ROOT_DIR%\python.exe setup.py build --build-base %BUILD_DIR% --build-temp %BUILD_DIR% +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on setup.py build + exit 1 +) + +echo. +echo ########################################################################## +echo *** Launching "python.exe setup.py install" +echo ########################################################################## + +if %INSTALL_CENTRALLY% == 1 ( + %PYTHON_ROOT_DIR%\python.exe setup.py install +) else ( + %PYTHON_ROOT_DIR%\python.exe setup.py install --prefix=%PRODUCT_INSTALL% --install-lib=%INSTALL_LIB% +) + +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on setup.py install + exit 2 +) +if %INSTALL_CENTRALLY% == 1 ( + @echo off + @echo Product %PRODUCT_NAME% version: %VERSION%> %PRODUCT_INSTALL%\README.txt + @echo Installation folder: %PYTHON_ROOT_DIR%>> %PRODUCT_INSTALL%\README.txt +) + +echo. +echo ########## END + diff --git a/products/compil_scripts/openturns-1.20.1.bat b/products/compil_scripts/openturns-1.20.1.bat index 710ef25..9a19491 100644 --- a/products/compil_scripts/openturns-1.20.1.bat +++ b/products/compil_scripts/openturns-1.20.1.bat @@ -114,5 +114,78 @@ if NOT %ERRORLEVEL% == 0 ( exit 3 ) +set PATH=%PRODUCT_INSTALL%\bin;%PRODUCT_INSTALL%\lib;%PATH% +set PYTHONPATH=%PRODUCT_INSTALL%\lib\site-packages;%PYTHONPATH% + +echo ########################################################################## +echo otmorris 0.13 +echo ########################################################################## +cd %BUILD_DIR% +mkdir otmorris + +set CMAKE_OPTIONS_EXT=%CMAKE_OPTIONS% +cd %BUILD_DIR%\otmorris + +set MSBUILDDISABLENODEREUSE=1 + +echo. +echo ********************************************************************* +echo *** %CMAKE_ROOT%\bin\cmake %CMAKE_OPTIONS% %SOURCE_DIR%\otmorris-0.13 +echo ********************************************************************* +echo. + +%CMAKE_ROOT%\bin\cmake -G "Visual Studio 15 2017 Win64" %CMAKE_OPTIONS% %SOURCE_DIR%\otmorris-0.13 +if NOT %ERRORLEVEL% == 0 ( + echo "ERROR on cmake" + exit 1 +) + +echo. +echo ********************************************************************* +echo *** msbuild %MAKE_OPTIONS% /p:Configuration=%PRODUCT_BUILD_TYPE% /p:Platform=x64 ALL_BUILD.vcxproj + +echo ********************************************************************* +echo. + +REM ON PURPOSE, we CONTINUE if fails since the error are about porting some NR to Windows native build (openturns team uses mingw) +msbuild %MAKE_OPTIONS% /p:Configuration=%PRODUCT_BUILD_TYPE% /p:Platform=x64 ALL_BUILD.vcxproj +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on msbuild ALL_BUILD.vcxproj, please check! + REM exit 2 +) + +echo. +echo ********************************************************************* +echo *** installation... +echo ********************************************************************* +echo. + +msbuild %MAKE_OPTIONS% /p:Configuration=%PRODUCT_BUILD_TYPE% /p:Platform=x64 INSTALL.vcxproj +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on msbuild INSTALL.vcxproj + exit 3 +) + + +echo ########################################################################## +echo otfmi 0.15 +echo ########################################################################## +cd %BUILD_DIR% +mkdir otfmi + +set CMAKE_OPTIONS_EXT=%CMAKE_OPTIONS% +cd %BUILD_DIR%\otfmi +xcopy %SOURCE_DIR%\otfmi-0.15\* %BUILD_DIR%\otfmi /E /I /Q +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on xcopy + exit 3 +) + +REM %PYTHON_ROOT_DIR%\python.exe setup.py install --prefix=%PRODUCT_INSTALL% +REM if NOT %ERRORLEVEL% == 0 ( + REM echo ERROR on python setup.py + REM exit 3 +REM ) + echo echo "########## END" diff --git a/products/env_scripts/PERSALYS.py b/products/env_scripts/PERSALYS.py index 3d46788..f3724c4 100644 --- a/products/env_scripts/PERSALYS.py +++ b/products/env_scripts/PERSALYS.py @@ -6,6 +6,7 @@ def set_env(env, prereq_dir, version): env.set('PERSALYS_ROOT_DIR', prereq_dir) env.set('PERSALYS_VERSION',version) env.set('OTGUI_DIR', prereq_dir) + env.set('OTGUI_ROOT_DIR', prereq_dir) env.prepend('PATH', os.path.join(prereq_dir,'bin')) env.prepend('LD_LIBRARY_PATH', os.path.join(prereq_dir, 'lib')) env.prepend('PV_PLUGIN_PATH', os.path.join(prereq_dir, 'lib', pvversion, 'plugins')) diff --git a/products/env_scripts/openturns.py b/products/env_scripts/openturns.py index c1f6ad0..988da40 100644 --- a/products/env_scripts/openturns.py +++ b/products/env_scripts/openturns.py @@ -3,6 +3,7 @@ import os.path import platform def set_env(env, prereq_dir, version): env.set('OT_ROOT_DIR', prereq_dir) + env.set('OPENTURNS_HOME', prereq_dir) env.set('OT_HOME', prereq_dir) env.set('OT_VERSION',version) env.prepend('PATH', os.path.join(prereq_dir,'bin')) diff --git a/products/openturns.pyconf b/products/openturns.pyconf index 54ca69c..e24043c 100644 --- a/products/openturns.pyconf +++ b/products/openturns.pyconf @@ -24,6 +24,7 @@ default : default_win : { + name : "OT" compil_script : 'pip_install' + $VARS.scriptExtension properties : { @@ -45,10 +46,14 @@ version_1_20_1 : version_1_20_1_win : { + name : "OT" + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + 'openturns' + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name + install_dir : 'base' compil_script : "openturns-1.20.1.bat" depend : ['Python', 'openblas', 'hdf5', 'tbb', 'nlopt', 'libxml2', 'eigen', 'matplotlib'] opt_depend : [] - patches : ["openturns-1.20.1.004.patch"] + patches : ["openturns-1.20.1.0004.patch", "openturns-1.20.1.0005.patch"] properties : { single_install_dir : "no" @@ -167,7 +172,7 @@ version_1_19_win : version_1_19_UB22_04 : { compil_script : "openturns-1.19" + $VARS.scriptExtension - patches : ['openturns-1.19.0001.patch', 'openturns-1.19.0003.patch', 'openturns-1.19.0004.patch'] + patches : ['openturns-1.19.0001.patch', 'openturns-1.19.0003.patch'] depend : ['Python', 'lapack', 'hdf5', 'tbb', 'nlopt', 'libxml2', 'eigen', 'matplotlib', 'cminpack', 'FMILibrary', 'PyFMI'] opt_depend : ['pandas', 'statsmodels'] } diff --git a/products/patches/PERSALYS-v14.0.1-001.patch b/products/patches/PERSALYS-v14.0.1-001.patch new file mode 100644 index 0000000..80d1373 --- /dev/null +++ b/products/patches/PERSALYS-v14.0.1-001.patch @@ -0,0 +1,99 @@ +diff -Naur persalys_v14.0.1_ref/CMakeLists.txt persalys_v14.0.1_dev/CMakeLists.txt +--- persalys_v14.0.1_ref/CMakeLists.txt 2023-03-31 08:59:27.000000000 +0200 ++++ persalys_v14.0.1_dev/CMakeLists.txt 2023-05-22 09:09:43.385983013 +0200 +@@ -43,8 +43,19 @@ + list (APPEND PERSALYS_DEFINITIONS "-DPERSALYS_STATIC -DPYINTERP_STATIC -DPYCONSOLE_STATIC") + endif () + ++SET(BOOST_ROOT_DIR $ENV{BOOST_ROOT_DIR} CACHE PATH "Path to the Boost") ++if(EXISTS "${BOOST_ROOT_DIR}") ++ set(BOOST_ROOT "${BOOST_ROOT_DIR}" CACHE PATH "Boost root directory" FORCE) ++endif() ++set(Boost_USE_DEBUG_LIBS OFF) # ignore debug libs and ++set(Boost_USE_RELEASE_LIBS ON) # only find release libslist (APPEND PERSALYS_PRIVATE_LIBRARIES ${Boost_LIBRARIES}) + find_package (Boost COMPONENTS filesystem locale REQUIRED) +-list (APPEND PERSALYS_PRIVATE_LIBRARIES ${Boost_LIBRARIES}) ++if (TARGET Boost::filesystem) ++ set (Boost_LIBRARIES Boost::filesystem Boost::locale) ++ENDIF() ++ ++set(Boost_FILESYSTEM_LIBRARY_DEBUG "${BOOST_ROOT_DIR}/lib/boost_filesystem-vc141-mt-x64-1_67.lib" CACHE FILEPATH "" FORCE) ++set(Boost_FILESYSTEM_LIBRARY_RELEASE "${BOOST_ROOT_DIR}/lib/boost_filesystem-vc141-mt-x64-1_67.lib" CACHE FILEPATH "" FORCE) + + find_package (Python 3.5 COMPONENTS Interpreter Development REQUIRED) + list (APPEND PERSALYS_PUBLIC_LIBRARIES ${Python_LIBRARIES}) +diff -Naur persalys_v14.0.1_ref/cmake/FindQwt.cmake persalys_v14.0.1_dev/cmake/FindQwt.cmake +--- persalys_v14.0.1_ref/cmake/FindQwt.cmake 2023-03-31 08:59:27.000000000 +0200 ++++ persalys_v14.0.1_dev/cmake/FindQwt.cmake 2023-05-20 15:44:03.000000000 +0200 +@@ -78,6 +78,7 @@ + endif () + + ++SET(QWT_DEFINITIONS "-DQWT_DLL") + find_library (QWT_LIBRARY + NAMES qwt qwt-qt${QT_DEFAULT_MAJOR_VERSION} + HINTS ${QT_LIBRARY_DIR} +diff -Naur /export/home/catB/ng780475/PERSALYS_FINAL/1/persalys_v14.0.1_ref/lib/src/base/CMakeLists.txt /export/home/catB/ng780475/PERSALYS_FINAL/1/persalys_v14.0.1_dev/lib/src/base/CMakeLists.txt +--- /export/home/catB/ng780475/PERSALYS_FINAL/1/persalys_v14.0.1_ref/lib/src/base/CMakeLists.txt 2023-03-31 08:59:27.000000000 +0200 ++++ /export/home/catB/ng780475/PERSALYS_FINAL/1/persalys_v14.0.1_dev/lib/src/base/CMakeLists.txt 2023-05-22 09:13:05.971858911 +0200 +@@ -203,6 +203,7 @@ + else () + target_compile_definitions (persalysbase PUBLIC PERSALYS_BASE_STATIC) + endif () ++target_compile_options(persalysbase PUBLIC -DBOOST_ALL_DYN_LINK) + + target_include_directories (persalysbase PRIVATE ${Boost_INCLUDE_DIRS}) + target_include_directories (persalysbase PRIVATE ${Python_INCLUDE_DIRS}) +@@ -220,8 +221,8 @@ + set_target_properties (persalysbase PROPERTIES VERSION ${LIB_VERSION}) + set_target_properties (persalysbase PROPERTIES SOVERSION ${LIB_SOVERSION}) + +-target_link_libraries (persalysbase PUBLIC ${PERSALYS_PUBLIC_LIBRARIES}) +-target_link_libraries (persalysbase PRIVATE ${PERSALYS_PRIVATE_LIBRARIES}) ++target_link_libraries (persalysbase PUBLIC "${PERSALYS_PUBLIC_LIBRARIES};${Boost_LIBRARIES};${Boost_FILESYSTEM_LIBRARY_RELEASE}") ++target_link_libraries (persalysbase PRIVATE "${PERSALYS_PRIVATE_LIBRARIES};${Boost_LIBRARIES};${Boost_FILESYSTEM_LIBRARY_RELEASE}") + + install (TARGETS persalysbase + RUNTIME DESTINATION bin +diff -Naur /export/home/catB/ng780475/PERSALYS_FINAL/1/persalys_v14.0.1_ref/lib/src/view/plot/CMakeLists.txt /export/home/catB/ng780475/PERSALYS_FINAL/1/persalys_v14.0.1_dev/lib/src/view/plot/CMakeLists.txt +--- /export/home/catB/ng780475/PERSALYS_FINAL/1/persalys_v14.0.1_ref/lib/src/view/plot/CMakeLists.txt 2023-03-31 08:59:27.000000000 +0200 ++++ /export/home/catB/ng780475/PERSALYS_FINAL/1/persalys_v14.0.1_dev/lib/src/view/plot/CMakeLists.txt 2023-05-20 15:45:57.000000000 +0200 +@@ -47,9 +47,9 @@ + if (BUILD_SHARED_LIBS) + target_compile_definitions (persalysplot PRIVATE PERSALYS_PLOT_DLL_EXPORTS) + else () +- target_compile_definitions (persalysplot PUBLIC PERSALYS_PLOT_STATIC) ++ target_compile_definitions (persalysplot PUBLIC PERSALYS_PLOT_STATIC ) + endif () +- ++target_compile_options(persalysplot PUBLIC -DQWT_DLL) + if ( NOT DEFINED LIB_VERSION ) + set ( LIB_VERSION 0.0.0 ) + endif () +diff -Naur /export/home/catB/ng780475/PERSALYS_FINAL/1/persalys_v14.0.1_ref/lib/src/view/utils/persalys/TimeLineEdit.hxx /export/home/catB/ng780475/PERSALYS_FINAL/1/persalys_v14.0.1_dev/lib/src/view/utils/persalys/TimeLineEdit.hxx +--- /export/home/catB/ng780475/PERSALYS_FINAL/1/persalys_v14.0.1_ref/lib/src/view/utils/persalys/TimeLineEdit.hxx 2023-03-31 08:59:27.000000000 +0200 ++++ /export/home/catB/ng780475/PERSALYS_FINAL/1/persalys_v14.0.1_dev/lib/src/view/utils/persalys/TimeLineEdit.hxx 2023-05-20 14:53:23.000000000 +0200 +@@ -32,9 +32,9 @@ + + public: + // constructor with text +- TimeLineEdit(const QString text = "", QWidget *parent = 0); ++ TimeLineEdit(const QString &text, QWidget *parent = nullptr); + // constructor with seconds +- TimeLineEdit(const unsigned int seconds = 0, QWidget *parent = 0); ++ TimeLineEdit(const unsigned int seconds = 0, QWidget *parent = nullptr); + + int getSeconds() const; + void setSeconds(const int seconds); +diff -Naur /export/home/catB/ng780475/PERSALYS_FINAL/1/persalys_v14.0.1_ref/lib/src/view/utils/TimeLineEdit.cxx /export/home/catB/ng780475/PERSALYS_FINAL/1/persalys_v14.0.1_dev/lib/src/view/utils/TimeLineEdit.cxx +--- /export/home/catB/ng780475/PERSALYS_FINAL/1/persalys_v14.0.1_ref/lib/src/view/utils/TimeLineEdit.cxx 2023-03-31 08:59:27.000000000 +0200 ++++ /export/home/catB/ng780475/PERSALYS_FINAL/1/persalys_v14.0.1_dev/lib/src/view/utils/TimeLineEdit.cxx 2023-05-20 14:53:33.000000000 +0200 +@@ -26,7 +26,7 @@ + namespace PERSALYS + { + +-TimeLineEdit::TimeLineEdit(const QString text, QWidget *parent) ++TimeLineEdit::TimeLineEdit(const QString& text, QWidget *parent) + : QLineEdit(parent) + { + setInputMask("999\\d\\ 99\\h\\ 99\\m\\ 99\\s"); diff --git a/products/patches/cminpack-1.3.6-openblas.patch b/products/patches/cminpack-1.3.6-openblas.patch new file mode 100644 index 0000000..1128b55 --- /dev/null +++ b/products/patches/cminpack-1.3.6-openblas.patch @@ -0,0 +1,27 @@ +diff -Naur cminpack-1.3.6_ref/CMakeLists.txt cminpack-1.3.6_dev/CMakeLists.txt +--- cminpack-1.3.6_ref/CMakeLists.txt 2017-02-24 16:09:31.000000000 +0100 ++++ cminpack-1.3.6_dev/CMakeLists.txt 2023-05-22 09:19:37.416506078 +0200 +@@ -69,6 +69,8 @@ + + # Link with a BLAS library if requested + if (USE_BLAS) ++ SET(BLAS_ROOT_DIR $ENV{BLAS_ROOT_DIR} CACHE PATH "Path to the BLAS.") ++ SET(BLAS_INCLUDE_DIRS "${BLAS_ROOT_DIR}/include/openblas") + if (NOT BUILD_SHARED_LIBS) + set(BLA_STATIC True) + endif() +@@ -77,6 +79,7 @@ + target_link_libraries(cminpack PUBLIC ${BLAS_LIBRARIES}) + set_target_properties(cminpack PROPERTIES LINK_FLAGS "${BLAS_LINKER_FLAGS}") + target_compile_definitions(cminpack PUBLIC -DUSE_CBLAS) ++ include_directories(${BLAS_ROOT_DIR}/include/openblas) + endif() + endif() + +@@ -94,4 +97,4 @@ + set_target_properties(cminpack PROPERTIES VERSION ${CMINPACK_VERSION} SOVERSION ${CMINPACK_SOVERSION}) + + add_subdirectory (cmake) +-add_subdirectory (examples) +\ Pas de fin de ligne à la fin du fichier ++add_subdirectory (examples) diff --git a/products/patches/openturns-1.20.1.0004.patch b/products/patches/openturns-1.20.1.0004.patch new file mode 100644 index 0000000..1689f7d --- /dev/null +++ b/products/patches/openturns-1.20.1.0004.patch @@ -0,0 +1,31 @@ +diff -Naur openturns-1.20.1_ref/openturns-1.20.1/CMakeLists.txt openturns-1.20.1_dev/openturns-1.20.1/CMakeLists.txt +--- openturns-1.20.1_ref/openturns-1.20.1/CMakeLists.txt 2023-04-07 09:47:43.000000000 +0200 ++++ openturns-1.20.1_dev/openturns-1.20.1/CMakeLists.txt 2023-05-17 10:52:58.551422902 +0200 +@@ -40,6 +40,15 @@ + option (BUILD_PYTHON "Build the python module for the library" ON) + option (BUILD_SHARED_LIBS "Build shared libraries" ON) + ++ADD_DEFINITIONS(-D_CRT_SECURE_NO_WARNINGS) # To disable windows warnings for strcpy, fopen, ... ++ADD_DEFINITIONS(-D_SCL_SECURE_NO_WARNINGS) # To disable windows warnings generated by checked iterators(e.g. std::copy, std::transform, ...) ++ADD_DEFINITIONS(-DWNT -DWIN32) ++ADD_DEFINITIONS(-D_WIN32_WINNT=0x0500) # Windows 2000 or later API is required ++ADD_DEFINITIONS(-DPPRO_NT) ++ADD_DEFINITIONS(-DNOMINMAX) ++ ++SET(SWIG_ROOT_DIR $ENV{SWIG_ROOT_DIR} CACHE PATH "Path to the SWIG.") ++ + # Defines our own module path + list (APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake) + +diff -Naur openturns-1.20.1_ref/openturns-1.20.1/python/src/CMakeLists.txt openturns-1.20.1_dev/openturns-1.20.1/python/src/CMakeLists.txt +--- openturns-1.20.1_ref/openturns-1.20.1/python/src/CMakeLists.txt 2023-04-07 09:47:43.000000000 +0200 ++++ openturns-1.20.1_dev/openturns-1.20.1/python/src/CMakeLists.txt 2023-05-17 10:49:29.386285353 +0200 +@@ -16,7 +16,7 @@ + execute_process (COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/openturns) + add_custom_command (OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/openturns/swigpyrun.h + COMMAND ${SWIG_EXECUTABLE} +- ARGS -python -external-runtime ${CMAKE_CURRENT_BINARY_DIR}/openturns/swigpyrun.h ++ ARGS -I${SWIG_ROOT_DIR}/Lib -I${SWIG_ROOT_DIR}/Lib/python -python -external-runtime ${CMAKE_CURRENT_BINARY_DIR}/openturns/swigpyrun.h + COMMENT "Swig runtime header") + add_custom_target (generate_swig_runtime DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/openturns/swigpyrun.h) + add_custom_target (generate_docstrings) diff --git a/products/patches/openturns-1.20.1.0005.patch b/products/patches/openturns-1.20.1.0005.patch new file mode 100644 index 0000000..86bd26f --- /dev/null +++ b/products/patches/openturns-1.20.1.0005.patch @@ -0,0 +1,12 @@ +diff -Naur openturns-1.20.1_ref/openturns-1.20.1/lib/include/pthread_win32/pthread.h openturns-1.20.1_dev/openturns-1.20.1/lib/include/pthread_win32/pthread.h +--- openturns-1.20.1_ref/openturns-1.20.1/lib/include/pthread_win32/pthread.h 2023-04-07 09:47:43.000000000 +0200 ++++ openturns-1.20.1_dev/openturns-1.20.1/lib/include/pthread_win32/pthread.h 2023-05-21 18:06:49.000000000 +0200 +@@ -199,7 +199,7 @@ + static __inline int __pthread_mutex_alloc_concurrently (pthread_mutex_t *mutex) { + HANDLE mutex_init_mutex; + /* Get access to one global named mutex to serialize mutex initialization */ +- winPthreadAssertWindows((mutex_init_mutex = CreateMutex(NULL, FALSE, "StarPU mutex init"))); ++ winPthreadAssertWindows((mutex_init_mutex = CreateMutex(NULL, FALSE, NULL))); + winPthreadAssertPthread(pthread_mutex_lock(&mutex_init_mutex)); + /* Now we are the one that can initialize it */ + if (!*mutex) diff --git a/products/patches/openturns-1.20.1.004.patch b/products/patches/openturns-1.20.1.004.patch deleted file mode 100644 index 1689f7d..0000000 --- a/products/patches/openturns-1.20.1.004.patch +++ /dev/null @@ -1,31 +0,0 @@ -diff -Naur openturns-1.20.1_ref/openturns-1.20.1/CMakeLists.txt openturns-1.20.1_dev/openturns-1.20.1/CMakeLists.txt ---- openturns-1.20.1_ref/openturns-1.20.1/CMakeLists.txt 2023-04-07 09:47:43.000000000 +0200 -+++ openturns-1.20.1_dev/openturns-1.20.1/CMakeLists.txt 2023-05-17 10:52:58.551422902 +0200 -@@ -40,6 +40,15 @@ - option (BUILD_PYTHON "Build the python module for the library" ON) - option (BUILD_SHARED_LIBS "Build shared libraries" ON) - -+ADD_DEFINITIONS(-D_CRT_SECURE_NO_WARNINGS) # To disable windows warnings for strcpy, fopen, ... -+ADD_DEFINITIONS(-D_SCL_SECURE_NO_WARNINGS) # To disable windows warnings generated by checked iterators(e.g. std::copy, std::transform, ...) -+ADD_DEFINITIONS(-DWNT -DWIN32) -+ADD_DEFINITIONS(-D_WIN32_WINNT=0x0500) # Windows 2000 or later API is required -+ADD_DEFINITIONS(-DPPRO_NT) -+ADD_DEFINITIONS(-DNOMINMAX) -+ -+SET(SWIG_ROOT_DIR $ENV{SWIG_ROOT_DIR} CACHE PATH "Path to the SWIG.") -+ - # Defines our own module path - list (APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake) - -diff -Naur openturns-1.20.1_ref/openturns-1.20.1/python/src/CMakeLists.txt openturns-1.20.1_dev/openturns-1.20.1/python/src/CMakeLists.txt ---- openturns-1.20.1_ref/openturns-1.20.1/python/src/CMakeLists.txt 2023-04-07 09:47:43.000000000 +0200 -+++ openturns-1.20.1_dev/openturns-1.20.1/python/src/CMakeLists.txt 2023-05-17 10:49:29.386285353 +0200 -@@ -16,7 +16,7 @@ - execute_process (COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/openturns) - add_custom_command (OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/openturns/swigpyrun.h - COMMAND ${SWIG_EXECUTABLE} -- ARGS -python -external-runtime ${CMAKE_CURRENT_BINARY_DIR}/openturns/swigpyrun.h -+ ARGS -I${SWIG_ROOT_DIR}/Lib -I${SWIG_ROOT_DIR}/Lib/python -python -external-runtime ${CMAKE_CURRENT_BINARY_DIR}/openturns/swigpyrun.h - COMMENT "Swig runtime header") - add_custom_target (generate_swig_runtime DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/openturns/swigpyrun.h) - add_custom_target (generate_docstrings) diff --git a/products/patches/openturns_salome.001.patch b/products/patches/openturns_salome.001.patch new file mode 100644 index 0000000..5f499c2 --- /dev/null +++ b/products/patches/openturns_salome.001.patch @@ -0,0 +1,29 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7724e93..f6806ea 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -53,6 +53,7 @@ INCLUDE_DIRECTORIES( + ${GUI_INCLUDE_DIRS} + ${YACS_INCLUDE_DIRS} + ${PERSALYS_INCLUDE_DIRS} ++ ${OPENTURNS_HOME}/include + ) + + ADD_DEFINITIONS( +@@ -61,10 +62,15 @@ ADD_DEFINITIONS( + ${PYTHON_DEFINITIONS} + ) + ++FIND_LIBRARY(PERSALYS_base persalysbase ${PERSALYS_LIBRARY_DIRS}) + FIND_LIBRARY(PERSALYS_view persalysview ${PERSALYS_LIBRARY_DIRS}) ++FIND_LIBRARY(PERSALYS_plotpv persalysplotpv ${PERSALYS_LIBRARY_DIRS}) ++ ++FIND_LIBRARY(OPENTURNS_ot OT ${OPENTURNS_HOME}/lib) ++FIND_LIBRARY(OPENTURNS_otmorris otmorris ${OPENTURNS_HOME}/lib) + + ADD_LIBRARY(OPENTURNS ${OPENTURNS_SOURCES}) +-TARGET_LINK_LIBRARIES(OPENTURNS ${GUI_LightApp} ${PERSALYS_view}) ++TARGET_LINK_LIBRARIES(OPENTURNS ${GUI_LightApp} ${PERSALYS_view} ${PERSALYS_base} ${PERSALYS_plotpv} ${OPENTURNS_ot} ${OPENTURNS_otmorris} ) + INSTALL(TARGETS OPENTURNS DESTINATION lib/salome) + + SALOME_CONFIGURE_PREPARE(Qt5) diff --git a/products/patches/yacs.persalys-14.0.1.patch b/products/patches/yacs.persalys-14.0.1.patch new file mode 100644 index 0000000..2365f13 --- /dev/null +++ b/products/patches/yacs.persalys-14.0.1.patch @@ -0,0 +1,101 @@ +diff --git a/src/bases/Test/CMakeLists.txt b/src/bases/Test/CMakeLists.txt +index 35fba915..bfb4e46b 100644 +--- a/src/bases/Test/CMakeLists.txt ++++ b/src/bases/Test/CMakeLists.txt +@@ -42,6 +42,12 @@ SET(TestBases_SOURCES + + # --- rules --- + ++if(WIN32) ++ add_library(YACSDLTest_lib STATIC ${YACSDLTest_SOURCES}) ++ TARGET_LINK_LIBRARIES(YACSDLTest_lib ${_link_LIBRARIES}) ++ set_target_properties(YACSDLTest_lib PROPERTIES OUTPUT_NAME YACSDLTest) ++endif(WIN32) ++ + ADD_LIBRARY(YACSDLTest ${YACSDLTest_SOURCES}) + INSTALL(TARGETS YACSDLTest EXPORT ${PROJECT_NAME}TargetGroup + DESTINATION ${SALOME_YACS_INSTALL_TEST_LIB}) +diff --git a/src/engine/Plugin/CMakeLists.txt b/src/engine/Plugin/CMakeLists.txt +index 31026521..32451b92 100644 +--- a/src/engine/Plugin/CMakeLists.txt ++++ b/src/engine/Plugin/CMakeLists.txt +@@ -41,7 +41,11 @@ SET(PluginSimplex_SOURCES + ) + + # --- rules --- +- ++if(WIN32) ++ add_library(PluginSimplex_lib STATIC ${PluginSimplex_SOURCES}) ++ TARGET_LINK_LIBRARIES(PluginSimplex_lib ${_link_LIBRARIES}) ++ set_target_properties(PluginSimplex_lib PROPERTIES OUTPUT_NAME PluginSimplex) ++endif(WIN32) + ADD_LIBRARY(PluginSimplex ${PluginSimplex_SOURCES}) + TARGET_LINK_LIBRARIES(PluginSimplex YACSlibEngine) + INSTALL(TARGETS PluginSimplex EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS}) +diff --git a/src/engine/Test/CMakeLists.txt b/src/engine/Test/CMakeLists.txt +index a711cd0e..b089edbe 100644 +--- a/src/engine/Test/CMakeLists.txt ++++ b/src/engine/Test/CMakeLists.txt +@@ -63,7 +63,11 @@ SET(IntegrationTestEngine_SOURCES + ) + + # --- rules --- +- ++if(WIN32) ++ add_library(PluginOptEvTest1_lib STATIC ${PluginOptEvTest1_SOURCES}) ++ TARGET_LINK_LIBRARIES(PluginOptEvTest1_lib ${_link_LIBRARIES}) ++ set_target_properties(PluginOptEvTest1_lib PROPERTIES OUTPUT_NAME PluginOptEvTest1) ++endif(WIN32) + ADD_LIBRARY(PluginOptEvTest1 ${PluginOptEvTest1_SOURCES}) + TARGET_LINK_LIBRARIES(PluginOptEvTest1 YACSlibEngine) + INSTALL(TARGETS PluginOptEvTest1 EXPORT ${PROJECT_NAME}TargetGroup +diff --git a/src/runtime/CMakeLists.txt b/src/runtime/CMakeLists.txt +index 1ef9ffce..c19ad2a3 100644 +--- a/src/runtime/CMakeLists.txt ++++ b/src/runtime/CMakeLists.txt +@@ -221,7 +221,11 @@ SET(YACSRuntimeSALOME_SOURCES + ) + + # --- rules --- +- ++if(WIN32) ++ add_library(YACSRuntimeSALOME_lib STATIC ${YACSRuntimeSALOME_SOURCES}) ++ TARGET_LINK_LIBRARIES(YACSRuntimeSALOME_lib ${_link_LIBRARIES}) ++ set_target_properties(YACSRuntimeSALOME_lib PROPERTIES OUTPUT_NAME YACSRuntimeSALOME) ++endif(WIN32) + ADD_LIBRARY(YACSRuntimeSALOME ${YACSRuntimeSALOME_SOURCES}) + TARGET_LINK_LIBRARIES(YACSRuntimeSALOME ${_link_LIBRARIES}) + INSTALL(TARGETS YACSRuntimeSALOME EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS}) +diff --git a/src/runtime/Test/CMakeLists.txt b/src/runtime/Test/CMakeLists.txt +index d3549a5c..2775341e 100644 +--- a/src/runtime/Test/CMakeLists.txt ++++ b/src/runtime/Test/CMakeLists.txt +@@ -104,6 +104,12 @@ TARGET_LINK_LIBRARIES(runtimeTestEchoSrv runtime_echo ${OMNIORB_LIBRARIES}) + ADD_EXECUTABLE(echo_clt ${echo_clt_SOURCES}) + TARGET_LINK_LIBRARIES(echo_clt runtime_echo ${OMNIORB_LIBRARIES}) + ++if(WIN32) ++ add_library(TestComponentLocal_lib STATIC ${TestComponentLocal_SOURCES}) ++ TARGET_LINK_LIBRARIES(TestComponentLocal_lib ${_link_LIBRARIES}) ++ set_target_properties(TestComponentLocal_lib PROPERTIES OUTPUT_NAME TestComponentLocal) ++endif(WIN32) ++ + ADD_LIBRARY(TestComponentLocal ${TestComponentLocal_SOURCES}) + TARGET_LINK_LIBRARIES(TestComponentLocal YACSlibEngine) + +diff --git a/src/yacsloader/CMakeLists.txt b/src/yacsloader/CMakeLists.txt +index 70321898..3bf780e6 100644 +--- a/src/yacsloader/CMakeLists.txt ++++ b/src/yacsloader/CMakeLists.txt +@@ -153,6 +153,11 @@ SET(ExampleOfObserversPluginForDriver_SOURCES + + # --- rules --- + ++if(WIN32) ++ add_library(YACSloader_lib STATIC ${YACSRuntimeSALOME_SOURCES}) ++ TARGET_LINK_LIBRARIES(YACSloader_lib ${YACSloader_LIBRARIES}) ++ set_target_properties(YACSloader_lib PROPERTIES OUTPUT_NAME YACSloader) ++endif(WIN32) + ADD_LIBRARY(YACSloader ${YACSloader_SOURCES}) + TARGET_LINK_LIBRARIES(YACSloader ${YACSloader_LIBRARIES}) + INSTALL(TARGETS YACSloader EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS})