From 1325668075a219bf79a03cd5213e2f09bfbf8601 Mon Sep 17 00:00:00 2001 From: Allen Byrne <50328838+byrnHDF@users.noreply.github.com> Date: Thu, 19 Sep 2024 14:08:29 -0500 Subject: [PATCH] Merge CMake changes for Windows and release process (#4858) --- config/cmake/examples/HDF5_Examples.cmake.in | 8 ++++ release_docs/RELEASE_PROCESS.md | 41 +++++++++++++++++--- release_docs/USING_CMake_Examples.txt | 11 ++++-- 3 files changed, 52 insertions(+), 8 deletions(-) diff --git a/config/cmake/examples/HDF5_Examples.cmake.in b/config/cmake/examples/HDF5_Examples.cmake.in index d5a6051d346..962bfea147a 100644 --- a/config/cmake/examples/HDF5_Examples.cmake.in +++ b/config/cmake/examples/HDF5_Examples.cmake.in @@ -42,6 +42,14 @@ if(DEFINED CTEST_SCRIPT_ARG) endforeach() endif() +if(${CTEST_VSVERS} STREQUAL "64_VS2022") # 64-bit Visual Studio 2022 + set(CTEST_CMAKE_GENERATOR "Visual Studio 17 2022") + set(CMAKE_GENERATOR_ARCHITECTURE "x64") +elseif(${VS_VERS} STREQUAL "64_VS2019") # 64-bit Visual Studio 2019 + set(CTEST_CMAKE_GENERATOR "Visual Studio 16 2019") + set(CMAKE_GENERATOR_ARCHITECTURE "x64") +endif() + ################################################################### ### Following Line is one of [Release, RelWithDebInfo, Debug] ##### set(CTEST_CONFIGURATION_TYPE "$ENV{CMAKE_CONFIG_TYPE}") diff --git a/release_docs/RELEASE_PROCESS.md b/release_docs/RELEASE_PROCESS.md index 4dd9a1b7922..9f7043e24ec 100644 --- a/release_docs/RELEASE_PROCESS.md +++ b/release_docs/RELEASE_PROCESS.md @@ -122,12 +122,43 @@ For more information on the HDF5 versioning and backward and forward compatibili 12. Once binaries are ready to be tested, send an e-mail notification or update the Confluence test dashboard page indicating source and binary test assignments and when results should be made available. 13. Use the pre-release source packages to build and test HDF5 on assigned platforms by hand. Build both shared and static libraries, Fortran, C++, and szip, and any additional configurations required on specific remote platforms based on customer support needs. 14. Use the pre-release binary packages found in /mnt/scr1/pre-release/hdf5/vXYZ/pre-\/binaries/{UNIX, Windows} to test according to the binary testing procedures for your assigned platforms. -15. Scripted Testing: - - UNIX: [Scripted Binary Testing of HDF5 on UNIX systems (this is missing)]() - - Windows: [Testing HDF5 Binaries(this is missing)]() +15. Initial Testing: + - Installation Using Installer Binary + - Execute the install package + - Follow prompts + - Uncompress Directory Image Binary + - Extract the package + - After Installation + - The examples folder, HDF5Examples, located in the HDF5 install folder, can be built and tested with CMake and the supplied + HDF5_Examples.cmake file. The HDF5_Examples.cmake expects HDF5 to have been installed in the default location with same compilers (see the + libhdf5.settings file in the lib install folder). Also, the CMake utility should be installed. + + - To test the installation with the examples; + - Create a directory to run the examples. + - Copy HDF5Examples folder to this directory. + - Copy CTestScript.cmake to this directory. + - Copy HDF5_Examples.cmake to this directory. + - Copy HDF5_Examples_options.cmake to this directory. + - The default source folder is defined as "HDF5Examples". It can be changed with the CTEST_SOURCE_NAME script option. + - The default installation folder should be visible in the script. It can be changed with the INSTALLDIR script option. + - The default ctest configuration is defined as "Release". It can be changed + with the CTEST_CONFIGURATION_TYPE script option. Note that this must + be the same as the value used with the -C command line option. + - The default build configuration is defined to build and use static libraries. + Shared libraries can be used with the STATICONLYLIBRARIES script option set to "NO". + - Other options can be changed by editing the HDF5_Examples_options.cmake file. + - If the defaults are okay, execute from this directory: + - ctest -S HDF5_Examples.cmake -C Release -V -O test.log + - If the defaults need change, execute from this directory: + - ctest -S HDF5_Examples.cmake,CTEST_SOURCE_NAME=MyExamples,INSTALLDIR=MyLocation -C Release -V -O test.log + - When executed, the ctest script will save the results to the log file, test.log, as + indicated by the ctest command. If you wish to see more build and test information, + add "-VV" to the ctest command. The output should show; + 100% tests passed, 0 tests failed out of 206 (all options). + - For more information see USING_CMake_Examples.txt in the install folder. 16. Manual Testing (i.e. verifying correct test outcomes via visual inspection): - - Use this if UNIX test script is not reporting correct results, yet binaries look OK. - - UNIX: [Manual Binary Testing of HDF5 on Unix systems (this is missing)]() + - Inspect text documents for correct versions and names. + - Inspect the doxygen files in the share/html directory open index.html . 17. Update the test results Confluence page with status/outcome of all test assignments. 18. If any test source (hdf-forum, clients, internal testers, automated regression suite) identifies any issues: - a) Enter the issue in JIRA summarizing the failure if it is not already there. diff --git a/release_docs/USING_CMake_Examples.txt b/release_docs/USING_CMake_Examples.txt index 4d2dd3a8467..ceb113e4014 100644 --- a/release_docs/USING_CMake_Examples.txt +++ b/release_docs/USING_CMake_Examples.txt @@ -56,6 +56,11 @@ Default installation process: The default ctest configuration is defined as "Release". It can be changed with the CTEST_CONFIGURATION_TYPE script option. Note that this must be the same as the value used with the -C command line option. + On Windows, you can set the CTEST_VSVERS script option to either + 64_VS2022 or 64_VS2019. Alternately, you can set the script + CTEST_CMAKE_GENERATOR option to "Visual Studio 16 2019" or "Visual Studio 17 2022", + and the CMAKE_GENERATOR_ARCHITECTURE script option to "x64". + The default build configuration is defined to build and use static libraries. Shared libraries and other options can be changed by editing the @@ -69,15 +74,15 @@ Default installation process: When executed, the ctest script will save the results to the log file, test.log, as indicated by the ctest command. If you wish to see more build and test information, add "-VV" to the ctest command. The output should show; - 100% tests passed, 0 tests failed out of 156. + 100% tests passed, 0 tests failed out of 206. ======================================================================== III. Defaults in the HDF5_Examples_options.cmake file ======================================================================== -#### DEFAULT: ### -#### BUILD_SHARED_LIBS:BOOL=OFF ### +#### DEFAULT: ### +#### BUILD_SHARED_LIBS:BOOL=OFF ### #### H5EX_BUILD_C:BOOL=ON ### #### H5EX_BUILD_CXX:BOOL=OFF ### #### H5EX_BUILD_FORTRAN:BOOL=OFF ###