arcae 0.2.7__tar.gz → 0.2.9__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. {arcae-0.2.7 → arcae-0.2.9}/.github/workflows/ci.yml +6 -16
  2. {arcae-0.2.7 → arcae-0.2.9}/CMakeLists.txt +2 -2
  3. {arcae-0.2.7 → arcae-0.2.9}/HISTORY.rst +17 -1
  4. {arcae-0.2.7 → arcae-0.2.9}/PKG-INFO +36 -34
  5. {arcae-0.2.7 → arcae-0.2.9}/README.rst +2 -2
  6. {arcae-0.2.7/cmake_modules → arcae-0.2.9/cmake}/SetupVCPKG.cmake +1 -1
  7. {arcae-0.2.7 → arcae-0.2.9}/cpp/arcae/read_impl.cc +7 -5
  8. {arcae-0.2.7 → arcae-0.2.9}/cpp/arcae/result_shape.cc +31 -17
  9. {arcae-0.2.7 → arcae-0.2.9}/cpp/arcae/write_impl.cc +6 -5
  10. {arcae-0.2.7 → arcae-0.2.9}/pyproject.toml +3 -3
  11. {arcae-0.2.7 → arcae-0.2.9}/scripts/run_cibuildwheel.sh +1 -1
  12. {arcae-0.2.7 → arcae-0.2.9}/src/arcae/__init__.py +1 -1
  13. {arcae-0.2.7 → arcae-0.2.9}/tbump.toml +1 -1
  14. {arcae-0.2.7 → arcae-0.2.9}/vcpkg/overlay-ports/casacore/001-casacore-cmake.patch +44 -220
  15. {arcae-0.2.7 → arcae-0.2.9}/vcpkg/overlay-ports/casacore/portfile.cmake +3 -3
  16. {arcae-0.2.7 → arcae-0.2.9}/vcpkg/overlay-ports/cfitsio/portfile.cmake +2 -0
  17. arcae-0.2.7/vcpkg/overlay-triplets/arm64-linux-dynamic-cxx17-abi1-dbg.cmake → arcae-0.2.9/vcpkg/overlay-triplets/arm64-linux-dynamic-cxx20-abi1-dbg.cmake +1 -1
  18. arcae-0.2.7/vcpkg/overlay-triplets/arm64-linux-dynamic-cxx17-abi1-rel.cmake → arcae-0.2.9/vcpkg/overlay-triplets/arm64-linux-dynamic-cxx20-abi1-rel.cmake +1 -1
  19. arcae-0.2.7/vcpkg/overlay-triplets/arm64-osx-dynamic-cxx17-abi1-dbg.cmake → arcae-0.2.9/vcpkg/overlay-triplets/arm64-osx-dynamic-cxx20-abi1-dbg.cmake +1 -1
  20. arcae-0.2.7/vcpkg/overlay-triplets/arm64-osx-dynamic-cxx17-abi1-rel.cmake → arcae-0.2.9/vcpkg/overlay-triplets/arm64-osx-dynamic-cxx20-abi1-rel.cmake +1 -1
  21. arcae-0.2.7/vcpkg/overlay-triplets/universal2-osx-dynamic-cxx17-abi1-rel.cmake → arcae-0.2.9/vcpkg/overlay-triplets/universal2-osx-dynamic-cxx20-abi1-rel.cmake +1 -1
  22. arcae-0.2.7/vcpkg/overlay-triplets/x64-linux-dynamic-cxx17-abi1-dbg.cmake → arcae-0.2.9/vcpkg/overlay-triplets/x64-linux-dynamic-cxx20-abi1-dbg.cmake +1 -1
  23. arcae-0.2.7/vcpkg/overlay-triplets/x64-linux-dynamic-cxx17-abi1-rel.cmake → arcae-0.2.9/vcpkg/overlay-triplets/x64-linux-dynamic-cxx20-abi1-rel.cmake +1 -1
  24. arcae-0.2.7/vcpkg/overlay-triplets/x64-osx-dynamic-cxx17-abi1-dbg.cmake → arcae-0.2.9/vcpkg/overlay-triplets/x64-osx-dynamic-cxx20-abi1-dbg.cmake +1 -1
  25. arcae-0.2.7/vcpkg/overlay-triplets/x64-osx-dynamic-cxx17-abi1-rel.cmake → arcae-0.2.9/vcpkg/overlay-triplets/x64-osx-dynamic-cxx20-abi1-rel.cmake +1 -1
  26. {arcae-0.2.7 → arcae-0.2.9}/.clang-format +0 -0
  27. {arcae-0.2.7 → arcae-0.2.9}/.dockerignore +0 -0
  28. {arcae-0.2.7 → arcae-0.2.9}/.github/dependabot.yml +0 -0
  29. {arcae-0.2.7 → arcae-0.2.9}/.github/workflows/pre-commit.yml +0 -0
  30. {arcae-0.2.7 → arcae-0.2.9}/.gitignore +0 -0
  31. {arcae-0.2.7 → arcae-0.2.9}/.pre-commit-config.yaml +0 -0
  32. {arcae-0.2.7 → arcae-0.2.9}/LICENSE +0 -0
  33. {arcae-0.2.7 → arcae-0.2.9}/MANIFEST.in +0 -0
  34. {arcae-0.2.7 → arcae-0.2.9}/ci/scripts/run_tests.sh +0 -0
  35. {arcae-0.2.7/cmake_modules → arcae-0.2.9/cmake}/FindPyArrow.cmake +0 -0
  36. {arcae-0.2.7 → arcae-0.2.9}/cpp/CMakeLists.txt +0 -0
  37. {arcae-0.2.7 → arcae-0.2.9}/cpp/arcae/configuration.cc +0 -0
  38. {arcae-0.2.7 → arcae-0.2.9}/cpp/arcae/configuration.h +0 -0
  39. {arcae-0.2.7 → arcae-0.2.9}/cpp/arcae/data_partition.cc +0 -0
  40. {arcae-0.2.7 → arcae-0.2.9}/cpp/arcae/data_partition.h +0 -0
  41. {arcae-0.2.7 → arcae-0.2.9}/cpp/arcae/descriptor.cc +0 -0
  42. {arcae-0.2.7 → arcae-0.2.9}/cpp/arcae/descriptor.h +0 -0
  43. {arcae-0.2.7 → arcae-0.2.9}/cpp/arcae/isolated_table_proxy.cc +0 -0
  44. {arcae-0.2.7 → arcae-0.2.9}/cpp/arcae/isolated_table_proxy.h +0 -0
  45. {arcae-0.2.7 → arcae-0.2.9}/cpp/arcae/new_table_proxy.cc +0 -0
  46. {arcae-0.2.7 → arcae-0.2.9}/cpp/arcae/new_table_proxy.h +0 -0
  47. {arcae-0.2.7 → arcae-0.2.9}/cpp/arcae/read_impl.h +0 -0
  48. {arcae-0.2.7 → arcae-0.2.9}/cpp/arcae/result_shape.h +0 -0
  49. {arcae-0.2.7 → arcae-0.2.9}/cpp/arcae/selection.h +0 -0
  50. {arcae-0.2.7 → arcae-0.2.9}/cpp/arcae/service_locator.cc +0 -0
  51. {arcae-0.2.7 → arcae-0.2.9}/cpp/arcae/service_locator.h +0 -0
  52. {arcae-0.2.7 → arcae-0.2.9}/cpp/arcae/table_factory.cc +0 -0
  53. {arcae-0.2.7 → arcae-0.2.9}/cpp/arcae/table_factory.h +0 -0
  54. {arcae-0.2.7 → arcae-0.2.9}/cpp/arcae/table_utils.cc +0 -0
  55. {arcae-0.2.7 → arcae-0.2.9}/cpp/arcae/table_utils.h +0 -0
  56. {arcae-0.2.7 → arcae-0.2.9}/cpp/arcae/type_traits.cc +0 -0
  57. {arcae-0.2.7 → arcae-0.2.9}/cpp/arcae/type_traits.h +0 -0
  58. {arcae-0.2.7 → arcae-0.2.9}/cpp/arcae/write_impl.h +0 -0
  59. {arcae-0.2.7 → arcae-0.2.9}/cpp/tests/CMakeLists.txt +0 -0
  60. {arcae-0.2.7 → arcae-0.2.9}/cpp/tests/data_partition_test.cc +0 -0
  61. {arcae-0.2.7 → arcae-0.2.9}/cpp/tests/dev_transpose_test.cc +0 -0
  62. {arcae-0.2.7 → arcae-0.2.9}/cpp/tests/isolated_table_proxy_test.cc +0 -0
  63. {arcae-0.2.7 → arcae-0.2.9}/cpp/tests/new_table_proxy_test.cc +0 -0
  64. {arcae-0.2.7 → arcae-0.2.9}/cpp/tests/parallel_write_test.cc +0 -0
  65. {arcae-0.2.7 → arcae-0.2.9}/cpp/tests/result_shape_test.cc +0 -0
  66. {arcae-0.2.7 → arcae-0.2.9}/cpp/tests/selection_test.cc +0 -0
  67. {arcae-0.2.7 → arcae-0.2.9}/cpp/tests/test_utils.cc +0 -0
  68. {arcae-0.2.7 → arcae-0.2.9}/cpp/tests/test_utils.h +0 -0
  69. {arcae-0.2.7 → arcae-0.2.9}/src/arcae/applications/__init__.py +0 -0
  70. {arcae-0.2.7 → arcae-0.2.9}/src/arcae/applications/entrypoint.py +0 -0
  71. {arcae-0.2.7 → arcae-0.2.9}/src/arcae/applications/ms_export.py +0 -0
  72. {arcae-0.2.7 → arcae-0.2.9}/src/arcae/config.py +0 -0
  73. {arcae-0.2.7 → arcae-0.2.9}/src/arcae/testing.py +0 -0
  74. {arcae-0.2.7 → arcae-0.2.9}/src/arcae/tests/__init__.py +0 -0
  75. {arcae-0.2.7 → arcae-0.2.9}/src/arcae/tests/conftest.py +0 -0
  76. {arcae-0.2.7 → arcae-0.2.9}/src/arcae/tests/test_casting.py +0 -0
  77. {arcae-0.2.7 → arcae-0.2.9}/src/arcae/tests/test_descriptor.py +0 -0
  78. {arcae-0.2.7 → arcae-0.2.9}/src/arcae/tests/test_multithreaded_read.py +0 -0
  79. {arcae-0.2.7 → arcae-0.2.9}/src/arcae/tests/test_partition_sort.py +0 -0
  80. {arcae-0.2.7 → arcae-0.2.9}/src/arcae/tests/test_pytable.py +0 -0
  81. {arcae-0.2.7 → arcae-0.2.9}/vcpkg/manifest/vcpkg.json +0 -0
  82. {arcae-0.2.7 → arcae-0.2.9}/vcpkg/overlay-ports/casacore/vcpkg.json +0 -0
  83. {arcae-0.2.7 → arcae-0.2.9}/vcpkg/overlay-ports/cfitsio/0001-fix-dependencies-and-export-cmake-targets.patch +0 -0
  84. {arcae-0.2.7 → arcae-0.2.9}/vcpkg/overlay-ports/cfitsio/0002-add-Wno-error-implicit-function-declaration-to-cmake.patch +0 -0
  85. {arcae-0.2.7 → arcae-0.2.9}/vcpkg/overlay-ports/cfitsio/0004-pkg-config.patch +0 -0
  86. {arcae-0.2.7 → arcae-0.2.9}/vcpkg/overlay-ports/cfitsio/vcpkg.json +0 -0
  87. {arcae-0.2.7 → arcae-0.2.9}/vcpkg/overlay-ports/wcslib/001-modern-configs.patch +0 -0
  88. {arcae-0.2.7 → arcae-0.2.9}/vcpkg/overlay-ports/wcslib/portfile.cmake +0 -0
  89. {arcae-0.2.7 → arcae-0.2.9}/vcpkg/overlay-ports/wcslib/usage +0 -0
  90. {arcae-0.2.7 → arcae-0.2.9}/vcpkg/overlay-ports/wcslib/vcpkg.json +0 -0
