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.
- {arcae-0.2.7 → arcae-0.2.9}/.github/workflows/ci.yml +6 -16
- {arcae-0.2.7 → arcae-0.2.9}/CMakeLists.txt +2 -2
- {arcae-0.2.7 → arcae-0.2.9}/HISTORY.rst +17 -1
- {arcae-0.2.7 → arcae-0.2.9}/PKG-INFO +36 -34
- {arcae-0.2.7 → arcae-0.2.9}/README.rst +2 -2
- {arcae-0.2.7/cmake_modules → arcae-0.2.9/cmake}/SetupVCPKG.cmake +1 -1
- {arcae-0.2.7 → arcae-0.2.9}/cpp/arcae/read_impl.cc +7 -5
- {arcae-0.2.7 → arcae-0.2.9}/cpp/arcae/result_shape.cc +31 -17
- {arcae-0.2.7 → arcae-0.2.9}/cpp/arcae/write_impl.cc +6 -5
- {arcae-0.2.7 → arcae-0.2.9}/pyproject.toml +3 -3
- {arcae-0.2.7 → arcae-0.2.9}/scripts/run_cibuildwheel.sh +1 -1
- {arcae-0.2.7 → arcae-0.2.9}/src/arcae/__init__.py +1 -1
- {arcae-0.2.7 → arcae-0.2.9}/tbump.toml +1 -1
- {arcae-0.2.7 → arcae-0.2.9}/vcpkg/overlay-ports/casacore/001-casacore-cmake.patch +44 -220
- {arcae-0.2.7 → arcae-0.2.9}/vcpkg/overlay-ports/casacore/portfile.cmake +3 -3
- {arcae-0.2.7 → arcae-0.2.9}/vcpkg/overlay-ports/cfitsio/portfile.cmake +2 -0
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- {arcae-0.2.7 → arcae-0.2.9}/.clang-format +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/.dockerignore +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/.github/dependabot.yml +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/.github/workflows/pre-commit.yml +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/.gitignore +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/.pre-commit-config.yaml +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/LICENSE +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/MANIFEST.in +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/ci/scripts/run_tests.sh +0 -0
- {arcae-0.2.7/cmake_modules → arcae-0.2.9/cmake}/FindPyArrow.cmake +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/cpp/CMakeLists.txt +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/cpp/arcae/configuration.cc +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/cpp/arcae/configuration.h +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/cpp/arcae/data_partition.cc +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/cpp/arcae/data_partition.h +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/cpp/arcae/descriptor.cc +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/cpp/arcae/descriptor.h +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/cpp/arcae/isolated_table_proxy.cc +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/cpp/arcae/isolated_table_proxy.h +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/cpp/arcae/new_table_proxy.cc +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/cpp/arcae/new_table_proxy.h +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/cpp/arcae/read_impl.h +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/cpp/arcae/result_shape.h +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/cpp/arcae/selection.h +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/cpp/arcae/service_locator.cc +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/cpp/arcae/service_locator.h +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/cpp/arcae/table_factory.cc +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/cpp/arcae/table_factory.h +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/cpp/arcae/table_utils.cc +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/cpp/arcae/table_utils.h +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/cpp/arcae/type_traits.cc +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/cpp/arcae/type_traits.h +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/cpp/arcae/write_impl.h +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/cpp/tests/CMakeLists.txt +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/cpp/tests/data_partition_test.cc +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/cpp/tests/dev_transpose_test.cc +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/cpp/tests/isolated_table_proxy_test.cc +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/cpp/tests/new_table_proxy_test.cc +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/cpp/tests/parallel_write_test.cc +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/cpp/tests/result_shape_test.cc +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/cpp/tests/selection_test.cc +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/cpp/tests/test_utils.cc +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/cpp/tests/test_utils.h +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/src/arcae/applications/__init__.py +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/src/arcae/applications/entrypoint.py +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/src/arcae/applications/ms_export.py +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/src/arcae/config.py +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/src/arcae/testing.py +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/src/arcae/tests/__init__.py +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/src/arcae/tests/conftest.py +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/src/arcae/tests/test_casting.py +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/src/arcae/tests/test_descriptor.py +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/src/arcae/tests/test_multithreaded_read.py +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/src/arcae/tests/test_partition_sort.py +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/src/arcae/tests/test_pytable.py +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/vcpkg/manifest/vcpkg.json +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/vcpkg/overlay-ports/casacore/vcpkg.json +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/vcpkg/overlay-ports/cfitsio/0001-fix-dependencies-and-export-cmake-targets.patch +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/vcpkg/overlay-ports/cfitsio/0002-add-Wno-error-implicit-function-declaration-to-cmake.patch +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/vcpkg/overlay-ports/cfitsio/0004-pkg-config.patch +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/vcpkg/overlay-ports/cfitsio/vcpkg.json +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/vcpkg/overlay-ports/wcslib/001-modern-configs.patch +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/vcpkg/overlay-ports/wcslib/portfile.cmake +0 -0
- {arcae-0.2.7 → arcae-0.2.9}/vcpkg/overlay-ports/wcslib/usage +0 -0
- {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-
|
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-
|
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-
|
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-
|
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-
|
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.
|
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
|
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}/
|
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
|
-
|
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
|
+
Metadata-Version: 2.2
|
2
2
|
Name: arcae
|
3
|
-
Version: 0.2.
|
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
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
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-
|
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
|
-
|
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;
|
151
|
-
pos[d] = 0;
|
152
|
-
|
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>
|
51
|
-
|
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,
|
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,
|
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
|
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
|
-
|
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;
|
131
|
-
pos[d] = 0;
|
132
|
-
|
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.
|
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
|
-
|
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.
|
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-
|
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.
|
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,25 +1,8 @@
|
|
1
1
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
2
|
-
index
|
2
|
+
index 62c340407..8f151f2a0 100644
|
3
3
|
--- a/CMakeLists.txt
|
4
4
|
+++ b/CMakeLists.txt
|
5
|
-
@@ -
|
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
|
-
@@ -
|
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
|
-
@@ -
|
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
|
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
|
-
@@ -
|
126
|
-
|
127
|
-
|
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
|
-
|
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
|
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
|
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
|
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
|
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
|
256
|
+
install(TARGETS fits2table)
|
432
257
|
diff --git a/images/CMakeLists.txt b/images/CMakeLists.txt
|
433
|
-
index
|
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
|
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
|
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
|
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
|
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
|
421
|
+
index 31cf24353..92a2f33ce 100644
|
597
422
|
--- a/tables/CMakeLists.txt
|
598
423
|
+++ b/tables/CMakeLists.txt
|
599
|
-
@@ -
|
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
|
-
+
|
608
|
-
+
|
609
|
-
+
|
610
|
-
+
|
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.
|
7
|
-
SHA512
|
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=
|
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
|
)
|
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
|
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
|