From 90aac9ceb33bb2e6b2f44dcba621b100ae1eb5f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Offringa?= Date: Fri, 10 Apr 2026 21:21:46 +0200 Subject: [PATCH 1/6] Update the FindCasacore script to include version info --- cmake/FindCasacore.cmake | 37 ++++++++++++++++++++++++++++++++----- 1 file changed, 32 insertions(+), 5 deletions(-) diff --git a/cmake/FindCasacore.cmake b/cmake/FindCasacore.cmake index fc3f131..d9d8b43 100644 --- a/cmake/FindCasacore.cmake +++ b/cmake/FindCasacore.cmake @@ -13,7 +13,7 @@ # For this, you need to have a complete casacore installation, built with shared # libraries, at your disposal. # -# The dependencies in this macro were generated against casacore release 1.7.0. +# The dependencies in this macro were generated against casacore release 2.0. # # Variables used by this module: # CASACORE_ROOT_DIR - Casacore root directory. @@ -24,6 +24,7 @@ # CASACORE_FOUND - System has Casacore, which means that the # include dir was found, as well as all # libraries specified (not cached) +# CASACORE_VERSION - Found version, e.g. "3.6.1" (not cached) # CASACORE_INCLUDE_DIR - Casacore include directory (cached) # CASACORE_INCLUDE_DIRS - Casacore include directories (not cached) # identical to CASACORE_INCLUDE_DIR @@ -150,12 +151,12 @@ set(Casacore_coordinates_DEPENDENCIES fits measures casa) set(Casacore_derivedmscal_DEPENDENCIES ms measures tables casa) set(Casacore_fits_DEPENDENCIES measures tables casa) set(Casacore_images_DEPENDENCIES coordinates mirlib lattices fits measures scimath tables casa) -set(Casacore_lattices_DEPENDENCIES scimath tables casa) +set(Casacore_lattices_DEPENDENCIES tables scimath casa) set(Casacore_meas_DEPENDENCIES measures tables casa) set(Casacore_measures_DEPENDENCIES tables casa) set(Casacore_mirlib_DEPENDENCIES) set(Casacore_ms_DEPENDENCIES measures scimath tables casa) -set(Casacore_msfits_DEPENDENCIES ms fits measures scimath tables casa) +set(Casacore_msfits_DEPENDENCIES ms fits measures tables casa) set(Casacore_python3_DEPENDENCIES casa) set(Casacore_scimath_DEPENDENCIES scimath_f casa) set(Casacore_scimath_f_DEPENDENCIES) @@ -166,6 +167,7 @@ set(CASACORE_FOUND FALSE) set(CASACORE_DEFINITIONS) set(CASACORE_LIBRARIES) set(CASACORE_MISSING_COMPONENTS) +set(CASACORE_VERSION) # Search for the header file first. if(NOT CASACORE_INCLUDE_DIR) @@ -209,7 +211,13 @@ else(NOT CASACORE_INCLUDE_DIR) foreach(_comp ${_find_components}) casacore_find_library(casa_${_comp}) if(${_comp} STREQUAL casa) - casacore_find_package(HDF5) + # Use 'find_package' directly for HDF5, since 'casacore_find_package' + # does not support the extra 'COMPONENTS CXX' arguments. + find_package(HDF5 COMPONENTS CXX) + if (HDF5_FOUND) + list(APPEND CASACORE_INCLUDE_DIRS ${HDF5_INCLUDE_DIRS}) + list(APPEND CASACORE_LIBRARIES ${HDF5_LIBRARIES}) + endif(HDF5_FOUND) casacore_find_library(m) list(APPEND CASACORE_LIBRARIES ${CMAKE_DL_LIBS}) elseif(${_comp} STREQUAL coordinates) @@ -242,6 +250,25 @@ if(CASACORE_FOUND) set(HAVE_AIPSPP TRUE CACHE INTERNAL "Define if AIPS++/Casacore is installed") endif(CASACORE_FOUND) +# Check version requirements +file(WRITE ${CMAKE_BINARY_DIR}/casacore_version.cpp "#include \n#include \nint main(int argc,char *argv[]) { std::cout << CASACORE_VERSION; return 0; }\n") +try_run(CASACORE_VERSION_RUN_RESULT CASACORE_VERSION_COMPILE_RESULT ${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}/casacore_version.cpp + RUN_OUTPUT_VARIABLE CASACORE_VERSION + COMPILE_DEFINITIONS "-I${CASACORE_INCLUDE_DIR}" ) +if (CASACORE_FOUND AND CASACORE_VERSION) + if (Casacore_FIND_VERSION) + if (Casacore_FIND_VERSION_EXACT) + if (NOT CASACORE_VERSION VERSION_EQUAL Casacore_FIND_VERSION) + message(FATAL_ERROR "Found Casacore version ${CASACORE_VERSION}, but EXACT version ${Casacore_FIND_VERSION} is required.") + endif() + else() + if (CASACORE_VERSION VERSION_LESS Casacore_FIND_VERSION) + message(FATAL_ERROR "Found Casacore version ${CASACORE_VERSION}, but at least version ${Casacore_FIND_VERSION} is required.") + endif() + endif() + endif() +endif() + # Compose diagnostic message if not all necessary components were found. if(CASACORE_MISSING_COMPONENTS) set(CASACORE_ERROR_MESSAGE "Casacore: the following components could not be found:\n ${CASACORE_MISSING_COMPONENTS}") @@ -250,7 +277,7 @@ endif(CASACORE_MISSING_COMPONENTS) # Print diagnostics. if(CASACORE_FOUND) if(NOT Casacore_FIND_QUIETLY) - message(STATUS "Found the following Casacore components: ") + message(STATUS "Found Casacore (version ${CASACORE_VERSION}) with the following components:") foreach(_comp ${_find_components}) string(TOUPPER casa_${_comp} _COMP) message(STATUS " ${_comp}: ${${_COMP}_LIBRARY}") From 075cee9bb7da24dc3178914063b409d01b621671 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Offringa?= Date: Sat, 11 Apr 2026 00:08:48 +0200 Subject: [PATCH 2/6] Try fix ci --- src/functionals.cc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/functionals.cc b/src/functionals.cc index 32649ce..618a6be 100755 --- a/src/functionals.cc +++ b/src/functionals.cc @@ -27,6 +27,8 @@ #include "functionals.h" +#include + #include #include @@ -34,6 +36,7 @@ #include #include + BOOST_PYTHON_MODULE(_functionals) { casacore::python::register_convert_excp(); From aea82964b8612f9ab7ad6b0925e2d93d8cf046b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Offringa?= Date: Sat, 11 Apr 2026 00:16:26 +0200 Subject: [PATCH 3/6] Add cstddef to all --- src/fit.cc | 2 ++ src/functional.cc | 1 + src/images.cc | 1 + src/pyimages.cc | 1 + src/pymeas.cc | 1 + src/pymeasures.cc | 1 + src/pytable.cc | 1 + src/pytableindex.cc | 1 + src/pytableiter.cc | 1 + src/pytablerow.cc | 1 + src/quanta.cc | 1 + src/quantamath.cc | 1 + src/quantity.cc | 1 + src/quantvec.cc | 1 + 14 files changed, 15 insertions(+) diff --git a/src/fit.cc b/src/fit.cc index 70deb2c..0d7e9ff 100755 --- a/src/fit.cc +++ b/src/fit.cc @@ -28,6 +28,8 @@ #include #include +#include + #include #include diff --git a/src/functional.cc b/src/functional.cc index d6ca138..c695f2b 100755 --- a/src/functional.cc +++ b/src/functional.cc @@ -25,6 +25,7 @@ //# //# $Id: pyfunctional.cc,v 1.1 2006/09/29 06:42:55 mmarquar Exp $ +#include #include #include #include diff --git a/src/images.cc b/src/images.cc index 25fa098..0d3d668 100755 --- a/src/images.cc +++ b/src/images.cc @@ -27,6 +27,7 @@ #include "pyimages.h" +#include #include #include #include diff --git a/src/pyimages.cc b/src/pyimages.cc index bf92040..d2d0e15 100755 --- a/src/pyimages.cc +++ b/src/pyimages.cc @@ -25,6 +25,7 @@ //# //# $Id$ +#include #include #include #include diff --git a/src/pymeas.cc b/src/pymeas.cc index 1638aac..2ab9a33 100755 --- a/src/pymeas.cc +++ b/src/pymeas.cc @@ -25,6 +25,7 @@ //# //# $Id: pymeas.cc,v 1.1 2006/09/28 05:55:00 mmarquar Exp $ +#include #include #include #include diff --git a/src/pymeasures.cc b/src/pymeasures.cc index a38a8b4..455d651 100755 --- a/src/pymeasures.cc +++ b/src/pymeasures.cc @@ -25,6 +25,7 @@ //# //# $Id: pymeasures.cc,v 1.2 2006/10/17 03:37:27 gvandiep Exp $ +#include #include #include #include diff --git a/src/pytable.cc b/src/pytable.cc index 2fec487..ebed0df 100755 --- a/src/pytable.cc +++ b/src/pytable.cc @@ -25,6 +25,7 @@ //# //# $Id: pytable.cc,v 1.5 2006/11/08 00:12:55 gvandiep Exp $ +#include #include #include diff --git a/src/pytableindex.cc b/src/pytableindex.cc index 8774c19..22753e4 100644 --- a/src/pytableindex.cc +++ b/src/pytableindex.cc @@ -25,6 +25,7 @@ //# //# $Id: pytableindex.cc,v 1.1 2006/09/19 06:44:14 gvandiep Exp $ +#include #include #include #include diff --git a/src/pytableiter.cc b/src/pytableiter.cc index cfcec67..2a2ec0f 100644 --- a/src/pytableiter.cc +++ b/src/pytableiter.cc @@ -25,6 +25,7 @@ //# //# $Id: pytableiter.cc,v 1.1 2006/09/19 06:44:14 gvandiep Exp $ +#include #include #include #include diff --git a/src/pytablerow.cc b/src/pytablerow.cc index 89e3d0f..4f1bd61 100644 --- a/src/pytablerow.cc +++ b/src/pytablerow.cc @@ -25,6 +25,7 @@ //# //# $Id: pytablerow.cc,v 1.2 2006/10/25 22:14:54 gvandiep Exp $ +#include #include #include #include diff --git a/src/quanta.cc b/src/quanta.cc index 16c6913..790ddd3 100755 --- a/src/quanta.cc +++ b/src/quanta.cc @@ -27,6 +27,7 @@ #include "quanta.h" +#include #include #include #include diff --git a/src/quantamath.cc b/src/quantamath.cc index 4ec074a..5cdcf39 100644 --- a/src/quantamath.cc +++ b/src/quantamath.cc @@ -24,6 +24,7 @@ //# AUSTRALIA //# $Id:$ +#include #include #include #include diff --git a/src/quantity.cc b/src/quantity.cc index f421bcd..c144437 100644 --- a/src/quantity.cc +++ b/src/quantity.cc @@ -25,6 +25,7 @@ //# //# $Id:$ +#include #include #include #include diff --git a/src/quantvec.cc b/src/quantvec.cc index 852b2c7..74af874 100644 --- a/src/quantvec.cc +++ b/src/quantvec.cc @@ -25,6 +25,7 @@ //# //# $Id:$ +#include #include #include #include From cf8adf3dbb8fb6b9842b86af36433da542b7a526 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Offringa?= Date: Sat, 11 Apr 2026 00:32:34 +0200 Subject: [PATCH 4/6] Undo adding unnecessary includes --- src/fit.cc | 2 -- src/functional.cc | 1 - src/functionals.cc | 3 --- src/images.cc | 1 - src/pyimages.cc | 1 - src/pymeas.cc | 1 - src/pymeasures.cc | 1 - src/pytable.cc | 1 - src/pytableindex.cc | 1 - src/pytableiter.cc | 1 - src/pytablerow.cc | 1 - src/quanta.cc | 1 - src/quantamath.cc | 1 - src/quantity.cc | 1 - src/quantvec.cc | 1 - 15 files changed, 18 deletions(-) diff --git a/src/fit.cc b/src/fit.cc index 0d7e9ff..70deb2c 100755 --- a/src/fit.cc +++ b/src/fit.cc @@ -28,8 +28,6 @@ #include #include -#include - #include #include diff --git a/src/functional.cc b/src/functional.cc index c695f2b..d6ca138 100755 --- a/src/functional.cc +++ b/src/functional.cc @@ -25,7 +25,6 @@ //# //# $Id: pyfunctional.cc,v 1.1 2006/09/29 06:42:55 mmarquar Exp $ -#include #include #include #include diff --git a/src/functionals.cc b/src/functionals.cc index 618a6be..32649ce 100755 --- a/src/functionals.cc +++ b/src/functionals.cc @@ -27,8 +27,6 @@ #include "functionals.h" -#include - #include #include @@ -36,7 +34,6 @@ #include #include - BOOST_PYTHON_MODULE(_functionals) { casacore::python::register_convert_excp(); diff --git a/src/images.cc b/src/images.cc index 0d3d668..25fa098 100755 --- a/src/images.cc +++ b/src/images.cc @@ -27,7 +27,6 @@ #include "pyimages.h" -#include #include #include #include diff --git a/src/pyimages.cc b/src/pyimages.cc index d2d0e15..bf92040 100755 --- a/src/pyimages.cc +++ b/src/pyimages.cc @@ -25,7 +25,6 @@ //# //# $Id$ -#include #include #include #include diff --git a/src/pymeas.cc b/src/pymeas.cc index 2ab9a33..1638aac 100755 --- a/src/pymeas.cc +++ b/src/pymeas.cc @@ -25,7 +25,6 @@ //# //# $Id: pymeas.cc,v 1.1 2006/09/28 05:55:00 mmarquar Exp $ -#include #include #include #include diff --git a/src/pymeasures.cc b/src/pymeasures.cc index 455d651..a38a8b4 100755 --- a/src/pymeasures.cc +++ b/src/pymeasures.cc @@ -25,7 +25,6 @@ //# //# $Id: pymeasures.cc,v 1.2 2006/10/17 03:37:27 gvandiep Exp $ -#include #include #include #include diff --git a/src/pytable.cc b/src/pytable.cc index ebed0df..2fec487 100755 --- a/src/pytable.cc +++ b/src/pytable.cc @@ -25,7 +25,6 @@ //# //# $Id: pytable.cc,v 1.5 2006/11/08 00:12:55 gvandiep Exp $ -#include #include #include diff --git a/src/pytableindex.cc b/src/pytableindex.cc index 22753e4..8774c19 100644 --- a/src/pytableindex.cc +++ b/src/pytableindex.cc @@ -25,7 +25,6 @@ //# //# $Id: pytableindex.cc,v 1.1 2006/09/19 06:44:14 gvandiep Exp $ -#include #include #include #include diff --git a/src/pytableiter.cc b/src/pytableiter.cc index 2a2ec0f..cfcec67 100644 --- a/src/pytableiter.cc +++ b/src/pytableiter.cc @@ -25,7 +25,6 @@ //# //# $Id: pytableiter.cc,v 1.1 2006/09/19 06:44:14 gvandiep Exp $ -#include #include #include #include diff --git a/src/pytablerow.cc b/src/pytablerow.cc index 4f1bd61..89e3d0f 100644 --- a/src/pytablerow.cc +++ b/src/pytablerow.cc @@ -25,7 +25,6 @@ //# //# $Id: pytablerow.cc,v 1.2 2006/10/25 22:14:54 gvandiep Exp $ -#include #include #include #include diff --git a/src/quanta.cc b/src/quanta.cc index 790ddd3..16c6913 100755 --- a/src/quanta.cc +++ b/src/quanta.cc @@ -27,7 +27,6 @@ #include "quanta.h" -#include #include #include #include diff --git a/src/quantamath.cc b/src/quantamath.cc index 5cdcf39..4ec074a 100644 --- a/src/quantamath.cc +++ b/src/quantamath.cc @@ -24,7 +24,6 @@ //# AUSTRALIA //# $Id:$ -#include #include #include #include diff --git a/src/quantity.cc b/src/quantity.cc index c144437..f421bcd 100644 --- a/src/quantity.cc +++ b/src/quantity.cc @@ -25,7 +25,6 @@ //# //# $Id:$ -#include #include #include #include diff --git a/src/quantvec.cc b/src/quantvec.cc index 74af874..852b2c7 100644 --- a/src/quantvec.cc +++ b/src/quantvec.cc @@ -25,7 +25,6 @@ //# //# $Id:$ -#include #include #include #include From 0b94bd0d034822e2348fa669ccbcb33b2d4dae63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Offringa?= Date: Sat, 11 Apr 2026 09:02:09 +0200 Subject: [PATCH 5/6] Apply Marcel's suggestion --- cmake/FindCasacore.cmake | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/cmake/FindCasacore.cmake b/cmake/FindCasacore.cmake index d9d8b43..f74dca5 100644 --- a/cmake/FindCasacore.cmake +++ b/cmake/FindCasacore.cmake @@ -113,13 +113,11 @@ endmacro(casacore_find_library _name) # Usage: casacore_find_package(name [REQUIRED]) # macro(casacore_find_package _name) - if("${ARGN}" MATCHES "^REQUIRED$" AND - Casacore_FIND_REQUIRED AND - NOT CASACORE_MAKE_REQUIRED_EXTERNALS_OPTIONAL) - find_package(${_name} REQUIRED) - else() - find_package(${_name}) + set(_arg_list ${ARGN}) + if(NOT Casacore_FIND_REQUIRED OR CASACORE_MAKE_REQUIRED_EXTERNALS_OPTIONAL) + list(REMOVE_ITEM _arg_list "REQUIRED") endif() + find_package(${_name} ${_arg_list}) if(${_name}_FOUND) list(APPEND CASACORE_INCLUDE_DIRS ${${_name}_INCLUDE_DIRS}) list(APPEND CASACORE_LIBRARIES ${${_name}_LIBRARIES}) @@ -211,9 +209,7 @@ else(NOT CASACORE_INCLUDE_DIR) foreach(_comp ${_find_components}) casacore_find_library(casa_${_comp}) if(${_comp} STREQUAL casa) - # Use 'find_package' directly for HDF5, since 'casacore_find_package' - # does not support the extra 'COMPONENTS CXX' arguments. - find_package(HDF5 COMPONENTS CXX) + casacore_find_package(HDF5 COMPONENTS CXX) if (HDF5_FOUND) list(APPEND CASACORE_INCLUDE_DIRS ${HDF5_INCLUDE_DIRS}) list(APPEND CASACORE_LIBRARIES ${HDF5_LIBRARIES}) From d8485ed5ffd1f642b7fe4600be7f14eb187c6e2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Offringa?= Date: Sat, 11 Apr 2026 09:05:54 +0200 Subject: [PATCH 6/6] Remove unnecessary var setting --- cmake/FindCasacore.cmake | 4 ---- 1 file changed, 4 deletions(-) diff --git a/cmake/FindCasacore.cmake b/cmake/FindCasacore.cmake index f74dca5..a75d88d 100644 --- a/cmake/FindCasacore.cmake +++ b/cmake/FindCasacore.cmake @@ -210,10 +210,6 @@ else(NOT CASACORE_INCLUDE_DIR) casacore_find_library(casa_${_comp}) if(${_comp} STREQUAL casa) casacore_find_package(HDF5 COMPONENTS CXX) - if (HDF5_FOUND) - list(APPEND CASACORE_INCLUDE_DIRS ${HDF5_INCLUDE_DIRS}) - list(APPEND CASACORE_LIBRARIES ${HDF5_LIBRARIES}) - endif(HDF5_FOUND) casacore_find_library(m) list(APPEND CASACORE_LIBRARIES ${CMAKE_DL_LIBS}) elseif(${_comp} STREQUAL coordinates)