From 427aa235b29f7289381b73f209a1a6565ec6a2f6 Mon Sep 17 00:00:00 2001 From: Allen Byrne <50328838+byrnHDF@users.noreply.github.com> Date: Wed, 31 Jan 2024 09:18:07 -0600 Subject: [PATCH] Reorg the examples with CMake command flows like in HDF5 (#469) * Reorg examples folder and use techniques from HDF5 examples * Move files to examples * remove java examples references --- .../{hdf/examples => C}/AN/CMakeLists.txt | 42 +++---- .../examples => C}/AN/C_sourcefiles.cmake | 6 +- .../AN/h4ex_AN_create_annotation.c | 0 .../AN/h4ex_AN_get_annotation_info.c | 0 .../AN/h4ex_AN_read_annotation.c | 0 .../AN/testfiles/General_HDFobjects.hdf | Bin .../testfiles/h4ex_AN_create_annotation.ddl | 0 .../testfiles/h4ex_AN_create_annotation.tst | 0 .../testfiles/h4ex_AN_get_annotation_info.tst | 0 .../AN/testfiles/h4ex_AN_read_annotation.tst | 0 HDF4Examples/C/CMakeLists.txt | 11 ++ .../{hdf/examples => C}/GR/CMakeLists.txt | 42 +++---- .../examples => C}/GR/C_sourcefiles.cmake | 18 +-- .../h4ex_GR_create_and_write_chunked_image.c | 0 .../GR/h4ex_GR_create_and_write_image.c | 0 .../examples => C}/GR/h4ex_GR_get_attribute.c | 0 .../examples => C}/GR/h4ex_GR_image_info.c | 0 .../examples => C}/GR/h4ex_GR_modify_image.c | 0 .../examples => C}/GR/h4ex_GR_read_image.c | 0 .../examples => C}/GR/h4ex_GR_read_palette.c | 0 .../examples => C}/GR/h4ex_GR_set_attribute.c | 0 .../examples => C}/GR/h4ex_GR_write_palette.c | 0 .../GR/testfiles/General_RImages.hdf | Bin .../GR/testfiles/General_RImages2.hdf | Bin .../GR/testfiles/General_RImages3.hdf | Bin .../GR/testfiles/General_RImages4.hdf | Bin .../GR/testfiles/Image_with_Palette.hdf | Bin ...h4ex_GR_create_and_write_chunked_image.ddl | 0 ...h4ex_GR_create_and_write_chunked_image.tst | 0 .../h4ex_GR_create_and_write_image.ddl | 0 .../h4ex_GR_create_and_write_image.tst | 0 .../GR/testfiles/h4ex_GR_get_attribute.tst | 0 .../GR/testfiles/h4ex_GR_image_info.tst | 0 .../GR/testfiles/h4ex_GR_modify_image.tst | 0 .../GR/testfiles/h4ex_GR_read_image.tst | 0 .../GR/testfiles/h4ex_GR_read_palette.tst | 0 .../GR/testfiles/h4ex_GR_set_attribute.tst | 0 .../GR/testfiles/h4ex_GR_write_palette.ddl | 0 .../GR/testfiles/h4ex_GR_write_palette.tst | 0 HDF4Examples/{hdf/examples => C}/Makefile.am | 2 +- .../{mfhdf/examples => C/SD}/CMakeLists.txt | 7 +- HDF4Examples/C/SD/C_sourcefiles.cmake | 21 ++++ .../{mfhdf/examples => C/SD}/Makefile.am | 0 .../SD}/h4ex_SD_alter_sds_values.c | 0 .../SD}/h4ex_SD_chunking_example.c | 0 .../examples => C/SD}/h4ex_SD_compress_sds.c | 0 .../examples => C/SD}/h4ex_SD_create_sds.c | 0 .../SD}/h4ex_SD_dimscale_vs_sds.c | 0 .../SD}/h4ex_SD_find_sds_by_name.c | 0 .../examples => C/SD}/h4ex_SD_get_attr.c | 0 .../examples => C/SD}/h4ex_SD_get_info.c | 0 .../SD}/h4ex_SD_mv_sds_to_external.c | 0 .../examples => C/SD}/h4ex_SD_read_from_sds.c | 0 .../examples => C/SD}/h4ex_SD_read_subsets.c | 0 .../examples => C/SD}/h4ex_SD_set_attr.c | 0 .../SD}/h4ex_SD_set_get_dim_info.c | 0 .../examples => C/SD}/h4ex_SD_unlimited_sds.c | 0 .../examples => C/SD}/h4ex_SD_write_slab.c | 0 .../examples => C/SD}/h4ex_SD_write_to_sds.c | 0 .../examples => C/SD}/testexamples.sh.in | 0 .../{hdf/examples => C}/VD/CMakeLists.txt | 42 +++---- .../examples => C}/VD/C_sourcefiles.cmake | 20 ++-- .../VD/h4ex_VD_create_onefield_vdatas.c | 0 .../examples => C}/VD/h4ex_VD_create_vdatas.c | 0 .../VD/h4ex_VD_get_vdata_info.c | 0 .../examples => C}/VD/h4ex_VD_locate_vdata.c | 0 .../VD/h4ex_VD_read_from_vdata.c | 0 .../VD/h4ex_VD_read_mixed_vdata.c | 0 .../VD/h4ex_VD_set_get_vdata_attr.c | 0 .../VD/h4ex_VD_write_mixed_vdata.c | 0 .../VD/h4ex_VD_write_mixed_vdata_struct.c | 0 .../VD/h4ex_VD_write_to_vdata.c | 0 .../VD/testfiles/General_Vdatas.hdf | Bin .../VD/testfiles/General_Vdatas2.hdf | Bin .../VD/testfiles/General_Vdatas3.hdf | Bin .../VD/testfiles/Packed_Vdata.hdf | Bin .../VD/testfiles/Two_Vdatas.hdf | Bin .../VD/testfiles/h4ex_GR_image_info.tst | 0 .../h4ex_VD_create_onefield_vdatas.ddl | 0 .../h4ex_VD_create_onefield_vdatas.tst | 0 .../VD/testfiles/h4ex_VD_create_vdatas.ddl | 0 .../VD/testfiles/h4ex_VD_create_vdatas.tst | 0 .../VD/testfiles/h4ex_VD_get_vdata_info.tst | 0 .../VD/testfiles/h4ex_VD_locate_vdata.tst | 0 .../VD/testfiles/h4ex_VD_read_from_vdata.tst | 0 .../VD/testfiles/h4ex_VD_read_mixed_vdata.tst | 0 .../testfiles/h4ex_VD_set_get_vdata_attr.tst | Bin .../testfiles/h4ex_VD_write_mixed_vdata.ddl | 0 .../testfiles/h4ex_VD_write_mixed_vdata.tst | 0 .../h4ex_VD_write_mixed_vdata_struct.ddl | 0 .../h4ex_VD_write_mixed_vdata_struct.tst | 0 .../VD/testfiles/h4ex_VD_write_to_vdata.tst | 0 .../{hdf/examples => C}/VG/CMakeLists.txt | 90 +++++++++------ .../examples => C}/VG/C_sourcefiles.cmake | 14 ++- .../VG/h4ex_VG_add_sds_to_vgroup.c | 0 .../examples => C}/VG/h4ex_VG_create_vgroup.c | 0 .../VG/h4ex_VG_get_vgroup_info.c | 0 .../VG/h4ex_VG_insert_vdatas_to_vgroup.c | 0 .../VG/h4ex_VG_set_get_vgroup_attr.c | 0 .../VG/h4ex_VG_vgroup_contents.c | 0 .../VG/testfiles/General_Vgroups.hdf | Bin .../VG/testfiles/General_Vgroups2.hdf | Bin .../VG/testfiles/General_Vgroups3.hdf | Bin .../VG/testfiles/General_Vgroups4.hdf | Bin .../testfiles/h4ex_VG_add_sds_to_vgroup.ddl | 0 .../testfiles/h4ex_VG_add_sds_to_vgroup.tst | 0 .../VG/testfiles/h4ex_VG_create_vgroup.ddl | 0 .../VG/testfiles/h4ex_VG_create_vgroup.tst | 0 .../VG/testfiles/h4ex_VG_get_vgroup_info.tst | 0 .../h4ex_VG_insert_vdatas_to_vgroup.tst | 0 .../testfiles/h4ex_VG_set_get_vgroup_attr.tst | Bin .../VG/testfiles/h4ex_VG_vgroup_contents.tst | 0 HDF4Examples/CMakeLists.txt | 57 ++++++---- HDF4Examples/FORTRAN/AN/CMakeLists.txt | 79 ++++++++++++++ .../FORTRAN/AN/Fortran_sourcefiles.cmake | 8 ++ .../AN}/h4ex_AN_create_annotation.f | 0 .../AN}/h4ex_AN_get_annotation_info.f | 0 .../AN}/h4ex_AN_read_annotation.f | 0 HDF4Examples/FORTRAN/CMakeLists.txt | 11 ++ HDF4Examples/FORTRAN/GR/CMakeLists.txt | 79 ++++++++++++++ .../FORTRAN/GR/Fortran_sourcefiles.cmake | 13 +++ .../h4ex_GR_create_and_write_chunked_image.f | 0 .../GR}/h4ex_GR_create_and_write_image.f | 0 .../GR}/h4ex_GR_get_attribute.f | 0 .../GR}/h4ex_GR_image_info.f | 0 .../GR}/h4ex_GR_modify_image.f | 0 .../GR}/h4ex_GR_read_image.f | 0 .../GR}/h4ex_GR_read_palette.f | 0 .../GR}/h4ex_GR_set_attribute.f | 0 .../GR}/h4ex_GR_write_palette.f | 0 .../fortran => FORTRAN/SD}/CMakeLists.txt | 50 ++++----- .../FORTRAN/SD/Fortran_sourcefiles.cmake | 26 +++++ .../{mfhdf/fortran => FORTRAN/SD}/Makefile.am | 0 .../SD}/h4ex_SD_alter_sds_values.f | 0 .../SD}/h4ex_SD_chunking_example.f | 0 .../SD}/h4ex_SD_compress_sds.f | 0 .../SD}/h4ex_SD_create_sds.f | 0 .../SD}/h4ex_SD_dimscale_vs_sds.f | 0 .../SD}/h4ex_SD_find_sds_by_name.f | 0 .../fortran => FORTRAN/SD}/h4ex_SD_get_attr.f | 0 .../fortran => FORTRAN/SD}/h4ex_SD_get_info.f | 0 .../SD}/h4ex_SD_mv_sds_to_external.f | 0 .../SD}/h4ex_SD_read_from_sds.f | 0 .../SD}/h4ex_SD_read_subsets.f | 0 .../fortran => FORTRAN/SD}/h4ex_SD_set_attr.f | 0 .../SD}/h4ex_SD_set_get_dim_info.f | 0 .../SD}/h4ex_SD_unlimited_sds.f | 0 .../SD}/h4ex_SD_write_slab.f | 0 .../SD}/h4ex_SD_write_to_sds.f | 0 HDF4Examples/FORTRAN/VD/CMakeLists.txt | 91 ++++++++++++++++ .../FORTRAN/VD/Fortran_sourcefiles.cmake | 17 +++ .../VD}/h4ex_VD_create_onefield_vdatas.f | 0 .../VD}/h4ex_VD_create_vdatas.f | 0 .../VD}/h4ex_VD_get_vdata_info.f | 0 .../VD}/h4ex_VD_locate_vdata.f | 0 .../VD}/h4ex_VD_read_from_vdata.f | 0 .../VD}/h4ex_VD_read_mixed_vdata.f | 0 .../VD}/h4ex_VD_set_get_vdata_attr.f | 0 .../VD}/h4ex_VD_write_mixed_vdata.f | 0 .../VD}/h4ex_VD_write_to_vdata.f | 0 .../fortran => FORTRAN/VG}/CMakeLists.txt | 79 ++++++-------- .../FORTRAN/VG/Fortran_sourcefiles.cmake | 13 +++ .../VG}/h4ex_VG_add_sds_to_vgroup.f | 0 .../VG}/h4ex_VG_create_vgroup.f | 0 .../VG}/h4ex_VG_get_vgroup_info.f | 0 .../VG}/h4ex_VG_insert_vdatas_to_vgroup.f | 0 .../VG}/h4ex_VG_set_get_vgroup_attr.f | 0 .../VG}/h4ex_VG_vgroup_contents.f | 0 HDF4Examples/JAVA/CMakeLists.txt | 8 +- HDF4Examples/JAVA/exAN/CMakeLists.txt | 29 +++-- HDF4Examples/JAVA/exGR/CMakeLists.txt | 29 +++-- HDF4Examples/JAVA/exJ/CMakeLists.txt | 103 ++++++++++++++++++ .../JAVA/exJ}/HDF4DatasetCreate.java | 2 - .../JAVA/exJ}/HDF4FileCreate.java | 3 +- .../JAVA/exJ}/HDF4GroupCreate.java | 3 +- .../JAVA/exJ}/Makefile.am | 0 .../JAVA/exJ}/VDReadFromVdata.java | 2 - .../JAVA/exJ}/VDWriteToVdata.java | 3 +- .../JAVA/exJ/testfiles/HDF4DatasetCreate.txt | 4 + .../JAVA/exJ/testfiles/HDF4FileCreate.txt | 0 .../JAVA/exJ/testfiles/HDF4GroupCreate.txt | 0 .../JAVA/exJ/testfiles/VDReadFromVdata.txt | 6 + .../JAVA/exJ/testfiles/VDWriteToVdata.txt | 0 HDF4Examples/JAVA/exSD/CMakeLists.txt | 29 +++-- HDF4Examples/JAVA/exVD/CMakeLists.txt | 29 +++-- .../config/cmake/HDFExampleMacros.cmake | 98 +---------------- HDF4Examples/config/cmake/UseJava.cmake | 2 +- HDF4Examples/config/cmake/cacheinit.cmake | 2 - HDF4Examples/hdf/CMakeLists.txt | 10 -- HDF4Examples/hdf/examples/CMakeLists.txt | 10 -- .../hdf/fortran/Fortran_sourcefiles.cmake | 37 ------- HDF4Examples/hdf/fortran/Makefile.am | 82 -------------- HDF4Examples/mfhdf/CMakeLists.txt | 10 -- .../mfhdf/examples/C_sourcefiles.cmake | 21 ---- .../mfhdf/fortran/Fortran_sourcefiles.cmake | 26 ----- config/cmake/HDF4ExampleCache.cmake | 4 + config/cmake/HDFMacros.cmake | 4 +- config/cmake/JPEG/CMakeLists.txt | 4 +- config/cmake/LIBAEC/CMakeLists.txt | 4 +- config/cmake/UseJava.cmake | 99 ++++++++++++++++- config/cmake/ZLIB/CMakeLists.txt | 4 +- config/cmake/javaTargets.cmake.in | 3 +- config/cmake/mccacheinit.cmake | 8 +- configure.ac | 6 +- doxygen/dox/rm-template.dox | 4 +- java/CMakeLists.txt | 7 -- java/Makefile.am | 2 +- java/examples/CMakeLists.txt | 96 ---------------- 208 files changed, 904 insertions(+), 727 deletions(-) rename HDF4Examples/{hdf/examples => C}/AN/CMakeLists.txt (70%) rename HDF4Examples/{hdf/examples => C}/AN/C_sourcefiles.cmake (75%) rename HDF4Examples/{hdf/examples => C}/AN/h4ex_AN_create_annotation.c (100%) rename HDF4Examples/{hdf/examples => C}/AN/h4ex_AN_get_annotation_info.c (100%) rename HDF4Examples/{hdf/examples => C}/AN/h4ex_AN_read_annotation.c (100%) rename HDF4Examples/{hdf/examples => C}/AN/testfiles/General_HDFobjects.hdf (100%) rename HDF4Examples/{hdf/examples => C}/AN/testfiles/h4ex_AN_create_annotation.ddl (100%) rename HDF4Examples/{hdf/examples => C}/AN/testfiles/h4ex_AN_create_annotation.tst (100%) rename HDF4Examples/{hdf/examples => C}/AN/testfiles/h4ex_AN_get_annotation_info.tst (100%) rename HDF4Examples/{hdf/examples => C}/AN/testfiles/h4ex_AN_read_annotation.tst (100%) create mode 100644 HDF4Examples/C/CMakeLists.txt rename HDF4Examples/{hdf/examples => C}/GR/CMakeLists.txt (70%) rename HDF4Examples/{hdf/examples => C}/GR/C_sourcefiles.cmake (59%) rename HDF4Examples/{hdf/examples => C}/GR/h4ex_GR_create_and_write_chunked_image.c (100%) rename HDF4Examples/{hdf/examples => C}/GR/h4ex_GR_create_and_write_image.c (100%) rename HDF4Examples/{hdf/examples => C}/GR/h4ex_GR_get_attribute.c (100%) rename HDF4Examples/{hdf/examples => C}/GR/h4ex_GR_image_info.c (100%) rename HDF4Examples/{hdf/examples => C}/GR/h4ex_GR_modify_image.c (100%) rename HDF4Examples/{hdf/examples => C}/GR/h4ex_GR_read_image.c (100%) rename HDF4Examples/{hdf/examples => C}/GR/h4ex_GR_read_palette.c (100%) rename HDF4Examples/{hdf/examples => C}/GR/h4ex_GR_set_attribute.c (100%) rename HDF4Examples/{hdf/examples => C}/GR/h4ex_GR_write_palette.c (100%) rename HDF4Examples/{hdf/examples => C}/GR/testfiles/General_RImages.hdf (100%) rename HDF4Examples/{hdf/examples => C}/GR/testfiles/General_RImages2.hdf (100%) rename HDF4Examples/{hdf/examples => C}/GR/testfiles/General_RImages3.hdf (100%) rename HDF4Examples/{hdf/examples => C}/GR/testfiles/General_RImages4.hdf (100%) rename HDF4Examples/{hdf/examples => C}/GR/testfiles/Image_with_Palette.hdf (100%) rename HDF4Examples/{hdf/examples => C}/GR/testfiles/h4ex_GR_create_and_write_chunked_image.ddl (100%) rename HDF4Examples/{hdf/examples => C}/GR/testfiles/h4ex_GR_create_and_write_chunked_image.tst (100%) rename HDF4Examples/{hdf/examples => C}/GR/testfiles/h4ex_GR_create_and_write_image.ddl (100%) rename HDF4Examples/{hdf/examples => C}/GR/testfiles/h4ex_GR_create_and_write_image.tst (100%) rename HDF4Examples/{hdf/examples => C}/GR/testfiles/h4ex_GR_get_attribute.tst (100%) rename HDF4Examples/{hdf/examples => C}/GR/testfiles/h4ex_GR_image_info.tst (100%) rename HDF4Examples/{hdf/examples => C}/GR/testfiles/h4ex_GR_modify_image.tst (100%) rename HDF4Examples/{hdf/examples => C}/GR/testfiles/h4ex_GR_read_image.tst (100%) rename HDF4Examples/{hdf/examples => C}/GR/testfiles/h4ex_GR_read_palette.tst (100%) rename HDF4Examples/{hdf/examples => C}/GR/testfiles/h4ex_GR_set_attribute.tst (100%) rename HDF4Examples/{hdf/examples => C}/GR/testfiles/h4ex_GR_write_palette.ddl (100%) rename HDF4Examples/{hdf/examples => C}/GR/testfiles/h4ex_GR_write_palette.tst (100%) rename HDF4Examples/{hdf/examples => C}/Makefile.am (99%) rename HDF4Examples/{mfhdf/examples => C/SD}/CMakeLists.txt (90%) create mode 100644 HDF4Examples/C/SD/C_sourcefiles.cmake rename HDF4Examples/{mfhdf/examples => C/SD}/Makefile.am (100%) rename HDF4Examples/{mfhdf/examples => C/SD}/h4ex_SD_alter_sds_values.c (100%) rename HDF4Examples/{mfhdf/examples => C/SD}/h4ex_SD_chunking_example.c (100%) rename HDF4Examples/{mfhdf/examples => C/SD}/h4ex_SD_compress_sds.c (100%) rename HDF4Examples/{mfhdf/examples => C/SD}/h4ex_SD_create_sds.c (100%) rename HDF4Examples/{mfhdf/examples => C/SD}/h4ex_SD_dimscale_vs_sds.c (100%) rename HDF4Examples/{mfhdf/examples => C/SD}/h4ex_SD_find_sds_by_name.c (100%) rename HDF4Examples/{mfhdf/examples => C/SD}/h4ex_SD_get_attr.c (100%) rename HDF4Examples/{mfhdf/examples => C/SD}/h4ex_SD_get_info.c (100%) rename HDF4Examples/{mfhdf/examples => C/SD}/h4ex_SD_mv_sds_to_external.c (100%) rename HDF4Examples/{mfhdf/examples => C/SD}/h4ex_SD_read_from_sds.c (100%) rename HDF4Examples/{mfhdf/examples => C/SD}/h4ex_SD_read_subsets.c (100%) rename HDF4Examples/{mfhdf/examples => C/SD}/h4ex_SD_set_attr.c (100%) rename HDF4Examples/{mfhdf/examples => C/SD}/h4ex_SD_set_get_dim_info.c (100%) rename HDF4Examples/{mfhdf/examples => C/SD}/h4ex_SD_unlimited_sds.c (100%) rename HDF4Examples/{mfhdf/examples => C/SD}/h4ex_SD_write_slab.c (100%) rename HDF4Examples/{mfhdf/examples => C/SD}/h4ex_SD_write_to_sds.c (100%) rename HDF4Examples/{mfhdf/examples => C/SD}/testexamples.sh.in (100%) rename HDF4Examples/{hdf/examples => C}/VD/CMakeLists.txt (70%) rename HDF4Examples/{hdf/examples => C}/VD/C_sourcefiles.cmake (52%) rename HDF4Examples/{hdf/examples => C}/VD/h4ex_VD_create_onefield_vdatas.c (100%) rename HDF4Examples/{hdf/examples => C}/VD/h4ex_VD_create_vdatas.c (100%) rename HDF4Examples/{hdf/examples => C}/VD/h4ex_VD_get_vdata_info.c (100%) rename HDF4Examples/{hdf/examples => C}/VD/h4ex_VD_locate_vdata.c (100%) rename HDF4Examples/{hdf/examples => C}/VD/h4ex_VD_read_from_vdata.c (100%) rename HDF4Examples/{hdf/examples => C}/VD/h4ex_VD_read_mixed_vdata.c (100%) rename HDF4Examples/{hdf/examples => C}/VD/h4ex_VD_set_get_vdata_attr.c (100%) rename HDF4Examples/{hdf/examples => C}/VD/h4ex_VD_write_mixed_vdata.c (100%) rename HDF4Examples/{hdf/examples => C}/VD/h4ex_VD_write_mixed_vdata_struct.c (100%) rename HDF4Examples/{hdf/examples => C}/VD/h4ex_VD_write_to_vdata.c (100%) rename HDF4Examples/{hdf/examples => C}/VD/testfiles/General_Vdatas.hdf (100%) rename HDF4Examples/{hdf/examples => C}/VD/testfiles/General_Vdatas2.hdf (100%) rename HDF4Examples/{hdf/examples => C}/VD/testfiles/General_Vdatas3.hdf (100%) rename HDF4Examples/{hdf/examples => C}/VD/testfiles/Packed_Vdata.hdf (100%) rename HDF4Examples/{hdf/examples => C}/VD/testfiles/Two_Vdatas.hdf (100%) rename HDF4Examples/{hdf/examples => C}/VD/testfiles/h4ex_GR_image_info.tst (100%) rename HDF4Examples/{hdf/examples => C}/VD/testfiles/h4ex_VD_create_onefield_vdatas.ddl (100%) rename HDF4Examples/{hdf/examples => C}/VD/testfiles/h4ex_VD_create_onefield_vdatas.tst (100%) rename HDF4Examples/{hdf/examples => C}/VD/testfiles/h4ex_VD_create_vdatas.ddl (100%) rename HDF4Examples/{hdf/examples => C}/VD/testfiles/h4ex_VD_create_vdatas.tst (100%) rename HDF4Examples/{hdf/examples => C}/VD/testfiles/h4ex_VD_get_vdata_info.tst (100%) rename HDF4Examples/{hdf/examples => C}/VD/testfiles/h4ex_VD_locate_vdata.tst (100%) rename HDF4Examples/{hdf/examples => C}/VD/testfiles/h4ex_VD_read_from_vdata.tst (100%) rename HDF4Examples/{hdf/examples => C}/VD/testfiles/h4ex_VD_read_mixed_vdata.tst (100%) rename HDF4Examples/{hdf/examples => C}/VD/testfiles/h4ex_VD_set_get_vdata_attr.tst (100%) rename HDF4Examples/{hdf/examples => C}/VD/testfiles/h4ex_VD_write_mixed_vdata.ddl (100%) rename HDF4Examples/{hdf/examples => C}/VD/testfiles/h4ex_VD_write_mixed_vdata.tst (100%) rename HDF4Examples/{hdf/examples => C}/VD/testfiles/h4ex_VD_write_mixed_vdata_struct.ddl (100%) rename HDF4Examples/{hdf/examples => C}/VD/testfiles/h4ex_VD_write_mixed_vdata_struct.tst (100%) rename HDF4Examples/{hdf/examples => C}/VD/testfiles/h4ex_VD_write_to_vdata.tst (100%) rename HDF4Examples/{hdf/examples => C}/VG/CMakeLists.txt (50%) rename HDF4Examples/{hdf/examples => C}/VG/C_sourcefiles.cmake (65%) rename HDF4Examples/{hdf/examples => C}/VG/h4ex_VG_add_sds_to_vgroup.c (100%) rename HDF4Examples/{hdf/examples => C}/VG/h4ex_VG_create_vgroup.c (100%) rename HDF4Examples/{hdf/examples => C}/VG/h4ex_VG_get_vgroup_info.c (100%) rename HDF4Examples/{hdf/examples => C}/VG/h4ex_VG_insert_vdatas_to_vgroup.c (100%) rename HDF4Examples/{hdf/examples => C}/VG/h4ex_VG_set_get_vgroup_attr.c (100%) rename HDF4Examples/{hdf/examples => C}/VG/h4ex_VG_vgroup_contents.c (100%) rename HDF4Examples/{hdf/examples => C}/VG/testfiles/General_Vgroups.hdf (100%) rename HDF4Examples/{hdf/examples => C}/VG/testfiles/General_Vgroups2.hdf (100%) rename HDF4Examples/{hdf/examples => C}/VG/testfiles/General_Vgroups3.hdf (100%) rename HDF4Examples/{hdf/examples => C}/VG/testfiles/General_Vgroups4.hdf (100%) rename HDF4Examples/{hdf/examples => C}/VG/testfiles/h4ex_VG_add_sds_to_vgroup.ddl (100%) rename HDF4Examples/{hdf/examples => C}/VG/testfiles/h4ex_VG_add_sds_to_vgroup.tst (100%) rename HDF4Examples/{hdf/examples => C}/VG/testfiles/h4ex_VG_create_vgroup.ddl (100%) rename HDF4Examples/{hdf/examples => C}/VG/testfiles/h4ex_VG_create_vgroup.tst (100%) rename HDF4Examples/{hdf/examples => C}/VG/testfiles/h4ex_VG_get_vgroup_info.tst (100%) rename HDF4Examples/{hdf/examples => C}/VG/testfiles/h4ex_VG_insert_vdatas_to_vgroup.tst (100%) rename HDF4Examples/{hdf/examples => C}/VG/testfiles/h4ex_VG_set_get_vgroup_attr.tst (100%) rename HDF4Examples/{hdf/examples => C}/VG/testfiles/h4ex_VG_vgroup_contents.tst (100%) create mode 100644 HDF4Examples/FORTRAN/AN/CMakeLists.txt create mode 100644 HDF4Examples/FORTRAN/AN/Fortran_sourcefiles.cmake rename HDF4Examples/{hdf/fortran => FORTRAN/AN}/h4ex_AN_create_annotation.f (100%) rename HDF4Examples/{hdf/fortran => FORTRAN/AN}/h4ex_AN_get_annotation_info.f (100%) rename HDF4Examples/{hdf/fortran => FORTRAN/AN}/h4ex_AN_read_annotation.f (100%) create mode 100644 HDF4Examples/FORTRAN/CMakeLists.txt create mode 100644 HDF4Examples/FORTRAN/GR/CMakeLists.txt create mode 100644 HDF4Examples/FORTRAN/GR/Fortran_sourcefiles.cmake rename HDF4Examples/{hdf/fortran => FORTRAN/GR}/h4ex_GR_create_and_write_chunked_image.f (100%) rename HDF4Examples/{hdf/fortran => FORTRAN/GR}/h4ex_GR_create_and_write_image.f (100%) rename HDF4Examples/{hdf/fortran => FORTRAN/GR}/h4ex_GR_get_attribute.f (100%) rename HDF4Examples/{hdf/fortran => FORTRAN/GR}/h4ex_GR_image_info.f (100%) rename HDF4Examples/{hdf/fortran => FORTRAN/GR}/h4ex_GR_modify_image.f (100%) rename HDF4Examples/{hdf/fortran => FORTRAN/GR}/h4ex_GR_read_image.f (100%) rename HDF4Examples/{hdf/fortran => FORTRAN/GR}/h4ex_GR_read_palette.f (100%) rename HDF4Examples/{hdf/fortran => FORTRAN/GR}/h4ex_GR_set_attribute.f (100%) rename HDF4Examples/{hdf/fortran => FORTRAN/GR}/h4ex_GR_write_palette.f (100%) rename HDF4Examples/{mfhdf/fortran => FORTRAN/SD}/CMakeLists.txt (50%) create mode 100644 HDF4Examples/FORTRAN/SD/Fortran_sourcefiles.cmake rename HDF4Examples/{mfhdf/fortran => FORTRAN/SD}/Makefile.am (100%) rename HDF4Examples/{mfhdf/fortran => FORTRAN/SD}/h4ex_SD_alter_sds_values.f (100%) rename HDF4Examples/{mfhdf/fortran => FORTRAN/SD}/h4ex_SD_chunking_example.f (100%) rename HDF4Examples/{mfhdf/fortran => FORTRAN/SD}/h4ex_SD_compress_sds.f (100%) rename HDF4Examples/{mfhdf/fortran => FORTRAN/SD}/h4ex_SD_create_sds.f (100%) rename HDF4Examples/{mfhdf/fortran => FORTRAN/SD}/h4ex_SD_dimscale_vs_sds.f (100%) rename HDF4Examples/{mfhdf/fortran => FORTRAN/SD}/h4ex_SD_find_sds_by_name.f (100%) rename HDF4Examples/{mfhdf/fortran => FORTRAN/SD}/h4ex_SD_get_attr.f (100%) rename HDF4Examples/{mfhdf/fortran => FORTRAN/SD}/h4ex_SD_get_info.f (100%) rename HDF4Examples/{mfhdf/fortran => FORTRAN/SD}/h4ex_SD_mv_sds_to_external.f (100%) rename HDF4Examples/{mfhdf/fortran => FORTRAN/SD}/h4ex_SD_read_from_sds.f (100%) rename HDF4Examples/{mfhdf/fortran => FORTRAN/SD}/h4ex_SD_read_subsets.f (100%) rename HDF4Examples/{mfhdf/fortran => FORTRAN/SD}/h4ex_SD_set_attr.f (100%) rename HDF4Examples/{mfhdf/fortran => FORTRAN/SD}/h4ex_SD_set_get_dim_info.f (100%) rename HDF4Examples/{mfhdf/fortran => FORTRAN/SD}/h4ex_SD_unlimited_sds.f (100%) rename HDF4Examples/{mfhdf/fortran => FORTRAN/SD}/h4ex_SD_write_slab.f (100%) rename HDF4Examples/{mfhdf/fortran => FORTRAN/SD}/h4ex_SD_write_to_sds.f (100%) create mode 100644 HDF4Examples/FORTRAN/VD/CMakeLists.txt create mode 100644 HDF4Examples/FORTRAN/VD/Fortran_sourcefiles.cmake rename HDF4Examples/{hdf/fortran => FORTRAN/VD}/h4ex_VD_create_onefield_vdatas.f (100%) rename HDF4Examples/{hdf/fortran => FORTRAN/VD}/h4ex_VD_create_vdatas.f (100%) rename HDF4Examples/{hdf/fortran => FORTRAN/VD}/h4ex_VD_get_vdata_info.f (100%) rename HDF4Examples/{hdf/fortran => FORTRAN/VD}/h4ex_VD_locate_vdata.f (100%) rename HDF4Examples/{hdf/fortran => FORTRAN/VD}/h4ex_VD_read_from_vdata.f (100%) rename HDF4Examples/{hdf/fortran => FORTRAN/VD}/h4ex_VD_read_mixed_vdata.f (100%) rename HDF4Examples/{hdf/fortran => FORTRAN/VD}/h4ex_VD_set_get_vdata_attr.f (100%) rename HDF4Examples/{hdf/fortran => FORTRAN/VD}/h4ex_VD_write_mixed_vdata.f (100%) rename HDF4Examples/{hdf/fortran => FORTRAN/VD}/h4ex_VD_write_to_vdata.f (100%) rename HDF4Examples/{hdf/fortran => FORTRAN/VG}/CMakeLists.txt (53%) create mode 100644 HDF4Examples/FORTRAN/VG/Fortran_sourcefiles.cmake rename HDF4Examples/{hdf/fortran => FORTRAN/VG}/h4ex_VG_add_sds_to_vgroup.f (100%) rename HDF4Examples/{hdf/fortran => FORTRAN/VG}/h4ex_VG_create_vgroup.f (100%) rename HDF4Examples/{hdf/fortran => FORTRAN/VG}/h4ex_VG_get_vgroup_info.f (100%) rename HDF4Examples/{hdf/fortran => FORTRAN/VG}/h4ex_VG_insert_vdatas_to_vgroup.f (100%) rename HDF4Examples/{hdf/fortran => FORTRAN/VG}/h4ex_VG_set_get_vgroup_attr.f (100%) rename HDF4Examples/{hdf/fortran => FORTRAN/VG}/h4ex_VG_vgroup_contents.f (100%) create mode 100644 HDF4Examples/JAVA/exJ/CMakeLists.txt rename {java/examples => HDF4Examples/JAVA/exJ}/HDF4DatasetCreate.java (99%) rename {java/examples => HDF4Examples/JAVA/exJ}/HDF4FileCreate.java (97%) rename {java/examples => HDF4Examples/JAVA/exJ}/HDF4GroupCreate.java (98%) rename {java/examples => HDF4Examples/JAVA/exJ}/Makefile.am (100%) rename {java/examples => HDF4Examples/JAVA/exJ}/VDReadFromVdata.java (99%) rename {java/examples => HDF4Examples/JAVA/exJ}/VDWriteToVdata.java (99%) create mode 100644 HDF4Examples/JAVA/exJ/testfiles/HDF4DatasetCreate.txt create mode 100644 HDF4Examples/JAVA/exJ/testfiles/HDF4FileCreate.txt create mode 100644 HDF4Examples/JAVA/exJ/testfiles/HDF4GroupCreate.txt create mode 100644 HDF4Examples/JAVA/exJ/testfiles/VDReadFromVdata.txt create mode 100644 HDF4Examples/JAVA/exJ/testfiles/VDWriteToVdata.txt delete mode 100644 HDF4Examples/hdf/CMakeLists.txt delete mode 100644 HDF4Examples/hdf/examples/CMakeLists.txt delete mode 100644 HDF4Examples/hdf/fortran/Fortran_sourcefiles.cmake delete mode 100644 HDF4Examples/hdf/fortran/Makefile.am delete mode 100644 HDF4Examples/mfhdf/CMakeLists.txt delete mode 100644 HDF4Examples/mfhdf/examples/C_sourcefiles.cmake delete mode 100644 HDF4Examples/mfhdf/fortran/Fortran_sourcefiles.cmake delete mode 100644 java/examples/CMakeLists.txt diff --git a/HDF4Examples/hdf/examples/AN/CMakeLists.txt b/HDF4Examples/C/AN/CMakeLists.txt similarity index 70% rename from HDF4Examples/hdf/examples/AN/CMakeLists.txt rename to HDF4Examples/C/AN/CMakeLists.txt index 613f7886a4..ee7db866aa 100644 --- a/HDF4Examples/hdf/examples/AN/CMakeLists.txt +++ b/HDF4Examples/C/AN/CMakeLists.txt @@ -1,20 +1,18 @@ cmake_minimum_required (VERSION 3.12) -project (HDF4Examples_HDF_AN C) +project (HDF4Examples_AN C) #----------------------------------------------------------------------------- # Define Sources #----------------------------------------------------------------------------- include (C_sourcefiles.cmake) -foreach (example ${h4examples}) - get_filename_component (example_name ${example} NAME_WE) - add_executable (hdf_${example_name} ${PROJECT_SOURCE_DIR}/${example}) +foreach (example_name ${h4examples}) + add_executable (hdf_${example_name} ${PROJECT_SOURCE_DIR}/h4ex_${example_name}.c) target_link_libraries (hdf_${example_name} ${H4EX_HDF4_LINK_LIBS}) endforeach () -foreach (example ${h4examples_use}) - get_filename_component (example_name ${example} NAME_WE) - add_executable (hdf_${example_name} ${PROJECT_SOURCE_DIR}/${example}) +foreach (example_name ${h4examples_use}) + add_executable (hdf_${example_name} ${PROJECT_SOURCE_DIR}/h4ex_${example_name}.c) target_link_libraries (hdf_${example_name} ${H4EX_HDF4_LINK_LIBS}) endforeach () @@ -56,17 +54,16 @@ if (H4EX_BUILD_TESTING) endif () endmacro () - foreach (example ${h4examples}) - get_filename_component (example_name ${example} NAME_WE) - set (testsrc "${PROJECT_SOURCE_DIR}/testfiles/${example_name}") - set (testdest "${PROJECT_BINARY_DIR}/${example_name}") + foreach (example_name ${h4examples}) + set (testsrc "${PROJECT_SOURCE_DIR}/testfiles/h4ex_${example_name}") + set (testdest "${PROJECT_BINARY_DIR}/h4ex_${example_name}") add_custom_command ( OUTPUT "${testdest}.tst" COMMAND ${CMAKE_COMMAND} ARGS -E copy_if_different "${testsrc}.tst" "${testdest}.tst" DEPENDS "${testsrc}.tst" ) - list (APPEND HDF4Examples_HDF_AN_TEST_FILES "${testdest}.tst") + list (APPEND HDF4Examples_AN_TEST_FILES "${testdest}.tst") if (HDF4_BUILD_TOOLS) add_custom_command ( OUTPUT "${testdest}.ddl" @@ -74,21 +71,20 @@ if (H4EX_BUILD_TESTING) ARGS -E copy_if_different "${testsrc}.ddl" "${testdest}.ddl" DEPENDS "${testsrc}.ddl" ) - list (APPEND HDF4Examples_HDF_AN_TEST_FILES "${testdest}.ddl") + list (APPEND HDF4Examples_AN_TEST_FILES "${testdest}.ddl") endif () endforeach () - foreach (example ${h4examples_use}) - get_filename_component (example_name ${example} NAME_WE) - set (testsrc "${PROJECT_SOURCE_DIR}/testfiles/${example_name}") - set (testdest "${PROJECT_BINARY_DIR}/${example_name}") + foreach (example_name ${h4examples_use}) + set (testsrc "${PROJECT_SOURCE_DIR}/testfiles/h4ex_${example_name}") + set (testdest "${PROJECT_BINARY_DIR}/h4ex_${example_name}") add_custom_command ( OUTPUT "${testdest}.tst" COMMAND ${CMAKE_COMMAND} ARGS -E copy_if_different "${testsrc}.tst" "${testdest}.tst" DEPENDS "${testsrc}.tst" ) - list (APPEND HDF4Examples_HDF_AN_TEST_FILES "${testdest}.tst") + list (APPEND HDF4Examples_AN_TEST_FILES "${testdest}.tst") endforeach () foreach (ex_file ${h4examples_files}) @@ -100,19 +96,17 @@ if (H4EX_BUILD_TESTING) ARGS -E copy_if_different "${testsrc}" "${testdest}" DEPENDS "${testsrc}" ) - list (APPEND HDF4Examples_HDF_AN_TEST_FILES "${testdest}") + list (APPEND HDF4Examples_AN_TEST_FILES "${testdest}") endforeach () add_custom_target (HDF4Examples_HDF_AN-files ALL COMMENT "Copying files needed by AN tests" - DEPENDS ${HDF4Examples_HDF_AN_TEST_FILES}) + DEPENDS ${HDF4Examples_AN_TEST_FILES}) - foreach (example ${h4examples}) - get_filename_component (example_name ${example} NAME_WE) + foreach (example_name ${h4examples}) ADD_H4_TEST (${example_name} 1 dumpvg) endforeach () - foreach (example ${h4examples_use}) - get_filename_component (example_name ${example} NAME_WE) + foreach (example_name ${h4examples_use}) ADD_H4_TEST (${example_name} 0 dumpvg) endforeach () endif () diff --git a/HDF4Examples/hdf/examples/AN/C_sourcefiles.cmake b/HDF4Examples/C/AN/C_sourcefiles.cmake similarity index 75% rename from HDF4Examples/hdf/examples/AN/C_sourcefiles.cmake rename to HDF4Examples/C/AN/C_sourcefiles.cmake index 2b600ba675..ef899b9ac2 100644 --- a/HDF4Examples/hdf/examples/AN/C_sourcefiles.cmake +++ b/HDF4Examples/C/AN/C_sourcefiles.cmake @@ -2,11 +2,11 @@ # Define Sources, one file per application #----------------------------------------------------------------------------- set (h4examples - h4ex_AN_create_annotation.c + AN_create_annotation ) set (h4examples_use - h4ex_AN_get_annotation_info.c - h4ex_AN_read_annotation.c + AN_get_annotation_info + AN_read_annotation ) set (h4examples_files General_HDFobjects.hdf diff --git a/HDF4Examples/hdf/examples/AN/h4ex_AN_create_annotation.c b/HDF4Examples/C/AN/h4ex_AN_create_annotation.c similarity index 100% rename from HDF4Examples/hdf/examples/AN/h4ex_AN_create_annotation.c rename to HDF4Examples/C/AN/h4ex_AN_create_annotation.c diff --git a/HDF4Examples/hdf/examples/AN/h4ex_AN_get_annotation_info.c b/HDF4Examples/C/AN/h4ex_AN_get_annotation_info.c similarity index 100% rename from HDF4Examples/hdf/examples/AN/h4ex_AN_get_annotation_info.c rename to HDF4Examples/C/AN/h4ex_AN_get_annotation_info.c diff --git a/HDF4Examples/hdf/examples/AN/h4ex_AN_read_annotation.c b/HDF4Examples/C/AN/h4ex_AN_read_annotation.c similarity index 100% rename from HDF4Examples/hdf/examples/AN/h4ex_AN_read_annotation.c rename to HDF4Examples/C/AN/h4ex_AN_read_annotation.c diff --git a/HDF4Examples/hdf/examples/AN/testfiles/General_HDFobjects.hdf b/HDF4Examples/C/AN/testfiles/General_HDFobjects.hdf similarity index 100% rename from HDF4Examples/hdf/examples/AN/testfiles/General_HDFobjects.hdf rename to HDF4Examples/C/AN/testfiles/General_HDFobjects.hdf diff --git a/HDF4Examples/hdf/examples/AN/testfiles/h4ex_AN_create_annotation.ddl b/HDF4Examples/C/AN/testfiles/h4ex_AN_create_annotation.ddl similarity index 100% rename from HDF4Examples/hdf/examples/AN/testfiles/h4ex_AN_create_annotation.ddl rename to HDF4Examples/C/AN/testfiles/h4ex_AN_create_annotation.ddl diff --git a/HDF4Examples/hdf/examples/AN/testfiles/h4ex_AN_create_annotation.tst b/HDF4Examples/C/AN/testfiles/h4ex_AN_create_annotation.tst similarity index 100% rename from HDF4Examples/hdf/examples/AN/testfiles/h4ex_AN_create_annotation.tst rename to HDF4Examples/C/AN/testfiles/h4ex_AN_create_annotation.tst diff --git a/HDF4Examples/hdf/examples/AN/testfiles/h4ex_AN_get_annotation_info.tst b/HDF4Examples/C/AN/testfiles/h4ex_AN_get_annotation_info.tst similarity index 100% rename from HDF4Examples/hdf/examples/AN/testfiles/h4ex_AN_get_annotation_info.tst rename to HDF4Examples/C/AN/testfiles/h4ex_AN_get_annotation_info.tst diff --git a/HDF4Examples/hdf/examples/AN/testfiles/h4ex_AN_read_annotation.tst b/HDF4Examples/C/AN/testfiles/h4ex_AN_read_annotation.tst similarity index 100% rename from HDF4Examples/hdf/examples/AN/testfiles/h4ex_AN_read_annotation.tst rename to HDF4Examples/C/AN/testfiles/h4ex_AN_read_annotation.tst diff --git a/HDF4Examples/C/CMakeLists.txt b/HDF4Examples/C/CMakeLists.txt new file mode 100644 index 0000000000..6040235e62 --- /dev/null +++ b/HDF4Examples/C/CMakeLists.txt @@ -0,0 +1,11 @@ +cmake_minimum_required (VERSION 3.12) +project (HDF4Examples_C C) + +#----------------------------------------------------------------------------- +# Define Sources +#----------------------------------------------------------------------------- +add_subdirectory (${PROJECT_SOURCE_DIR}/AN) +add_subdirectory (${PROJECT_SOURCE_DIR}/GR) +add_subdirectory (${PROJECT_SOURCE_DIR}/VD) +add_subdirectory (${PROJECT_SOURCE_DIR}/VG) +add_subdirectory (${PROJECT_SOURCE_DIR}/SD) diff --git a/HDF4Examples/hdf/examples/GR/CMakeLists.txt b/HDF4Examples/C/GR/CMakeLists.txt similarity index 70% rename from HDF4Examples/hdf/examples/GR/CMakeLists.txt rename to HDF4Examples/C/GR/CMakeLists.txt index 9822212ca9..e94d14e986 100644 --- a/HDF4Examples/hdf/examples/GR/CMakeLists.txt +++ b/HDF4Examples/C/GR/CMakeLists.txt @@ -1,20 +1,18 @@ cmake_minimum_required (VERSION 3.12) -project (HDF4Examples_HDF_GR C) +project (HDF4Examples_GR C) #----------------------------------------------------------------------------- # Define Sources #----------------------------------------------------------------------------- include (C_sourcefiles.cmake) -foreach (example ${h4examples}) - get_filename_component (example_name ${example} NAME_WE) - add_executable (hdf_${example_name} ${PROJECT_SOURCE_DIR}/${example}) +foreach (example_name ${h4examples}) + add_executable (hdf_${example_name} ${PROJECT_SOURCE_DIR}/h4ex_${example_name}.c) target_link_libraries (hdf_${example_name} ${H4EX_HDF4_LINK_LIBS}) endforeach () -foreach (example ${h4examples_use}) - get_filename_component (example_name ${example} NAME_WE) - add_executable (hdf_${example_name} ${PROJECT_SOURCE_DIR}/${example}) +foreach (example_name ${h4examples_use}) + add_executable (hdf_${example_name} ${PROJECT_SOURCE_DIR}/h4ex_${example_name}.c) target_link_libraries (hdf_${example_name} ${H4EX_HDF4_LINK_LIBS}) endforeach () @@ -56,17 +54,16 @@ if (H4EX_BUILD_TESTING) endif () endmacro () - foreach (example ${h4examples}) - get_filename_component (example_name ${example} NAME_WE) - set (testsrc "${PROJECT_SOURCE_DIR}/testfiles/${example_name}") - set (testdest "${PROJECT_BINARY_DIR}/${example_name}") + foreach (example_name ${h4examples}) + set (testsrc "${PROJECT_SOURCE_DIR}/testfiles/h4ex_${example_name}") + set (testdest "${PROJECT_BINARY_DIR}/h4ex_${example_name}") add_custom_command ( OUTPUT "${testdest}.tst" COMMAND ${CMAKE_COMMAND} ARGS -E copy_if_different "${testsrc}.tst" "${testdest}.tst" DEPENDS "${testsrc}.tst" ) - list (APPEND HDF4Examples_HDF_GR_TEST_FILES "${testdest}.tst") + list (APPEND HDF4Examples_GR_TEST_FILES "${testdest}.tst") if (HDF4_BUILD_TOOLS) add_custom_command ( OUTPUT "${testdest}.ddl" @@ -74,21 +71,20 @@ if (H4EX_BUILD_TESTING) ARGS -E copy_if_different "${testsrc}.ddl" "${testdest}.ddl" DEPENDS "${testsrc}.ddl" ) - list (APPEND HDF4Examples_HDF_GR_TEST_FILES "${testdest}.ddl") + list (APPEND HDF4Examples_GR_TEST_FILES "${testdest}.ddl") endif () endforeach () - foreach (example ${h4examples_use}) - get_filename_component (example_name ${example} NAME_WE) - set (testsrc "${PROJECT_SOURCE_DIR}/testfiles/${example_name}") - set (testdest "${PROJECT_BINARY_DIR}/${example_name}") + foreach (example_name ${h4examples_use}) + set (testsrc "${PROJECT_SOURCE_DIR}/testfiles/h4ex_${example_name}") + set (testdest "${PROJECT_BINARY_DIR}/h4ex_${example_name}") add_custom_command ( OUTPUT "${testdest}.tst" COMMAND ${CMAKE_COMMAND} ARGS -E copy_if_different "${testsrc}.tst" "${testdest}.tst" DEPENDS "${testsrc}.tst" ) - list (APPEND HDF4Examples_HDF_GR_TEST_FILES "${testdest}.tst") + list (APPEND HDF4Examples_GR_TEST_FILES "${testdest}.tst") endforeach () foreach (ex_file ${h4examples_files}) @@ -100,19 +96,17 @@ if (H4EX_BUILD_TESTING) ARGS -E copy_if_different "${testsrc}" "${testdest}" DEPENDS "${testsrc}" ) - list (APPEND HDF4Examples_HDF_GR_TEST_FILES "${testdest}") + list (APPEND HDF4Examples_GR_TEST_FILES "${testdest}") endforeach () add_custom_target (HDF4Examples_HDF_GR-files ALL COMMENT "Copying files needed by GR tests" - DEPENDS ${HDF4Examples_HDF_GR_TEST_FILES}) + DEPENDS ${HDF4Examples_GR_TEST_FILES}) - foreach (example ${h4examples}) - get_filename_component (example_name ${example} NAME_WE) + foreach (example_name ${h4examples}) ADD_H4_TEST (${example_name} 1 dumpvg) endforeach () - foreach (example ${h4examples_use}) - get_filename_component (example_name ${example} NAME_WE) + foreach (example_name ${h4examples_use}) ADD_H4_TEST (${example_name} 0 dumpvg) endforeach () endif () diff --git a/HDF4Examples/hdf/examples/GR/C_sourcefiles.cmake b/HDF4Examples/C/GR/C_sourcefiles.cmake similarity index 59% rename from HDF4Examples/hdf/examples/GR/C_sourcefiles.cmake rename to HDF4Examples/C/GR/C_sourcefiles.cmake index 7d552cd718..f2753f448a 100644 --- a/HDF4Examples/hdf/examples/GR/C_sourcefiles.cmake +++ b/HDF4Examples/C/GR/C_sourcefiles.cmake @@ -2,17 +2,17 @@ # Define Sources, one file per application #----------------------------------------------------------------------------- set (h4examples - h4ex_GR_create_and_write_chunked_image.c - h4ex_GR_create_and_write_image.c - h4ex_GR_write_palette.c + GR_create_and_write_chunked_image + GR_create_and_write_image + GR_write_palette ) set (h4examples_use - h4ex_GR_get_attribute.c - h4ex_GR_image_info.c - h4ex_GR_modify_image.c - h4ex_GR_read_image.c - h4ex_GR_read_palette.c - h4ex_GR_set_attribute.c + GR_get_attribute + GR_image_info + GR_modify_image + GR_read_image + GR_read_palette + GR_set_attribute ) set (h4examples_files General_RImages.hdf diff --git a/HDF4Examples/hdf/examples/GR/h4ex_GR_create_and_write_chunked_image.c b/HDF4Examples/C/GR/h4ex_GR_create_and_write_chunked_image.c similarity index 100% rename from HDF4Examples/hdf/examples/GR/h4ex_GR_create_and_write_chunked_image.c rename to HDF4Examples/C/GR/h4ex_GR_create_and_write_chunked_image.c diff --git a/HDF4Examples/hdf/examples/GR/h4ex_GR_create_and_write_image.c b/HDF4Examples/C/GR/h4ex_GR_create_and_write_image.c similarity index 100% rename from HDF4Examples/hdf/examples/GR/h4ex_GR_create_and_write_image.c rename to HDF4Examples/C/GR/h4ex_GR_create_and_write_image.c diff --git a/HDF4Examples/hdf/examples/GR/h4ex_GR_get_attribute.c b/HDF4Examples/C/GR/h4ex_GR_get_attribute.c similarity index 100% rename from HDF4Examples/hdf/examples/GR/h4ex_GR_get_attribute.c rename to HDF4Examples/C/GR/h4ex_GR_get_attribute.c diff --git a/HDF4Examples/hdf/examples/GR/h4ex_GR_image_info.c b/HDF4Examples/C/GR/h4ex_GR_image_info.c similarity index 100% rename from HDF4Examples/hdf/examples/GR/h4ex_GR_image_info.c rename to HDF4Examples/C/GR/h4ex_GR_image_info.c diff --git a/HDF4Examples/hdf/examples/GR/h4ex_GR_modify_image.c b/HDF4Examples/C/GR/h4ex_GR_modify_image.c similarity index 100% rename from HDF4Examples/hdf/examples/GR/h4ex_GR_modify_image.c rename to HDF4Examples/C/GR/h4ex_GR_modify_image.c diff --git a/HDF4Examples/hdf/examples/GR/h4ex_GR_read_image.c b/HDF4Examples/C/GR/h4ex_GR_read_image.c similarity index 100% rename from HDF4Examples/hdf/examples/GR/h4ex_GR_read_image.c rename to HDF4Examples/C/GR/h4ex_GR_read_image.c diff --git a/HDF4Examples/hdf/examples/GR/h4ex_GR_read_palette.c b/HDF4Examples/C/GR/h4ex_GR_read_palette.c similarity index 100% rename from HDF4Examples/hdf/examples/GR/h4ex_GR_read_palette.c rename to HDF4Examples/C/GR/h4ex_GR_read_palette.c diff --git a/HDF4Examples/hdf/examples/GR/h4ex_GR_set_attribute.c b/HDF4Examples/C/GR/h4ex_GR_set_attribute.c similarity index 100% rename from HDF4Examples/hdf/examples/GR/h4ex_GR_set_attribute.c rename to HDF4Examples/C/GR/h4ex_GR_set_attribute.c diff --git a/HDF4Examples/hdf/examples/GR/h4ex_GR_write_palette.c b/HDF4Examples/C/GR/h4ex_GR_write_palette.c similarity index 100% rename from HDF4Examples/hdf/examples/GR/h4ex_GR_write_palette.c rename to HDF4Examples/C/GR/h4ex_GR_write_palette.c diff --git a/HDF4Examples/hdf/examples/GR/testfiles/General_RImages.hdf b/HDF4Examples/C/GR/testfiles/General_RImages.hdf similarity index 100% rename from HDF4Examples/hdf/examples/GR/testfiles/General_RImages.hdf rename to HDF4Examples/C/GR/testfiles/General_RImages.hdf diff --git a/HDF4Examples/hdf/examples/GR/testfiles/General_RImages2.hdf b/HDF4Examples/C/GR/testfiles/General_RImages2.hdf similarity index 100% rename from HDF4Examples/hdf/examples/GR/testfiles/General_RImages2.hdf rename to HDF4Examples/C/GR/testfiles/General_RImages2.hdf diff --git a/HDF4Examples/hdf/examples/GR/testfiles/General_RImages3.hdf b/HDF4Examples/C/GR/testfiles/General_RImages3.hdf similarity index 100% rename from HDF4Examples/hdf/examples/GR/testfiles/General_RImages3.hdf rename to HDF4Examples/C/GR/testfiles/General_RImages3.hdf diff --git a/HDF4Examples/hdf/examples/GR/testfiles/General_RImages4.hdf b/HDF4Examples/C/GR/testfiles/General_RImages4.hdf similarity index 100% rename from HDF4Examples/hdf/examples/GR/testfiles/General_RImages4.hdf rename to HDF4Examples/C/GR/testfiles/General_RImages4.hdf diff --git a/HDF4Examples/hdf/examples/GR/testfiles/Image_with_Palette.hdf b/HDF4Examples/C/GR/testfiles/Image_with_Palette.hdf similarity index 100% rename from HDF4Examples/hdf/examples/GR/testfiles/Image_with_Palette.hdf rename to HDF4Examples/C/GR/testfiles/Image_with_Palette.hdf diff --git a/HDF4Examples/hdf/examples/GR/testfiles/h4ex_GR_create_and_write_chunked_image.ddl b/HDF4Examples/C/GR/testfiles/h4ex_GR_create_and_write_chunked_image.ddl similarity index 100% rename from HDF4Examples/hdf/examples/GR/testfiles/h4ex_GR_create_and_write_chunked_image.ddl rename to HDF4Examples/C/GR/testfiles/h4ex_GR_create_and_write_chunked_image.ddl diff --git a/HDF4Examples/hdf/examples/GR/testfiles/h4ex_GR_create_and_write_chunked_image.tst b/HDF4Examples/C/GR/testfiles/h4ex_GR_create_and_write_chunked_image.tst similarity index 100% rename from HDF4Examples/hdf/examples/GR/testfiles/h4ex_GR_create_and_write_chunked_image.tst rename to HDF4Examples/C/GR/testfiles/h4ex_GR_create_and_write_chunked_image.tst diff --git a/HDF4Examples/hdf/examples/GR/testfiles/h4ex_GR_create_and_write_image.ddl b/HDF4Examples/C/GR/testfiles/h4ex_GR_create_and_write_image.ddl similarity index 100% rename from HDF4Examples/hdf/examples/GR/testfiles/h4ex_GR_create_and_write_image.ddl rename to HDF4Examples/C/GR/testfiles/h4ex_GR_create_and_write_image.ddl diff --git a/HDF4Examples/hdf/examples/GR/testfiles/h4ex_GR_create_and_write_image.tst b/HDF4Examples/C/GR/testfiles/h4ex_GR_create_and_write_image.tst similarity index 100% rename from HDF4Examples/hdf/examples/GR/testfiles/h4ex_GR_create_and_write_image.tst rename to HDF4Examples/C/GR/testfiles/h4ex_GR_create_and_write_image.tst diff --git a/HDF4Examples/hdf/examples/GR/testfiles/h4ex_GR_get_attribute.tst b/HDF4Examples/C/GR/testfiles/h4ex_GR_get_attribute.tst similarity index 100% rename from HDF4Examples/hdf/examples/GR/testfiles/h4ex_GR_get_attribute.tst rename to HDF4Examples/C/GR/testfiles/h4ex_GR_get_attribute.tst diff --git a/HDF4Examples/hdf/examples/GR/testfiles/h4ex_GR_image_info.tst b/HDF4Examples/C/GR/testfiles/h4ex_GR_image_info.tst similarity index 100% rename from HDF4Examples/hdf/examples/GR/testfiles/h4ex_GR_image_info.tst rename to HDF4Examples/C/GR/testfiles/h4ex_GR_image_info.tst diff --git a/HDF4Examples/hdf/examples/GR/testfiles/h4ex_GR_modify_image.tst b/HDF4Examples/C/GR/testfiles/h4ex_GR_modify_image.tst similarity index 100% rename from HDF4Examples/hdf/examples/GR/testfiles/h4ex_GR_modify_image.tst rename to HDF4Examples/C/GR/testfiles/h4ex_GR_modify_image.tst diff --git a/HDF4Examples/hdf/examples/GR/testfiles/h4ex_GR_read_image.tst b/HDF4Examples/C/GR/testfiles/h4ex_GR_read_image.tst similarity index 100% rename from HDF4Examples/hdf/examples/GR/testfiles/h4ex_GR_read_image.tst rename to HDF4Examples/C/GR/testfiles/h4ex_GR_read_image.tst diff --git a/HDF4Examples/hdf/examples/GR/testfiles/h4ex_GR_read_palette.tst b/HDF4Examples/C/GR/testfiles/h4ex_GR_read_palette.tst similarity index 100% rename from HDF4Examples/hdf/examples/GR/testfiles/h4ex_GR_read_palette.tst rename to HDF4Examples/C/GR/testfiles/h4ex_GR_read_palette.tst diff --git a/HDF4Examples/hdf/examples/GR/testfiles/h4ex_GR_set_attribute.tst b/HDF4Examples/C/GR/testfiles/h4ex_GR_set_attribute.tst similarity index 100% rename from HDF4Examples/hdf/examples/GR/testfiles/h4ex_GR_set_attribute.tst rename to HDF4Examples/C/GR/testfiles/h4ex_GR_set_attribute.tst diff --git a/HDF4Examples/hdf/examples/GR/testfiles/h4ex_GR_write_palette.ddl b/HDF4Examples/C/GR/testfiles/h4ex_GR_write_palette.ddl similarity index 100% rename from HDF4Examples/hdf/examples/GR/testfiles/h4ex_GR_write_palette.ddl rename to HDF4Examples/C/GR/testfiles/h4ex_GR_write_palette.ddl diff --git a/HDF4Examples/hdf/examples/GR/testfiles/h4ex_GR_write_palette.tst b/HDF4Examples/C/GR/testfiles/h4ex_GR_write_palette.tst similarity index 100% rename from HDF4Examples/hdf/examples/GR/testfiles/h4ex_GR_write_palette.tst rename to HDF4Examples/C/GR/testfiles/h4ex_GR_write_palette.tst diff --git a/HDF4Examples/hdf/examples/Makefile.am b/HDF4Examples/C/Makefile.am similarity index 99% rename from HDF4Examples/hdf/examples/Makefile.am rename to HDF4Examples/C/Makefile.am index 07bd40e5b1..1366f38fbd 100644 --- a/HDF4Examples/hdf/examples/Makefile.am +++ b/HDF4Examples/C/Makefile.am @@ -36,7 +36,7 @@ INSTALL_FILES= h4ex_VD_create_vdatas.c h4ex_VD_write_mixed_vdata.c \ h4ex_AN_create_annotation.c h4ex_AN_get_annotation_info.c h4ex_AN_read_annotation.c # Where to install example files -EXAMPLEDIR=$(prefix)/examples/hdf +EXAMPLEDIR=$(prefix)/HDF4Examples/C # How to build C programs using h4cc $(EXTRA_PROG): $(H4CC) diff --git a/HDF4Examples/mfhdf/examples/CMakeLists.txt b/HDF4Examples/C/SD/CMakeLists.txt similarity index 90% rename from HDF4Examples/mfhdf/examples/CMakeLists.txt rename to HDF4Examples/C/SD/CMakeLists.txt index f96360857b..92495cbb4c 100644 --- a/HDF4Examples/mfhdf/examples/CMakeLists.txt +++ b/HDF4Examples/C/SD/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required (VERSION 3.12) -project (HDF4Examples_MFHDF C) +project (HDF4Examples_SD C) #----------------------------------------------------------------------------- # Define Sources @@ -27,9 +27,8 @@ if (H4EX_BUILD_TESTING) set (last_test "MFHDF_EXAMPLES-clearall-objects") endif () -foreach (example ${examples}) - get_filename_component (example_name ${example} NAME_WE) - add_executable (mf_${example_name} ${PROJECT_SOURCE_DIR}/${example}) +foreach (example_name ${examples}) + add_executable (mf_${example_name} ${PROJECT_SOURCE_DIR}/h4ex_${example_name}.c) target_link_libraries (mf_${example_name} ${H4EX_HDF4_LINK_LIBS}) if (H4EX_BUILD_TESTING) add_test ( diff --git a/HDF4Examples/C/SD/C_sourcefiles.cmake b/HDF4Examples/C/SD/C_sourcefiles.cmake new file mode 100644 index 0000000000..d0176b5316 --- /dev/null +++ b/HDF4Examples/C/SD/C_sourcefiles.cmake @@ -0,0 +1,21 @@ +#----------------------------------------------------------------------------- +# Define Sources, one file per application +#----------------------------------------------------------------------------- +set (examples + SD_create_sds + SD_write_to_sds + SD_write_slab + SD_alter_sds_values + SD_unlimited_sds + SD_compress_sds + SD_mv_sds_to_external + SD_read_from_sds + SD_read_subsets + SD_get_info + SD_find_sds_by_name + SD_set_get_dim_info + SD_dimscale_vs_sds + SD_set_attr + SD_get_attr + SD_chunking_example +) diff --git a/HDF4Examples/mfhdf/examples/Makefile.am b/HDF4Examples/C/SD/Makefile.am similarity index 100% rename from HDF4Examples/mfhdf/examples/Makefile.am rename to HDF4Examples/C/SD/Makefile.am diff --git a/HDF4Examples/mfhdf/examples/h4ex_SD_alter_sds_values.c b/HDF4Examples/C/SD/h4ex_SD_alter_sds_values.c similarity index 100% rename from HDF4Examples/mfhdf/examples/h4ex_SD_alter_sds_values.c rename to HDF4Examples/C/SD/h4ex_SD_alter_sds_values.c diff --git a/HDF4Examples/mfhdf/examples/h4ex_SD_chunking_example.c b/HDF4Examples/C/SD/h4ex_SD_chunking_example.c similarity index 100% rename from HDF4Examples/mfhdf/examples/h4ex_SD_chunking_example.c rename to HDF4Examples/C/SD/h4ex_SD_chunking_example.c diff --git a/HDF4Examples/mfhdf/examples/h4ex_SD_compress_sds.c b/HDF4Examples/C/SD/h4ex_SD_compress_sds.c similarity index 100% rename from HDF4Examples/mfhdf/examples/h4ex_SD_compress_sds.c rename to HDF4Examples/C/SD/h4ex_SD_compress_sds.c diff --git a/HDF4Examples/mfhdf/examples/h4ex_SD_create_sds.c b/HDF4Examples/C/SD/h4ex_SD_create_sds.c similarity index 100% rename from HDF4Examples/mfhdf/examples/h4ex_SD_create_sds.c rename to HDF4Examples/C/SD/h4ex_SD_create_sds.c diff --git a/HDF4Examples/mfhdf/examples/h4ex_SD_dimscale_vs_sds.c b/HDF4Examples/C/SD/h4ex_SD_dimscale_vs_sds.c similarity index 100% rename from HDF4Examples/mfhdf/examples/h4ex_SD_dimscale_vs_sds.c rename to HDF4Examples/C/SD/h4ex_SD_dimscale_vs_sds.c diff --git a/HDF4Examples/mfhdf/examples/h4ex_SD_find_sds_by_name.c b/HDF4Examples/C/SD/h4ex_SD_find_sds_by_name.c similarity index 100% rename from HDF4Examples/mfhdf/examples/h4ex_SD_find_sds_by_name.c rename to HDF4Examples/C/SD/h4ex_SD_find_sds_by_name.c diff --git a/HDF4Examples/mfhdf/examples/h4ex_SD_get_attr.c b/HDF4Examples/C/SD/h4ex_SD_get_attr.c similarity index 100% rename from HDF4Examples/mfhdf/examples/h4ex_SD_get_attr.c rename to HDF4Examples/C/SD/h4ex_SD_get_attr.c diff --git a/HDF4Examples/mfhdf/examples/h4ex_SD_get_info.c b/HDF4Examples/C/SD/h4ex_SD_get_info.c similarity index 100% rename from HDF4Examples/mfhdf/examples/h4ex_SD_get_info.c rename to HDF4Examples/C/SD/h4ex_SD_get_info.c diff --git a/HDF4Examples/mfhdf/examples/h4ex_SD_mv_sds_to_external.c b/HDF4Examples/C/SD/h4ex_SD_mv_sds_to_external.c similarity index 100% rename from HDF4Examples/mfhdf/examples/h4ex_SD_mv_sds_to_external.c rename to HDF4Examples/C/SD/h4ex_SD_mv_sds_to_external.c diff --git a/HDF4Examples/mfhdf/examples/h4ex_SD_read_from_sds.c b/HDF4Examples/C/SD/h4ex_SD_read_from_sds.c similarity index 100% rename from HDF4Examples/mfhdf/examples/h4ex_SD_read_from_sds.c rename to HDF4Examples/C/SD/h4ex_SD_read_from_sds.c diff --git a/HDF4Examples/mfhdf/examples/h4ex_SD_read_subsets.c b/HDF4Examples/C/SD/h4ex_SD_read_subsets.c similarity index 100% rename from HDF4Examples/mfhdf/examples/h4ex_SD_read_subsets.c rename to HDF4Examples/C/SD/h4ex_SD_read_subsets.c diff --git a/HDF4Examples/mfhdf/examples/h4ex_SD_set_attr.c b/HDF4Examples/C/SD/h4ex_SD_set_attr.c similarity index 100% rename from HDF4Examples/mfhdf/examples/h4ex_SD_set_attr.c rename to HDF4Examples/C/SD/h4ex_SD_set_attr.c diff --git a/HDF4Examples/mfhdf/examples/h4ex_SD_set_get_dim_info.c b/HDF4Examples/C/SD/h4ex_SD_set_get_dim_info.c similarity index 100% rename from HDF4Examples/mfhdf/examples/h4ex_SD_set_get_dim_info.c rename to HDF4Examples/C/SD/h4ex_SD_set_get_dim_info.c diff --git a/HDF4Examples/mfhdf/examples/h4ex_SD_unlimited_sds.c b/HDF4Examples/C/SD/h4ex_SD_unlimited_sds.c similarity index 100% rename from HDF4Examples/mfhdf/examples/h4ex_SD_unlimited_sds.c rename to HDF4Examples/C/SD/h4ex_SD_unlimited_sds.c diff --git a/HDF4Examples/mfhdf/examples/h4ex_SD_write_slab.c b/HDF4Examples/C/SD/h4ex_SD_write_slab.c similarity index 100% rename from HDF4Examples/mfhdf/examples/h4ex_SD_write_slab.c rename to HDF4Examples/C/SD/h4ex_SD_write_slab.c diff --git a/HDF4Examples/mfhdf/examples/h4ex_SD_write_to_sds.c b/HDF4Examples/C/SD/h4ex_SD_write_to_sds.c similarity index 100% rename from HDF4Examples/mfhdf/examples/h4ex_SD_write_to_sds.c rename to HDF4Examples/C/SD/h4ex_SD_write_to_sds.c diff --git a/HDF4Examples/mfhdf/examples/testexamples.sh.in b/HDF4Examples/C/SD/testexamples.sh.in similarity index 100% rename from HDF4Examples/mfhdf/examples/testexamples.sh.in rename to HDF4Examples/C/SD/testexamples.sh.in diff --git a/HDF4Examples/hdf/examples/VD/CMakeLists.txt b/HDF4Examples/C/VD/CMakeLists.txt similarity index 70% rename from HDF4Examples/hdf/examples/VD/CMakeLists.txt rename to HDF4Examples/C/VD/CMakeLists.txt index ce6a78018c..87c4a24741 100644 --- a/HDF4Examples/hdf/examples/VD/CMakeLists.txt +++ b/HDF4Examples/C/VD/CMakeLists.txt @@ -1,20 +1,18 @@ cmake_minimum_required (VERSION 3.12) -project (HDF4Examples_HDF_VD C) +project (HDF4Examples_VD C) #----------------------------------------------------------------------------- # Define Sources #----------------------------------------------------------------------------- include (C_sourcefiles.cmake) -foreach (example ${h4examples}) - get_filename_component (example_name ${example} NAME_WE) - add_executable (hdf_${example_name} ${PROJECT_SOURCE_DIR}/${example}) +foreach (example_name ${h4examples}) + add_executable (hdf_${example_name} ${PROJECT_SOURCE_DIR}/h4ex_${example_name}.c) target_link_libraries (hdf_${example_name} ${H4EX_HDF4_LINK_LIBS}) endforeach () -foreach (example ${h4examples_use}) - get_filename_component (example_name ${example} NAME_WE) - add_executable (hdf_${example_name} ${PROJECT_SOURCE_DIR}/${example}) +foreach (example_name ${h4examples_use}) + add_executable (hdf_${example_name} ${PROJECT_SOURCE_DIR}/h4ex_${example_name}.c) target_link_libraries (hdf_${example_name} ${H4EX_HDF4_LINK_LIBS}) endforeach () @@ -56,17 +54,16 @@ if (H4EX_BUILD_TESTING) endif () endmacro () - foreach (example ${h4examples}) - get_filename_component (example_name ${example} NAME_WE) - set (testsrc "${PROJECT_SOURCE_DIR}/testfiles/${example_name}") - set (testdest "${PROJECT_BINARY_DIR}/${example_name}") + foreach (example_name ${h4examples}) + set (testsrc "${PROJECT_SOURCE_DIR}/testfiles/h4ex_${example_name}") + set (testdest "${PROJECT_BINARY_DIR}/h4ex_${example_name}") add_custom_command ( OUTPUT "${testdest}.tst" COMMAND ${CMAKE_COMMAND} ARGS -E copy_if_different "${testsrc}.tst" "${testdest}.tst" DEPENDS "${testsrc}.tst" ) - list (APPEND HDF4Examples_HDF_VD_TEST_FILES "${testdest}.tst") + list (APPEND HDF4Examples_VD_TEST_FILES "${testdest}.tst") if (HDF4_BUILD_TOOLS) add_custom_command ( OUTPUT "${testdest}.ddl" @@ -74,21 +71,20 @@ if (H4EX_BUILD_TESTING) ARGS -E copy_if_different "${testsrc}.ddl" "${testdest}.ddl" DEPENDS "${testsrc}.ddl" ) - list (APPEND HDF4Examples_HDF_VD_TEST_FILES "${testdest}.ddl") + list (APPEND HDF4Examples_VD_TEST_FILES "${testdest}.ddl") endif () endforeach () - foreach (example ${h4examples_use}) - get_filename_component (example_name ${example} NAME_WE) - set (testsrc "${PROJECT_SOURCE_DIR}/testfiles/${example_name}") - set (testdest "${PROJECT_BINARY_DIR}/${example_name}") + foreach (example_name ${h4examples_use}) + set (testsrc "${PROJECT_SOURCE_DIR}/testfiles/h4ex_${example_name}") + set (testdest "${PROJECT_BINARY_DIR}/h4ex_${example_name}") add_custom_command ( OUTPUT "${testdest}.tst" COMMAND ${CMAKE_COMMAND} ARGS -E copy_if_different "${testsrc}.tst" "${testdest}.tst" DEPENDS "${testsrc}.tst" ) - list (APPEND HDF4Examples_HDF_VD_TEST_FILES "${testdest}.tst") + list (APPEND HDF4Examples_VD_TEST_FILES "${testdest}.tst") endforeach () foreach (ex_file ${h4examples_files}) @@ -100,19 +96,17 @@ if (H4EX_BUILD_TESTING) ARGS -E copy_if_different "${testsrc}" "${testdest}" DEPENDS "${testsrc}" ) - list (APPEND HDF4Examples_HDF_VD_TEST_FILES "${testdest}") + list (APPEND HDF4Examples_VD_TEST_FILES "${testdest}") endforeach () add_custom_target (HDF4Examples_HDF_VD-files ALL COMMENT "Copying files needed by VD tests" - DEPENDS ${HDF4Examples_HDF_VD_TEST_FILES}) + DEPENDS ${HDF4Examples_VD_TEST_FILES}) - foreach (example ${h4examples}) - get_filename_component (example_name ${example} NAME_WE) + foreach (example_name ${h4examples}) ADD_H4_TEST (${example_name} 1 dumpvg) endforeach () - foreach (example ${h4examples_use}) - get_filename_component (example_name ${example} NAME_WE) + foreach (example_name ${h4examples_use}) ADD_H4_TEST (${example_name} 0 dumpvg) endforeach () endif () diff --git a/HDF4Examples/hdf/examples/VD/C_sourcefiles.cmake b/HDF4Examples/C/VD/C_sourcefiles.cmake similarity index 52% rename from HDF4Examples/hdf/examples/VD/C_sourcefiles.cmake rename to HDF4Examples/C/VD/C_sourcefiles.cmake index f9533a9d7e..ec7732b33e 100644 --- a/HDF4Examples/hdf/examples/VD/C_sourcefiles.cmake +++ b/HDF4Examples/C/VD/C_sourcefiles.cmake @@ -2,18 +2,18 @@ # Define Sources, one file per application #----------------------------------------------------------------------------- set (h4examples - h4ex_VD_create_onefield_vdatas.c - h4ex_VD_create_vdatas.c - h4ex_VD_write_mixed_vdata_struct.c - h4ex_VD_write_mixed_vdata.c + VD_create_onefield_vdatas + VD_create_vdatas + VD_write_mixed_vdata_struct + VD_write_mixed_vdata ) set (h4examples_use - h4ex_VD_get_vdata_info.c - h4ex_VD_locate_vdata.c -# h4ex_VD_read_from_vdata.c #program will fail - h4ex_VD_read_mixed_vdata.c -# h4ex_VD_set_get_vdata_attr.c - h4ex_VD_write_to_vdata.c + VD_get_vdata_info + VD_locate_vdata +# VD_read_from_vdata #program will fail + VD_read_mixed_vdata +# VD_set_get_vdata_attr + VD_write_to_vdata ) set (h4examples_files General_Vdatas.hdf diff --git a/HDF4Examples/hdf/examples/VD/h4ex_VD_create_onefield_vdatas.c b/HDF4Examples/C/VD/h4ex_VD_create_onefield_vdatas.c similarity index 100% rename from HDF4Examples/hdf/examples/VD/h4ex_VD_create_onefield_vdatas.c rename to HDF4Examples/C/VD/h4ex_VD_create_onefield_vdatas.c diff --git a/HDF4Examples/hdf/examples/VD/h4ex_VD_create_vdatas.c b/HDF4Examples/C/VD/h4ex_VD_create_vdatas.c similarity index 100% rename from HDF4Examples/hdf/examples/VD/h4ex_VD_create_vdatas.c rename to HDF4Examples/C/VD/h4ex_VD_create_vdatas.c diff --git a/HDF4Examples/hdf/examples/VD/h4ex_VD_get_vdata_info.c b/HDF4Examples/C/VD/h4ex_VD_get_vdata_info.c similarity index 100% rename from HDF4Examples/hdf/examples/VD/h4ex_VD_get_vdata_info.c rename to HDF4Examples/C/VD/h4ex_VD_get_vdata_info.c diff --git a/HDF4Examples/hdf/examples/VD/h4ex_VD_locate_vdata.c b/HDF4Examples/C/VD/h4ex_VD_locate_vdata.c similarity index 100% rename from HDF4Examples/hdf/examples/VD/h4ex_VD_locate_vdata.c rename to HDF4Examples/C/VD/h4ex_VD_locate_vdata.c diff --git a/HDF4Examples/hdf/examples/VD/h4ex_VD_read_from_vdata.c b/HDF4Examples/C/VD/h4ex_VD_read_from_vdata.c similarity index 100% rename from HDF4Examples/hdf/examples/VD/h4ex_VD_read_from_vdata.c rename to HDF4Examples/C/VD/h4ex_VD_read_from_vdata.c diff --git a/HDF4Examples/hdf/examples/VD/h4ex_VD_read_mixed_vdata.c b/HDF4Examples/C/VD/h4ex_VD_read_mixed_vdata.c similarity index 100% rename from HDF4Examples/hdf/examples/VD/h4ex_VD_read_mixed_vdata.c rename to HDF4Examples/C/VD/h4ex_VD_read_mixed_vdata.c diff --git a/HDF4Examples/hdf/examples/VD/h4ex_VD_set_get_vdata_attr.c b/HDF4Examples/C/VD/h4ex_VD_set_get_vdata_attr.c similarity index 100% rename from HDF4Examples/hdf/examples/VD/h4ex_VD_set_get_vdata_attr.c rename to HDF4Examples/C/VD/h4ex_VD_set_get_vdata_attr.c diff --git a/HDF4Examples/hdf/examples/VD/h4ex_VD_write_mixed_vdata.c b/HDF4Examples/C/VD/h4ex_VD_write_mixed_vdata.c similarity index 100% rename from HDF4Examples/hdf/examples/VD/h4ex_VD_write_mixed_vdata.c rename to HDF4Examples/C/VD/h4ex_VD_write_mixed_vdata.c diff --git a/HDF4Examples/hdf/examples/VD/h4ex_VD_write_mixed_vdata_struct.c b/HDF4Examples/C/VD/h4ex_VD_write_mixed_vdata_struct.c similarity index 100% rename from HDF4Examples/hdf/examples/VD/h4ex_VD_write_mixed_vdata_struct.c rename to HDF4Examples/C/VD/h4ex_VD_write_mixed_vdata_struct.c diff --git a/HDF4Examples/hdf/examples/VD/h4ex_VD_write_to_vdata.c b/HDF4Examples/C/VD/h4ex_VD_write_to_vdata.c similarity index 100% rename from HDF4Examples/hdf/examples/VD/h4ex_VD_write_to_vdata.c rename to HDF4Examples/C/VD/h4ex_VD_write_to_vdata.c diff --git a/HDF4Examples/hdf/examples/VD/testfiles/General_Vdatas.hdf b/HDF4Examples/C/VD/testfiles/General_Vdatas.hdf similarity index 100% rename from HDF4Examples/hdf/examples/VD/testfiles/General_Vdatas.hdf rename to HDF4Examples/C/VD/testfiles/General_Vdatas.hdf diff --git a/HDF4Examples/hdf/examples/VD/testfiles/General_Vdatas2.hdf b/HDF4Examples/C/VD/testfiles/General_Vdatas2.hdf similarity index 100% rename from HDF4Examples/hdf/examples/VD/testfiles/General_Vdatas2.hdf rename to HDF4Examples/C/VD/testfiles/General_Vdatas2.hdf diff --git a/HDF4Examples/hdf/examples/VD/testfiles/General_Vdatas3.hdf b/HDF4Examples/C/VD/testfiles/General_Vdatas3.hdf similarity index 100% rename from HDF4Examples/hdf/examples/VD/testfiles/General_Vdatas3.hdf rename to HDF4Examples/C/VD/testfiles/General_Vdatas3.hdf diff --git a/HDF4Examples/hdf/examples/VD/testfiles/Packed_Vdata.hdf b/HDF4Examples/C/VD/testfiles/Packed_Vdata.hdf similarity index 100% rename from HDF4Examples/hdf/examples/VD/testfiles/Packed_Vdata.hdf rename to HDF4Examples/C/VD/testfiles/Packed_Vdata.hdf diff --git a/HDF4Examples/hdf/examples/VD/testfiles/Two_Vdatas.hdf b/HDF4Examples/C/VD/testfiles/Two_Vdatas.hdf similarity index 100% rename from HDF4Examples/hdf/examples/VD/testfiles/Two_Vdatas.hdf rename to HDF4Examples/C/VD/testfiles/Two_Vdatas.hdf diff --git a/HDF4Examples/hdf/examples/VD/testfiles/h4ex_GR_image_info.tst b/HDF4Examples/C/VD/testfiles/h4ex_GR_image_info.tst similarity index 100% rename from HDF4Examples/hdf/examples/VD/testfiles/h4ex_GR_image_info.tst rename to HDF4Examples/C/VD/testfiles/h4ex_GR_image_info.tst diff --git a/HDF4Examples/hdf/examples/VD/testfiles/h4ex_VD_create_onefield_vdatas.ddl b/HDF4Examples/C/VD/testfiles/h4ex_VD_create_onefield_vdatas.ddl similarity index 100% rename from HDF4Examples/hdf/examples/VD/testfiles/h4ex_VD_create_onefield_vdatas.ddl rename to HDF4Examples/C/VD/testfiles/h4ex_VD_create_onefield_vdatas.ddl diff --git a/HDF4Examples/hdf/examples/VD/testfiles/h4ex_VD_create_onefield_vdatas.tst b/HDF4Examples/C/VD/testfiles/h4ex_VD_create_onefield_vdatas.tst similarity index 100% rename from HDF4Examples/hdf/examples/VD/testfiles/h4ex_VD_create_onefield_vdatas.tst rename to HDF4Examples/C/VD/testfiles/h4ex_VD_create_onefield_vdatas.tst diff --git a/HDF4Examples/hdf/examples/VD/testfiles/h4ex_VD_create_vdatas.ddl b/HDF4Examples/C/VD/testfiles/h4ex_VD_create_vdatas.ddl similarity index 100% rename from HDF4Examples/hdf/examples/VD/testfiles/h4ex_VD_create_vdatas.ddl rename to HDF4Examples/C/VD/testfiles/h4ex_VD_create_vdatas.ddl diff --git a/HDF4Examples/hdf/examples/VD/testfiles/h4ex_VD_create_vdatas.tst b/HDF4Examples/C/VD/testfiles/h4ex_VD_create_vdatas.tst similarity index 100% rename from HDF4Examples/hdf/examples/VD/testfiles/h4ex_VD_create_vdatas.tst rename to HDF4Examples/C/VD/testfiles/h4ex_VD_create_vdatas.tst diff --git a/HDF4Examples/hdf/examples/VD/testfiles/h4ex_VD_get_vdata_info.tst b/HDF4Examples/C/VD/testfiles/h4ex_VD_get_vdata_info.tst similarity index 100% rename from HDF4Examples/hdf/examples/VD/testfiles/h4ex_VD_get_vdata_info.tst rename to HDF4Examples/C/VD/testfiles/h4ex_VD_get_vdata_info.tst diff --git a/HDF4Examples/hdf/examples/VD/testfiles/h4ex_VD_locate_vdata.tst b/HDF4Examples/C/VD/testfiles/h4ex_VD_locate_vdata.tst similarity index 100% rename from HDF4Examples/hdf/examples/VD/testfiles/h4ex_VD_locate_vdata.tst rename to HDF4Examples/C/VD/testfiles/h4ex_VD_locate_vdata.tst diff --git a/HDF4Examples/hdf/examples/VD/testfiles/h4ex_VD_read_from_vdata.tst b/HDF4Examples/C/VD/testfiles/h4ex_VD_read_from_vdata.tst similarity index 100% rename from HDF4Examples/hdf/examples/VD/testfiles/h4ex_VD_read_from_vdata.tst rename to HDF4Examples/C/VD/testfiles/h4ex_VD_read_from_vdata.tst diff --git a/HDF4Examples/hdf/examples/VD/testfiles/h4ex_VD_read_mixed_vdata.tst b/HDF4Examples/C/VD/testfiles/h4ex_VD_read_mixed_vdata.tst similarity index 100% rename from HDF4Examples/hdf/examples/VD/testfiles/h4ex_VD_read_mixed_vdata.tst rename to HDF4Examples/C/VD/testfiles/h4ex_VD_read_mixed_vdata.tst diff --git a/HDF4Examples/hdf/examples/VD/testfiles/h4ex_VD_set_get_vdata_attr.tst b/HDF4Examples/C/VD/testfiles/h4ex_VD_set_get_vdata_attr.tst similarity index 100% rename from HDF4Examples/hdf/examples/VD/testfiles/h4ex_VD_set_get_vdata_attr.tst rename to HDF4Examples/C/VD/testfiles/h4ex_VD_set_get_vdata_attr.tst diff --git a/HDF4Examples/hdf/examples/VD/testfiles/h4ex_VD_write_mixed_vdata.ddl b/HDF4Examples/C/VD/testfiles/h4ex_VD_write_mixed_vdata.ddl similarity index 100% rename from HDF4Examples/hdf/examples/VD/testfiles/h4ex_VD_write_mixed_vdata.ddl rename to HDF4Examples/C/VD/testfiles/h4ex_VD_write_mixed_vdata.ddl diff --git a/HDF4Examples/hdf/examples/VD/testfiles/h4ex_VD_write_mixed_vdata.tst b/HDF4Examples/C/VD/testfiles/h4ex_VD_write_mixed_vdata.tst similarity index 100% rename from HDF4Examples/hdf/examples/VD/testfiles/h4ex_VD_write_mixed_vdata.tst rename to HDF4Examples/C/VD/testfiles/h4ex_VD_write_mixed_vdata.tst diff --git a/HDF4Examples/hdf/examples/VD/testfiles/h4ex_VD_write_mixed_vdata_struct.ddl b/HDF4Examples/C/VD/testfiles/h4ex_VD_write_mixed_vdata_struct.ddl similarity index 100% rename from HDF4Examples/hdf/examples/VD/testfiles/h4ex_VD_write_mixed_vdata_struct.ddl rename to HDF4Examples/C/VD/testfiles/h4ex_VD_write_mixed_vdata_struct.ddl diff --git a/HDF4Examples/hdf/examples/VD/testfiles/h4ex_VD_write_mixed_vdata_struct.tst b/HDF4Examples/C/VD/testfiles/h4ex_VD_write_mixed_vdata_struct.tst similarity index 100% rename from HDF4Examples/hdf/examples/VD/testfiles/h4ex_VD_write_mixed_vdata_struct.tst rename to HDF4Examples/C/VD/testfiles/h4ex_VD_write_mixed_vdata_struct.tst diff --git a/HDF4Examples/hdf/examples/VD/testfiles/h4ex_VD_write_to_vdata.tst b/HDF4Examples/C/VD/testfiles/h4ex_VD_write_to_vdata.tst similarity index 100% rename from HDF4Examples/hdf/examples/VD/testfiles/h4ex_VD_write_to_vdata.tst rename to HDF4Examples/C/VD/testfiles/h4ex_VD_write_to_vdata.tst diff --git a/HDF4Examples/hdf/examples/VG/CMakeLists.txt b/HDF4Examples/C/VG/CMakeLists.txt similarity index 50% rename from HDF4Examples/hdf/examples/VG/CMakeLists.txt rename to HDF4Examples/C/VG/CMakeLists.txt index 90eaddc299..0e0e44b4e5 100644 --- a/HDF4Examples/hdf/examples/VG/CMakeLists.txt +++ b/HDF4Examples/C/VG/CMakeLists.txt @@ -1,35 +1,38 @@ cmake_minimum_required (VERSION 3.12) -project (HDF4Examples_HDF_VG C) +project (HDF4Examples_VG C) #----------------------------------------------------------------------------- # Define Sources #----------------------------------------------------------------------------- include (C_sourcefiles.cmake) -foreach (example ${h4examples}) - get_filename_component (example_name ${example} NAME_WE) - add_executable (hdf_${example_name} ${PROJECT_SOURCE_DIR}/${example}) +foreach (example_name ${h4examples}) + add_executable (hdf_${example_name} ${PROJECT_SOURCE_DIR}/h4ex_${example_name}.c) target_link_libraries (hdf_${example_name} ${H4EX_HDF4_LINK_LIBS}) endforeach () -foreach (example ${h4examples_use}) - get_filename_component (example_name ${example} NAME_WE) - add_executable (hdf_${example_name} ${PROJECT_SOURCE_DIR}/${example}) +foreach (example_name ${h4examples_use}) + add_executable (hdf_${example_name} ${PROJECT_SOURCE_DIR}/h4ex_${example_name}.c) target_link_libraries (hdf_${example_name} ${H4EX_HDF4_LINK_LIBS}) endforeach () +foreach (example_name ${h4examples_mf}) + add_executable (mf_${example_name} ${PROJECT_SOURCE_DIR}/h4ex_${example_name}.c) + target_link_libraries (mf_${example_name} ${H4EX_HDF4_LINK_LIBS}) +endforeach () + if (H4EX_BUILD_TESTING) - macro (ADD_H4_TEST testname testcreate) + macro (ADD_H4_TEST testname testcreate testprefix) add_test ( - NAME hdf_${testname}-clearall + NAME ${testprefix}_${testname}-clearall COMMAND ${CMAKE_COMMAND} -E remove ${testname}.hdf ) add_test ( - NAME hdf_${testname} + NAME ${testprefix}_${testname} COMMAND "${CMAKE_COMMAND}" - -D "TEST_PROGRAM=$" + -D "TEST_PROGRAM=$" -D "TEST_ARGS:STRING=" -D "TEST_FOLDER=${PROJECT_BINARY_DIR}" -D "TEST_EXPECT=0" @@ -38,10 +41,10 @@ if (H4EX_BUILD_TESTING) -D "TEST_LIBRARY_DIRECTORY=${CMAKE_TEST_LIB_DIRECTORY}" -P "${HDF4EX_RESOURCES_DIR}/runTest.cmake" ) - set_tests_properties (hdf_${testname} PROPERTIES DEPENDS hdf_${testname}-clearall) + set_tests_properties (${testprefix}_${testname} PROPERTIES DEPENDS ${testprefix}_${testname}-clearall) if (HDF4_BUILD_TOOLS AND ${testcreate} STREQUAL "1") add_test ( - NAME hdf_HDP-${testname} + NAME ${testprefix}_HDP-${testname} COMMAND "${CMAKE_COMMAND}" -D "TEST_PROGRAM=${H4EX_HDF4_DUMP_EXECUTABLE}" -D "TEST_ARGS:STRING=${ARGN};${testname}.hdf" @@ -52,21 +55,20 @@ if (H4EX_BUILD_TESTING) -D "TEST_LIBRARY_DIRECTORY=${CMAKE_TEST_LIB_DIRECTORY}" -P "${HDF4EX_RESOURCES_DIR}/runTest.cmake" ) - set_tests_properties (hdf_HDP-${testname} PROPERTIES DEPENDS hdf_${testname}) + set_tests_properties (${testprefix}_HDP-${testname} PROPERTIES DEPENDS ${testprefix}_${testname}) endif () endmacro () - foreach (example ${h4examples}) - get_filename_component (example_name ${example} NAME_WE) - set (testsrc "${PROJECT_SOURCE_DIR}/testfiles/${example_name}") - set (testdest "${PROJECT_BINARY_DIR}/${example_name}") + foreach (example_name ${h4examples}) + set (testsrc "${PROJECT_SOURCE_DIR}/testfiles/h4ex_${example_name}") + set (testdest "${PROJECT_BINARY_DIR}/h4ex_${example_name}") add_custom_command ( OUTPUT "${testdest}.tst" COMMAND ${CMAKE_COMMAND} ARGS -E copy_if_different "${testsrc}.tst" "${testdest}.tst" DEPENDS "${testsrc}.tst" ) - list (APPEND HDF4Examples_HDF_VG_TEST_FILES "${testdest}.tst") + list (APPEND HDF4Examples_VG_TEST_FILES "${testdest}.tst") if (HDF4_BUILD_TOOLS) add_custom_command ( OUTPUT "${testdest}.ddl" @@ -74,21 +76,41 @@ if (H4EX_BUILD_TESTING) ARGS -E copy_if_different "${testsrc}.ddl" "${testdest}.ddl" DEPENDS "${testsrc}.ddl" ) - list (APPEND HDF4Examples_HDF_VG_TEST_FILES "${testdest}.ddl") + list (APPEND HDF4Examples_VG_TEST_FILES "${testdest}.ddl") endif () endforeach () - foreach (example ${h4examples_use}) - get_filename_component (example_name ${example} NAME_WE) - set (testsrc "${PROJECT_SOURCE_DIR}/testfiles/${example_name}") - set (testdest "${PROJECT_BINARY_DIR}/${example_name}") + foreach (example_name ${h4examples_use}) + set (testsrc "${PROJECT_SOURCE_DIR}/testfiles/h4ex_${example_name}") + set (testdest "${PROJECT_BINARY_DIR}/h4ex_${example_name}") + add_custom_command ( + OUTPUT "${testdest}.tst" + COMMAND ${CMAKE_COMMAND} + ARGS -E copy_if_different "${testsrc}.tst" "${testdest}.tst" + DEPENDS "${testsrc}.tst" + ) + list (APPEND HDF4Examples_VG_TEST_FILES "${testdest}.tst") + endforeach () + + foreach (example_name ${h4examples_mf}) + set (testsrc "${PROJECT_SOURCE_DIR}/testfiles/h4ex_${example_name}") + set (testdest "${PROJECT_BINARY_DIR}/h4ex_${example_name}") add_custom_command ( OUTPUT "${testdest}.tst" COMMAND ${CMAKE_COMMAND} ARGS -E copy_if_different "${testsrc}.tst" "${testdest}.tst" DEPENDS "${testsrc}.tst" ) - list (APPEND HDF4Examples_HDF_VG_TEST_FILES "${testdest}.tst") + list (APPEND HDF4Examples_VG_TEST_FILES "${testdest}.tst") + if (HDF4_BUILD_TOOLS) + add_custom_command ( + OUTPUT "${testdest}.ddl" + COMMAND ${CMAKE_COMMAND} + ARGS -E copy_if_different "${testsrc}.ddl" "${testdest}.ddl" + DEPENDS "${testsrc}.ddl" + ) + list (APPEND HDF4Examples_VG_TEST_FILES "${testdest}.ddl") + endif () endforeach () foreach (ex_file ${h4examples_files}) @@ -100,19 +122,21 @@ if (H4EX_BUILD_TESTING) ARGS -E copy_if_different "${testsrc}" "${testdest}" DEPENDS "${testsrc}" ) - list (APPEND HDF4Examples_HDF_VG_TEST_FILES "${testdest}") + list (APPEND HDF4Examples_VG_TEST_FILES "${testdest}") endforeach () add_custom_target (HDF4Examples_HDF_VG-files ALL COMMENT "Copying files needed by VG tests" - DEPENDS ${HDF4Examples_HDF_VG_TEST_FILES}) + DEPENDS ${HDF4Examples_VG_TEST_FILES}) + + foreach (example_name ${h4examples}) + ADD_H4_TEST (${example_name} 1 dumpvg hdf) + endforeach () - foreach (example ${h4examples}) - get_filename_component (example_name ${example} NAME_WE) - ADD_H4_TEST (${example_name} 1 dumpvg) + foreach (example_name ${h4examples_use}) + ADD_H4_TEST (${example_name} 0 dumpvg hdf) endforeach () - foreach (example ${h4examples_use}) - get_filename_component (example_name ${example} NAME_WE) - ADD_H4_TEST (${example_name} 0 dumpvg) + foreach (example_name ${h4examples_mf}) + ADD_H4_MF_TEST (${example_name} 1 dumpvg mf) endforeach () endif () diff --git a/HDF4Examples/hdf/examples/VG/C_sourcefiles.cmake b/HDF4Examples/C/VG/C_sourcefiles.cmake similarity index 65% rename from HDF4Examples/hdf/examples/VG/C_sourcefiles.cmake rename to HDF4Examples/C/VG/C_sourcefiles.cmake index b8cbe366e9..fd31c55a91 100644 --- a/HDF4Examples/hdf/examples/VG/C_sourcefiles.cmake +++ b/HDF4Examples/C/VG/C_sourcefiles.cmake @@ -2,14 +2,16 @@ # Define Sources, one file per application #----------------------------------------------------------------------------- set (h4examples - h4ex_VG_add_sds_to_vgroup.c - h4ex_VG_create_vgroup.c + VG_create_vgroup ) set (h4examples_use - h4ex_VG_get_vgroup_info.c - h4ex_VG_insert_vdatas_to_vgroup.c - #h4ex_VG_set_get_vgroup_attr.c - h4ex_VG_vgroup_contents.c + VG_get_vgroup_info + VG_insert_vdatas_to_vgroup + #VG_set_get_vgroup_attr + VG_vgroup_contents +) +set (h4examples_mf + VG_add_sds_to_vgroup ) set (h4examples_files General_Vgroups.hdf diff --git a/HDF4Examples/hdf/examples/VG/h4ex_VG_add_sds_to_vgroup.c b/HDF4Examples/C/VG/h4ex_VG_add_sds_to_vgroup.c similarity index 100% rename from HDF4Examples/hdf/examples/VG/h4ex_VG_add_sds_to_vgroup.c rename to HDF4Examples/C/VG/h4ex_VG_add_sds_to_vgroup.c diff --git a/HDF4Examples/hdf/examples/VG/h4ex_VG_create_vgroup.c b/HDF4Examples/C/VG/h4ex_VG_create_vgroup.c similarity index 100% rename from HDF4Examples/hdf/examples/VG/h4ex_VG_create_vgroup.c rename to HDF4Examples/C/VG/h4ex_VG_create_vgroup.c diff --git a/HDF4Examples/hdf/examples/VG/h4ex_VG_get_vgroup_info.c b/HDF4Examples/C/VG/h4ex_VG_get_vgroup_info.c similarity index 100% rename from HDF4Examples/hdf/examples/VG/h4ex_VG_get_vgroup_info.c rename to HDF4Examples/C/VG/h4ex_VG_get_vgroup_info.c diff --git a/HDF4Examples/hdf/examples/VG/h4ex_VG_insert_vdatas_to_vgroup.c b/HDF4Examples/C/VG/h4ex_VG_insert_vdatas_to_vgroup.c similarity index 100% rename from HDF4Examples/hdf/examples/VG/h4ex_VG_insert_vdatas_to_vgroup.c rename to HDF4Examples/C/VG/h4ex_VG_insert_vdatas_to_vgroup.c diff --git a/HDF4Examples/hdf/examples/VG/h4ex_VG_set_get_vgroup_attr.c b/HDF4Examples/C/VG/h4ex_VG_set_get_vgroup_attr.c similarity index 100% rename from HDF4Examples/hdf/examples/VG/h4ex_VG_set_get_vgroup_attr.c rename to HDF4Examples/C/VG/h4ex_VG_set_get_vgroup_attr.c diff --git a/HDF4Examples/hdf/examples/VG/h4ex_VG_vgroup_contents.c b/HDF4Examples/C/VG/h4ex_VG_vgroup_contents.c similarity index 100% rename from HDF4Examples/hdf/examples/VG/h4ex_VG_vgroup_contents.c rename to HDF4Examples/C/VG/h4ex_VG_vgroup_contents.c diff --git a/HDF4Examples/hdf/examples/VG/testfiles/General_Vgroups.hdf b/HDF4Examples/C/VG/testfiles/General_Vgroups.hdf similarity index 100% rename from HDF4Examples/hdf/examples/VG/testfiles/General_Vgroups.hdf rename to HDF4Examples/C/VG/testfiles/General_Vgroups.hdf diff --git a/HDF4Examples/hdf/examples/VG/testfiles/General_Vgroups2.hdf b/HDF4Examples/C/VG/testfiles/General_Vgroups2.hdf similarity index 100% rename from HDF4Examples/hdf/examples/VG/testfiles/General_Vgroups2.hdf rename to HDF4Examples/C/VG/testfiles/General_Vgroups2.hdf diff --git a/HDF4Examples/hdf/examples/VG/testfiles/General_Vgroups3.hdf b/HDF4Examples/C/VG/testfiles/General_Vgroups3.hdf similarity index 100% rename from HDF4Examples/hdf/examples/VG/testfiles/General_Vgroups3.hdf rename to HDF4Examples/C/VG/testfiles/General_Vgroups3.hdf diff --git a/HDF4Examples/hdf/examples/VG/testfiles/General_Vgroups4.hdf b/HDF4Examples/C/VG/testfiles/General_Vgroups4.hdf similarity index 100% rename from HDF4Examples/hdf/examples/VG/testfiles/General_Vgroups4.hdf rename to HDF4Examples/C/VG/testfiles/General_Vgroups4.hdf diff --git a/HDF4Examples/hdf/examples/VG/testfiles/h4ex_VG_add_sds_to_vgroup.ddl b/HDF4Examples/C/VG/testfiles/h4ex_VG_add_sds_to_vgroup.ddl similarity index 100% rename from HDF4Examples/hdf/examples/VG/testfiles/h4ex_VG_add_sds_to_vgroup.ddl rename to HDF4Examples/C/VG/testfiles/h4ex_VG_add_sds_to_vgroup.ddl diff --git a/HDF4Examples/hdf/examples/VG/testfiles/h4ex_VG_add_sds_to_vgroup.tst b/HDF4Examples/C/VG/testfiles/h4ex_VG_add_sds_to_vgroup.tst similarity index 100% rename from HDF4Examples/hdf/examples/VG/testfiles/h4ex_VG_add_sds_to_vgroup.tst rename to HDF4Examples/C/VG/testfiles/h4ex_VG_add_sds_to_vgroup.tst diff --git a/HDF4Examples/hdf/examples/VG/testfiles/h4ex_VG_create_vgroup.ddl b/HDF4Examples/C/VG/testfiles/h4ex_VG_create_vgroup.ddl similarity index 100% rename from HDF4Examples/hdf/examples/VG/testfiles/h4ex_VG_create_vgroup.ddl rename to HDF4Examples/C/VG/testfiles/h4ex_VG_create_vgroup.ddl diff --git a/HDF4Examples/hdf/examples/VG/testfiles/h4ex_VG_create_vgroup.tst b/HDF4Examples/C/VG/testfiles/h4ex_VG_create_vgroup.tst similarity index 100% rename from HDF4Examples/hdf/examples/VG/testfiles/h4ex_VG_create_vgroup.tst rename to HDF4Examples/C/VG/testfiles/h4ex_VG_create_vgroup.tst diff --git a/HDF4Examples/hdf/examples/VG/testfiles/h4ex_VG_get_vgroup_info.tst b/HDF4Examples/C/VG/testfiles/h4ex_VG_get_vgroup_info.tst similarity index 100% rename from HDF4Examples/hdf/examples/VG/testfiles/h4ex_VG_get_vgroup_info.tst rename to HDF4Examples/C/VG/testfiles/h4ex_VG_get_vgroup_info.tst diff --git a/HDF4Examples/hdf/examples/VG/testfiles/h4ex_VG_insert_vdatas_to_vgroup.tst b/HDF4Examples/C/VG/testfiles/h4ex_VG_insert_vdatas_to_vgroup.tst similarity index 100% rename from HDF4Examples/hdf/examples/VG/testfiles/h4ex_VG_insert_vdatas_to_vgroup.tst rename to HDF4Examples/C/VG/testfiles/h4ex_VG_insert_vdatas_to_vgroup.tst diff --git a/HDF4Examples/hdf/examples/VG/testfiles/h4ex_VG_set_get_vgroup_attr.tst b/HDF4Examples/C/VG/testfiles/h4ex_VG_set_get_vgroup_attr.tst similarity index 100% rename from HDF4Examples/hdf/examples/VG/testfiles/h4ex_VG_set_get_vgroup_attr.tst rename to HDF4Examples/C/VG/testfiles/h4ex_VG_set_get_vgroup_attr.tst diff --git a/HDF4Examples/hdf/examples/VG/testfiles/h4ex_VG_vgroup_contents.tst b/HDF4Examples/C/VG/testfiles/h4ex_VG_vgroup_contents.tst similarity index 100% rename from HDF4Examples/hdf/examples/VG/testfiles/h4ex_VG_vgroup_contents.tst rename to HDF4Examples/C/VG/testfiles/h4ex_VG_vgroup_contents.tst diff --git a/HDF4Examples/CMakeLists.txt b/HDF4Examples/CMakeLists.txt index 2b3c0923ed..1b0818b58a 100644 --- a/HDF4Examples/CMakeLists.txt +++ b/HDF4Examples/CMakeLists.txt @@ -4,29 +4,41 @@ project (H4EXAMPLES C) #----------------------------------------------------------------------------- # Define some CMake variables for use later in the project #----------------------------------------------------------------------------- -set (HDF4EX_HDFSRC_DIR ${H4EXAMPLES_SOURCE_DIR}/hdf) -set (HDF4EX_HDF_FORTRAN_DIR ${H4EXAMPLES_SOURCE_DIR}/hdf/fortran) -set (HDF4EX_MFHDFSRC_DIR ${H4EXAMPLES_SOURCE_DIR}/mfhdf) -set (HDF4EX_MFHDF_FORTRAN_DIR ${H4EXAMPLES_SOURCE_DIR}/mfhdf/fortran) -set (HDF4EX_JAVA_DIR ${H4EXAMPLES_SOURCE_DIR}/JAVA) -set (HDF4EX_RESOURCES_DIR ${H4EXAMPLES_SOURCE_DIR}/config/cmake) +set (H4EX_C_DIR ${H4EXAMPLES_SOURCE_DIR}/C) +set (H4EX_HDF_FORTRAN_DIR ${H4EXAMPLES_SOURCE_DIR}/hdf/FORTRAN) +set (H4EX_MFHDF_FORTRAN_DIR ${H4EXAMPLES_SOURCE_DIR}/mfhdf/FORTRAN) +set (H4EX_JAVA_DIR ${H4EXAMPLES_SOURCE_DIR}/JAVA) #----------------------------------------------------------------------------- # Basic HDF4Examples stuff here #----------------------------------------------------------------------------- -include (${HDF4EX_RESOURCES_DIR}/HDFMacros.cmake) -include (${HDF4EX_RESOURCES_DIR}/HDFExampleMacros.cmake) -set (CMAKE_JAVA_INCLUDE_PATH "") +if (NOT EXAMPLES_EXTERNALLY_CONFIGURED) + set (H4EX_RESOURCES_DIR ${H4EXAMPLES_SOURCE_DIR}/config/cmake) -SET_HDF_BUILD_TYPE() + include (${H4EX_RESOURCES_DIR}/HDFMacros.cmake) + include (${H4EX_RESOURCES_DIR}/HDFExampleMacros.cmake) + set (CMAKE_JAVA_INCLUDE_PATH "") -BASIC_SETTINGS (EXAMPLES) + SET_HDF_BUILD_TYPE() + + BASIC_SETTINGS (EX) + + #----------------------------------------------------------------------------- + # HDF4 support + #----------------------------------------------------------------------------- + HDF4_SUPPORT (TRUE) +endif () +message (STATUS "HDF4 link libs: ${H4EX_HDF4_LINK_LIBS}") #----------------------------------------------------------------------------- -# HDF4 support +# Option to build JAVA examples #----------------------------------------------------------------------------- -HDF4_SUPPORT (TRUE) -message (STATUS "HDF4 link libs: ${H4EX_HDF4_LINK_LIBS}") +option (HDF_BUILD_JAVA "Build JAVA support" OFF) +if (HDF_BUILD_JAVA) + find_package (Java) + + include (${H4EX_RESOURCES_DIR}/UseJava.cmake) +endif () if (WIN32) set(CMAKE_TEST_LIB_DIRECTORY "${HDF4_TOOLS_DIR}") @@ -37,7 +49,9 @@ endif () #----------------------------------------------------------------------------- # All examples need the main include directories #----------------------------------------------------------------------------- -INCLUDE_DIRECTORIES (${H4EX_HDF4_INCLUDE_DIRS}) +set_directory_properties(PROPERTIES INCLUDE_DIRECTORIES + "${H4EX_HDF4_INCLUDE_DIRS}" +) #----------------------------------------------------------------------------- # Dashboard and Testing Settings @@ -50,7 +64,7 @@ if (H4EX_BUILD_TESTING) enable_testing () include (CTest) include (${PROJECT_SOURCE_DIR}/CTestConfig.cmake) - configure_file (${HDF4EX_RESOURCES_DIR}/CTestCustom.cmake ${PROJECT_BINARY_DIR}/CTestCustom.ctest @ONLY) + configure_file (${H4EX_RESOURCES_DIR}/CTestCustom.cmake ${PROJECT_BINARY_DIR}/CTestCustom.ctest @ONLY) endif () #----------------------------------------------------------------------------- @@ -61,10 +75,10 @@ endif () # Set default name mangling : overridden by Fortran detection in fortran dir set (H4_F77_FUNC "H4_F77_FUNC(name,NAME) name ## _") set (H4_F77_FUNC_ "H4_F77_FUNC_(name,NAME) name ## __") -if (EXISTS "${H4EXAMPLES_SOURCE_DIR}/mfhdf/fortran" AND IS_DIRECTORY "${H4EXAMPLES_SOURCE_DIR}/mfhdf/fortran") +if (EXISTS "${H4EXAMPLES_SOURCE_DIR}/mfhdf/FORTRAN" AND IS_DIRECTORY "${H4EXAMPLES_SOURCE_DIR}/mfhdf/FORTRAN") option (HDF_BUILD_FORTRAN "Build FORTRAN support" OFF) if (HDF_BUILD_FORTRAN AND HDF4_BUILD_FORTRAN) - set (H4EX_LINK_Fortran_LIBS ${H4EX_HDF4_LINK_LIBS}) + set (H4EX_LINK_Fortran_LIBS ${H4EX_HDF4_LINK_LIBS}) if (WIN32) set (H4_F77_FUNC "H4_F77_FUNC(name,NAME) NAME") @@ -90,13 +104,12 @@ endif () # Build examples #----------------------------------------------------------------------------- if (HDF_BUILD_C) - add_subdirectory (hdf/examples) - add_subdirectory (mfhdf/examples) + add_subdirectory (C) endif () if (HDF_BUILD_FORTRAN AND HDF4_BUILD_FORTRAN) - add_subdirectory (mfhdf/fortran) - add_subdirectory (hdf/fortran) + add_subdirectory (FORTRAN) endif () if (HDF_BUILD_JAVA AND HDF4_BUILD_JAVA) add_subdirectory (JAVA) endif () + diff --git a/HDF4Examples/FORTRAN/AN/CMakeLists.txt b/HDF4Examples/FORTRAN/AN/CMakeLists.txt new file mode 100644 index 0000000000..5e9c1d055c --- /dev/null +++ b/HDF4Examples/FORTRAN/AN/CMakeLists.txt @@ -0,0 +1,79 @@ +cmake_minimum_required (VERSION 3.12) +project (HDF4Examples_AN_F Fortran) +# -------------------------------------------------------------------- +# Notes: When creating examples they should be prefixed +# with "f_an". This allows for easier filtering of the examples. +# -------------------------------------------------------------------- + +if (CMAKE_Fortran_COMPILER_ID STREQUAL "GNU" AND CMAKE_Fortran_COMPILER_VERSION VERSION_GREATER_EQUAL 10.0) + set (CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fallow-argument-mismatch") +endif () + +#----------------------------------------------------------------------------- +# Add debug information (intel Fortran : JB) +#----------------------------------------------------------------------------- +if (CMAKE_Fortran_COMPILER MATCHES ifort) + if (WIN32) + set (CMAKE_Fortran_FLAGS_DEBUG "/debug:full /dbglibs " CACHE STRING "flags" FORCE) + set (CMAKE_EXE_LINKER_FLAGS_DEBUG "/DEBUG" CACHE STRING "flags" FORCE) + endif () +endif () + +#----------------------------------------------------------------------------- +# Setup include Directories +#----------------------------------------------------------------------------- +set_directory_properties(PROPERTIES INCLUDE_DIRECTORIES + "${CMAKE_Fortran_MODULE_DIRECTORY}${HDF_MOD_EXT};${PROJECT_BINARY_DIR};${CMAKE_LIBRARY_OUTPUT_DIRECTORY}" +) + +#----------------------------------------------------------------------------- +# Define Sources +#----------------------------------------------------------------------------- +include (Fortran_sourcefiles.cmake) + +# Remove any output file left over from previous test run +add_test ( + NAME AN_FORTRAN_EXAMPLES-clearall-objects + COMMAND ${CMAKE_COMMAND} + -E remove + General_HDFobjects.hdf + General_RImages.hdf + General_Vdatas.hdf + General_Vgroups.hdf + Image_with_Palette.hdf + Packed_Vdata.hdf + Two_Vdatas.hdf + Two_Vgroups.hdf +) +if (NOT "${last_test}" STREQUAL "") + set_tests_properties (AN_FORTRAN_EXAMPLES-clearall-objects PROPERTIES DEPENDS ${last_test} LABELS EXAMPLES) +else () + set_tests_properties (AN_FORTRAN_EXAMPLES-clearall-objects PROPERTIES LABELS EXAMPLES) +endif () +set (last_test "AN_FORTRAN_EXAMPLES-clearall-objects") + +foreach (example_name ${examples}) + add_executable (${EXAMPLE_VARNAME}_f_an_${example_name} ${PROJECT_SOURCE_DIR}/h4ex_${example_name}.f) + set_target_properties (${EXAMPLE_VARNAME}_f_an_${example_name} PROPERTIES LINKER_LANGUAGE Fortran) + target_link_libraries (${EXAMPLE_VARNAME}_f_an_${example_name} ${H4EX_HDF4_LINK_LIBS}) + if (H4EX_BUILD_TESTING) + add_test ( + NAME ${EXAMPLE_VARNAME}_f_an_${example_name} + COMMAND "${CMAKE_COMMAND}" + -D "TEST_PROGRAM=$" + -D "TEST_ARGS:STRING=" + -D "TEST_FOLDER=${PROJECT_BINARY_DIR}" + -D "TEST_EXPECT=0" + -D "TEST_SKIP_COMPARE=TRUE" + -D "TEST_OUTPUT=${testname}.out" + -D "TEST_LIBRARY_DIRECTORY=${CMAKE_TEST_LIB_DIRECTORY}" + -P "${${EXAMPLE_PACKAGE_NAME}_RESOURCES_DIR}/runTest.cmake" + ) + if (NOT "${last_test}" STREQUAL "") + set_tests_properties (${EXAMPLE_VARNAME}_f_an_${example_name} PROPERTIES DEPENDS ${last_test} LABELS EXAMPLES) + else () + set_tests_properties (${EXAMPLE_VARNAME}_f_an_${example_name} PROPERTIES LABELS EXAMPLES) + endif () + set (last_test "${EXAMPLE_VARNAME}_f_ant_${example_name}") + endif () +endforeach () diff --git a/HDF4Examples/FORTRAN/AN/Fortran_sourcefiles.cmake b/HDF4Examples/FORTRAN/AN/Fortran_sourcefiles.cmake new file mode 100644 index 0000000000..d1d9caa736 --- /dev/null +++ b/HDF4Examples/FORTRAN/AN/Fortran_sourcefiles.cmake @@ -0,0 +1,8 @@ +#----------------------------------------------------------------------------- +# Define Sources, one file per application +#----------------------------------------------------------------------------- +set (examples + AN_create_annotation + AN_get_annotation_info + AN_read_annotation +) diff --git a/HDF4Examples/hdf/fortran/h4ex_AN_create_annotation.f b/HDF4Examples/FORTRAN/AN/h4ex_AN_create_annotation.f similarity index 100% rename from HDF4Examples/hdf/fortran/h4ex_AN_create_annotation.f rename to HDF4Examples/FORTRAN/AN/h4ex_AN_create_annotation.f diff --git a/HDF4Examples/hdf/fortran/h4ex_AN_get_annotation_info.f b/HDF4Examples/FORTRAN/AN/h4ex_AN_get_annotation_info.f similarity index 100% rename from HDF4Examples/hdf/fortran/h4ex_AN_get_annotation_info.f rename to HDF4Examples/FORTRAN/AN/h4ex_AN_get_annotation_info.f diff --git a/HDF4Examples/hdf/fortran/h4ex_AN_read_annotation.f b/HDF4Examples/FORTRAN/AN/h4ex_AN_read_annotation.f similarity index 100% rename from HDF4Examples/hdf/fortran/h4ex_AN_read_annotation.f rename to HDF4Examples/FORTRAN/AN/h4ex_AN_read_annotation.f diff --git a/HDF4Examples/FORTRAN/CMakeLists.txt b/HDF4Examples/FORTRAN/CMakeLists.txt new file mode 100644 index 0000000000..c4260e17af --- /dev/null +++ b/HDF4Examples/FORTRAN/CMakeLists.txt @@ -0,0 +1,11 @@ +cmake_minimum_required (VERSION 3.12) +project (HDF4Examples_F Fortran) + +#----------------------------------------------------------------------------- +# Define Sources +#----------------------------------------------------------------------------- +add_subdirectory (${PROJECT_SOURCE_DIR}/AN) +add_subdirectory (${PROJECT_SOURCE_DIR}/GR) +add_subdirectory (${PROJECT_SOURCE_DIR}/VD) +add_subdirectory (${PROJECT_SOURCE_DIR}/VG) +add_subdirectory (${PROJECT_SOURCE_DIR}/SD) diff --git a/HDF4Examples/FORTRAN/GR/CMakeLists.txt b/HDF4Examples/FORTRAN/GR/CMakeLists.txt new file mode 100644 index 0000000000..9e2f9f2501 --- /dev/null +++ b/HDF4Examples/FORTRAN/GR/CMakeLists.txt @@ -0,0 +1,79 @@ +cmake_minimum_required (VERSION 3.12) +project (HDF4Examples_GR_F Fortran) +# -------------------------------------------------------------------- +# Notes: When creating examples they should be prefixed +# with "f_gr". This allows for easier filtering of the examples. +# -------------------------------------------------------------------- + +if (CMAKE_Fortran_COMPILER_ID STREQUAL "GNU" AND CMAKE_Fortran_COMPILER_VERSION VERSION_GREATER_EQUAL 10.0) + set (CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fallow-argument-mismatch") +endif () + +#----------------------------------------------------------------------------- +# Add debug information (intel Fortran : JB) +#----------------------------------------------------------------------------- +if (CMAKE_Fortran_COMPILER MATCHES ifort) + if (WIN32) + set (CMAKE_Fortran_FLAGS_DEBUG "/debug:full /dbglibs " CACHE STRING "flags" FORCE) + set (CMAKE_EXE_LINKER_FLAGS_DEBUG "/DEBUG" CACHE STRING "flags" FORCE) + endif () +endif () + +#----------------------------------------------------------------------------- +# Setup include Directories +#----------------------------------------------------------------------------- +set_directory_properties(PROPERTIES INCLUDE_DIRECTORIES + "${CMAKE_Fortran_MODULE_DIRECTORY}${HDF_MOD_EXT};${PROJECT_BINARY_DIR};${CMAKE_LIBRARY_OUTPUT_DIRECTORY}" +) + +#----------------------------------------------------------------------------- +# Define Sources +#----------------------------------------------------------------------------- +include (Fortran_sourcefiles.cmake) + +# Remove any output file left over from previous test run +add_test ( + NAME GR_FORTRAN_EXAMPLES-clearall-objects + COMMAND ${CMAKE_COMMAND} + -E remove + General_HDFobjects.hdf + General_RImages.hdf + General_Vdatas.hdf + General_Vgroups.hdf + Image_with_Palette.hdf + Packed_Vdata.hdf + Two_Vdatas.hdf + Two_Vgroups.hdf +) +if (NOT "${last_test}" STREQUAL "") + set_tests_properties (GR_FORTRAN_EXAMPLES-clearall-objects PROPERTIES DEPENDS ${last_test} LABELS EXAMPLES) +else () + set_tests_properties (GR_FORTRAN_EXAMPLES-clearall-objects PROPERTIES LABELS EXAMPLES) +endif () +set (last_test "GR_FORTRAN_EXAMPLES-clearall-objects") + +foreach (example_name ${examples}) + add_executable (${EXAMPLE_VARNAME}_f_gr_${example_name} ${PROJECT_SOURCE_DIR}/h4ex_${example_name}.f) + set_target_properties (${EXAMPLE_VARNAME}_f_gr_${example_name} PROPERTIES LINKER_LANGUAGE Fortran) + target_link_libraries (${EXAMPLE_VARNAME}_f_gr_${example_name} ${H4EX_HDF4_LINK_LIBS}) + if (H4EX_BUILD_TESTING) + add_test ( + NAME ${EXAMPLE_VARNAME}_f_gr_test_${example_name} + COMMAND "${CMAKE_COMMAND}" + -D "TEST_PROGRAM=$" + -D "TEST_ARGS:STRING=" + -D "TEST_FOLDER=${PROJECT_BINARY_DIR}" + -D "TEST_EXPECT=0" + -D "TEST_SKIP_COMPARE=TRUE" + -D "TEST_OUTPUT=${testname}.out" + -D "TEST_LIBRARY_DIRECTORY=${CMAKE_TEST_LIB_DIRECTORY}" + -P "${${EXAMPLE_PACKAGE_NAME}_RESOURCES_DIR}/runTest.cmake" + ) + if (NOT "${last_test}" STREQUAL "") + set_tests_properties (${EXAMPLE_VARNAME}_f_gr_${example_name} PROPERTIES DEPENDS ${last_test} LABELS EXAMPLES) + else () + set_tests_properties (${EXAMPLE_VARNAME}_f_gr_${example_name} PROPERTIES LABELS EXAMPLES) + endif () + set (last_test "${EXAMPLE_VARNAME}_f_gr_${example_name}") + endif () +endforeach () diff --git a/HDF4Examples/FORTRAN/GR/Fortran_sourcefiles.cmake b/HDF4Examples/FORTRAN/GR/Fortran_sourcefiles.cmake new file mode 100644 index 0000000000..a198fb4b64 --- /dev/null +++ b/HDF4Examples/FORTRAN/GR/Fortran_sourcefiles.cmake @@ -0,0 +1,13 @@ +#----------------------------------------------------------------------------- +# Define Sources, one file per application +#----------------------------------------------------------------------------- +set (examples + GR_create_and_write_image + GR_create_and_write_chunked_image + GR_modify_image + GR_set_attribute + GR_get_attribute + GR_write_palette + GR_image_info + GR_read_image +) diff --git a/HDF4Examples/hdf/fortran/h4ex_GR_create_and_write_chunked_image.f b/HDF4Examples/FORTRAN/GR/h4ex_GR_create_and_write_chunked_image.f similarity index 100% rename from HDF4Examples/hdf/fortran/h4ex_GR_create_and_write_chunked_image.f rename to HDF4Examples/FORTRAN/GR/h4ex_GR_create_and_write_chunked_image.f diff --git a/HDF4Examples/hdf/fortran/h4ex_GR_create_and_write_image.f b/HDF4Examples/FORTRAN/GR/h4ex_GR_create_and_write_image.f similarity index 100% rename from HDF4Examples/hdf/fortran/h4ex_GR_create_and_write_image.f rename to HDF4Examples/FORTRAN/GR/h4ex_GR_create_and_write_image.f diff --git a/HDF4Examples/hdf/fortran/h4ex_GR_get_attribute.f b/HDF4Examples/FORTRAN/GR/h4ex_GR_get_attribute.f similarity index 100% rename from HDF4Examples/hdf/fortran/h4ex_GR_get_attribute.f rename to HDF4Examples/FORTRAN/GR/h4ex_GR_get_attribute.f diff --git a/HDF4Examples/hdf/fortran/h4ex_GR_image_info.f b/HDF4Examples/FORTRAN/GR/h4ex_GR_image_info.f similarity index 100% rename from HDF4Examples/hdf/fortran/h4ex_GR_image_info.f rename to HDF4Examples/FORTRAN/GR/h4ex_GR_image_info.f diff --git a/HDF4Examples/hdf/fortran/h4ex_GR_modify_image.f b/HDF4Examples/FORTRAN/GR/h4ex_GR_modify_image.f similarity index 100% rename from HDF4Examples/hdf/fortran/h4ex_GR_modify_image.f rename to HDF4Examples/FORTRAN/GR/h4ex_GR_modify_image.f diff --git a/HDF4Examples/hdf/fortran/h4ex_GR_read_image.f b/HDF4Examples/FORTRAN/GR/h4ex_GR_read_image.f similarity index 100% rename from HDF4Examples/hdf/fortran/h4ex_GR_read_image.f rename to HDF4Examples/FORTRAN/GR/h4ex_GR_read_image.f diff --git a/HDF4Examples/hdf/fortran/h4ex_GR_read_palette.f b/HDF4Examples/FORTRAN/GR/h4ex_GR_read_palette.f similarity index 100% rename from HDF4Examples/hdf/fortran/h4ex_GR_read_palette.f rename to HDF4Examples/FORTRAN/GR/h4ex_GR_read_palette.f diff --git a/HDF4Examples/hdf/fortran/h4ex_GR_set_attribute.f b/HDF4Examples/FORTRAN/GR/h4ex_GR_set_attribute.f similarity index 100% rename from HDF4Examples/hdf/fortran/h4ex_GR_set_attribute.f rename to HDF4Examples/FORTRAN/GR/h4ex_GR_set_attribute.f diff --git a/HDF4Examples/hdf/fortran/h4ex_GR_write_palette.f b/HDF4Examples/FORTRAN/GR/h4ex_GR_write_palette.f similarity index 100% rename from HDF4Examples/hdf/fortran/h4ex_GR_write_palette.f rename to HDF4Examples/FORTRAN/GR/h4ex_GR_write_palette.f diff --git a/HDF4Examples/mfhdf/fortran/CMakeLists.txt b/HDF4Examples/FORTRAN/SD/CMakeLists.txt similarity index 50% rename from HDF4Examples/mfhdf/fortran/CMakeLists.txt rename to HDF4Examples/FORTRAN/SD/CMakeLists.txt index 12562bd8a3..96926719ad 100644 --- a/HDF4Examples/mfhdf/fortran/CMakeLists.txt +++ b/HDF4Examples/FORTRAN/SD/CMakeLists.txt @@ -1,8 +1,8 @@ cmake_minimum_required (VERSION 3.12) -project (HDF4Examples_MFHDF_FORTRAN Fortran) +project (HDF4Examples_SD_F Fortran) # -------------------------------------------------------------------- # Notes: When creating examples they should be prefixed -# with "f_ex_". This allows for easier filtering of the examples. +# with "f_sd_". This allows for easier filtering of the examples. # -------------------------------------------------------------------- if (CMAKE_Fortran_COMPILER_ID STREQUAL "GNU" AND CMAKE_Fortran_COMPILER_VERSION VERSION_GREATER_EQUAL 10.0) @@ -12,10 +12,8 @@ endif () #----------------------------------------------------------------------------- # Setup include Directories #----------------------------------------------------------------------------- -INCLUDE_DIRECTORIES ( - ${CMAKE_Fortran_MODULE_DIRECTORY}${HDF_MOD_EXT} - ${PROJECT_BINARY_DIR} - ${CMAKE_LIBRARY_OUTPUT_DIRECTORY} +set_directory_properties(PROPERTIES INCLUDE_DIRECTORIES + "${CMAKE_Fortran_MODULE_DIRECTORY}${HDF_MOD_EXT};${PROJECT_BINARY_DIR};${CMAKE_LIBRARY_OUTPUT_DIRECTORY}" ) #----------------------------------------------------------------------------- @@ -26,7 +24,7 @@ include (Fortran_sourcefiles.cmake) if (H4EX_BUILD_TESTING) # Remove any output file left over from previous test run add_test ( - NAME MFHDF_FORTRAN_EXAMPLES-clearall-objects + NAME MF_SD_FORTRAN_EXAMPLES-clearall-objects COMMAND ${CMAKE_COMMAND} -E remove SDS.hdf @@ -36,23 +34,22 @@ if (H4EX_BUILD_TESTING) SLABS.hdf ) if (NOT "${last_test}" STREQUAL "") - set_tests_properties (MFHDF_FORTRAN_EXAMPLES-clearall-objects PROPERTIES DEPENDS ${last_test} LABELS ${PROJECT_NAME}) + set_tests_properties (MF_SD_FORTRAN_EXAMPLES-clearall-objects PROPERTIES DEPENDS ${last_test} LABELS ${PROJECT_NAME}) else () - set_tests_properties (MFHDF_FORTRAN_EXAMPLES-clearall-objects PROPERTIES LABELS ${PROJECT_NAME}) + set_tests_properties (MF_SD_FORTRAN_EXAMPLES-clearall-objects PROPERTIES LABELS ${PROJECT_NAME}) endif () - set (last_test "MFHDF_FORTRAN_EXAMPLES-clearall-objects") + set (last_test "MF_SD_FORTRAN_EXAMPLES-clearall-objects") endif () -foreach (example ${examples}) - get_filename_component(example_name ${example} NAME_WE) - add_executable (f_exmf_${example_name} ${PROJECT_SOURCE_DIR}/${example}) - set_target_properties (f_exmf_${example_name} PROPERTIES LINKER_LANGUAGE Fortran) - target_link_libraries (f_exmf_${example_name} ${H4EX_HDF4_LINK_LIBS}) +foreach (example_name ${examples}) + add_executable (${EXAMPLE_VARNAME}_f_mf_sd_${example_name} ${PROJECT_SOURCE_DIR}/h4ex_${example_name}.f) + set_target_properties (${EXAMPLE_VARNAME}_f_mf_sd_${example_name} PROPERTIES LINKER_LANGUAGE Fortran) + target_link_libraries (${EXAMPLE_VARNAME}_f_mf_sd_${example_name} ${H4EX_HDF4_LINK_LIBS}) if (BUILD_TESTING) add_test ( - NAME f_exmftest_${example_name} + NAME ${EXAMPLE_VARNAME}_f_mf_sd_${example_name} COMMAND "${CMAKE_COMMAND}" - -D "TEST_PROGRAM=$" + -D "TEST_PROGRAM=$" -D "TEST_ARGS:STRING=" -D "TEST_FOLDER=${PROJECT_BINARY_DIR}" -D "TEST_EXPECT=0" @@ -62,23 +59,22 @@ foreach (example ${examples}) -P "${HDF4EX_RESOURCES_DIR}/runTest.cmake" ) if (NOT "${last_test}" STREQUAL "") - set_tests_properties (f_exmftest_${example_name} PROPERTIES DEPENDS ${last_test} LABELS ${PROJECT_NAME}) + set_tests_properties (${EXAMPLE_VARNAME}_f_mf_sd_${example_name} PROPERTIES DEPENDS ${last_test} LABELS ${PROJECT_NAME}) else () - set_tests_properties (f_exmftest_${example_name} PROPERTIES LABELS ${PROJECT_NAME}) + set_tests_properties (${EXAMPLE_VARNAME}_f_mf_sd_${example_name} PROPERTIES LABELS ${PROJECT_NAME}) endif () - set (last_test "f_exmftest_${example_name}") + set (last_test "${EXAMPLE_VARNAME}_f_mf_sd_${example_name}") endif () endforeach () -foreach (example ${skip_examples}) - get_filename_component(example_name ${example} NAME_WE) - add_executable (f_exmf_${example_name} ${PROJECT_SOURCE_DIR}/${example}) - set_target_properties (f_exmf_${example_name} PROPERTIES LINKER_LANGUAGE Fortran) - target_link_libraries (f_exmf_${example_name} ${H4EX_HDF4_LINK_LIBS}) +foreach (example_name ${skip_examples}) + add_executable (${EXAMPLE_VARNAME}_f_mf_sd_skip_${example_name} ${PROJECT_SOURCE_DIR}/h4ex_${example_name}.f) + set_target_properties (${EXAMPLE_VARNAME}_f_mf_sd_skip_${example_name} PROPERTIES LINKER_LANGUAGE Fortran) + target_link_libraries (${EXAMPLE_VARNAME}_f_mf_sd_skip_${example_name} ${H4EX_HDF4_LINK_LIBS}) if (BUILD_TESTING) add_test ( - NAME f_exmftest_${example_name} - COMMAND ${CMAKE_COMMAND} -E echo "SKIP f_exmftest_${example_name}" + NAME ${EXAMPLE_VARNAME}_f_mf_sd_skip_${example_name} + COMMAND ${CMAKE_COMMAND} -E echo "SKIP ${EXAMPLE_VARNAME}_f_mf_sd_skip_${example_name}" ) endif () endforeach () diff --git a/HDF4Examples/FORTRAN/SD/Fortran_sourcefiles.cmake b/HDF4Examples/FORTRAN/SD/Fortran_sourcefiles.cmake new file mode 100644 index 0000000000..62af6a05e4 --- /dev/null +++ b/HDF4Examples/FORTRAN/SD/Fortran_sourcefiles.cmake @@ -0,0 +1,26 @@ +#----------------------------------------------------------------------------- +# Define Sources, one file per application +#----------------------------------------------------------------------------- +set (examples + SD_create_sds + SD_write_to_sds + SD_write_slab + SD_alter_sds_values + SD_unlimited_sds + SD_mv_sds_to_external + SD_read_from_sds + SD_read_subsets + #SD_get_info + SD_find_sds_by_name + SD_set_get_dim_info + #SD_dimscale_vs_sds + SD_set_attr + #SD_get_attr + SD_compress_sds + SD_chunking_example +) +set (skip_examples + SD_get_info + SD_dimscale_vs_sds + SD_get_attr +) diff --git a/HDF4Examples/mfhdf/fortran/Makefile.am b/HDF4Examples/FORTRAN/SD/Makefile.am similarity index 100% rename from HDF4Examples/mfhdf/fortran/Makefile.am rename to HDF4Examples/FORTRAN/SD/Makefile.am diff --git a/HDF4Examples/mfhdf/fortran/h4ex_SD_alter_sds_values.f b/HDF4Examples/FORTRAN/SD/h4ex_SD_alter_sds_values.f similarity index 100% rename from HDF4Examples/mfhdf/fortran/h4ex_SD_alter_sds_values.f rename to HDF4Examples/FORTRAN/SD/h4ex_SD_alter_sds_values.f diff --git a/HDF4Examples/mfhdf/fortran/h4ex_SD_chunking_example.f b/HDF4Examples/FORTRAN/SD/h4ex_SD_chunking_example.f similarity index 100% rename from HDF4Examples/mfhdf/fortran/h4ex_SD_chunking_example.f rename to HDF4Examples/FORTRAN/SD/h4ex_SD_chunking_example.f diff --git a/HDF4Examples/mfhdf/fortran/h4ex_SD_compress_sds.f b/HDF4Examples/FORTRAN/SD/h4ex_SD_compress_sds.f similarity index 100% rename from HDF4Examples/mfhdf/fortran/h4ex_SD_compress_sds.f rename to HDF4Examples/FORTRAN/SD/h4ex_SD_compress_sds.f diff --git a/HDF4Examples/mfhdf/fortran/h4ex_SD_create_sds.f b/HDF4Examples/FORTRAN/SD/h4ex_SD_create_sds.f similarity index 100% rename from HDF4Examples/mfhdf/fortran/h4ex_SD_create_sds.f rename to HDF4Examples/FORTRAN/SD/h4ex_SD_create_sds.f diff --git a/HDF4Examples/mfhdf/fortran/h4ex_SD_dimscale_vs_sds.f b/HDF4Examples/FORTRAN/SD/h4ex_SD_dimscale_vs_sds.f similarity index 100% rename from HDF4Examples/mfhdf/fortran/h4ex_SD_dimscale_vs_sds.f rename to HDF4Examples/FORTRAN/SD/h4ex_SD_dimscale_vs_sds.f diff --git a/HDF4Examples/mfhdf/fortran/h4ex_SD_find_sds_by_name.f b/HDF4Examples/FORTRAN/SD/h4ex_SD_find_sds_by_name.f similarity index 100% rename from HDF4Examples/mfhdf/fortran/h4ex_SD_find_sds_by_name.f rename to HDF4Examples/FORTRAN/SD/h4ex_SD_find_sds_by_name.f diff --git a/HDF4Examples/mfhdf/fortran/h4ex_SD_get_attr.f b/HDF4Examples/FORTRAN/SD/h4ex_SD_get_attr.f similarity index 100% rename from HDF4Examples/mfhdf/fortran/h4ex_SD_get_attr.f rename to HDF4Examples/FORTRAN/SD/h4ex_SD_get_attr.f diff --git a/HDF4Examples/mfhdf/fortran/h4ex_SD_get_info.f b/HDF4Examples/FORTRAN/SD/h4ex_SD_get_info.f similarity index 100% rename from HDF4Examples/mfhdf/fortran/h4ex_SD_get_info.f rename to HDF4Examples/FORTRAN/SD/h4ex_SD_get_info.f diff --git a/HDF4Examples/mfhdf/fortran/h4ex_SD_mv_sds_to_external.f b/HDF4Examples/FORTRAN/SD/h4ex_SD_mv_sds_to_external.f similarity index 100% rename from HDF4Examples/mfhdf/fortran/h4ex_SD_mv_sds_to_external.f rename to HDF4Examples/FORTRAN/SD/h4ex_SD_mv_sds_to_external.f diff --git a/HDF4Examples/mfhdf/fortran/h4ex_SD_read_from_sds.f b/HDF4Examples/FORTRAN/SD/h4ex_SD_read_from_sds.f similarity index 100% rename from HDF4Examples/mfhdf/fortran/h4ex_SD_read_from_sds.f rename to HDF4Examples/FORTRAN/SD/h4ex_SD_read_from_sds.f diff --git a/HDF4Examples/mfhdf/fortran/h4ex_SD_read_subsets.f b/HDF4Examples/FORTRAN/SD/h4ex_SD_read_subsets.f similarity index 100% rename from HDF4Examples/mfhdf/fortran/h4ex_SD_read_subsets.f rename to HDF4Examples/FORTRAN/SD/h4ex_SD_read_subsets.f diff --git a/HDF4Examples/mfhdf/fortran/h4ex_SD_set_attr.f b/HDF4Examples/FORTRAN/SD/h4ex_SD_set_attr.f similarity index 100% rename from HDF4Examples/mfhdf/fortran/h4ex_SD_set_attr.f rename to HDF4Examples/FORTRAN/SD/h4ex_SD_set_attr.f diff --git a/HDF4Examples/mfhdf/fortran/h4ex_SD_set_get_dim_info.f b/HDF4Examples/FORTRAN/SD/h4ex_SD_set_get_dim_info.f similarity index 100% rename from HDF4Examples/mfhdf/fortran/h4ex_SD_set_get_dim_info.f rename to HDF4Examples/FORTRAN/SD/h4ex_SD_set_get_dim_info.f diff --git a/HDF4Examples/mfhdf/fortran/h4ex_SD_unlimited_sds.f b/HDF4Examples/FORTRAN/SD/h4ex_SD_unlimited_sds.f similarity index 100% rename from HDF4Examples/mfhdf/fortran/h4ex_SD_unlimited_sds.f rename to HDF4Examples/FORTRAN/SD/h4ex_SD_unlimited_sds.f diff --git a/HDF4Examples/mfhdf/fortran/h4ex_SD_write_slab.f b/HDF4Examples/FORTRAN/SD/h4ex_SD_write_slab.f similarity index 100% rename from HDF4Examples/mfhdf/fortran/h4ex_SD_write_slab.f rename to HDF4Examples/FORTRAN/SD/h4ex_SD_write_slab.f diff --git a/HDF4Examples/mfhdf/fortran/h4ex_SD_write_to_sds.f b/HDF4Examples/FORTRAN/SD/h4ex_SD_write_to_sds.f similarity index 100% rename from HDF4Examples/mfhdf/fortran/h4ex_SD_write_to_sds.f rename to HDF4Examples/FORTRAN/SD/h4ex_SD_write_to_sds.f diff --git a/HDF4Examples/FORTRAN/VD/CMakeLists.txt b/HDF4Examples/FORTRAN/VD/CMakeLists.txt new file mode 100644 index 0000000000..92b876f4bf --- /dev/null +++ b/HDF4Examples/FORTRAN/VD/CMakeLists.txt @@ -0,0 +1,91 @@ +cmake_minimum_required (VERSION 3.12) +project (HDF4Examples_VD_F Fortran) +# -------------------------------------------------------------------- +# Notes: When creating examples they should be prefixed +# with "f_vd". This allows for easier filtering of the examples. +# -------------------------------------------------------------------- + +if (CMAKE_Fortran_COMPILER_ID STREQUAL "GNU" AND CMAKE_Fortran_COMPILER_VERSION VERSION_GREATER_EQUAL 10.0) + set (CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fallow-argument-mismatch") +endif () + +#----------------------------------------------------------------------------- +# Add debug information (intel Fortran : JB) +#----------------------------------------------------------------------------- +if (CMAKE_Fortran_COMPILER MATCHES ifort) + if (WIN32) + set (CMAKE_Fortran_FLAGS_DEBUG "/debug:full /dbglibs " CACHE STRING "flags" FORCE) + set (CMAKE_EXE_LINKER_FLAGS_DEBUG "/DEBUG" CACHE STRING "flags" FORCE) + endif () +endif () + +#----------------------------------------------------------------------------- +# Setup include Directories +#----------------------------------------------------------------------------- +set_directory_properties(PROPERTIES INCLUDE_DIRECTORIES + "${CMAKE_Fortran_MODULE_DIRECTORY}${HDF_MOD_EXT};${PROJECT_BINARY_DIR};${CMAKE_LIBRARY_OUTPUT_DIRECTORY}" +) + +#----------------------------------------------------------------------------- +# Define Sources +#----------------------------------------------------------------------------- +include (Fortran_sourcefiles.cmake) + +# Remove any output file left over from previous test run +add_test ( + NAME VD_FORTRAN_EXAMPLES-clearall-objects + COMMAND ${CMAKE_COMMAND} + -E remove + General_HDFobjects.hdf + General_RImages.hdf + General_Vdatas.hdf + General_Vgroups.hdf + Image_with_Palette.hdf + Packed_Vdata.hdf + Two_Vdatas.hdf + Two_Vgroups.hdf +) +if (NOT "${last_test}" STREQUAL "") + set_tests_properties (VD_FORTRAN_EXAMPLES-clearall-objects PROPERTIES DEPENDS ${last_test} LABELS EXAMPLES) +else () + set_tests_properties (VD_FORTRAN_EXAMPLES-clearall-objects PROPERTIES LABELS EXAMPLES) +endif () +set (last_test "VD_FORTRAN_EXAMPLES-clearall-objects") + +foreach (example_name ${examples}) + add_executable (${EXAMPLE_VARNAME}_f_vd_${example_name} ${PROJECT_SOURCE_DIR}/h4ex_${example_name}.f) + set_target_properties (${EXAMPLE_VARNAME}_f_vd_${example_name} PROPERTIES LINKER_LANGUAGE Fortran) + target_link_libraries (${EXAMPLE_VARNAME}_f_vd_${example_name} ${H4EX_HDF4_LINK_LIBS}) + if (H4EX_BUILD_TESTING) + add_test ( + NAME ${EXAMPLE_VARNAME}_f_vd_${example_name} + COMMAND "${CMAKE_COMMAND}" + -D "TEST_PROGRAM=$" + -D "TEST_ARGS:STRING=" + -D "TEST_FOLDER=${PROJECT_BINARY_DIR}" + -D "TEST_EXPECT=0" + -D "TEST_SKIP_COMPARE=TRUE" + -D "TEST_OUTPUT=${testname}.out" + -D "TEST_LIBRARY_DIRECTORY=${CMAKE_TEST_LIB_DIRECTORY}" + -P "${${EXAMPLE_PACKAGE_NAME}_RESOURCES_DIR}/runTest.cmake" + ) + if (NOT "${last_test}" STREQUAL "") + set_tests_properties (${EXAMPLE_VARNAME}_f_vd_${example_name} PROPERTIES DEPENDS ${last_test} LABELS EXAMPLES) + else () + set_tests_properties (${EXAMPLE_VARNAME}_f_vd_${example_name} PROPERTIES LABELS EXAMPLES) + endif () + set (last_test "${EXAMPLE_VARNAME}_f_vd_${example_name}") + endif () +endforeach () + +foreach (example_name ${skip_examples}) + add_executable (${EXAMPLE_VARNAME}_f_vd_skip_${example_name} ${PROJECT_SOURCE_DIR}/h4ex_${example_name}.f) + set_target_properties (${EXAMPLE_VARNAME}_f_vd_skip_${example_name} PROPERTIES LINKER_LANGUAGE Fortran) + target_link_libraries (${EXAMPLE_VARNAME}_f_vd_skip_${example_name} ${H4EX_HDF4_LINK_LIBS}) + if (BUILD_TESTING) + add_test ( + NAME ${EXAMPLE_VARNAME}_f_vd_skip_${example_name} + COMMAND ${CMAKE_COMMAND} -E echo "SKIP ${EXAMPLE_VARNAME}_f_vd_skip_${example_name}" + ) + endif () +endforeach () diff --git a/HDF4Examples/FORTRAN/VD/Fortran_sourcefiles.cmake b/HDF4Examples/FORTRAN/VD/Fortran_sourcefiles.cmake new file mode 100644 index 0000000000..9fdaac1ea5 --- /dev/null +++ b/HDF4Examples/FORTRAN/VD/Fortran_sourcefiles.cmake @@ -0,0 +1,17 @@ +#----------------------------------------------------------------------------- +# Define Sources, one file per application +#----------------------------------------------------------------------------- +set (examples + VD_create_vdatas + VD_write_mixed_vdata + VD_write_to_vdata + VD_create_onefield_vdatas + VD_read_from_vdata + VD_read_mixed_vdata + VD_get_vdata_info + VD_locate_vdata + #VD_set_get_vdata_attr +) +set (skip_examples + VD_set_get_vdata_attr +) diff --git a/HDF4Examples/hdf/fortran/h4ex_VD_create_onefield_vdatas.f b/HDF4Examples/FORTRAN/VD/h4ex_VD_create_onefield_vdatas.f similarity index 100% rename from HDF4Examples/hdf/fortran/h4ex_VD_create_onefield_vdatas.f rename to HDF4Examples/FORTRAN/VD/h4ex_VD_create_onefield_vdatas.f diff --git a/HDF4Examples/hdf/fortran/h4ex_VD_create_vdatas.f b/HDF4Examples/FORTRAN/VD/h4ex_VD_create_vdatas.f similarity index 100% rename from HDF4Examples/hdf/fortran/h4ex_VD_create_vdatas.f rename to HDF4Examples/FORTRAN/VD/h4ex_VD_create_vdatas.f diff --git a/HDF4Examples/hdf/fortran/h4ex_VD_get_vdata_info.f b/HDF4Examples/FORTRAN/VD/h4ex_VD_get_vdata_info.f similarity index 100% rename from HDF4Examples/hdf/fortran/h4ex_VD_get_vdata_info.f rename to HDF4Examples/FORTRAN/VD/h4ex_VD_get_vdata_info.f diff --git a/HDF4Examples/hdf/fortran/h4ex_VD_locate_vdata.f b/HDF4Examples/FORTRAN/VD/h4ex_VD_locate_vdata.f similarity index 100% rename from HDF4Examples/hdf/fortran/h4ex_VD_locate_vdata.f rename to HDF4Examples/FORTRAN/VD/h4ex_VD_locate_vdata.f diff --git a/HDF4Examples/hdf/fortran/h4ex_VD_read_from_vdata.f b/HDF4Examples/FORTRAN/VD/h4ex_VD_read_from_vdata.f similarity index 100% rename from HDF4Examples/hdf/fortran/h4ex_VD_read_from_vdata.f rename to HDF4Examples/FORTRAN/VD/h4ex_VD_read_from_vdata.f diff --git a/HDF4Examples/hdf/fortran/h4ex_VD_read_mixed_vdata.f b/HDF4Examples/FORTRAN/VD/h4ex_VD_read_mixed_vdata.f similarity index 100% rename from HDF4Examples/hdf/fortran/h4ex_VD_read_mixed_vdata.f rename to HDF4Examples/FORTRAN/VD/h4ex_VD_read_mixed_vdata.f diff --git a/HDF4Examples/hdf/fortran/h4ex_VD_set_get_vdata_attr.f b/HDF4Examples/FORTRAN/VD/h4ex_VD_set_get_vdata_attr.f similarity index 100% rename from HDF4Examples/hdf/fortran/h4ex_VD_set_get_vdata_attr.f rename to HDF4Examples/FORTRAN/VD/h4ex_VD_set_get_vdata_attr.f diff --git a/HDF4Examples/hdf/fortran/h4ex_VD_write_mixed_vdata.f b/HDF4Examples/FORTRAN/VD/h4ex_VD_write_mixed_vdata.f similarity index 100% rename from HDF4Examples/hdf/fortran/h4ex_VD_write_mixed_vdata.f rename to HDF4Examples/FORTRAN/VD/h4ex_VD_write_mixed_vdata.f diff --git a/HDF4Examples/hdf/fortran/h4ex_VD_write_to_vdata.f b/HDF4Examples/FORTRAN/VD/h4ex_VD_write_to_vdata.f similarity index 100% rename from HDF4Examples/hdf/fortran/h4ex_VD_write_to_vdata.f rename to HDF4Examples/FORTRAN/VD/h4ex_VD_write_to_vdata.f diff --git a/HDF4Examples/hdf/fortran/CMakeLists.txt b/HDF4Examples/FORTRAN/VG/CMakeLists.txt similarity index 53% rename from HDF4Examples/hdf/fortran/CMakeLists.txt rename to HDF4Examples/FORTRAN/VG/CMakeLists.txt index ad020fbb38..cd75c18b4e 100644 --- a/HDF4Examples/hdf/fortran/CMakeLists.txt +++ b/HDF4Examples/FORTRAN/VG/CMakeLists.txt @@ -1,8 +1,8 @@ cmake_minimum_required (VERSION 3.12) -project (HDF4Examples_HDF_FORTRAN Fortran) +project (HDF4Examples_VG_F Fortran) # -------------------------------------------------------------------- # Notes: When creating examples they should be prefixed -# with "f_ex_". This allows for easier filtering of the examples. +# with "f_vg_vg". This allows for easier filtering of the examples. # -------------------------------------------------------------------- if (CMAKE_Fortran_COMPILER_ID STREQUAL "GNU" AND CMAKE_Fortran_COMPILER_VERSION VERSION_GREATER_EQUAL 10.0) @@ -22,10 +22,8 @@ endif () #----------------------------------------------------------------------------- # Setup include Directories #----------------------------------------------------------------------------- -INCLUDE_DIRECTORIES ( - ${CMAKE_Fortran_MODULE_DIRECTORY}${HDF_MOD_EXT} - ${PROJECT_BINARY_DIR} - ${CMAKE_LIBRARY_OUTPUT_DIRECTORY} +set_directory_properties(PROPERTIES INCLUDE_DIRECTORIES + "${CMAKE_Fortran_MODULE_DIRECTORY}${HDF_MOD_EXT};${PROJECT_BINARY_DIR};${CMAKE_LIBRARY_OUTPUT_DIRECTORY}" ) #----------------------------------------------------------------------------- @@ -35,7 +33,7 @@ include (Fortran_sourcefiles.cmake) # Remove any output file left over from previous test run add_test ( - NAME HDF_FORTRAN_EXAMPLES-clearall-objects + NAME VG_FORTRAN_EXAMPLES-clearall-objects COMMAND ${CMAKE_COMMAND} -E remove General_HDFobjects.hdf @@ -48,22 +46,21 @@ add_test ( Two_Vgroups.hdf ) if (NOT "${last_test}" STREQUAL "") - set_tests_properties (HDF_FORTRAN_EXAMPLES-clearall-objects PROPERTIES DEPENDS ${last_test} LABELS EXAMPLES) + set_tests_properties (VG_FORTRAN_EXAMPLES-clearall-objects PROPERTIES DEPENDS ${last_test} LABELS EXAMPLES) else () - set_tests_properties (HDF_FORTRAN_EXAMPLES-clearall-objects PROPERTIES LABELS EXAMPLES) + set_tests_properties (VG_FORTRAN_EXAMPLES-clearall-objects PROPERTIES LABELS EXAMPLES) endif () -set (last_test "HDF_FORTRAN_EXAMPLES-clearall-objects") +set (last_test "VG_FORTRAN_EXAMPLES-clearall-objects") -foreach (example ${examples}) - get_filename_component(example_name ${example} NAME_WE) - add_executable (${EXAMPLE_VARNAME}_f_ex_${example_name} ${PROJECT_SOURCE_DIR}/${example}) - set_target_properties (${EXAMPLE_VARNAME}_f_ex_${example_name} PROPERTIES LINKER_LANGUAGE Fortran) - target_link_libraries (${EXAMPLE_VARNAME}_f_ex_${example_name} ${H4EX_HDF4_LINK_LIBS}) +foreach (example_name ${examples}) + add_executable (${EXAMPLE_VARNAME}_f_vg_${example_name} ${PROJECT_SOURCE_DIR}/h4ex_${example_name}.f) + set_target_properties (${EXAMPLE_VARNAME}_f_vg_${example_name} PROPERTIES LINKER_LANGUAGE Fortran) + target_link_libraries (${EXAMPLE_VARNAME}_f_vg_${example_name} ${H4EX_HDF4_LINK_LIBS}) if (H4EX_BUILD_TESTING) add_test ( - NAME ${EXAMPLE_VARNAME}_f_extest_${example_name} + NAME ${EXAMPLE_VARNAME}_f_vg_${example_name} COMMAND "${CMAKE_COMMAND}" - -D "TEST_PROGRAM=$" + -D "TEST_PROGRAM=$" -D "TEST_ARGS:STRING=" -D "TEST_FOLDER=${PROJECT_BINARY_DIR}" -D "TEST_EXPECT=0" @@ -73,23 +70,23 @@ foreach (example ${examples}) -P "${${EXAMPLE_PACKAGE_NAME}_RESOURCES_DIR}/runTest.cmake" ) if (NOT "${last_test}" STREQUAL "") - set_tests_properties (${EXAMPLE_VARNAME}_f_extest_${example_name} PROPERTIES DEPENDS ${last_test} LABELS EXAMPLES) + set_tests_properties (${EXAMPLE_VARNAME}_f_vg_${example_name} PROPERTIES DEPENDS ${last_test} LABELS EXAMPLES) else () - set_tests_properties (${EXAMPLE_VARNAME}_f_extest_${example_name} PROPERTIES LABELS EXAMPLES) + set_tests_properties (${EXAMPLE_VARNAME}_f_vg_${example_name} PROPERTIES LABELS EXAMPLES) endif () - set (last_test "${EXAMPLE_VARNAME}_f_extest_${example_name}") + set (last_test "${EXAMPLE_VARNAME}_f_vg_${example_name}") endif () endforeach () -add_executable (f_ex_h4ex_VG_add_sds_to_vgroup ${PROJECT_SOURCE_DIR}/h4ex_VG_add_sds_to_vgroup.f) -set_target_properties (f_ex_h4ex_VG_add_sds_to_vgroup PROPERTIES LINKER_LANGUAGE Fortran) -target_link_libraries (f_ex_h4ex_VG_add_sds_to_vgroup ${H4EX_HDF4_LINK_LIBS}) - -if (BUILD_TESTING) - add_test ( - NAME f_extest_h4ex_VG_add_sds_to_vgroup - COMMAND "${CMAKE_COMMAND}" - -D "TEST_PROGRAM=$" +foreach (example_name ${examples_mf}) + add_executable (${EXAMPLE_VARNAME}_f_vg_mf_${example_name} ${PROJECT_SOURCE_DIR}/h4ex_${example_name}.f) + set_target_properties (${EXAMPLE_VARNAME}_f_vg_mf_${example_name} PROPERTIES LINKER_LANGUAGE Fortran) + target_link_libraries (${EXAMPLE_VARNAME}_f_vg_mf_${example_name} ${H4EX_HDF4_LINK_LIBS}) + if (H4EX_BUILD_TESTING) + add_test ( + NAME ${EXAMPLE_VARNAME}_f_vg_mf_${example_name} + COMMAND "${CMAKE_COMMAND}" + -D "TEST_PROGRAM=$" -D "TEST_ARGS:STRING=" -D "TEST_FOLDER=${PROJECT_BINARY_DIR}" -D "TEST_EXPECT=0" @@ -97,24 +94,12 @@ if (BUILD_TESTING) -D "TEST_OUTPUT=${testname}.out" -D "TEST_LIBRARY_DIRECTORY=${CMAKE_TEST_LIB_DIRECTORY}" -P "${${EXAMPLE_PACKAGE_NAME}_RESOURCES_DIR}/runTest.cmake" - ) - if (NOT "${last_test}" STREQUAL "") - set_tests_properties (f_extest_h4ex_VG_add_sds_to_vgroup PROPERTIES DEPENDS ${last_test} LABELS EXAMPLES) - else () - set_tests_properties (f_extest_h4ex_VG_add_sds_to_vgroup PROPERTIES LABELS EXAMPLES) - endif () - set (last_test "f_extest_h4ex_VG_add_sds_to_vgroup") -endif () - -foreach (example ${skip_examples}) - get_filename_component(example_name ${example} NAME_WE) - add_executable (f_ex_${example_name} ${PROJECT_SOURCE_DIR}/${example}) - set_target_properties (f_ex_${example_name} PROPERTIES LINKER_LANGUAGE Fortran) - target_link_libraries (f_ex_${example_name} ${H4EX_HDF4_LINK_LIBS}) - if (BUILD_TESTING) - add_test ( - NAME f_extest_${example_name} - COMMAND ${CMAKE_COMMAND} -E echo "SKIP f_extest_${example_name}" ) + if (NOT "${last_test}" STREQUAL "") + set_tests_properties (${EXAMPLE_VARNAME}_f_vg_mf_${example_name} PROPERTIES DEPENDS ${last_test} LABELS EXAMPLES) + else () + set_tests_properties (${EXAMPLE_VARNAME}_f_vg_mf_${example_name} PROPERTIES LABELS EXAMPLES) + endif () + set (last_test "${EXAMPLE_VARNAME}_f_vg_mf_${example_name}") endif () endforeach () diff --git a/HDF4Examples/FORTRAN/VG/Fortran_sourcefiles.cmake b/HDF4Examples/FORTRAN/VG/Fortran_sourcefiles.cmake new file mode 100644 index 0000000000..c5ad5216ab --- /dev/null +++ b/HDF4Examples/FORTRAN/VG/Fortran_sourcefiles.cmake @@ -0,0 +1,13 @@ +#----------------------------------------------------------------------------- +# Define Sources, one file per application +#----------------------------------------------------------------------------- +set (examples + VG_create_vgroup + VG_insert_vdatas_to_vgroup + VG_set_get_vgroup_attr + VG_vgroup_contents + VG_get_vgroup_info +) +set (examples_mf + VG_add_sds_to_vgroup +) diff --git a/HDF4Examples/hdf/fortran/h4ex_VG_add_sds_to_vgroup.f b/HDF4Examples/FORTRAN/VG/h4ex_VG_add_sds_to_vgroup.f similarity index 100% rename from HDF4Examples/hdf/fortran/h4ex_VG_add_sds_to_vgroup.f rename to HDF4Examples/FORTRAN/VG/h4ex_VG_add_sds_to_vgroup.f diff --git a/HDF4Examples/hdf/fortran/h4ex_VG_create_vgroup.f b/HDF4Examples/FORTRAN/VG/h4ex_VG_create_vgroup.f similarity index 100% rename from HDF4Examples/hdf/fortran/h4ex_VG_create_vgroup.f rename to HDF4Examples/FORTRAN/VG/h4ex_VG_create_vgroup.f diff --git a/HDF4Examples/hdf/fortran/h4ex_VG_get_vgroup_info.f b/HDF4Examples/FORTRAN/VG/h4ex_VG_get_vgroup_info.f similarity index 100% rename from HDF4Examples/hdf/fortran/h4ex_VG_get_vgroup_info.f rename to HDF4Examples/FORTRAN/VG/h4ex_VG_get_vgroup_info.f diff --git a/HDF4Examples/hdf/fortran/h4ex_VG_insert_vdatas_to_vgroup.f b/HDF4Examples/FORTRAN/VG/h4ex_VG_insert_vdatas_to_vgroup.f similarity index 100% rename from HDF4Examples/hdf/fortran/h4ex_VG_insert_vdatas_to_vgroup.f rename to HDF4Examples/FORTRAN/VG/h4ex_VG_insert_vdatas_to_vgroup.f diff --git a/HDF4Examples/hdf/fortran/h4ex_VG_set_get_vgroup_attr.f b/HDF4Examples/FORTRAN/VG/h4ex_VG_set_get_vgroup_attr.f similarity index 100% rename from HDF4Examples/hdf/fortran/h4ex_VG_set_get_vgroup_attr.f rename to HDF4Examples/FORTRAN/VG/h4ex_VG_set_get_vgroup_attr.f diff --git a/HDF4Examples/hdf/fortran/h4ex_VG_vgroup_contents.f b/HDF4Examples/FORTRAN/VG/h4ex_VG_vgroup_contents.f similarity index 100% rename from HDF4Examples/hdf/fortran/h4ex_VG_vgroup_contents.f rename to HDF4Examples/FORTRAN/VG/h4ex_VG_vgroup_contents.f diff --git a/HDF4Examples/JAVA/CMakeLists.txt b/HDF4Examples/JAVA/CMakeLists.txt index c8175693c4..902eae0b92 100644 --- a/HDF4Examples/JAVA/CMakeLists.txt +++ b/HDF4Examples/JAVA/CMakeLists.txt @@ -1,10 +1,12 @@ cmake_minimum_required (VERSION 3.12) project (HDF4Examples_JAVA Java) -#----------------------------------------------------------------------------- -# Build the hdf examples -#----------------------------------------------------------------------------- +set_directory_properties(PROPERTIES INCLUDE_DIRECTORIES + "${HDFJAVA_LIB_DIR};${JAVA_INCLUDE_PATH};${JAVA_INCLUDE_PATH2}" +) + add_subdirectory (exAN) add_subdirectory (exGR) add_subdirectory (exVD) add_subdirectory (exSD) +add_subdirectory (exJ) diff --git a/HDF4Examples/JAVA/exAN/CMakeLists.txt b/HDF4Examples/JAVA/exAN/CMakeLists.txt index e1284ca4b2..9164a21b36 100644 --- a/HDF4Examples/JAVA/exAN/CMakeLists.txt +++ b/HDF4Examples/JAVA/exAN/CMakeLists.txt @@ -3,13 +3,8 @@ project (HDF4Examples_JAVA_AN Java) set (CMAKE_VERBOSE_MAKEFILE 1) -set_directory_properties(PROPERTIES - INCLUDE_DIRECTORIES - "${HDFJAVA_LIB_DIR};${JAVA_INCLUDE_PATH};${JAVA_INCLUDE_PATH2}" -) - #----------------------------------------------------------------------------- -# Define Sources, one file per application +# Define Sources #----------------------------------------------------------------------------- include (Java_sourcefiles.cmake) @@ -19,15 +14,18 @@ else () set (CMAKE_JAVA_INCLUDE_FLAG_SEP ":") endif () -set (CMAKE_JAVA_INCLUDE_PATH "${HDF4_JAVA_INCLUDE_DIRS}") +set (CMAKE_JAVA_INCLUDE_PATH ".") +foreach (CMAKE_JINCLUDE_PATH ${HDF4_JAVA_INCLUDE_DIRS}) + set (CMAKE_JAVA_INCLUDE_PATH "${CMAKE_JAVA_INCLUDE_PATH}${CMAKE_JAVA_INCLUDE_FLAG_SEP}${CMAKE_JINCLUDE_PATH}") +endforeach () set (CMD_ARGS "-Dhdf.hdflib.HDFLibrary.loadLibraryName=${H4EX_JAVA_LIBRARY}$<$:${CMAKE_DEBUG_POSTFIX}>;") set (CMAKE_JAVA_CLASSPATH ".") -foreach (CMAKE_INCLUDE_PATH ${CMAKE_JAVA_INCLUDE_PATH}) +foreach (CMAKE_INCLUDE_PATH ${HDF4_JAVA_INCLUDE_DIRS}) set (CMAKE_JAVA_CLASSPATH "${CMAKE_JAVA_CLASSPATH}${CMAKE_JAVA_INCLUDE_FLAG_SEP}${CMAKE_INCLUDE_PATH}") endforeach () -foreach (HCP_JAR ${CMAKE_JAVA_INCLUDE_PATH}) +foreach (HCP_JAR ${HDF4_JAVA_INCLUDE_DIRS}) get_filename_component (_HCP_FILE ${HCP_JAR} NAME) set (HDFJAVA_CLASSJARS "${_HCP_FILE} ${HDFJAVA_CLASSJARS}") endforeach () @@ -39,13 +37,13 @@ foreach (example ${HDF_JAVA_EXAMPLES}) Class-Path: ${HDFJAVA_CLASSJARS} " ) - add_jar (${EXAMPLE_VARNAME}_${example_name} + add_jar (${EXAMPLE_VARNAME}J_${example_name} SOURCES ${example} MANIFEST ${PROJECT_BINARY_DIR}/${example_name}_Manifest.txt ) - get_target_property (${EXAMPLE_VARNAME}_${example_name}_JAR_FILE ${EXAMPLE_VARNAME}_${example_name} JAR_FILE) - get_target_property (${EXAMPLE_VARNAME}_${example_name}_CLASSPATH ${EXAMPLE_VARNAME}_${example_name} CLASSDIR) - add_dependencies (${EXAMPLE_VARNAME}_${example_name} ${H4EX_JAVA_LIBRARIES}) + get_target_property (${EXAMPLE_VARNAME}J_${example_name}_JAR_FILE ${EXAMPLE_VARNAME}J_${example_name} JAR_FILE) + get_target_property (${EXAMPLE_VARNAME}J_${example_name}_CLASSPATH ${EXAMPLE_VARNAME}J_${example_name} CLASSDIR) + add_dependencies (${EXAMPLE_VARNAME}J_${example_name} ${H4EX_JAVA_LIBRARIES}) endforeach () if (H4EX_BUILD_TESTING) @@ -56,14 +54,14 @@ if (H4EX_BUILD_TESTING) -D "TEST_TESTER=${CMAKE_Java_RUNTIME};${CMAKE_Java_RUNTIME_FLAGS}" -D "TEST_PROGRAM=${resultfile}" -D "TEST_ARGS:STRING=${ARGN};${CMD_ARGS}" - -D "TEST_CLASSPATH:STRING=${CMAKE_JAVA_CLASSPATH}${CMAKE_JAVA_INCLUDE_FLAG_SEP}${${EXAMPLE_VARNAME}_${resultfile}_JAR_FILE}" + -D "TEST_CLASSPATH:STRING=${CMAKE_JAVA_CLASSPATH}${CMAKE_JAVA_INCLUDE_FLAG_SEP}${${EXAMPLE_VARNAME}J_${resultfile}_JAR_FILE}" -D "TEST_LIBRARY_DIRECTORY=${CMAKE_TEST_LIB_DIRECTORY}" -D "TEST_FOLDER=${PROJECT_BINARY_DIR}" -D "TEST_OUTPUT=${PROJECT_BINARY_DIR}/${resultfile}.out" -D "TEST_REFERENCE=${resultfile}.txt" -D "TEST_EXPECT=${resultcode}" -D "TEST_SKIP_COMPARE=TRUE" - -P "${${EXAMPLE_PACKAGE_NAME}_RESOURCES_DIR}/jrunTest.cmake" + -P "${H4EX_RESOURCES_DIR}/jrunTest.cmake" ) if (NOT "${last_test}" STREQUAL "") set_tests_properties (${EXAMPLE_VARNAME}_jnative-h4-${resultfile} PROPERTIES DEPENDS ${last_test}) @@ -95,4 +93,5 @@ if (H4EX_BUILD_TESTING) set (last_test "${EXAMPLE_VARNAME}_jnative-h4-${example_name}-copy-objects") ADD_H4_TEST (${example_name} 0) endforeach () + endif () diff --git a/HDF4Examples/JAVA/exGR/CMakeLists.txt b/HDF4Examples/JAVA/exGR/CMakeLists.txt index 7ceb445ce2..2a8a8c4084 100644 --- a/HDF4Examples/JAVA/exGR/CMakeLists.txt +++ b/HDF4Examples/JAVA/exGR/CMakeLists.txt @@ -3,13 +3,8 @@ project (HDF4Examples_JAVA_GR Java) set (CMAKE_VERBOSE_MAKEFILE 1) -set_directory_properties(PROPERTIES - INCLUDE_DIRECTORIES - "${HDFJAVA_LIB_DIR};${JAVA_INCLUDE_PATH};${JAVA_INCLUDE_PATH2}" -) - #----------------------------------------------------------------------------- -# Define Sources, one file per application +# Define Sources #----------------------------------------------------------------------------- include (Java_sourcefiles.cmake) @@ -19,15 +14,18 @@ else () set (CMAKE_JAVA_INCLUDE_FLAG_SEP ":") endif () -set (CMAKE_JAVA_INCLUDE_PATH "${HDF4_JAVA_INCLUDE_DIRS}") +set (CMAKE_JAVA_INCLUDE_PATH ".") +foreach (CMAKE_JINCLUDE_PATH ${HDF4_JAVA_INCLUDE_DIRS}) + set (CMAKE_JAVA_INCLUDE_PATH "${CMAKE_JAVA_INCLUDE_PATH}${CMAKE_JAVA_INCLUDE_FLAG_SEP}${CMAKE_JINCLUDE_PATH}") +endforeach () set (CMD_ARGS "-Dhdf.hdflib.HDFLibrary.loadLibraryName=${H4EX_JAVA_LIBRARY}$<$:${CMAKE_DEBUG_POSTFIX}>;") set (CMAKE_JAVA_CLASSPATH ".") -foreach (CMAKE_INCLUDE_PATH ${CMAKE_JAVA_INCLUDE_PATH}) +foreach (CMAKE_INCLUDE_PATH ${HDF4_JAVA_INCLUDE_DIRS}) set (CMAKE_JAVA_CLASSPATH "${CMAKE_JAVA_CLASSPATH}${CMAKE_JAVA_INCLUDE_FLAG_SEP}${CMAKE_INCLUDE_PATH}") endforeach () -foreach (HCP_JAR ${CMAKE_JAVA_INCLUDE_PATH}) +foreach (HCP_JAR ${HDF4_JAVA_INCLUDE_DIRS}) get_filename_component (_HCP_FILE ${HCP_JAR} NAME) set (HDFJAVA_CLASSJARS "${_HCP_FILE} ${HDFJAVA_CLASSJARS}") endforeach () @@ -39,13 +37,13 @@ foreach (example ${HDF_JAVA_EXAMPLES}) Class-Path: ${HDFJAVA_CLASSJARS} " ) - add_jar (${EXAMPLE_VARNAME}_${example_name} + add_jar (${EXAMPLE_VARNAME}J_${example_name} SOURCES ${example} MANIFEST ${PROJECT_BINARY_DIR}/${example_name}_Manifest.txt ) - get_target_property (${EXAMPLE_VARNAME}_${example_name}_JAR_FILE ${EXAMPLE_VARNAME}_${example_name} JAR_FILE) - get_target_property (${EXAMPLE_VARNAME}_${example_name}_CLASSPATH ${EXAMPLE_VARNAME}_${example_name} CLASSDIR) - add_dependencies (${EXAMPLE_VARNAME}_${example_name} ${H4EX_JAVA_LIBRARIES}) + get_target_property (${EXAMPLE_VARNAME}J_${example_name}_JAR_FILE ${EXAMPLE_VARNAME}J_${example_name} JAR_FILE) + get_target_property (${EXAMPLE_VARNAME}J_${example_name}_CLASSPATH ${EXAMPLE_VARNAME}J_${example_name} CLASSDIR) + add_dependencies (${EXAMPLE_VARNAME}J_${example_name} ${H4EX_JAVA_LIBRARIES}) endforeach () if (H4EX_BUILD_TESTING) @@ -56,14 +54,14 @@ if (H4EX_BUILD_TESTING) -D "TEST_TESTER=${CMAKE_Java_RUNTIME};${CMAKE_Java_RUNTIME_FLAGS}" -D "TEST_PROGRAM=${resultfile}" -D "TEST_ARGS:STRING=${ARGN};${CMD_ARGS}" - -D "TEST_CLASSPATH:STRING=${CMAKE_JAVA_CLASSPATH}${CMAKE_JAVA_INCLUDE_FLAG_SEP}${${EXAMPLE_VARNAME}_${resultfile}_JAR_FILE}" + -D "TEST_CLASSPATH:STRING=${CMAKE_JAVA_CLASSPATH}${CMAKE_JAVA_INCLUDE_FLAG_SEP}${${EXAMPLE_VARNAME}J_${resultfile}_JAR_FILE}" -D "TEST_LIBRARY_DIRECTORY=${CMAKE_TEST_LIB_DIRECTORY}" -D "TEST_FOLDER=${PROJECT_BINARY_DIR}" -D "TEST_OUTPUT=${PROJECT_BINARY_DIR}/${resultfile}.out" -D "TEST_REFERENCE=${resultfile}.txt" -D "TEST_EXPECT=${resultcode}" -D "TEST_SKIP_COMPARE=TRUE" - -P "${${EXAMPLE_PACKAGE_NAME}_RESOURCES_DIR}/jrunTest.cmake" + -P "${H4EX_RESOURCES_DIR}/jrunTest.cmake" ) if (NOT "${last_test}" STREQUAL "") set_tests_properties (${EXAMPLE_VARNAME}_jnative-h4-${resultfile} PROPERTIES DEPENDS ${last_test}) @@ -95,4 +93,5 @@ if (H4EX_BUILD_TESTING) set (last_test "${EXAMPLE_VARNAME}_jnative-h4-${example_name}-copy-objects") ADD_H4_TEST (${example_name} 0) endforeach () + endif () diff --git a/HDF4Examples/JAVA/exJ/CMakeLists.txt b/HDF4Examples/JAVA/exJ/CMakeLists.txt new file mode 100644 index 0000000000..9e8df369d4 --- /dev/null +++ b/HDF4Examples/JAVA/exJ/CMakeLists.txt @@ -0,0 +1,103 @@ +cmake_minimum_required (VERSION 3.12) +project (HDF4Examples_JAVA_J Java) + +set (CMAKE_VERBOSE_MAKEFILE 1) + +#----------------------------------------------------------------------------- +# Define Sources +#----------------------------------------------------------------------------- +set (HDF_JAVA_EXAMPLES + HDF4FileCreate.java + HDF4GroupCreate.java + HDF4DatasetCreate.java + VDWriteToVdata.java + VDReadFromVdata.java +) + +if (WIN32) + set (CMAKE_JAVA_INCLUDE_FLAG_SEP ";") +else () + set (CMAKE_JAVA_INCLUDE_FLAG_SEP ":") +endif () + +set (CMAKE_JAVA_INCLUDE_PATH ".") +foreach (CMAKE_JINCLUDE_PATH ${HDF4_JAVA_INCLUDE_DIRS}) + set (CMAKE_JAVA_INCLUDE_PATH "${CMAKE_JAVA_INCLUDE_PATH}${CMAKE_JAVA_INCLUDE_FLAG_SEP}${CMAKE_JINCLUDE_PATH}") +endforeach () +set (CMD_ARGS "-Dhdf.hdflib.HDFLibrary.loadLibraryName=${H4EX_JAVA_LIBRARY}$<$:${CMAKE_DEBUG_POSTFIX}>;") + +set (CMAKE_JAVA_CLASSPATH ".") +foreach (CMAKE_INCLUDE_PATH ${HDF4_JAVA_INCLUDE_DIRS}) + set (CMAKE_JAVA_CLASSPATH "${CMAKE_JAVA_CLASSPATH}${CMAKE_JAVA_INCLUDE_FLAG_SEP}${CMAKE_INCLUDE_PATH}") +endforeach () + +foreach (HCP_JAR ${HDF4_JAVA_INCLUDE_DIRS}) + get_filename_component (_HCP_FILE ${HCP_JAR} NAME) + set (HDFJAVA_CLASSJARS "${_HCP_FILE} ${HDFJAVA_CLASSJARS}") +endforeach () + +foreach (example ${HDF_JAVA_EXAMPLES}) + get_filename_component (example_name ${example} NAME_WE) + file (WRITE ${PROJECT_BINARY_DIR}/${example_name}_Manifest.txt + "Main-Class: ${example_name} +Class-Path: ${HDFJAVA_CLASSJARS} +" + ) + add_jar (${EXAMPLE_VARNAME}J_${example_name} + SOURCES ${example} + MANIFEST ${PROJECT_BINARY_DIR}/${example_name}_Manifest.txt + ) + get_target_property (${EXAMPLE_VARNAME}J_${example_name}_JAR_FILE ${EXAMPLE_VARNAME}J_${example_name} JAR_FILE) + get_target_property (${EXAMPLE_VARNAME}J_${example_name}_CLASSPATH ${EXAMPLE_VARNAME}J_${example_name} CLASSDIR) + add_dependencies (${EXAMPLE_VARNAME}J_${example_name} ${H4EX_JAVA_LIBRARIES}) +endforeach () + +if (H4EX_BUILD_TESTING) + macro (ADD_H4_TEST resultfile resultcode) + add_test ( + NAME ${EXAMPLE_VARNAME}_jnative-h4-${resultfile} + COMMAND "${CMAKE_COMMAND}" + -D "TEST_TESTER=${CMAKE_Java_RUNTIME};${CMAKE_Java_RUNTIME_FLAGS}" + -D "TEST_PROGRAM=${resultfile}" + -D "TEST_ARGS:STRING=${ARGN};${CMD_ARGS}" + -D "TEST_CLASSPATH:STRING=${CMAKE_JAVA_CLASSPATH}${CMAKE_JAVA_INCLUDE_FLAG_SEP}${${EXAMPLE_VARNAME}J_${resultfile}_JAR_FILE}" + -D "TEST_LIBRARY_DIRECTORY=${CMAKE_TEST_LIB_DIRECTORY}" + -D "TEST_FOLDER=${PROJECT_BINARY_DIR}" + -D "TEST_OUTPUT=${PROJECT_BINARY_DIR}/${resultfile}.out" + -D "TEST_REFERENCE=${resultfile}.txt" + -D "TEST_EXPECT=${resultcode}" + -D "TEST_SKIP_COMPARE=TRUE" + -P "${H4EX_RESOURCES_DIR}/jrunTest.cmake" + ) + if (NOT "${last_test}" STREQUAL "") + set_tests_properties (${EXAMPLE_VARNAME}_jnative-h4-${resultfile} PROPERTIES DEPENDS ${last_test}) + endif () + set (last_test "${EXAMPLE_VARNAME}_jnative-h4-${resultfile}") + endmacro () + + foreach (example ${HDF_JAVA_EXAMPLES}) + get_filename_component (example_name ${example} NAME_WE) + add_test ( + NAME ${EXAMPLE_VARNAME}_jnative-h4-${example_name}-clearall-objects + COMMAND ${CMAKE_COMMAND} + -E remove + ${PROJECT_BINARY_DIR}/${example_name}.hdf + ${example_name}.out + ${example_name}.out.err + ) + if (NOT "${last_test}" STREQUAL "") + set_tests_properties (${EXAMPLE_VARNAME}_jnative-h4-${example_name}-clearall-objects PROPERTIES DEPENDS ${last_test}) + endif () + add_test ( + NAME ${EXAMPLE_VARNAME}_jnative-h4-${example_name}-copy-objects + COMMAND ${CMAKE_COMMAND} + -E copy_if_different + ${PROJECT_SOURCE_DIR}/testfiles/${example_name}.txt + ${PROJECT_BINARY_DIR}/${example_name}.txt + ) + set_tests_properties (${EXAMPLE_VARNAME}_jnative-h4-${example_name}-copy-objects PROPERTIES DEPENDS ${EXAMPLE_VARNAME}_jnative-h4-${example_name}-clearall-objects) + set (last_test "${EXAMPLE_VARNAME}_jnative-h4-${example_name}-copy-objects") + ADD_H4_TEST (${example_name} 0) + endforeach () + +endif () diff --git a/java/examples/HDF4DatasetCreate.java b/HDF4Examples/JAVA/exJ/HDF4DatasetCreate.java similarity index 99% rename from java/examples/HDF4DatasetCreate.java rename to HDF4Examples/JAVA/exJ/HDF4DatasetCreate.java index c984099023..83e6623367 100644 --- a/java/examples/HDF4DatasetCreate.java +++ b/HDF4Examples/JAVA/exJ/HDF4DatasetCreate.java @@ -10,8 +10,6 @@ * access to the file, you may request a copy from help@hdfgroup.org. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -package examples; - import hdf.hdflib.HDFConstants; import hdf.hdflib.HDFLibrary; diff --git a/java/examples/HDF4FileCreate.java b/HDF4Examples/JAVA/exJ/HDF4FileCreate.java similarity index 97% rename from java/examples/HDF4FileCreate.java rename to HDF4Examples/JAVA/exJ/HDF4FileCreate.java index 22297e6c7b..cb2fd63913 100644 --- a/java/examples/HDF4FileCreate.java +++ b/HDF4Examples/JAVA/exJ/HDF4FileCreate.java @@ -10,8 +10,6 @@ * access to the file, you may request a copy from help@hdfgroup.org. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -package examples; - import hdf.hdflib.HDFConstants; import hdf.hdflib.HDFLibrary; @@ -40,6 +38,7 @@ public static void main(String args[]) throws Exception System.err.println("Failed to create file:" + fname); return; } + System.out.println("File created:" + fname); // Close the file. try { diff --git a/java/examples/HDF4GroupCreate.java b/HDF4Examples/JAVA/exJ/HDF4GroupCreate.java similarity index 98% rename from java/examples/HDF4GroupCreate.java rename to HDF4Examples/JAVA/exJ/HDF4GroupCreate.java index c420f78f55..8a2b63d5f0 100644 --- a/java/examples/HDF4GroupCreate.java +++ b/HDF4Examples/JAVA/exJ/HDF4GroupCreate.java @@ -10,8 +10,6 @@ * access to the file, you may request a copy from help@hdfgroup.org. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -package examples; - import hdf.hdflib.HDFConstants; import hdf.hdflib.HDFLibrary; @@ -57,6 +55,7 @@ public static void main(String args[]) throws Exception System.err.println("Failed to create file:" + fname); return; } + System.out.println("File created:" + fname); try { // Create the vgroup. Note that the vgroup reference number is set diff --git a/java/examples/Makefile.am b/HDF4Examples/JAVA/exJ/Makefile.am similarity index 100% rename from java/examples/Makefile.am rename to HDF4Examples/JAVA/exJ/Makefile.am diff --git a/java/examples/VDReadFromVdata.java b/HDF4Examples/JAVA/exJ/VDReadFromVdata.java similarity index 99% rename from java/examples/VDReadFromVdata.java rename to HDF4Examples/JAVA/exJ/VDReadFromVdata.java index a77275d093..5e2d4668e2 100644 --- a/java/examples/VDReadFromVdata.java +++ b/HDF4Examples/JAVA/exJ/VDReadFromVdata.java @@ -10,8 +10,6 @@ * access to the file, you may request a copy from help@hdfgroup.org. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -package examples; - import hdf.hdflib.HDFConstants; import hdf.hdflib.HDFLibrary; diff --git a/java/examples/VDWriteToVdata.java b/HDF4Examples/JAVA/exJ/VDWriteToVdata.java similarity index 99% rename from java/examples/VDWriteToVdata.java rename to HDF4Examples/JAVA/exJ/VDWriteToVdata.java index 0819f03879..909d082ed0 100644 --- a/java/examples/VDWriteToVdata.java +++ b/HDF4Examples/JAVA/exJ/VDWriteToVdata.java @@ -10,8 +10,6 @@ * access to the file, you may request a copy from help@hdfgroup.org. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -package examples; - import hdf.hdflib.HDFConstants; import hdf.hdflib.HDFLibrary; @@ -56,6 +54,7 @@ public static void main(String args[]) throws Exception System.err.println("Failed to create file:" + fname); return; } + System.out.println("File created:" + fname); try { // Create the vgroup. Note that the vgroup reference number is set diff --git a/HDF4Examples/JAVA/exJ/testfiles/HDF4DatasetCreate.txt b/HDF4Examples/JAVA/exJ/testfiles/HDF4DatasetCreate.txt new file mode 100644 index 0000000000..528bd9608b --- /dev/null +++ b/HDF4Examples/JAVA/exJ/testfiles/HDF4DatasetCreate.txt @@ -0,0 +1,4 @@ +sds_ref:4 +sds_ref:5 +sds_ref:6 +sds_ref:7 diff --git a/HDF4Examples/JAVA/exJ/testfiles/HDF4FileCreate.txt b/HDF4Examples/JAVA/exJ/testfiles/HDF4FileCreate.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/HDF4Examples/JAVA/exJ/testfiles/HDF4GroupCreate.txt b/HDF4Examples/JAVA/exJ/testfiles/HDF4GroupCreate.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/HDF4Examples/JAVA/exJ/testfiles/VDReadFromVdata.txt b/HDF4Examples/JAVA/exJ/testfiles/VDReadFromVdata.txt new file mode 100644 index 0000000000..17a126896e --- /dev/null +++ b/HDF4Examples/JAVA/exJ/testfiles/VDReadFromVdata.txt @@ -0,0 +1,6 @@ + Particle Position Temperature Range + 3.0, 6.0, 9.0, 0.0, 65.0 + 4.0, 8.0, 12.0, 0.0, 65.0 + 5.0, 10.0, 15.0, 0.0, 65.0 + 6.0, 12.0, 18.0, 0.0, 65.0 + 7.0, 14.0, 21.0, 0.0, 65.0 diff --git a/HDF4Examples/JAVA/exJ/testfiles/VDWriteToVdata.txt b/HDF4Examples/JAVA/exJ/testfiles/VDWriteToVdata.txt new file mode 100644 index 0000000000..e69de29bb2 diff --git a/HDF4Examples/JAVA/exSD/CMakeLists.txt b/HDF4Examples/JAVA/exSD/CMakeLists.txt index 8eef5cfddd..4028bed270 100644 --- a/HDF4Examples/JAVA/exSD/CMakeLists.txt +++ b/HDF4Examples/JAVA/exSD/CMakeLists.txt @@ -3,13 +3,8 @@ project (HDF4Examples_JAVA_SD Java) set (CMAKE_VERBOSE_MAKEFILE 1) -set_directory_properties(PROPERTIES - INCLUDE_DIRECTORIES - "${HDFJAVA_LIB_DIR};${JAVA_INCLUDE_PATH};${JAVA_INCLUDE_PATH2}" -) - #----------------------------------------------------------------------------- -# Define Sources, one file per application +# Define Sources #----------------------------------------------------------------------------- include (Java_sourcefiles.cmake) @@ -19,15 +14,18 @@ else () set (CMAKE_JAVA_INCLUDE_FLAG_SEP ":") endif () -set (CMAKE_JAVA_INCLUDE_PATH "${HDF4_JAVA_INCLUDE_DIRS}") +set (CMAKE_JAVA_INCLUDE_PATH ".") +foreach (CMAKE_JINCLUDE_PATH ${HDF4_JAVA_INCLUDE_DIRS}) + set (CMAKE_JAVA_INCLUDE_PATH "${CMAKE_JAVA_INCLUDE_PATH}${CMAKE_JAVA_INCLUDE_FLAG_SEP}${CMAKE_JINCLUDE_PATH}") +endforeach () set (CMD_ARGS "-Dhdf.hdflib.HDFLibrary.loadLibraryName=${H4EX_JAVA_LIBRARY}$<$:${CMAKE_DEBUG_POSTFIX}>;") set (CMAKE_JAVA_CLASSPATH ".") -foreach (CMAKE_INCLUDE_PATH ${CMAKE_JAVA_INCLUDE_PATH}) +foreach (CMAKE_INCLUDE_PATH ${HDF4_JAVA_INCLUDE_DIRS}) set (CMAKE_JAVA_CLASSPATH "${CMAKE_JAVA_CLASSPATH}${CMAKE_JAVA_INCLUDE_FLAG_SEP}${CMAKE_INCLUDE_PATH}") endforeach () -foreach (HCP_JAR ${CMAKE_JAVA_INCLUDE_PATH}) +foreach (HCP_JAR ${HDF4_JAVA_INCLUDE_DIRS}) get_filename_component (_HCP_FILE ${HCP_JAR} NAME) set (HDFJAVA_CLASSJARS "${_HCP_FILE} ${HDFJAVA_CLASSJARS}") endforeach () @@ -39,13 +37,13 @@ foreach (example ${HDF_JAVA_EXAMPLES}) Class-Path: ${HDFJAVA_CLASSJARS} " ) - add_jar (${EXAMPLE_VARNAME}_${example_name} + add_jar (${EXAMPLE_VARNAME}J_${example_name} SOURCES ${example} MANIFEST ${PROJECT_BINARY_DIR}/${example_name}_Manifest.txt ) - get_target_property (${EXAMPLE_VARNAME}_${example_name}_JAR_FILE ${EXAMPLE_VARNAME}_${example_name} JAR_FILE) - get_target_property (${EXAMPLE_VARNAME}_${example_name}_CLASSPATH ${EXAMPLE_VARNAME}_${example_name} CLASSDIR) - add_dependencies (${EXAMPLE_VARNAME}_${example_name} ${H4EX_JAVA_LIBRARIES}) + get_target_property (${EXAMPLE_VARNAME}J_${example_name}_JAR_FILE ${EXAMPLE_VARNAME}J_${example_name} JAR_FILE) + get_target_property (${EXAMPLE_VARNAME}J_${example_name}_CLASSPATH ${EXAMPLE_VARNAME}J_${example_name} CLASSDIR) + add_dependencies (${EXAMPLE_VARNAME}J_${example_name} ${H4EX_JAVA_LIBRARIES}) endforeach () if (H4EX_BUILD_TESTING) @@ -56,14 +54,14 @@ if (H4EX_BUILD_TESTING) -D "TEST_TESTER=${CMAKE_Java_RUNTIME};${CMAKE_Java_RUNTIME_FLAGS}" -D "TEST_PROGRAM=${resultfile}" -D "TEST_ARGS:STRING=${ARGN};${CMD_ARGS}" - -D "TEST_CLASSPATH:STRING=${CMAKE_JAVA_CLASSPATH}${CMAKE_JAVA_INCLUDE_FLAG_SEP}${${EXAMPLE_VARNAME}_${resultfile}_JAR_FILE}" + -D "TEST_CLASSPATH:STRING=${CMAKE_JAVA_CLASSPATH}${CMAKE_JAVA_INCLUDE_FLAG_SEP}${${EXAMPLE_VARNAME}J_${resultfile}_JAR_FILE}" -D "TEST_LIBRARY_DIRECTORY=${CMAKE_TEST_LIB_DIRECTORY}" -D "TEST_FOLDER=${PROJECT_BINARY_DIR}" -D "TEST_OUTPUT=${PROJECT_BINARY_DIR}/${resultfile}.out" -D "TEST_REFERENCE=${resultfile}.txt" -D "TEST_EXPECT=${resultcode}" -D "TEST_SKIP_COMPARE=TRUE" - -P "${${EXAMPLE_PACKAGE_NAME}_RESOURCES_DIR}/jrunTest.cmake" + -P "${H4EX_RESOURCES_DIR}/jrunTest.cmake" ) if (NOT "${last_test}" STREQUAL "") set_tests_properties (${EXAMPLE_VARNAME}_jnative-h4-${resultfile} PROPERTIES DEPENDS ${last_test}) @@ -95,4 +93,5 @@ if (H4EX_BUILD_TESTING) set (last_test "${EXAMPLE_VARNAME}_jnative-h4-${example_name}-copy-objects") ADD_H4_TEST (${example_name} 0) endforeach () + endif () diff --git a/HDF4Examples/JAVA/exVD/CMakeLists.txt b/HDF4Examples/JAVA/exVD/CMakeLists.txt index e9d81442bd..4e967456ce 100644 --- a/HDF4Examples/JAVA/exVD/CMakeLists.txt +++ b/HDF4Examples/JAVA/exVD/CMakeLists.txt @@ -3,13 +3,8 @@ project (HDF4Examples_JAVA_VD Java) set (CMAKE_VERBOSE_MAKEFILE 1) -set_directory_properties(PROPERTIES - INCLUDE_DIRECTORIES - "${HDFJAVA_LIB_DIR};${JAVA_INCLUDE_PATH};${JAVA_INCLUDE_PATH2}" -) - #----------------------------------------------------------------------------- -# Define Sources, one file per application +# Define Sources #----------------------------------------------------------------------------- include (Java_sourcefiles.cmake) @@ -19,15 +14,18 @@ else () set (CMAKE_JAVA_INCLUDE_FLAG_SEP ":") endif () -set (CMAKE_JAVA_INCLUDE_PATH "${HDF4_JAVA_INCLUDE_DIRS}") +set (CMAKE_JAVA_INCLUDE_PATH ".") +foreach (CMAKE_JINCLUDE_PATH ${HDF4_JAVA_INCLUDE_DIRS}) + set (CMAKE_JAVA_INCLUDE_PATH "${CMAKE_JAVA_INCLUDE_PATH}${CMAKE_JAVA_INCLUDE_FLAG_SEP}${CMAKE_JINCLUDE_PATH}") +endforeach () set (CMD_ARGS "-Dhdf.hdflib.HDFLibrary.loadLibraryName=${H4EX_JAVA_LIBRARY}$<$:${CMAKE_DEBUG_POSTFIX}>;") set (CMAKE_JAVA_CLASSPATH ".") -foreach (CMAKE_INCLUDE_PATH ${CMAKE_JAVA_INCLUDE_PATH}) +foreach (CMAKE_INCLUDE_PATH ${HDF4_JAVA_INCLUDE_DIRS}) set (CMAKE_JAVA_CLASSPATH "${CMAKE_JAVA_CLASSPATH}${CMAKE_JAVA_INCLUDE_FLAG_SEP}${CMAKE_INCLUDE_PATH}") endforeach () -foreach (HCP_JAR ${CMAKE_JAVA_INCLUDE_PATH}) +foreach (HCP_JAR ${HDF4_JAVA_INCLUDE_DIRS}) get_filename_component (_HCP_FILE ${HCP_JAR} NAME) set (HDFJAVA_CLASSJARS "${_HCP_FILE} ${HDFJAVA_CLASSJARS}") endforeach () @@ -39,13 +37,13 @@ foreach (example ${HDF_JAVA_EXAMPLES}) Class-Path: ${HDFJAVA_CLASSJARS} " ) - add_jar (${EXAMPLE_VARNAME}_${example_name} + add_jar (${EXAMPLE_VARNAME}J_${example_name} SOURCES ${example} MANIFEST ${PROJECT_BINARY_DIR}/${example_name}_Manifest.txt ) - get_target_property (${EXAMPLE_VARNAME}_${example_name}_JAR_FILE ${EXAMPLE_VARNAME}_${example_name} JAR_FILE) - get_target_property (${EXAMPLE_VARNAME}_${example_name}_CLASSPATH ${EXAMPLE_VARNAME}_${example_name} CLASSDIR) - add_dependencies (${EXAMPLE_VARNAME}_${example_name} ${H4EX_JAVA_LIBRARIES}) + get_target_property (${EXAMPLE_VARNAME}J_${example_name}_JAR_FILE ${EXAMPLE_VARNAME}J_${example_name} JAR_FILE) + get_target_property (${EXAMPLE_VARNAME}J_${example_name}_CLASSPATH ${EXAMPLE_VARNAME}J_${example_name} CLASSDIR) + add_dependencies (${EXAMPLE_VARNAME}J_${example_name} ${H4EX_JAVA_LIBRARIES}) endforeach () if (H4EX_BUILD_TESTING) @@ -56,14 +54,14 @@ if (H4EX_BUILD_TESTING) -D "TEST_TESTER=${CMAKE_Java_RUNTIME};${CMAKE_Java_RUNTIME_FLAGS}" -D "TEST_PROGRAM=${resultfile}" -D "TEST_ARGS:STRING=${ARGN};${CMD_ARGS}" - -D "TEST_CLASSPATH:STRING=${CMAKE_JAVA_CLASSPATH}${CMAKE_JAVA_INCLUDE_FLAG_SEP}${${EXAMPLE_VARNAME}_${resultfile}_JAR_FILE}" + -D "TEST_CLASSPATH:STRING=${CMAKE_JAVA_CLASSPATH}${CMAKE_JAVA_INCLUDE_FLAG_SEP}${${EXAMPLE_VARNAME}J_${resultfile}_JAR_FILE}" -D "TEST_LIBRARY_DIRECTORY=${CMAKE_TEST_LIB_DIRECTORY}" -D "TEST_FOLDER=${PROJECT_BINARY_DIR}" -D "TEST_OUTPUT=${PROJECT_BINARY_DIR}/${resultfile}.out" -D "TEST_REFERENCE=${resultfile}.txt" -D "TEST_EXPECT=${resultcode}" -D "TEST_SKIP_COMPARE=TRUE" - -P "${${EXAMPLE_PACKAGE_NAME}_RESOURCES_DIR}/jrunTest.cmake" + -P "${H4EX_RESOURCES_DIR}/jrunTest.cmake" ) if (NOT "${last_test}" STREQUAL "") set_tests_properties (${EXAMPLE_VARNAME}_jnative-h4-${resultfile} PROPERTIES DEPENDS ${last_test}) @@ -95,4 +93,5 @@ if (H4EX_BUILD_TESTING) set (last_test "${EXAMPLE_VARNAME}_jnative-h4-${example_name}-copy-objects") ADD_H4_TEST (${example_name} 0) endforeach () + endif () diff --git a/HDF4Examples/config/cmake/HDFExampleMacros.cmake b/HDF4Examples/config/cmake/HDFExampleMacros.cmake index b549da22ee..7db4ace952 100644 --- a/HDF4Examples/config/cmake/HDFExampleMacros.cmake +++ b/HDF4Examples/config/cmake/HDFExampleMacros.cmake @@ -8,24 +8,11 @@ macro (BASIC_SETTINGS varname) string (TOLOWER ${H4${EXAMPLE_PACKAGE_VARNAME}_PACKAGE_NAME} EXAMPLE_NAME) set (CMAKE_NO_SYSTEM_FROM_IMPORTED 1) - #----------------------------------------------------------------------------- - # Define some CMake variables for use later in the project - #----------------------------------------------------------------------------- - set (${EXAMPLE_PACKAGE_NAME}_RESOURCES_DIR ${${EXAMPLE_PACKAGE_NAME}_SOURCE_DIR}/config/cmake) - set (${EXAMPLE_PACKAGE_NAME}_SRC_DIR ${${EXAMPLE_PACKAGE_NAME}_SOURCE_DIR}/src) - #----------------------------------------------------------------------------- # Setup output Directories #----------------------------------------------------------------------------- SET_HDF_OUTPUT_DIRS(${EXAMPLE_PACKAGE_NAME}) - #----------------------------------------------------------------------------- - # Option to use Shared/Static libs, default is static - #----------------------------------------------------------------------------- - set (LIB_TYPE STATIC) - if (BUILD_SHARED_LIBS) - set (LIB_TYPE SHARED) - endif () set (CMAKE_POSITION_INDEPENDENT_CODE ON) if (MSVC) @@ -104,24 +91,10 @@ macro (BASIC_SETTINGS varname) set (${EXAMPLE_PACKAGE_NAME}_INCLUDES_BUILD_TIME ${${EXAMPLE_PACKAGE_NAME}_SRC_DIR} ${${EXAMPLE_PACKAGE_NAME}_BINARY_DIR} ) - - #----------------------------------------------------------------------------- - # Option to build JAVA examples - #----------------------------------------------------------------------------- - option (HDF_BUILD_JAVA "Build JAVA support" OFF) - if (HDF_BUILD_JAVA) - find_package (Java) - INCLUDE_DIRECTORIES ( - ${JAVA_INCLUDE_PATH} - ${JAVA_INCLUDE_PATH2} - ) - - include (${${EXAMPLE_PACKAGE_NAME}_RESOURCES_DIR}/UseJava.cmake) - endif () endmacro () macro (HDF4_SUPPORT) - set (CMAKE_MODULE_PATH ${${EXAMPLE_PACKAGE_NAME}_RESOURCES_DIR} ${CMAKE_MODULE_PATH}) + set (CMAKE_MODULE_PATH ${H4_RESOURCES_DIR} ${CMAKE_MODULE_PATH}) option (USE_SHARED_LIBS "Use Shared Libraries" ON) if (NOT H4EX_HDF4_HEADER) @@ -215,7 +188,7 @@ macro (HDF4_SUPPORT) set (CMAKE_JAVA_INCLUDE_PATH "${CMAKE_JAVA_INCLUDE_PATH};${HDF4_JAVA_INCLUDE_DIRS}") set (H4EX_JAVA_LIBRARY ${HDF4_JAVA_LIBRARY}) set (H4EX_JAVA_LIBRARIES ${HDF4_JAVA_LIBRARY}) - message (STATUS "HDF4 jars:${HDF4_JAVA_INCLUDE_DIRS}}") + message (STATUS "HDF4 lib:${H4EX_JAVA_LIBRARY} jars:${HDF4_JAVA_INCLUDE_DIRS}}") else () set (HDF_BUILD_JAVA OFF CACHE BOOL "Build Java support" FORCE) message (STATUS "HDF4 Java libs not found - disable build of Java examples") @@ -261,71 +234,4 @@ macro (HDF4_SUPPORT) list (APPEND H4EX_HDF4_INCLUDE_DIRS ${HDF4_INCLUDE_DIR_FORTRAN}) endif () message (STATUS "HDF4 link libs: ${H4EX_HDF4_LINK_LIBS} Includes: ${H4EX_HDF4_INCLUDE_DIRS}") - - if (USE_SHARED_LIBS) - set (H4_LIB_TYPE SHARED) - else () - set (H4_LIB_TYPE STATIC) - endif () -endmacro () - -#------------------------------------------------------------------------------- -macro (SET_HDF_BUILD_TYPE) - get_property (_isMultiConfig GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) - if (_isMultiConfig) - # HDF_CFG_BUILD_TYPE is used in the Fortran install commands for the build location of the .mod files - set (HDF_CFG_BUILD_TYPE \${CMAKE_INSTALL_CONFIG_NAME}) - if (CMAKE_BUILD_TYPE) - # set the default to the specified command line define - set (HDF_CFG_NAME ${CMAKE_BUILD_TYPE}) - else () - # set the default to the MultiConfig variable - set (HDF_CFG_NAME "$") - endif () - else () - set (HDF_CFG_BUILD_TYPE ".") - if (CMAKE_BUILD_TYPE) - set (HDF_CFG_NAME ${CMAKE_BUILD_TYPE}) - else () - set (HDF_CFG_NAME "Release") - endif () - endif () -endmacro () - -#------------------------------------------------------------------------------- -macro (TARGET_C_PROPERTIES wintarget libtype) - target_compile_options(${wintarget} PRIVATE - "$<$:${WIN_COMPILE_FLAGS}>" - ) - if(MSVC) - set_property(TARGET ${wintarget} APPEND PROPERTY LINK_FLAGS "${WIN_LINK_FLAGS}") - endif() -endmacro () - -macro (HDFTEST_COPY_FILE src dest target) - add_custom_command( - OUTPUT "${dest}" - COMMAND "${CMAKE_COMMAND}" - ARGS -E copy_if_different "${src}" "${dest}" - DEPENDS "${src}" - ) - list (APPEND ${target}_list "${dest}") -endmacro () - -macro (ADD_H4_FLAGS h4_flag_var infile) - file (STRINGS ${infile} TEST_FLAG_STREAM) - #message (TRACE "TEST_FLAG_STREAM=${TEST_FLAG_STREAM}") - list (LENGTH TEST_FLAG_STREAM len_flag) - if (len_flag GREATER 0) - math (EXPR _FP_LEN "${len_flag} - 1") - foreach (line RANGE 0 ${_FP_LEN}) - list (GET TEST_FLAG_STREAM ${line} str_flag) - string (REGEX REPLACE "^#.*" "" str_flag "${str_flag}") - #message (TRACE "str_flag=${str_flag}") - if (str_flag) - list (APPEND ${h4_flag_var} "${str_flag}") - endif () - endforeach () - endif () - #message (TRACE "h4_flag_var=${${h4_flag_var}}") endmacro () diff --git a/HDF4Examples/config/cmake/UseJava.cmake b/HDF4Examples/config/cmake/UseJava.cmake index b4af653740..12e324ca59 100644 --- a/HDF4Examples/config/cmake/UseJava.cmake +++ b/HDF4Examples/config/cmake/UseJava.cmake @@ -881,7 +881,7 @@ function(add_jar _TARGET_NAME) ${_GENERATE_NATIVE_HEADERS} ${_JAVA_SOURCES_FILELISTS} COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_JAVA_CLASS_OUTPUT_PATH}/java_compiled_${_TARGET_NAME} - DEPENDS ${_JAVA_COMPILE_FILES} ${_JAVA_COMPILE_FILELISTS} ${_JAVA_COMPILE_DEPENDS} + DEPENDS ${_JAVA_COMPILE_FILES} ${_JAVA_COMPILE_FILELISTS} ${_JAVA_COMPILE_DEPENDS} ${_JAVA_SOURCES_FILE} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} COMMENT "Building Java objects for ${_TARGET_NAME}.jar" VERBATIM diff --git a/HDF4Examples/config/cmake/cacheinit.cmake b/HDF4Examples/config/cmake/cacheinit.cmake index 1e251b22b7..4fb4f10b00 100755 --- a/HDF4Examples/config/cmake/cacheinit.cmake +++ b/HDF4Examples/config/cmake/cacheinit.cmake @@ -10,8 +10,6 @@ set (H4EX_BUILD_TESTING ON CACHE BOOL "Build HDF4 Unit Testing" FORCE) set (COMPARE_TESTING ON CACHE BOOL "Compare HDF4 Unit Testing to Reference" FORCE) -set (PACK_EXAMPLE_SOURCE ON CACHE BOOL "Package the source" FORCE) - set (HDF_BUILD_C ON CACHE BOOL "Build C support" FORCE) set (HDF_BUILD_FORTRAN OFF CACHE BOOL "Build FORTRAN support" FORCE) diff --git a/HDF4Examples/hdf/CMakeLists.txt b/HDF4Examples/hdf/CMakeLists.txt deleted file mode 100644 index 5e203447b8..0000000000 --- a/HDF4Examples/hdf/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required (VERSION 3.12) -project (HDF4Examples_HDF C) - -#----------------------------------------------------------------------------- -# Build the hdf examples -#----------------------------------------------------------------------------- -add_subdirectory (examples) -if (HDF_BUILD_FORTRAN) - add_subdirectory (fortran) -endif () diff --git a/HDF4Examples/hdf/examples/CMakeLists.txt b/HDF4Examples/hdf/examples/CMakeLists.txt deleted file mode 100644 index 82cd607989..0000000000 --- a/HDF4Examples/hdf/examples/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required (VERSION 3.12) -project (HDF4Examples_HDF C) - -#----------------------------------------------------------------------------- -# Define Sources -#----------------------------------------------------------------------------- -add_subdirectory (AN) -add_subdirectory (GR) -add_subdirectory (VD) -add_subdirectory (VG) diff --git a/HDF4Examples/hdf/fortran/Fortran_sourcefiles.cmake b/HDF4Examples/hdf/fortran/Fortran_sourcefiles.cmake deleted file mode 100644 index ed2db18ba5..0000000000 --- a/HDF4Examples/hdf/fortran/Fortran_sourcefiles.cmake +++ /dev/null @@ -1,37 +0,0 @@ -#----------------------------------------------------------------------------- -# Define Sources, one file per application -#----------------------------------------------------------------------------- -set (examples - h4ex_VD_create_vdatas.f - h4ex_VD_write_mixed_vdata.f - h4ex_VD_write_to_vdata.f - h4ex_VD_create_onefield_vdatas.f - h4ex_VD_read_from_vdata.f - h4ex_VD_read_mixed_vdata.f - h4ex_VD_get_vdata_info.f - h4ex_VD_locate_vdata.f - h4ex_VG_create_vgroup.f -# h4ex_VG_add_sds_to_vgroup.f - h4ex_VG_insert_vdatas_to_vgroup.f - h4ex_VG_set_get_vgroup_attr.f - h4ex_VG_vgroup_contents.f - h4ex_VG_get_vgroup_info.f - h4ex_GR_create_and_write_image.f - h4ex_GR_create_and_write_chunked_image.f - h4ex_GR_modify_image.f - h4ex_GR_set_attribute.f - h4ex_GR_get_attribute.f - h4ex_GR_write_palette.f - h4ex_GR_image_info.f - h4ex_GR_read_image.f - h4ex_AN_create_annotation.f - h4ex_AN_get_annotation_info.f - h4ex_AN_read_annotation.f - #h4ex_VD_set_get_vdata_attr.f -) -set (mf_examples - h4ex_VG_add_sds_to_vgroup.f -) -set (skip_examples - h4ex_VD_set_get_vdata_attr.f -) diff --git a/HDF4Examples/hdf/fortran/Makefile.am b/HDF4Examples/hdf/fortran/Makefile.am deleted file mode 100644 index e7e69bd1a9..0000000000 --- a/HDF4Examples/hdf/fortran/Makefile.am +++ /dev/null @@ -1,82 +0,0 @@ -############################################################################# -## Setup for building programs ## -############################################################################# - -include $(top_srcdir)/config/commence.am - -DEFINES=-DNDEBUG -DHDF - -############################################################################# -## Programs to build ## -############################################################################# - -TEST_PROG = h4ex_VD_create_vdatas h4ex_VD_write_mixed_vdata \ - h4ex_VD_write_to_vdata h4ex_VD_create_onefield_vdatas \ - h4ex_VD_read_from_vdata h4ex_VD_read_mixed_vdata \ - h4ex_VD_get_vdata_info h4ex_VD_locate_vdata h4ex_VG_create_vgroup \ - h4ex_VG_add_sds_to_vgroup h4ex_VG_insert_vdatas_to_vgroup \ - h4ex_VG_set_get_vgroup_attr h4ex_VG_vgroup_contents \ - h4ex_VG_get_vgroup_info h4ex_GR_create_and_write_image \ - h4ex_GR_modify_image h4ex_GR_set_attribute h4ex_GR_get_attribute \ - h4ex_GR_write_palette h4ex_GR_image_info h4ex_GR_read_image \ - h4ex_AN_create_annotation h4ex_AN_get_annotation_info h4ex_AN_read_annotation - # h4ex_VD_set_get_vdata_attr - -# These are the Fortran example files to be installed -INSTALL_FILES= h4ex_VD_read_from_vdata.f h4ex_VD_read_mixed_vdata.f \ - h4ex_VD_write_mixed_vdata.f h4ex_VD_write_to_vdata.f \ - h4ex_VD_create_onefield_vdatas.f h4ex_VD_create_vdatas.f \ - h4ex_VD_get_vdata_info.f h4ex_VD_locate_vdata.f \ - h4ex_VG_insert_vdatas_to_vgroup.f h4ex_VG_set_get_vgroup_attr.f \ - h4ex_VG_vgroup_contents.f h4ex_VG_add_sds_to_vgroup.f \ - h4ex_VG_create_vgroup.f h4ex_VG_get_vgroup_info.f \ - h4ex_GR_create_and_write_image.f h4ex_GR_get_attribute.f \ - h4ex_GR_image_info.f h4ex_GR_modify_image.f h4ex_GR_read_image.f \ - h4ex_GR_read_palette.f h4ex_GR_set_attribute.f \ - h4ex_GR_write_palette.f h4ex_AN_create_annotation.f \ - h4ex_AN_get_annotation_info.f h4ex_AN_read_annotation.f \ - #h4ex_VD_set_get_vdata_attr.f - -# Where to install Fortran example files -EXAMPLEDIR=$(prefix)/examples/fortran - -# How to build Fortran programs using h4fc -$(EXTRA_PROG): $(H4FC) - $(H4FC) $(H4FCFLAGS) $(FFLAGS) -o $@ $(srcdir)/$@.f; - -# List dependencies for each program. Normally, automake would take -# care of this for us, but if we tell automake about the programs it -# will try to build them with the normal Fortran compiler, not h4fc. - -# Fortran Programs -h4ex_VD_read_from_vdata: $(srcdir)/h4ex_VD_read_from_vdata.f -h4ex_VD_read_mixed_vdata: $(srcdir)/h4ex_VD_read_mixed_vdata.f -#h4ex_VD_set_get_vdata_attr: $(srcdir)/h4ex_VD_set_get_vdata_attr.f -h4ex_VD_write_mixed_vdata: $(srcdir)/h4ex_VD_write_mixed_vdata.f -h4ex_VD_write_to_vdata: $(srcdir)/h4ex_VD_write_to_vdata.f -h4ex_VD_create_onefield_vdatas: $(srcdir)/h4ex_VD_create_onefield_vdatas.f -h4ex_VD_create_vdatas: $(srcdir)/h4ex_VD_create_vdatas.f -h4ex_VD_get_vdata_info: $(srcdir)/h4ex_VD_get_vdata_info.f -h4ex_VD_locate_vdata: $(srcdir)/h4ex_VD_locate_vdata.f -h4ex_VG_insert_vdatas_to_vgroup: $(srcdir)/h4ex_VG_insert_vdatas_to_vgroup.f -h4ex_VG_set_get_vgroup_attr: $(srcdir)/h4ex_VG_set_get_vgroup_attr.f -h4ex_VG_vgroup_contents: $(srcdir)/h4ex_VG_vgroup_contents.f -h4ex_VG_add_sds_to_vgroup: $(srcdir)/h4ex_VG_add_sds_to_vgroup.f -h4ex_VG_create_vgroup: $(srcdir)/h4ex_VG_create_vgroup.f -h4ex_VG_get_vgroup_info: $(srcdir)/h4ex_VG_get_vgroup_info.f -h4ex_GR_create_and_write_image: $(srcdir)/h4ex_GR_create_and_write_image.f -h4ex_GR_get_attribute: $(srcdir)/h4ex_GR_get_attribute.f -h4ex_GR_image_info: $(srcdir)/h4ex_GR_image_info.f -h4ex_GR_modify_image: $(srcdir)/h4ex_GR_modify_image.f -h4ex_GR_read_image: $(srcdir)/h4ex_GR_read_image.f -h4ex_GR_read_palette: $(srcdir)/h4ex_GR_read_palette.f -h4ex_GR_set_attribute: $(srcdir)/h4ex_GR_set_attribute.f -h4ex_GR_write_palette: $(srcdir)/h4ex_GR_write_palette.f -h4ex_AN_create_annotation: $(srcdir)/h4ex_AN_create_annotation.f -h4ex_AN_get_annotation_info: $(srcdir)/h4ex_AN_get_annotation_info.f -h4ex_AN_read_annotation: $(srcdir)/h4ex_AN_read_annotation.f - -include $(top_srcdir)/config/examples.am -include $(top_srcdir)/config/conclude.am - -DISTCLEANFILES = *.chkexe *.chklog diff --git a/HDF4Examples/mfhdf/CMakeLists.txt b/HDF4Examples/mfhdf/CMakeLists.txt deleted file mode 100644 index 7412d3f1cc..0000000000 --- a/HDF4Examples/mfhdf/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required (VERSION 3.12) -project (HDF4Examples_MFHDF C) - -#----------------------------------------------------------------------------- -# Build the mfhdf examples -#----------------------------------------------------------------------------- -add_subdirectory (examples) -if (HDF_BUILD_FORTRAN) - add_subdirectory (fortran) -endif (HDF_BUILD_FORTRAN) diff --git a/HDF4Examples/mfhdf/examples/C_sourcefiles.cmake b/HDF4Examples/mfhdf/examples/C_sourcefiles.cmake deleted file mode 100644 index 55a28bf3cf..0000000000 --- a/HDF4Examples/mfhdf/examples/C_sourcefiles.cmake +++ /dev/null @@ -1,21 +0,0 @@ -#----------------------------------------------------------------------------- -# Define Sources, one file per application -#----------------------------------------------------------------------------- -set (examples - h4ex_SD_create_sds.c - h4ex_SD_write_to_sds.c - h4ex_SD_write_slab.c - h4ex_SD_alter_sds_values.c - h4ex_SD_unlimited_sds.c - h4ex_SD_compress_sds.c - h4ex_SD_mv_sds_to_external.c - h4ex_SD_read_from_sds.c - h4ex_SD_read_subsets.c - h4ex_SD_get_info.c - h4ex_SD_find_sds_by_name.c - h4ex_SD_set_get_dim_info.c - h4ex_SD_dimscale_vs_sds.c - h4ex_SD_set_attr.c - h4ex_SD_get_attr.c - h4ex_SD_chunking_example.c -) diff --git a/HDF4Examples/mfhdf/fortran/Fortran_sourcefiles.cmake b/HDF4Examples/mfhdf/fortran/Fortran_sourcefiles.cmake deleted file mode 100644 index b941a2b0f7..0000000000 --- a/HDF4Examples/mfhdf/fortran/Fortran_sourcefiles.cmake +++ /dev/null @@ -1,26 +0,0 @@ -#----------------------------------------------------------------------------- -# Define Sources, one file per application -#----------------------------------------------------------------------------- -set (examples - h4ex_SD_create_sds.f - h4ex_SD_write_to_sds.f - h4ex_SD_write_slab.f - h4ex_SD_alter_sds_values.f - h4ex_SD_unlimited_sds.f - h4ex_SD_mv_sds_to_external.f - h4ex_SD_read_from_sds.f - h4ex_SD_read_subsets.f - #h4ex_SD_get_info.f - h4ex_SD_find_sds_by_name.f - h4ex_SD_set_get_dim_info.f - #h4ex_SD_dimscale_vs_sds.f - h4ex_SD_set_attr.f - #h4ex_SD_get_attr.f - h4ex_SD_compress_sds.f - h4ex_SD_chunking_example.f -) -set (skip_examples - h4ex_SD_get_info.f - h4ex_SD_dimscale_vs_sds.f - h4ex_SD_get_attr.f -) diff --git a/config/cmake/HDF4ExampleCache.cmake b/config/cmake/HDF4ExampleCache.cmake index 13fc1ef80d..271cf01e01 100644 --- a/config/cmake/HDF4ExampleCache.cmake +++ b/config/cmake/HDF4ExampleCache.cmake @@ -18,6 +18,10 @@ set (H4EX_HDF4_INCLUDE_DIRS "${HDF4_SRC_INCLUDE_DIRS};${HDF4_SRC_BINARY_DIR}" CA set (H4EX_HDF4_DIR ${CMAKE_CURRENT_BINARY_DIR} CACHE STRING "HDF4 build folder" FORCE) set (EXAMPLES_EXTERNALLY_CONFIGURED ON CACHE BOOL "Examples build is used in another project" FORCE) +set (EXAMPLE_VARNAME "H4") +set (H4EX_RESOURCES_DIR ${HDF_RESOURCES_DIR}) +message (STATUS "HDF4 Example H4EX_RESOURCES_DIR: ${H4EX_RESOURCES_DIR}") + if (NOT BUILD_SHARED_LIBS AND BUILD_STATIC_LIBS) set (USE_SHARED_LIBS OFF CACHE BOOL "Use Shared Libraries for Examples" FORCE) set (H4EX_HDF4_LINK_LIBS ${HDF4_LIB_TARGET} CACHE STRING "HDF4 target" FORCE) diff --git a/config/cmake/HDFMacros.cmake b/config/cmake/HDFMacros.cmake index 5e5629c5d1..98679e5cbf 100644 --- a/config/cmake/HDFMacros.cmake +++ b/config/cmake/HDFMacros.cmake @@ -36,12 +36,12 @@ macro (SET_HDF_OUTPUT_DIRS package_prefix) if (NOT ${package_prefix}_EXTERNALLY_CONFIGURED AND CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) if (CMAKE_HOST_UNIX) - set (CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}/HDF_Group/${HDF5_PACKAGE_NAME}/${HDF5_PACKAGE_VERSION}" + set (CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}/HDF_Group/${HDF4_PACKAGE_NAME}/${HDF4_PACKAGE_VERSION}" CACHE PATH "Install path prefix, prepended onto install directories." FORCE) else () GetDefaultWindowsPrefixBase(CMAKE_GENERIC_PROGRAM_FILES) set (CMAKE_INSTALL_PREFIX - "${CMAKE_GENERIC_PROGRAM_FILES}/HDF_Group/${HDF5_PACKAGE_NAME}/${HDF5_PACKAGE_VERSION}" + "${CMAKE_GENERIC_PROGRAM_FILES}/HDF_Group/${HDF4_PACKAGE_NAME}/${HDF4_PACKAGE_VERSION}" CACHE PATH "Install path prefix, prepended onto install directories." FORCE) set (CMAKE_GENERIC_PROGRAM_FILES) endif () diff --git a/config/cmake/JPEG/CMakeLists.txt b/config/cmake/JPEG/CMakeLists.txt index 6f69176396..022888c526 100644 --- a/config/cmake/JPEG/CMakeLists.txt +++ b/config/cmake/JPEG/CMakeLists.txt @@ -162,7 +162,9 @@ endif () #----------------------------------------------------------------------------- # All libs/tests/examples need the main include directories #----------------------------------------------------------------------------- -INCLUDE_DIRECTORIES (${JPEG_BINARY_DIR} ${JPEG_SOURCE_DIR} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) +set_directory_properties(PROPERTIES INCLUDE_DIRECTORIES + "${JPEG_BINARY_DIR};${JPEG_SOURCE_DIR};${CMAKE_RUNTIME_OUTPUT_DIRECTORY}" +) set (JPEG_SRCS ${JPEG_SRC_DIR}/jaricom.c diff --git a/config/cmake/LIBAEC/CMakeLists.txt b/config/cmake/LIBAEC/CMakeLists.txt index c698721fc0..04e6884116 100644 --- a/config/cmake/LIBAEC/CMakeLists.txt +++ b/config/cmake/LIBAEC/CMakeLists.txt @@ -146,7 +146,9 @@ configure_file (${LIBAEC_RESOURCES_DIR}/config.h.in ${CMAKE_CURRENT_BINARY_DIR}/ #----------------------------------------------------------------------------- # All libs/tests/examples need the main include directories #----------------------------------------------------------------------------- -INCLUDE_DIRECTORIES (${LIBAEC_BINARY_DIR} ${LIBAEC_SOURCE_DIR}/src ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) +set_directory_properties(PROPERTIES INCLUDE_DIRECTORIES + "${LIBAEC_BINARY_DIR};${LIBAEC_SOURCE_DIR}/src;${CMAKE_RUNTIME_OUTPUT_DIRECTORY}" +) #----------------------------------------------------------------------------- # Define LIBAEC Library diff --git a/config/cmake/UseJava.cmake b/config/cmake/UseJava.cmake index 2783cb638e..12e324ca59 100644 --- a/config/cmake/UseJava.cmake +++ b/config/cmake/UseJava.cmake @@ -6,7 +6,7 @@ UseJava This file provides support for ``Java``. It is assumed that :module:`FindJava` has already been loaded. See :module:`FindJava` for -information on how to load Java into your ``CMake`` project. +information on how to load Java into your CMake project. Synopsis ^^^^^^^^ @@ -42,6 +42,7 @@ Creating And Installing JARs add_jar( [SOURCES] [...] [...] + [RESOURCES NAMESPACE ... [NAMESPACE ...]... ] [INCLUDE_JARS [...]] [ENTRY_POINT ] [VERSION ] @@ -64,6 +65,34 @@ Creating And Installing JARs .. versionadded:: 3.4 Support for response files, prefixed by ``@``. + ``RESOURCES`` + .. versionadded:: 3.21 + + Adds the named ```` files to the jar by stripping the source file + path and placing the file beneath ```` within the jar. + + For example:: + + RESOURCES NAMESPACE "/com/my/namespace" "a/path/to/resource.txt" + + results in a resource accessible via ``/com/my/namespace/resource.txt`` + within the jar. + + Resources may be added without adjusting the namespace by adding them to + the list of ``SOURCES`` (original behavior), in this case, resource + paths must be relative to ``CMAKE_CURRENT_SOURCE_DIR``. Adding resources + without using the ``RESOURCES`` parameter in out of source builds will + almost certainly result in confusion. + + .. note:: + + Adding resources via the ``SOURCES`` parameter relies upon a hard-coded + list of file extensions which are tested to determine whether they + compile (e.g. File.java). ``SOURCES`` files which match the extensions + are compiled. Files which do not match are treated as resources. To + include uncompiled resources matching those file extensions use + the ``RESOURCES`` parameter. + ``INCLUDE_JARS`` The list of jars are added to the classpath when compiling the java sources and also to the dependencies of the target. ``INCLUDE_JARS`` also accepts @@ -264,7 +293,7 @@ Header Generation .. deprecated:: 3.11 This command will no longer be supported starting with version 10 of the JDK - due to the `suppression of javah tool `_. + due to the `suppression of javah tool `_. The :ref:`add_jar(GENERATE_NATIVE_HEADERS) ` command should be used instead. @@ -526,6 +555,7 @@ function (__java_copy_file src dest comment) ${dest} DEPENDS ${src} COMMENT ${comment} + VERBATIM ) endfunction () @@ -552,6 +582,58 @@ function(__java_export_jar VAR TARGET PATH) set(${VAR} "${${VAR}}" PARENT_SCOPE) endfunction() +function(__java_copy_resource_namespaces VAR DEST JAVA_RESOURCE_FILES JAVA_RESOURCE_FILES_RELATIVE) + + set(_ns_ID "") + set(_ns_VAL "") + + foreach(_item IN LISTS VAR) + if(NOT _ns_ID) + if(NOT _item STREQUAL "NAMESPACE") + message(FATAL_ERROR "UseJava: Expecting \"NAMESPACE\", got\t\"${_item}\"") + return() + endif() + endif() + + if(_item STREQUAL "NAMESPACE") + set(_ns_VAL "") # Prepare for next namespace + set(_ns_ID "${_item}") + continue() + endif() + + if( NOT _ns_VAL) + # we're expecting the next token to be a namespace value + # whatever it is, we're treating it like a namespace + set(_ns_VAL "${_item}") + continue() + endif() + + if(_ns_ID AND _ns_VAL) + # We're expecting a file name, check to see if we got one + cmake_path(ABSOLUTE_PATH _item OUTPUT_VARIABLE _test_file_name) + if (NOT EXISTS "${_test_file_name}") + message(FATAL_ERROR "UseJava: File does not exist:\t${_item}") + return() + endif() + endif() + + cmake_path(ABSOLUTE_PATH _item OUTPUT_VARIABLE _abs_file_name) + cmake_path(GET _item FILENAME _resource_file_name) + set(_dest_resource_file_name "${_ns_VAL}/${_resource_file_name}" ) + + __java_copy_file( ${_abs_file_name} + ${DEST}/${_dest_resource_file_name} + "Copying ${_item} to the build directory") + + list(APPEND RESOURCE_FILES_LIST ${DEST}/${_dest_resource_file_name}) + list(APPEND RELATIVE_RESOURCE_FILES_LIST ${_dest_resource_file_name}) + + endforeach() + + set(${JAVA_RESOURCE_FILES} "${RESOURCE_FILES_LIST}" PARENT_SCOPE) + set(${JAVA_RESOURCE_FILES_RELATIVE} "${RELATIVE_RESOURCE_FILES_LIST}" PARENT_SCOPE) +endfunction() + # define helper scripts set(_JAVA_EXPORT_TARGETS_SCRIPT ${CMAKE_CURRENT_LIST_DIR}/javaTargets.cmake.in) set(_JAVA_CLASS_FILELIST_SCRIPT ${CMAKE_CURRENT_LIST_DIR}/UseJavaClassFilelist.cmake) @@ -746,6 +828,13 @@ function(add_jar _TARGET_NAME) endif () endforeach() + if(_add_jar_RESOURCES) # Process RESOURCES if it exists + __java_copy_resource_namespaces("${_add_jar_RESOURCES}" + ${CMAKE_JAVA_CLASS_OUTPUT_PATH} + _JAVA_RESOURCE_FILES + _JAVA_RESOURCE_FILES_RELATIVE) + endif() + foreach(_JAVA_INCLUDE_JAR IN LISTS _add_jar_INCLUDE_JARS) if (TARGET ${_JAVA_INCLUDE_JAR}) get_target_property(_JAVA_JAR_PATH ${_JAVA_INCLUDE_JAR} JAR_FILE) @@ -792,9 +881,10 @@ function(add_jar _TARGET_NAME) ${_GENERATE_NATIVE_HEADERS} ${_JAVA_SOURCES_FILELISTS} COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_JAVA_CLASS_OUTPUT_PATH}/java_compiled_${_TARGET_NAME} - DEPENDS ${_JAVA_COMPILE_FILES} ${_JAVA_COMPILE_FILELISTS} ${_JAVA_COMPILE_DEPENDS} + DEPENDS ${_JAVA_COMPILE_FILES} ${_JAVA_COMPILE_FILELISTS} ${_JAVA_COMPILE_DEPENDS} ${_JAVA_SOURCES_FILE} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} COMMENT "Building Java objects for ${_TARGET_NAME}.jar" + VERBATIM ) add_custom_command( OUTPUT ${CMAKE_JAVA_CLASS_OUTPUT_PATH}/java_class_filelist @@ -804,6 +894,7 @@ function(add_jar _TARGET_NAME) -P ${_JAVA_CLASS_FILELIST_SCRIPT} DEPENDS ${CMAKE_JAVA_CLASS_OUTPUT_PATH}/java_compiled_${_TARGET_NAME} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + VERBATIM ) else () # create an empty java_class_filelist @@ -834,6 +925,7 @@ function(add_jar _TARGET_NAME) DEPENDS ${_JAVA_RESOURCE_FILES} ${_JAVA_DEPENDS} ${CMAKE_JAVA_CLASS_OUTPUT_PATH}/java_class_filelist WORKING_DIRECTORY ${CMAKE_JAVA_CLASS_OUTPUT_PATH} COMMENT "Creating Java archive ${_JAVA_TARGET_OUTPUT_NAME}" + VERBATIM ) else () add_custom_command( @@ -849,6 +941,7 @@ function(add_jar _TARGET_NAME) WORKING_DIRECTORY ${CMAKE_JAVA_CLASS_OUTPUT_PATH} DEPENDS ${_JAVA_RESOURCE_FILES} ${_JAVA_DEPENDS} ${CMAKE_JAVA_CLASS_OUTPUT_PATH}/java_class_filelist COMMENT "Creating Java archive ${_JAVA_TARGET_OUTPUT_NAME}" + VERBATIM ) endif () diff --git a/config/cmake/ZLIB/CMakeLists.txt b/config/cmake/ZLIB/CMakeLists.txt index 230511f256..0a2b53a09c 100644 --- a/config/cmake/ZLIB/CMakeLists.txt +++ b/config/cmake/ZLIB/CMakeLists.txt @@ -146,7 +146,9 @@ endif () #----------------------------------------------------------------------------- # All libs/tests/examples need the main include directories #----------------------------------------------------------------------------- -INCLUDE_DIRECTORIES (${ZLIB_BINARY_DIR} ${ZLIB_SOURCE_DIR} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) +set_directory_properties(PROPERTIES INCLUDE_DIRECTORIES + "${ZLIB_BINARY_DIR};${ZLIB_SOURCE_DIR};${CMAKE_RUNTIME_OUTPUT_DIRECTORY}" +) #============================================================================ # zlib diff --git a/config/cmake/javaTargets.cmake.in b/config/cmake/javaTargets.cmake.in index 6e14256a13..f3670c24c3 100644 --- a/config/cmake/javaTargets.cmake.in +++ b/config/cmake/javaTargets.cmake.in @@ -1,6 +1,5 @@ -cmake_minimum_required(VERSION 2.8.12) cmake_policy(PUSH) -cmake_policy(VERSION 2.8) +cmake_policy(VERSION 2.8.12...3.27) #---------------------------------------------------------------- # Generated CMake Java target import file. diff --git a/config/cmake/mccacheinit.cmake b/config/cmake/mccacheinit.cmake index 0e9ddfa3e4..3fe5b37143 100644 --- a/config/cmake/mccacheinit.cmake +++ b/config/cmake/mccacheinit.cmake @@ -1,10 +1,8 @@ # This is the CMakeCache file. -######################## +######################### # EXTERNAL cache entries -######################## - -set (BUILD_SHARED_LIBS OFF CACHE BOOL "Build Shared Libraries" FORCE) +######################### set (BUILD_TESTING ON CACHE BOOL "Build HDF4 Unit Testing" FORCE) @@ -32,7 +30,7 @@ set (HDF4_DISABLE_COMPILER_WARNINGS OFF CACHE BOOL "Disable compiler warnings" F set (HDF4_ENABLE_DEPRECATED_SYMBOLS ON CACHE BOOL "Enable deprecated public API symbols" FORCE) -set (HDF4_PACKAGE_EXTLIBS OFF CACHE BOOL "(WINDOWS)CPACK - include external libraries" FORCE) +set (HDF4_PACKAGE_EXTLIBS OFF CACHE BOOL "CPACK - include external libraries" FORCE) set (HDF4_NO_PACKAGES ON CACHE BOOL "CPACK - Disable packaging" FORCE) diff --git a/configure.ac b/configure.ac index f96a90c561..a5f9544677 100644 --- a/configure.ac +++ b/configure.ac @@ -1284,12 +1284,10 @@ AC_CONFIG_FILES([Makefile java/src/Makefile java/src/jni/Makefile java/test/Makefile - java/test/junit.sh - java/examples/Makefile]) + java/test/junit.sh]) AC_CONFIG_COMMANDS([.classes], [], [$MKDIR_P java/src/.classes; - $MKDIR_P java/test/.classes; - $MKDIR_P java/examples/.classes]) + $MKDIR_P java/test/.classes]) AC_OUTPUT diff --git a/doxygen/dox/rm-template.dox b/doxygen/dox/rm-template.dox index 45d8864f95..abe7f4978b 100644 --- a/doxygen/dox/rm-template.dox +++ b/doxygen/dox/rm-template.dox @@ -23,9 +23,9 @@ the :${CMAKE_DEBUG_POSTFIX}>;") - macro (ADD_H4_TEST resultfile resultcode) - add_test ( - NAME JAVAEX-${resultfile} - COMMAND "${CMAKE_COMMAND}" - -D "TEST_TESTER=${CMAKE_Java_RUNTIME};${CMAKE_Java_RUNTIME_FLAGS}" - -D "TEST_PROGRAM=examples.${resultfile}" - -D "TEST_ARGS:STRING=${CMD_ARGS}${ARGN}" - -D "TEST_CLASSPATH:STRING=${CMAKE_JAVA_CLASSPATH}${CMAKE_JAVA_INCLUDE_FLAG_SEP}${${resultfile}_JAR_FILE}" - -D "TEST_LIBRARY_DIRECTORY=${CMAKE_TEST_OUTPUT_DIRECTORY}" - -D "TEST_FOLDER=${HDF4_JAVA_Examples_BINARY_DIR}" - -D "TEST_OUTPUT=${resultfile}.out" - -D "TEST_EXPECT=${resultcode}" - -D "TEST_REFERENCE=${resultfile}.txt" - -P "${HDF_RESOURCES_DIR}/jrunTest.cmake" - ) - if (NOT "${last_test}" STREQUAL "") - set_tests_properties (JAVAEX-${resultfile} PROPERTIES DEPENDS ${last_test}) - endif () - set (last_test "JAVAEX-${resultfile}") - endmacro () - - foreach (example ${HDFJNI_EXAMPLES}) - add_test ( - NAME JAVAEX-${example}-clearall-objects - COMMAND ${CMAKE_COMMAND} - -E remove - ${HDF4_JAVA_Examples_BINARY_DIR}/${example}.hdf - ${example}.out - ${example}.out.err - ) - if (NOT "${last_test}" STREQUAL "") - set_tests_properties (JAVAEX-${example}-clearall-objects PROPERTIES DEPENDS ${last_test}) - endif () - set (last_test "JAVAEX-${example}-clearall-objects") - ADD_H4_TEST (${example} 0) - endforeach () -endif ()