@@ -46,7 +46,7 @@ jobs:
46
46
  runs-on: ubuntu-latest
47
47
 
48
48
  env:
49
- VCPKG_TARGET_TRIPLET: "x64-linux-dynamic-cxx17-abi1-rel"
49
+ VCPKG_TARGET_TRIPLET: "x64-linux-dynamic-cxx20-abi1-rel"
50
50
 
51
51
  steps:
52
52
  - name: Checkout source
@@ -57,9 +57,6 @@ jobs:
57
57
  with:
58
58
  python-version: ${{ env.HOST_PYTHON_VERSION }}
59
59
 
60
- - name: Expose GitHub Runtime
61
- uses: crazy-max/ghaction-github-runtime@v3
62
-
63
60
  - name: List directory structure
64
61
  run: tree
65
62
 
@@ -72,7 +69,6 @@ jobs:
72
69
 
73
70
  - name: Build C++ libraries and tests
74
71
  env:
75
- VCPKG_BINARY_SOURCES: clear;x-gha,readwrite
76
72
  VCPKG_TARGET_TRIPLET: ${{ env.VCPKG_TARGET_TRIPLET }}
77
73
  run: |
78
74
  cmake -S . -B build
@@ -110,24 +106,24 @@ jobs:
110
106
  - os: ubuntu-22.04
111
107
  os_short: linux
112
108
  arch: "x86_64"
113
- triplet: "x64-linux-dynamic-cxx17-abi1-rel"
109
+ triplet: "x64-linux-dynamic-cxx20-abi1-rel"
114
110
  extra_build: "manylinux_x86_64"
115
111
  - os: ubuntu-22.04-arm
116
112
  os_short: linux
117
113
  arch: "aarch64"
118
- triplet: "arm64-linux-dynamic-cxx17-abi1-rel"
114
+ triplet: "arm64-linux-dynamic-cxx20-abi1-rel"
119
115
  extra_build: "manylinux_aarch64"
120
116
  - os: macos-13
121
117
  os_short: macos
122
118
  arch: "x86_64"
123
119
  deployment_target: "13.0"
124
- triplet: "x64-osx-dynamic-cxx17-abi1-rel"
120
+ triplet: "x64-osx-dynamic-cxx20-abi1-rel"
125
121
  extra_build: "macosx_x86_64"
126
122
  - os: macos-14
127
123
  os_short: macos
128
124
  arch: "arm64"
129
125
  deployment_target: "14.0"
130
- triplet: "arm64-osx-dynamic-cxx17-abi1-rel"
126
+ triplet: "arm64-osx-dynamic-cxx20-abi1-rel"
131
127
  extra_build: "macosx_arm64"
132
128
  steps:
133
129
  - name: Set up Python ${{ env.HOST_PYTHON_VERSION }}
@@ -141,16 +137,10 @@ jobs:
141
137
  - name: Checkout source
142
138
  uses: actions/checkout@v4
143
139
 
144
- - name: Expose GitHub Runtime
145
- uses: crazy-max/ghaction-github-runtime@v3
146
-
147
140
  - name: Set Common Build Environment Variable
148
141
  env:
149
142
  COMMON_ENV: >
150
143
  CMAKE_ARGS=-DBUILD_TESTING=OFF
151
- ACTIONS_CACHE_URL=${{ env.ACTIONS_CACHE_URL }}
152
- ACTIONS_RUNTIME_TOKEN=${{ env.ACTIONS_RUNTIME_TOKEN }}
153
- VCPKG_BINARY_SOURCES="clear;x-gha,readwrite"
154
144
  VCPKG_FORCE_SYSTEM_BINARIES=1
155
145
  VCPKG_TARGET_TRIPLET=${{ matrix.triplet }}
156
146
  VCPKG_INSTALLED_DIR=${{ env.VCPKG_INSTALLED_DIR }}
@@ -192,7 +182,7 @@ jobs:
192
182
  --exclude libarrow_python.dylib \
193
183
  --exclude libarrow.1601.dylib \
194
184
  --ignore-missing-dependencies
195
- uses: pypa/cibuildwheel@v2.22.0
185
+ uses: pypa/cibuildwheel@v2.23.3
196
186
 
197
187
  - name: Upload wheel artifacts
198
188
  uses: actions/upload-artifact@v4
@@ -10,10 +10,10 @@ cmake_policy(SET CMP0042 NEW)
10
10
  cmake_host_system_information(RESULT ncores QUERY NUMBER_OF_PHYSICAL_CORES)
11
11
  enable_testing()
12
12
 
13
- set(CMAKE_CXX_STANDARD 17)
13
+ set(CMAKE_CXX_STANDARD 20)
14
14
  set(CMAKE_CXX_STANDARD_REQUIRED On)
15
15
  set(CMAKE_CXX_EXTENSIONS Off)
16
- list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake_modules)
16
+ list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
17
17
 
18
18
  if(UNIX)
19
19
  set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
@@ -2,7 +2,23 @@
2
2
  History
3
3
  =======
4
4
 
5
- X.Y.Z (DD-MM-YYYY)
5
+ 0.2.9 (10-06-2025)
6
+ ------------------
7
+ * Avoid clipping selections against the result array shape for ignored rows for read operations (:pr:`154`)
8
+ * Add cfitsio mirrors (:pr:`153`)
9
+ * Disable use of github actions cache by vcpkg (:pr:`152`)
10
+ * Upgrade to C++20 (:pr:`150`)
11
+ * Upgrade to cibuildwheel 2.23.3 (:pr:`149`)
12
+ * Slight loop optimisation (:pr:`147`, :pr:`148`)
13
+ * Upgrade to vcpkg 2025.04.09 (:pr:`146`)
14
+
15
+ 0.2.8 (24-03-2025)
16
+ ------------------
17
+ * Upgrade to casacore 3.7.1 (:pr:`144`)
18
+ * Use cmake.version instead of deprecated cmake.mininum_version (:pr:`142`)
19
+ * Fix requires_python setting in pyproject.toml (:pr:`142`)
20
+
21
+ 0.2.7 (28-01-2025)
6
22
  ------------------
7
23
  * Link subtables against the Measurement Set during creation (:pr:`140`)
8
24
  * Prevent print segmentation faults caused by the use of PrimitiveArrays (:pr:`139`)
@@ -1,53 +1,55 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: arcae
3
- Version: 0.2.7
3
+ Version: 0.2.9
4
4
  Summary: Arrow bindings for casacore
5
5
  Author-Email: Simon Perkins <simon.perkins@gmail.com>
6
6
  License: BSD 3-Clause License
7
-
8
- Copyright (c) 2023, Rhodes University Centre for Radio Astronomy Techniques & Technologies (RATT)
9
-
10
- Redistribution and use in source and binary forms, with or without
11
- modification, are permitted provided that the following conditions are met:
12
-
13
- 1. Redistributions of source code must retain the above copyright notice, this
14
- list of conditions and the following disclaimer.
15
-
16
- 2. Redistributions in binary form must reproduce the above copyright notice,
17
- this list of conditions and the following disclaimer in the documentation
18
- and/or other materials provided with the distribution.
19
-
20
- 3. Neither the name of the copyright holder nor the names of its
21
- contributors may be used to endorse or promote products derived from
22
- this software without specific prior written permission.
23
-
24
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
25
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
26
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
27
- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
28
- FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
29
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
30
- SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
31
- CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
32
- OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
33
- OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
7
+
8
+ Copyright (c) 2023, Rhodes University Centre for Radio Astronomy Techniques & Technologies (RATT)
9
+
10
+ Redistribution and use in source and binary forms, with or without
11
+ modification, are permitted provided that the following conditions are met:
12
+
13
+ 1. Redistributions of source code must retain the above copyright notice, this
14
+ list of conditions and the following disclaimer.
15
+
16
+ 2. Redistributions in binary form must reproduce the above copyright notice,
17
+ this list of conditions and the following disclaimer in the documentation
18
+ and/or other materials provided with the distribution.
19
+
20
+ 3. Neither the name of the copyright holder nor the names of its
21
+ contributors may be used to endorse or promote products derived from
22
+ this software without specific prior written permission.
23
+
24
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
25
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
26
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
27
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
28
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
29
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
30
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
31
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
32
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
33
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34
+
34
35
  Classifier: License :: OSI Approved :: BSD License
35
36
  Classifier: Programming Language :: Python :: 3
36
37
  Project-URL: Repository, https://github.com/ratt-ru/arcae
38
+ Requires-Python: >=3.10
37
39
  Requires-Dist: appdirs
38
40
  Requires-Dist: numpy>=2.0.0
39
41
  Requires-Dist: pyarrow==16.1.0
42
+ Provides-Extra: applications
40
43
  Requires-Dist: click; extra == "applications"
41
44
  Requires-Dist: rich; extra == "applications"
45
+ Provides-Extra: dev
42
46
  Requires-Dist: pre-commit; extra == "dev"
43
47
  Requires-Dist: tbump; extra == "dev"
48
+ Provides-Extra: test
44
49
  Requires-Dist: duckdb; extra == "test"
45
50
  Requires-Dist: pytest>=7.0.0; extra == "test"
46
51
  Requires-Dist: python-casacore>=3.5.0; sys_platform == "linux" and platform_machine == "x86_64" and python_version < "3.14" and extra == "test"
47
52
  Requires-Dist: requests; extra == "test"
48
- Provides-Extra: applications
49
- Provides-Extra: dev
50
- Provides-Extra: test
51
53
  Description-Content-Type: text/x-rst
52
54
 
53
55
  C++ and Python Arrow Bindings for casacore
@@ -143,9 +145,9 @@ with added support for some `NumPy Advanced Indexing <numpy_advanced_indexing_>`
143
145
 
144
146
  casa_table = arcae.table("/path/to/measurementset.ms", readonly=False)
145
147
  # Get rows 10 and 2, and channels 16 to 32, and all correlations
146
- data = casa_table.getcol("DATA", index=([10, 2], slice(16, 32), None)
148
+ data = casa_table.getcol("DATA", index=([10, 2], slice(16, 32), None))
147
149
  # Write some modified data back
148
- casa_table.putcol("DATA", data + 1*1j, index=([10, 2], slice(16, 32), None)
150
+ casa_table.putcol("DATA", data + 1*1j, index=([10, 2], slice(16, 32), None))
149
151
 
150
152
  See the test cases for further use cases.
151
153
 
@@ -91,9 +91,9 @@ with added support for some `NumPy Advanced Indexing <numpy_advanced_indexing_>`
91
91
 
92
92
  casa_table = arcae.table("/path/to/measurementset.ms", readonly=False)
93
93
  # Get rows 10 and 2, and channels 16 to 32, and all correlations
94
- data = casa_table.getcol("DATA", index=([10, 2], slice(16, 32), None)
94
+ data = casa_table.getcol("DATA", index=([10, 2], slice(16, 32), None))
95
95
  # Write some modified data back
96
- casa_table.putcol("DATA", data + 1*1j, index=([10, 2], slice(16, 32), None)
96
+ casa_table.putcol("DATA", data + 1*1j, index=([10, 2], slice(16, 32), None))
97
97
 
98
98
  See the test cases for further use cases.
99
99
 
@@ -56,7 +56,7 @@ if(DEFINED ENV{VCPKG_TARGET_TRIPLET})
56
56
  set(VCPKG_TARGET_TRIPLET $ENV{VCPKG_TARGET_TRIPLET})
57
57
  else()
58
58
  if(UNIX)
59
- set(VCPKG_TARGET_TRIPLET "x64-linux-dynamic-cxx17-abi1-rel")
59
+ set(VCPKG_TARGET_TRIPLET "x64-linux-dynamic-cxx20-abi1-rel")
60
60
  else()
61
61
  message(FATAL_ERROR "Only unix currently supported")
62
62
  endif()
@@ -126,7 +126,6 @@ struct ReadCallback {
126
126
  return read_fut.Then(
127
127
  [chunk = chunk, buffer = buffer](const CasaArray<CT>& data) mutable -> bool {
128
128
  std::ptrdiff_t ndim = chunk.nDim();
129
- std::ptrdiff_t last_dim = ndim - 1;
130
129
  auto spans = chunk.DimensionSpans();
131
130
  auto min_mem = chunk.MinMemIndex();
132
131
  auto chunk_strides = chunk.ChunkStrides();
@@ -136,7 +135,8 @@ struct ReadCallback {
136
135
  auto pos = chunk.ScratchPositions();
137
136
  for (std::size_t i = 0; i < pos.size(); ++i) pos[i] = 0;
138
137
 
139
- while (true) { // Iterate over the spans in memory, copying data
138
+ // Iterate over the spans in memory, copying data
139
+ for (auto done = false; !done;) {
140
140
  std::size_t i = 0, o = 0;
141
141
  for (std::ptrdiff_t d = 0; d < ndim; ++d) {
142
142
  i += pos[d] * chunk_strides[d];
@@ -147,11 +147,13 @@ struct ReadCallback {
147
147
  out_ptr[o] = std::move(in_ptr[i]);
148
148
  for (std::ptrdiff_t d = 0; d < ndim; ++d) { // Iterate in FORTRAN order
149
149
  if (++pos[d] < spans[d].mem.size())
150
- break; // Iteration doesn't reach dim end
151
- pos[d] = 0; // OtherwBasic iteration worksise reset, next dim
152
- if (d == last_dim) return true; // The last dim is reset, we're done
150
+ break; // Iteration doesn't reach dim end
151
+ pos[d] = 0; // Otherwise reset, next dim
152
+ done = d + 1 == ndim; // We're done if the last dimension is reset
153
153
  }
154
154
  }
155
+
156
+ return true;
155
157
  },
156
158
  {}, CallbackOptions{ShouldSchedule::Always, GetCpuThreadPool()});
157
159
  }
@@ -47,18 +47,8 @@ namespace {
47
47
  // If, the supplied row is negative (-1) and a result_shape is supplied
48
48
  // the shape is derived from this source, otherwise the CASA shape is
49
49
  // used as the reference value
50
- Result<IPosition> GetRowShape(const TableColumn& column,
51
- const std::optional<IPosition>& result_shape, IndexType r) {
52
- if (r < 0) {
53
- if (!result_shape.has_value()) {
54
- return Status::IndexError(
55
- "Negative selection indices may only be present "
56
- "when a fixed shape result array is provided");
57
- }
58
- const auto& shape = result_shape.value();
59
- // Return secondary dimensions
60
- return shape.getFirst(shape.size() - 1);
61
- } else if (r >= IndexType(column.nrow())) {
50
+ Result<IPosition> GetTableRowShape(const TableColumn& column, IndexType r) {
51
+ if (r < 0 || r >= IndexType(column.nrow())) {
62
52
  return Status::IndexError("Row ", r, " in column ", column.columnDesc().name(),
63
53
  " is out of bounds");
64
54
  } else if (column.isDefined(r)) {
@@ -94,21 +84,45 @@ Result<RowShapes> MakeRowData(const TableColumn& column, const Selection& select
94
84
  RowShapes shapes;
95
85
  const auto& column_desc = column.columnDesc();
96
86
 
87
+ // Lambda that gets the shape from the column's row
88
+ // Clipping against the selection is performed
89
+ auto GetClippedColumnShape = [&](auto r) -> Result<IPosition> {
90
+ ARROW_ASSIGN_OR_RAISE(auto shape, GetTableRowShape(column, r));
91
+ ARROW_RETURN_NOT_OK(ClipShape(column_desc, shape, selection));
92
+ return shape;
93
+ };
94
+
95
+ // Lambda handling the more complex span case.
96
+ auto GetSpanShape = [&](auto r) -> Result<IPosition> {
97
+ // Standard case
98
+ if (r >= 0) return GetClippedColumnShape(r);
99
+
100
+ // Negative row indices mean that the shape should be derived
101
+ // from the result array, rather than the column row shape
102
+ // It's not necessary to clip by selection indices in this case
103
+ if (result_shape) {
104
+ const auto& shape = result_shape.value();
105
+ return shape.getFirst(shape.size() - 1);
106
+ }
107
+
108
+ return Status::IndexError(
109
+ "Negative selection indices may only be used "
110
+ "in conjunction with a fixed shape result array");
111
+ };
112
+
97
113
  // Get the row selection if provided
98
114
  if (selection.HasRowSpan()) {
99
115
  auto span = selection.GetRowSpan();
100
116
  shapes.reserve(span.size());
101
117
  for (std::size_t r = 0; r < span.size(); ++r) {
102
- ARROW_ASSIGN_OR_RAISE(auto shape, GetRowShape(column, result_shape, span[r]));
103
- ARROW_RETURN_NOT_OK(ClipShape(column_desc, shape, selection));
118
+ ARROW_ASSIGN_OR_RAISE(auto shape, GetSpanShape(span[r]));
104
119
  shapes.emplace_back(std::move(shape));
105
120
  }
106
121
  // otherwise, the entire column
107
122
  } else {
108
123
  shapes.reserve(column.nrow());
109
124
  for (std::size_t r = 0; r < column.nrow(); ++r) {
110
- ARROW_ASSIGN_OR_RAISE(auto shape, GetRowShape(column, result_shape, r));
111
- ARROW_RETURN_NOT_OK(ClipShape(column_desc, shape, selection));
125
+ ARROW_ASSIGN_OR_RAISE(auto shape, GetClippedColumnShape(r));
112
126
  shapes.emplace_back(std::move(shape));
113
127
  }
114
128
  }
@@ -495,7 +509,7 @@ Result<ResultShapeData> ResultShapeData::MakeRead(
495
509
  return Status::NotImplemented("Column ", column_name, " has varying dimensions");
496
510
  }
497
511
 
498
- // Even though the column varys
512
+ // Even though the column varies
499
513
  // the resultant shape after selection is fixed
500
514
  // There's no need to clip the shape as this
501
515
  // will have been done in MakeRowData
@@ -101,7 +101,6 @@ struct WriteCallback {
101
101
  auto transpose_fut = arrow::DeferNotOk(GetCpuThreadPool()->Submit(
102
102
  [chunk = chunk, buffer = buffer]() mutable -> CasaArray<CT> {
103
103
  std::ptrdiff_t ndim = chunk.nDim();
104
- std::ptrdiff_t last_dim = ndim - 1;
105
104
  auto spans = chunk.DimensionSpans();
106
105
  auto min_mem = chunk.MinMemIndex();
107
106
  auto chunk_strides = chunk.ChunkStrides();
@@ -116,7 +115,7 @@ struct WriteCallback {
116
115
  for (std::size_t i = 0; i < pos.size(); ++i) pos[i] = 0;
117
116
 
118
117
  // Iterate over the spans in memory, copying data
119
- while (true) {
118
+ for (auto done = false; !done;) {
120
119
  std::size_t i = 0, o = 0;
121
120
  for (std::ptrdiff_t d = 0; d < ndim; ++d) {
122
121
  i += (spans[d].mem[pos[d]] - min_mem[d]) * buffer_strides[d];
@@ -127,11 +126,13 @@ struct WriteCallback {
127
126
  out_ptr[o] = std::move(in_ptr[i]);
128
127
  for (std::ptrdiff_t d = 0; d < ndim; ++d) { // Iterate in FORTRAN order
129
128
  if (++pos[d] < spans[d].mem.size())
130
- break; // Iteration doesn't reach dim end
131
- pos[d] = 0; // OtherwBasic iteration worksise reset, next dim
132
- if (d == last_dim) return array; // The last dim is reset, we're done
129
+ break; // Iteration doesn't reach dim end
130
+ pos[d] = 0; // Otherwise reset, next dim
131
+ done = d + 1 == ndim; // We're done if the last dimension is reset
133
132
  }
134
133
  }
134
+
135
+ return array;
135
136
  }));
136
137
 
137
138
  return itp->Then(transpose_fut,
@@ -1,12 +1,12 @@
1
1
  [project]
2
2
  name = "arcae"
3
- version = "0.2.7"
3
+ version = "0.2.9"
4
4
  authors = [
5
5
  {name = "Simon Perkins", email = "simon.perkins@gmail.com"}
6
6
  ]
7
7
  description = "Arrow bindings for casacore"
8
8
  readme = {file = "README.rst", content-type = "text/x-rst"}
9
- requires_python = ">= 3.10"
9
+ requires-python = ">= 3.10"
10
10
  license = {file = "LICENSE"}
11
11
  classifiers = [
12
12
  "License :: OSI Approved :: BSD License",
@@ -53,6 +53,6 @@ find = {}
53
53
 
54
54
  [tool.scikit-build]
55
55
  # build-dir = "/tmp/arcae"
56
- cmake.minimum-version = "3.26.1"
56
+ cmake.version = ">=3.26.1"
57
57
  cmake.build-type = "RelWithDebInfo"
58
58
  install.strip = false
@@ -46,7 +46,7 @@ export CIBW_BUILD=$CPYTHON_VERSION-$MANYLINUX_PLATFORM
46
46
  export CIBW_BUILD_FRONTEND=build
47
47
  export CIBW_BEFORE_ALL_LINUX="yum install -y zip flex bison gcc-gfortran"
48
48
  export CIBW_MANYLINUX_X86_64_IMAGE="quay.io/pypa/manylinux_2_28_x86_64"
49
- export VCPKG_TARGET_TRIPLET=x64-linux-dynamic-cxx17-abi1-rel
49
+ export VCPKG_TARGET_TRIPLET=x64-linux-dynamic-cxx20-abi1-rel
50
50
  export CIBW_ENVIRONMENT_LINUX="\
51
51
  CMAKE_ARGS=-DBUILD_TESTING=OFF \
52
52
  VCPKG_DEFAULT_BINARY_CACHE=/host$VCPKG_HOST_BINARY_CACHE \
@@ -7,7 +7,7 @@ from typing import Union, TYPE_CHECKING
7
7
  if TYPE_CHECKING:
8
8
  from arcae.lib.arrow_tables import Table
9
9
 
10
- __version__ = "0.2.7"
10
+ __version__ = "0.2.9"
11
11
 
12
12
  PYTHON_CASACORE_FOUND = "casacore" in sys.modules
13
13
  COEXIST_WITH_PYTHON_CASACORE = int(os.environ.get("ARCAE_WITH_CASACORE", 0)) != 0
@@ -1,5 +1,5 @@
1
1
  [version]
2
- current = "0.2.7"
2
+ current = "0.2.9"
3
3
  regex = '''
4
4
  (?P<major>\d+)
5
5
  \.
@@ -1,25 +1,8 @@
1
1
  diff --git a/CMakeLists.txt b/CMakeLists.txt
2
- index 41def1e5f..6577e743b 100644
2
+ index 62c340407..8f151f2a0 100644
3
3
  --- a/CMakeLists.txt
4
4
  +++ b/CMakeLists.txt
5
- @@ -198,9 +198,13 @@ if (NOT CMAKE_BUILD_TYPE)
6
- endif(_cmpvar STREQUAL "dbg" OR _cmpvar STREQUAL "debug")
7
- endif (NOT CMAKE_BUILD_TYPE)
8
-
9
- -# Require a C++11 compatible compiler
10
- -set(CMAKE_CXX_STANDARD 11)
11
- -set(CMAKE_CXX_STANDARD_REQUIRED ON)
12
- +# Detect if the compiler supports C++17 if we want to use it.
13
- +check_cxx_compiler_flag(-std=c++17 HAS_CXX17)
14
- +if (HAS_CXX17)
15
- + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
16
- +else()
17
- + message(FATAL_ERROR "Casacore build requires a c++17 compatible compiler")
18
- +endif (HAS_CXX17)
19
-
20
- # Ensure clang is not complaining about unused arguments.
21
- if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
22
- @@ -345,11 +349,6 @@ endif (_usebison STREQUAL YES)
5
+ @@ -354,11 +354,6 @@ endif (_usebison STREQUAL YES)
23
6
  if (_uselapack STREQUAL YES)
24
7
  find_package (BLAS REQUIRED)
25
8
  find_package (LAPACK REQUIRED)
@@ -31,7 +14,7 @@ index 41def1e5f..6577e743b 100644
31
14
  endif (_uselapack STREQUAL YES)
32
15
  if (_usefits STREQUAL YES)
33
16
  find_package (CFITSIO 3.030 REQUIRED) # Should pad to three decimal digits
34
- @@ -391,11 +390,15 @@ if (HDF5_FOUND)
17
+ @@ -400,11 +395,15 @@ if (HDF5_FOUND)
35
18
  add_definitions(-DHAVE_HDF5)
36
19
  endif (HDF5_FOUND)
37
20
 
@@ -52,7 +35,7 @@ index 41def1e5f..6577e743b 100644
52
35
 
53
36
  if (DL_FOUND)
54
37
  add_definitions(-DHAVE_DL)
55
- @@ -548,8 +551,41 @@ endforeach (module)
38
+ @@ -557,8 +556,41 @@ endforeach (module)
56
39
 
57
40
  # Install pkg-config support file
58
41
  CONFIGURE_FILE("casacore.pc.in" "casacore.pc" @ONLY)
@@ -108,7 +91,7 @@ index 000000000..8c9ad12aa
108
91
  +
109
92
  +check_required_components(@PROJECT_NAME@)
110
93
  diff --git a/casa/CMakeLists.txt b/casa/CMakeLists.txt
111
- index f9447d9c6..80a17be99 100644
94
+ index 950752c6a..d4c35cb69 100644
112
95
  --- a/casa/CMakeLists.txt
113
96
  +++ b/casa/CMakeLists.txt
114
97
  @@ -15,7 +15,9 @@ set (
@@ -122,29 +105,27 @@ index f9447d9c6..80a17be99 100644
122
105
  foreach (src ${parser_inputs})
123
106
  if (BISON_VERSION VERSION_LESS 3.0)
124
107
  BISON_TARGET (${src} Json/${src}.yy ${CMAKE_CURRENT_BINARY_DIR}/${src}.ycc COMPILE_FLAGS "-y -p ${src}")
125
- @@ -290,18 +292,13 @@ endif (READLINE_FOUND)
126
-
127
- find_library(libm m)
108
+ @@ -291,16 +293,18 @@ find_library(libm m)
109
+
110
+ target_link_libraries (
111
+ casa_casa
112
+ +PUBLIC
113
+ ${de_libraries}
114
+ ${libm}
115
+ dl
116
+ ${CASACORE_ARCH_LIBS}
117
+ +PRIVATE
118
+ +ZLIB::ZLIB
119
+ )
128
120
 
129
- -target_link_libraries (
130
- -casa_casa
131
- -${de_libraries}
132
- -${libm}
133
- -dl
134
- -${CASACORE_ARCH_LIBS}
135
- -)
136
- -
137
121
  -add_subdirectory (apps)
138
- +target_link_libraries (casa_casa
139
- + PUBLIC ${de_libraries} ${libm} dl ${CASACORE_ARCH_LIBS}
140
- + PRIVATE ZLIB::ZLIB)
141
-
122
+ -
142
123
  install (
143
124
  TARGETS casa_casa
144
125
  +EXPORT casacore
145
- RUNTIME DESTINATION bin
146
126
  LIBRARY DESTINATION lib${LIB_SUFFIX}
147
127
  ARCHIVE DESTINATION lib${LIB_SUFFIX}
128
+ LIBRARY PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
148
129
  diff --git a/casa/Exceptions/Error.h b/casa/Exceptions/Error.h
149
130
  index 12229f902..a15e5080b 100644
150
131
  --- a/casa/Exceptions/Error.h
@@ -213,164 +194,8 @@ index 886f3bebb..66d117674 100644
213
194
  # Keep a list of variable names that we need to pass on to
214
195
  # find_package_handle_standard_args().
215
196
  set(_check_list)
216
- diff --git a/cmake/FindGSL.cmake b/cmake/FindGSL.cmake
217
- deleted file mode 100644
218
- index 4f4d31bf5..000000000
219
- --- a/cmake/FindGSL.cmake
220
- +++ /dev/null
221
- @@ -1,150 +0,0 @@
222
- -# Script found on KDE-edu list
223
- -# Permission obtained from Jan Woetzel to use under a BSD-style license
224
- -# (left to OpenCog to determine the specific BSD license, but this file should
225
- -# be included in CMake proper soon...).
226
- -#
227
- -# Look for the header file
228
- -# Try to find gnu scientific library GSL
229
- -# See
230
- -# http://www.gnu.org/software/gsl/ and
231
- -# http://gnuwin32.sourceforge.net/packages/gsl.htm
232
- -#
233
- -# Once run this will define:
234
- -#
235
- -# GSL_FOUND = system has GSL lib
236
- -#
237
- -# GSL_LIBRARIES = full path to the libraries
238
- -# on Unix/Linux with additional linker flags from "gsl-config --libs"
239
- -#
240
- -# CMAKE_GSL_CXX_FLAGS = Unix compiler flags for GSL, essentially "`gsl-config --cxxflags`"
241
- -#
242
- -# GSL_INCLUDE_DIR = where to find headers
243
- -#
244
- -# GSL_LINK_DIRECTORIES = link directories, useful for rpath on Unix
245
- -# GSL_EXE_LINKER_FLAGS = rpath on Unix
246
- -#
247
- -# Felix Woelk 07/2004
248
- -# Jan Woetzel
249
- -#
250
- -# www.mip.informatik.uni-kiel.de
251
- -# --------------------------------
252
- -
253
- -IF(WIN32)
254
- - # JW tested with gsl-1.8, Windows XP, MSVS 7.1
255
- - SET(GSL_POSSIBLE_ROOT_DIRS
256
- - ${GSL_ROOT_DIR}
257
- - $ENV{GSL_ROOT_DIR}
258
- - ${GSL_DIR}
259
- - ${GSL_HOME}
260
- - $ENV{GSL_DIR}
261
- - $ENV{GSL_HOME}
262
- - $ENV{EXTRA}
263
- - )
264
- - FIND_PATH(GSL_INCLUDE_DIR
265
- - NAMES gsl/gsl_cdf.h gsl/gsl_randist.h
266
- - PATHS ${GSL_POSSIBLE_ROOT_DIRS}
267
- - PATH_SUFFIXES include
268
- - DOC "GSL header include dir"
269
- - )
270
- -
271
- - FIND_LIBRARY(GSL_GSL_LIBRARY
272
- - NAMES gsl libgsl
273
- - PATHS ${GSL_POSSIBLE_ROOT_DIRS}
274
- - PATH_SUFFIXES lib
275
- - DOC "GSL library dir" )
276
- -
277
- - FIND_LIBRARY(GSL_GSLCBLAS_LIBRARY
278
- - NAMES gslcblas libgslcblas
279
- - PATHS ${GSL_POSSIBLE_ROOT_DIRS}
280
- - PATH_SUFFIXES lib
281
- - DOC "GSL cblas library dir" )
282
- -
283
- - SET(GSL_LIBRARIES ${GSL_GSL_LIBRARY})
284
- -
285
- - #MESSAGE("DBG\n"
286
- - # "GSL_GSL_LIBRARY=${GSL_GSL_LIBRARY}\n"
287
- - # "GSL_GSLCBLAS_LIBRARY=${GSL_GSLCBLAS_LIBRARY}\n"
288
- - # "GSL_LIBRARIES=${GSL_LIBRARIES}")
289
- -
290
- -ELSE(WIN32)
291
- -
292
- - IF(UNIX)
293
- - SET(GSL_CONFIG_PREFER_PATH
294
- - "$ENV{GSL_DIR}/bin"
295
- - "$ENV{GSL_DIR}"
296
- - "$ENV{GSL_HOME}/bin"
297
- - "$ENV{GSL_HOME}"
298
- - CACHE STRING "preferred path to GSL (gsl-config)")
299
- - FIND_PROGRAM(GSL_CONFIG gsl-config
300
- - ${GSL_CONFIG_PREFER_PATH}
301
- - /usr/bin/
302
- - )
303
- - # MESSAGE("DBG GSL_CONFIG ${GSL_CONFIG}")
304
- -
305
- - IF (GSL_CONFIG)
306
- - # set CXXFLAGS to be fed into CXX_FLAGS by the user:
307
- - SET(GSL_CXX_FLAGS "`${GSL_CONFIG} --cflags`")
308
- -
309
- - # set INCLUDE_DIRS to prefix+include
310
- - EXEC_PROGRAM(${GSL_CONFIG}
311
- - ARGS --prefix
312
- - OUTPUT_VARIABLE GSL_PREFIX)
313
- - SET(GSL_INCLUDE_DIR ${GSL_PREFIX}/include CACHE STRING INTERNAL)
314
- -
315
- - # set link libraries and link flags
316
- - EXEC_PROGRAM(${GSL_CONFIG}
317
- - ARGS --libs
318
- - OUTPUT_VARIABLE GSL_LIBRARIES)
319
- - #SET(GSL_LIBRARIES "`${GSL_CONFIG} --libs`")
320
- -
321
- - # extract link dirs for rpath
322
- - EXEC_PROGRAM(${GSL_CONFIG}
323
- - ARGS --libs
324
- - OUTPUT_VARIABLE GSL_CONFIG_LIBS )
325
- -
326
- - # split off the link dirs (for rpath)
327
- - # use regular expression to match wildcard equivalent "-L*<endchar>"
328
- - # with <endchar> is a space or a semicolon
329
- - STRING(REGEX MATCHALL "[-][L]([^ ;])+"
330
- - GSL_LINK_DIRECTORIES_WITH_PREFIX
331
- - "${GSL_CONFIG_LIBS}" )
332
- - # MESSAGE("DBG GSL_LINK_DIRECTORIES_WITH_PREFIX=${GSL_LINK_DIRECTORIES_WITH_PREFIX}")
333
- -
334
- - # remove prefix -L because we need the pure directory for LINK_DIRECTORIES
335
- -
336
- - IF (GSL_LINK_DIRECTORIES_WITH_PREFIX)
337
- - STRING(REGEX REPLACE "[-][L]" "" GSL_LINK_DIRECTORIES ${GSL_LINK_DIRECTORIES_WITH_PREFIX} )
338
- - ENDIF (GSL_LINK_DIRECTORIES_WITH_PREFIX)
339
- - SET(GSL_EXE_LINKER_FLAGS "-Wl,-rpath,${GSL_LINK_DIRECTORIES}" CACHE STRING INTERNAL)
340
- - # MESSAGE("DBG GSL_LINK_DIRECTORIES=${GSL_LINK_DIRECTORIES}")
341
- - # MESSAGE("DBG GSL_EXE_LINKER_FLAGS=${GSL_EXE_LINKER_FLAGS}")
342
- -
343
- - # ADD_DEFINITIONS("-DHAVE_GSL")
344
- - # SET(GSL_DEFINITIONS "-DHAVE_GSL")
345
- - MARK_AS_ADVANCED(
346
- - GSL_CXX_FLAGS
347
- - GSL_INCLUDE_DIR
348
- - GSL_LIBRARIES
349
- - GSL_LINK_DIRECTORIES
350
- - GSL_DEFINITIONS
351
- - )
352
- - #MESSAGE(STATUS "Using GSL from ${GSL_PREFIX}")
353
- -
354
- - ELSE(GSL_CONFIG)
355
- - MESSAGE("FindGSL.cmake: gsl-config not found. Please set it manually. GSL_CONFIG=${GSL_CONFIG}")
356
- - ENDIF(GSL_CONFIG)
357
- -
358
- - ENDIF(UNIX)
359
- -ENDIF(WIN32)
360
- -
361
- -
362
- -IF(GSL_LIBRARIES)
363
- - IF(GSL_INCLUDE_DIR OR GSL_CXX_FLAGS)
364
- - SET(GSL_FOUND 1)
365
- - ENDIF(GSL_INCLUDE_DIR OR GSL_CXX_FLAGS)
366
- -ELSE(GSL_LIBRARIES)
367
- - IF (GSL_FIND_REQUIRED)
368
- - message(SEND_ERROR "FindGSL.cmake: Unable to find the required GSL libraries")
369
- - ENDIF(GSL_FIND_REQUIRED)
370
- -ENDIF(GSL_LIBRARIES)
371
- -
372
197
  diff --git a/coordinates/CMakeLists.txt b/coordinates/CMakeLists.txt
373
- index 7b1e24104..73faee98c 100644
198
+ index 783ac1d45..5871327d3 100644
374
199
  --- a/coordinates/CMakeLists.txt
375
200
  +++ b/coordinates/CMakeLists.txt
376
201
  @@ -31,6 +31,7 @@ init_pch_support(casa_coordinates ${top_level_headers})
@@ -378,11 +203,11 @@ index 7b1e24104..73faee98c 100644
378
203
 
379
204
  install (TARGETS casa_coordinates
380
205
  +EXPORT casacore
381
- RUNTIME DESTINATION bin
382
206
  LIBRARY DESTINATION lib${LIB_SUFFIX}
383
207
  ARCHIVE DESTINATION lib${LIB_SUFFIX}
208
+ LIBRARY PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
384
209
  diff --git a/derivedmscal/CMakeLists.txt b/derivedmscal/CMakeLists.txt
385
- index 701bf31bc..c7e220167 100644
210
+ index ff8da2a3e..232e5b93f 100644
386
211
  --- a/derivedmscal/CMakeLists.txt
387
212
  +++ b/derivedmscal/CMakeLists.txt
388
213
  @@ -19,6 +19,7 @@ init_pch_support(casa_derivedmscal ${top_level_headers})
@@ -390,11 +215,11 @@ index 701bf31bc..c7e220167 100644
390
215
 
391
216
  install (TARGETS casa_derivedmscal
392
217
  +EXPORT casacore
393
- RUNTIME DESTINATION bin
394
218
  LIBRARY DESTINATION lib${LIB_SUFFIX}
395
219
  ARCHIVE DESTINATION lib${LIB_SUFFIX}
220
+ LIBRARY PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
396
221
  diff --git a/fits/CMakeLists.txt b/fits/CMakeLists.txt
397
- index 0cb33bb02..7ca993c3e 100644
222
+ index 65b888eec..b70f532a3 100644
398
223
  --- a/fits/CMakeLists.txt
399
224
  +++ b/fits/CMakeLists.txt
400
225
  @@ -30,7 +30,11 @@ FITS.h
@@ -415,11 +240,11 @@ index 0cb33bb02..7ca993c3e 100644
415
240
 
416
241
  install (TARGETS casa_fits
417
242
  +EXPORT casacore
418
- RUNTIME DESTINATION bin
419
243
  LIBRARY DESTINATION lib${LIB_SUFFIX}
420
244
  ARCHIVE DESTINATION lib${LIB_SUFFIX}
245
+ LIBRARY PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
421
246
  diff --git a/fits/apps/CMakeLists.txt b/fits/apps/CMakeLists.txt
422
- index e5a36d696..0d72c4c57 100644
247
+ index b2e422000..45dde2e82 100644
423
248
  --- a/fits/apps/CMakeLists.txt
424
249
  +++ b/fits/apps/CMakeLists.txt
425
250
  @@ -1,4 +1,5 @@
@@ -428,9 +253,9 @@ index e5a36d696..0d72c4c57 100644
428
253
  add_pch_support(fits2table)
429
254
  -target_link_libraries (fits2table casa_fits ${CASACORE_ARCH_LIBS})
430
255
  +target_link_libraries (fits2table PUBLIC casa_fits ${CASACORE_ARCH_LIBS} PRIVATE ZLIB::ZLIB)
431
- install(TARGETS fits2table DESTINATION bin)
256
+ install(TARGETS fits2table)
432
257
  diff --git a/images/CMakeLists.txt b/images/CMakeLists.txt
433
- index abb9b2d9b..cfe29e2b5 100644
258
+ index 20f5d0ac4..45258eb68 100644
434
259
  --- a/images/CMakeLists.txt
435
260
  +++ b/images/CMakeLists.txt
436
261
  @@ -82,6 +82,7 @@ add_subdirectory (apps)
@@ -438,11 +263,11 @@ index abb9b2d9b..cfe29e2b5 100644
438
263
  install (
439
264
  TARGETS casa_images
440
265
  +EXPORT casacore
441
- RUNTIME DESTINATION bin
442
266
  LIBRARY DESTINATION lib${LIB_SUFFIX}
443
267
  ARCHIVE DESTINATION lib${LIB_SUFFIX}
268
+ LIBRARY PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
444
269
  diff --git a/lattices/CMakeLists.txt b/lattices/CMakeLists.txt
445
- index 1a28e3be2..989ccc653 100644
270
+ index dccca16d5..29465d734 100644
446
271
  --- a/lattices/CMakeLists.txt
447
272
  +++ b/lattices/CMakeLists.txt
448
273
  @@ -77,6 +77,7 @@ ${CASACORE_ARCH_LIBS}
@@ -450,9 +275,9 @@ index 1a28e3be2..989ccc653 100644
450
275
 
451
276
  install (TARGETS casa_lattices
452
277
  +EXPORT casacore
453
- RUNTIME DESTINATION bin
454
278
  LIBRARY DESTINATION lib${LIB_SUFFIX}
455
279
  ARCHIVE DESTINATION lib${LIB_SUFFIX}
280
+ LIBRARY PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
456
281
  diff --git a/meas/CMakeLists.txt b/meas/CMakeLists.txt
457
282
  index a2c9d5639..d3b5b6591 100644
458
283
  --- a/meas/CMakeLists.txt
@@ -466,7 +291,7 @@ index a2c9d5639..d3b5b6591 100644
466
291
  LIBRARY DESTINATION lib${LIB_SUFFIX}
467
292
  ARCHIVE DESTINATION lib${LIB_SUFFIX}
468
293
  diff --git a/measures/CMakeLists.txt b/measures/CMakeLists.txt
469
- index dd941eadd..2a807d0b8 100644
294
+ index 6b2e42b85..ec522eeb4 100644
470
295
  --- a/measures/CMakeLists.txt
471
296
  +++ b/measures/CMakeLists.txt
472
297
  @@ -82,6 +82,7 @@ add_subdirectory (apps)
@@ -474,9 +299,9 @@ index dd941eadd..2a807d0b8 100644
474
299
  install (
475
300
  TARGETS casa_measures
476
301
  +EXPORT casacore
477
- RUNTIME DESTINATION bin
478
302
  LIBRARY DESTINATION lib${LIB_SUFFIX}
479
303
  ARCHIVE DESTINATION lib${LIB_SUFFIX}
304
+ LIBRARY PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
480
305
  diff --git a/mirlib/CMakeLists.txt b/mirlib/CMakeLists.txt
481
306
  index 0703a5d1d..46f26840f 100644
482
307
  --- a/mirlib/CMakeLists.txt
@@ -545,7 +370,7 @@ index 96411e7d9..e145da3bb 100644
545
370
  LIBRARY DESTINATION lib${LIB_SUFFIX}
546
371
  ARCHIVE DESTINATION lib${LIB_SUFFIX}
547
372
  diff --git a/python3/CMakeLists-cmake3.14.txt b/python3/CMakeLists-cmake3.14.txt
548
- index 26d5ca533..35b458e1b 100644
373
+ index 921c4c30c..e5746d119 100644
549
374
  --- a/python3/CMakeLists-cmake3.14.txt
550
375
  +++ b/python3/CMakeLists-cmake3.14.txt
551
376
  @@ -54,6 +54,7 @@ add_library (casa_python3
@@ -569,7 +394,7 @@ index 8a42cc905..5fe0999ca 100644
569
394
  LIBRARY DESTINATION lib${LIB_SUFFIX}
570
395
  ARCHIVE DESTINATION lib${LIB_SUFFIX}
571
396
  diff --git a/scimath/CMakeLists.txt b/scimath/CMakeLists.txt
572
- index a198ad9b7..91dc236d0 100644
397
+ index b7f2900f1..999981164 100644
573
398
  --- a/scimath/CMakeLists.txt
574
399
  +++ b/scimath/CMakeLists.txt
575
400
  @@ -62,6 +62,7 @@ else (FFTW3_FOUND)
@@ -577,9 +402,9 @@ index a198ad9b7..91dc236d0 100644
577
402
 
578
403
  install (TARGETS casa_scimath
579
404
  +EXPORT casacore
580
- RUNTIME DESTINATION bin
581
405
  LIBRARY DESTINATION lib${LIB_SUFFIX}
582
406
  ARCHIVE DESTINATION lib${LIB_SUFFIX}
407
+ LIBRARY PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_WRITE GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
583
408
  diff --git a/scimath_f/CMakeLists.txt b/scimath_f/CMakeLists.txt
584
409
  index 69bd4d757..8e6aa8d8a 100644
585
410
  --- a/scimath_f/CMakeLists.txt
@@ -593,30 +418,29 @@ index 69bd4d757..8e6aa8d8a 100644
593
418
  ARCHIVE DESTINATION lib${LIB_SUFFIX}
594
419
  LIBRARY PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
595
420
  diff --git a/tables/CMakeLists.txt b/tables/CMakeLists.txt
596
- index 0983b83ff..1e0f04812 100644
421
+ index 31cf24353..92a2f33ce 100644
597
422
  --- a/tables/CMakeLists.txt
598
423
  +++ b/tables/CMakeLists.txt
599
- @@ -237,12 +237,18 @@ TaQL.h
600
- )
424
+ @@ -241,11 +241,18 @@ TaQL.h
601
425
 
602
426
  init_pch_support(casa_tables ${top_level_headers})
603
- -
427
+
604
428
  -target_link_libraries (casa_tables casa_casa ${CASACORE_ARCH_LIBS} ${DYSCOSTMAN_LIBRARIES} ${CASACORE_ADIOS_LIBRARY} ${CASACORE_MPI_LIBRARY})
605
429
  +target_link_libraries (casa_tables casa_casa ${CASACORE_ARCH_LIBS} ${DYSCOSTMAN_LIBRARIES})
606
430
  +if(MPI_FOUND)
607
- + target_link_libraries(casa_tables ${MPI_C_LIBRARIES})
608
- + if(ADIOS2_FOUND)
609
- + target_link_libraries(casa_tables adios2::adios2)
610
- + endif(ADIOS2_FOUND)
431
+ + target_link_libraries(casa_tables ${CASACORE_MPI_LIBRARY})
432
+ + if(ADIOS2_FOUND)
433
+ + target_link_libraries(casa_tables adios2::adios2)
434
+ + endif(ADIOS2_FOUND)
611
435
  +endif(MPI_FOUND)
612
436
 
613
437
  add_subdirectory (apps)
614
438
 
615
439
  install (TARGETS casa_tables
616
440
  +EXPORT casacore
617
- RUNTIME DESTINATION bin
618
441
  LIBRARY DESTINATION lib${LIB_SUFFIX}
619
442
  ARCHIVE DESTINATION lib${LIB_SUFFIX}
443
+ LIBRARY PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
620
444
  diff --git a/tables/Tables/PlainTable.cc b/tables/Tables/PlainTable.cc
621
445
  index 2a41c4f62..fb088a3c5 100644
622
446
  --- a/tables/Tables/PlainTable.cc
@@ -3,8 +3,8 @@ include(vcpkg_find_fortran)
3
3
  vcpkg_from_github(
4
4
  OUT_SOURCE_PATH src
5
5
  REPO "casacore/casacore"
6
- REF "v3.6.1"
7
- SHA512 2189d67650ffc9c4b6ca9d32e7ca90e2556e518c79f4df36d1fc75a0e4ad551e3b214226a8d13879a7e061a2b7bc53eb4ef5266f656c33d057d4b25ec8958a3e
6
+ REF "v3.7.1"
7
+ SHA512 990262f5f64fb84a4af71add715972cf7aa24c09a7acd903a3a8526f482ccba84da1c54dc9d2bf151bfdb824be811a39cdc740852da86c584373183d48a00822
8
8
  PATCHES
9
9
  001-casacore-cmake.patch
10
10
  )
@@ -54,7 +54,7 @@ vcpkg_cmake_configure(
54
54
  -DBUILD_PYTHON=OFF
55
55
  -DBUILD_TESTING=OFF
56
56
  -DUSE_PCH=OFF
57
- -DCMAKE_CXX_STANDARD=17
57
+ -DCMAKE_CXX_STANDARD=20
58
58
  ${fortran_args}
59
59
  )
60
60
 
@@ -1,5 +1,7 @@
1
1
  vcpkg_download_distfile(ARCHIVE
2
2
  URLS "https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/cfitsio-4.1.0.tar.gz"
3
+ "https://www.mirrorservice.org/sites/distfiles.macports.org/cfitsio/cfitsio-4.1.0.tar.gz"
4
+ "https://distfiles.macports.org/cfitsio/cfitsio-4.1.0.tar.gz"
3
5
  FILENAME "cfitsio-4.1.0.tar.gz"
4
6
  SHA512 bbbe10e890e74a30a9806dd2bbf711b3b1f15502b210b222d2d57cc083495c3b66b44927e4680f989045187fb7075f7187e2805ddcb4753ce53c68c3442cc813
5
7
  )
@@ -3,7 +3,7 @@ set(VCPKG_CRT_LINKAGE dynamic)
3
3
  set(VCPKG_LIBRARY_LINKAGE dynamic)
4
4
  set(VCPKG_BUILD_TYPE release)
5
5
 
6
- set(CMAKE_CXX_STANDARD 17)
6
+ set(CMAKE_CXX_STANDARD 20)
7
7
  set(CMAKE_CXX_STANDARD_REQUIRED On)
8
8
  set(CMAKE_CXX_EXTENSIONS Off)
9
9
 
@@ -3,7 +3,7 @@ set(VCPKG_CRT_LINKAGE dynamic)
3
3
  set(VCPKG_LIBRARY_LINKAGE dynamic)
4
4
  set(VCPKG_BUILD_TYPE release)
5
5
 
6
- set(CMAKE_CXX_STANDARD 17)
6
+ set(CMAKE_CXX_STANDARD 20)
7
7
  set(CMAKE_CXX_STANDARD_REQUIRED On)
8
8
  set(CMAKE_CXX_EXTENSIONS Off)
9
9
 
@@ -3,7 +3,7 @@ set(VCPKG_CRT_LINKAGE dynamic)
3
3
  set(VCPKG_LIBRARY_LINKAGE dynamic)
4
4
  set(VCPKG_BUILD_TYPE release)
5
5
 
6
- set(CMAKE_CXX_STANDARD 17)
6
+ set(CMAKE_CXX_STANDARD 20)
7
7
  set(CMAKE_CXX_STANDARD_REQUIRED On)
8
8
  set(CMAKE_CXX_EXTENSIONS Off)
9
9
 
@@ -3,7 +3,7 @@ set(VCPKG_CRT_LINKAGE dynamic)
3
3
  set(VCPKG_LIBRARY_LINKAGE dynamic)
4
4
  set(VCPKG_BUILD_TYPE release)
5
5
 
6
- set(CMAKE_CXX_STANDARD 17)
6
+ set(CMAKE_CXX_STANDARD 20)
7
7
  set(CMAKE_CXX_STANDARD_REQUIRED On)
8
8
  set(CMAKE_CXX_EXTENSIONS Off)
9
9
 
@@ -2,7 +2,7 @@ set(VCPKG_CRT_LINKAGE dynamic)
2
2
  set(VCPKG_LIBRARY_LINKAGE dynamic)
3
3
  set(VCPKG_BUILD_TYPE release)
4
4
 
5
- set(CMAKE_CXX_STANDARD 17)
5
+ set(CMAKE_CXX_STANDARD 20)
6
6
  set(CMAKE_CXX_STANDARD_REQUIRED On)
7
7
  set(CMAKE_CXX_EXTENSIONS Off)
8
8
 
@@ -3,7 +3,7 @@ set(VCPKG_CRT_LINKAGE dynamic)
3
3
  set(VCPKG_LIBRARY_LINKAGE dynamic)
4
4
  set(VCPKG_BUILD_TYPE release)
5
5
 
6
- set(CMAKE_CXX_STANDARD 17)
6
+ set(CMAKE_CXX_STANDARD 20)
7
7
  set(CMAKE_CXX_STANDARD_REQUIRED On)
8
8
  set(CMAKE_CXX_EXTENSIONS Off)
9
9
 
@@ -3,7 +3,7 @@ set(VCPKG_CRT_LINKAGE dynamic)
3
3
  set(VCPKG_LIBRARY_LINKAGE dynamic)
4
4
  set(VCPKG_BUILD_TYPE release)
5
5
 
6
- set(CMAKE_CXX_STANDARD 17)
6
+ set(CMAKE_CXX_STANDARD 20)
7
7
  set(CMAKE_CXX_STANDARD_REQUIRED On)
8
8
  set(CMAKE_CXX_EXTENSIONS Off)
9
9
 
@@ -3,7 +3,7 @@ set(VCPKG_CRT_LINKAGE dynamic)
3
3
  set(VCPKG_LIBRARY_LINKAGE dynamic)
4
4
  set(VCPKG_BUILD_TYPE release)
5
5
 
6
- set(CMAKE_CXX_STANDARD 17)
6
+ set(CMAKE_CXX_STANDARD 20)
7
7
  set(CMAKE_CXX_STANDARD_REQUIRED On)
8
8
  set(CMAKE_CXX_EXTENSIONS Off)
9
9
 
@@ -3,7 +3,7 @@ set(VCPKG_CRT_LINKAGE dynamic)
3
3
  set(VCPKG_LIBRARY_LINKAGE dynamic)
4
4
  set(VCPKG_BUILD_TYPE release)
5
5
 
6
- set(CMAKE_CXX_STANDARD 17)
6
+ set(CMAKE_CXX_STANDARD 20)
7
7
  set(CMAKE_CXX_STANDARD_REQUIRED On)
8
8
  set(CMAKE_CXX_EXTENSIONS Off)
9
9
 
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes