spt3g 0.4__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.
- spt3g-0.4/.git_archival.txt +3 -0
- spt3g-0.4/.github/workflows/cmake.yml +108 -0
- spt3g-0.4/.github/workflows/wheels.yml +131 -0
- spt3g-0.4/CMakeLists.txt +252 -0
- spt3g-0.4/LICENSE +24 -0
- spt3g-0.4/PKG-INFO +259 -0
- spt3g-0.4/README.rst +218 -0
- spt3g-0.4/calibration/CMakeLists.txt +11 -0
- spt3g-0.4/calibration/README.rst +13 -0
- spt3g-0.4/calibration/include/calibration/BoloProperties.h +55 -0
- spt3g-0.4/calibration/include/calibration/PointingProperties.h +32 -0
- spt3g-0.4/calibration/python/__init__.py +5 -0
- spt3g-0.4/calibration/python/bolopropertiesutils.py +372 -0
- spt3g-0.4/calibration/python/build_cal_frames.py +371 -0
- spt3g-0.4/calibration/src/BoloProperties.cxx +103 -0
- spt3g-0.4/calibration/src/PointingProperties.cxx +44 -0
- spt3g-0.4/calibration/src/python.cxx +16 -0
- spt3g-0.4/calibration/tests/band_format.py +30 -0
- spt3g-0.4/calibration/tests/can_modify_bolo_props_in_map.py +16 -0
- spt3g-0.4/calibration/tests/imports.py +7 -0
- spt3g-0.4/cmake/FindFFTW.cmake +26 -0
- spt3g-0.4/cmake/FindFLAC.cmake +71 -0
- spt3g-0.4/cmake/FindGSL.cmake +19 -0
- spt3g-0.4/cmake/FindHealpix.cmake +27 -0
- spt3g-0.4/cmake/FindNetCDF.cmake +131 -0
- spt3g-0.4/cmake/FindOgg.cmake +61 -0
- spt3g-0.4/cmake/G3Test.h +314 -0
- spt3g-0.4/cmake/Spt3gConfig.cmake.in +77 -0
- spt3g-0.4/cmake/Spt3gIncludes.cmake +131 -0
- spt3g-0.4/cmake/Spt3gVersion.cmake +49 -0
- spt3g-0.4/cmake/clean_version.sh +3 -0
- spt3g-0.4/cmake/cmake_uninstall.cmake.in +47 -0
- spt3g-0.4/cmake/copy_build_dir.sh +5 -0
- spt3g-0.4/cmake/env-shell.sh.in +37 -0
- spt3g-0.4/cmake/gen_per_module_docs.cmake +22 -0
- spt3g-0.4/cmake/getvers.sh +138 -0
- spt3g-0.4/cmake/package/__init__.py +2 -0
- spt3g-0.4/cmake/package/version.py +18 -0
- spt3g-0.4/cmake/smudge_version.sh +4 -0
- spt3g-0.4/core/CMakeLists.txt +105 -0
- spt3g-0.4/core/README.rst +6 -0
- spt3g-0.4/core/bin/gen-analysis-doc +50 -0
- spt3g-0.4/core/bin/spt3g-dump +16 -0
- spt3g-0.4/core/bin/spt3g-inspect +11 -0
- spt3g-0.4/core/bin/spt3g-verify +17 -0
- spt3g-0.4/core/include/cereal/README +6 -0
- spt3g-0.4/core/include/cereal/access.hpp +351 -0
- spt3g-0.4/core/include/cereal/archives/adapters.hpp +163 -0
- spt3g-0.4/core/include/cereal/archives/binary.hpp +169 -0
- spt3g-0.4/core/include/cereal/archives/json.hpp +1019 -0
- spt3g-0.4/core/include/cereal/archives/portable_binary.hpp +334 -0
- spt3g-0.4/core/include/cereal/archives/xml.hpp +956 -0
- spt3g-0.4/core/include/cereal/cereal.hpp +1089 -0
- spt3g-0.4/core/include/cereal/details/helpers.hpp +422 -0
- spt3g-0.4/core/include/cereal/details/polymorphic_impl.hpp +796 -0
- spt3g-0.4/core/include/cereal/details/polymorphic_impl_fwd.hpp +65 -0
- spt3g-0.4/core/include/cereal/details/static_object.hpp +127 -0
- spt3g-0.4/core/include/cereal/details/traits.hpp +1411 -0
- spt3g-0.4/core/include/cereal/details/util.hpp +84 -0
- spt3g-0.4/core/include/cereal/external/base64.hpp +134 -0
- spt3g-0.4/core/include/cereal/external/rapidjson/allocators.h +284 -0
- spt3g-0.4/core/include/cereal/external/rapidjson/cursorstreamwrapper.h +78 -0
- spt3g-0.4/core/include/cereal/external/rapidjson/document.h +2652 -0
- spt3g-0.4/core/include/cereal/external/rapidjson/encodedstream.h +299 -0
- spt3g-0.4/core/include/cereal/external/rapidjson/encodings.h +716 -0
- spt3g-0.4/core/include/cereal/external/rapidjson/error/en.h +74 -0
- spt3g-0.4/core/include/cereal/external/rapidjson/error/error.h +161 -0
- spt3g-0.4/core/include/cereal/external/rapidjson/filereadstream.h +99 -0
- spt3g-0.4/core/include/cereal/external/rapidjson/filewritestream.h +104 -0
- spt3g-0.4/core/include/cereal/external/rapidjson/fwd.h +151 -0
- spt3g-0.4/core/include/cereal/external/rapidjson/internal/biginteger.h +290 -0
- spt3g-0.4/core/include/cereal/external/rapidjson/internal/diyfp.h +271 -0
- spt3g-0.4/core/include/cereal/external/rapidjson/internal/dtoa.h +245 -0
- spt3g-0.4/core/include/cereal/external/rapidjson/internal/ieee754.h +78 -0
- spt3g-0.4/core/include/cereal/external/rapidjson/internal/itoa.h +308 -0
- spt3g-0.4/core/include/cereal/external/rapidjson/internal/meta.h +186 -0
- spt3g-0.4/core/include/cereal/external/rapidjson/internal/pow10.h +55 -0
- spt3g-0.4/core/include/cereal/external/rapidjson/internal/regex.h +740 -0
- spt3g-0.4/core/include/cereal/external/rapidjson/internal/stack.h +232 -0
- spt3g-0.4/core/include/cereal/external/rapidjson/internal/strfunc.h +69 -0
- spt3g-0.4/core/include/cereal/external/rapidjson/internal/strtod.h +290 -0
- spt3g-0.4/core/include/cereal/external/rapidjson/internal/swap.h +46 -0
- spt3g-0.4/core/include/cereal/external/rapidjson/istreamwrapper.h +128 -0
- spt3g-0.4/core/include/cereal/external/rapidjson/memorybuffer.h +70 -0
- spt3g-0.4/core/include/cereal/external/rapidjson/memorystream.h +71 -0
- spt3g-0.4/core/include/cereal/external/rapidjson/msinttypes/inttypes.h +316 -0
- spt3g-0.4/core/include/cereal/external/rapidjson/msinttypes/stdint.h +300 -0
- spt3g-0.4/core/include/cereal/external/rapidjson/ostreamwrapper.h +81 -0
- spt3g-0.4/core/include/cereal/external/rapidjson/pointer.h +1414 -0
- spt3g-0.4/core/include/cereal/external/rapidjson/prettywriter.h +277 -0
- spt3g-0.4/core/include/cereal/external/rapidjson/rapidjson.h +656 -0
- spt3g-0.4/core/include/cereal/external/rapidjson/reader.h +2230 -0
- spt3g-0.4/core/include/cereal/external/rapidjson/schema.h +2497 -0
- spt3g-0.4/core/include/cereal/external/rapidjson/stream.h +223 -0
- spt3g-0.4/core/include/cereal/external/rapidjson/stringbuffer.h +121 -0
- spt3g-0.4/core/include/cereal/external/rapidjson/writer.h +709 -0
- spt3g-0.4/core/include/cereal/external/rapidxml/license.txt +52 -0
- spt3g-0.4/core/include/cereal/external/rapidxml/manual.html +406 -0
- spt3g-0.4/core/include/cereal/external/rapidxml/rapidxml.hpp +2624 -0
- spt3g-0.4/core/include/cereal/external/rapidxml/rapidxml_iterators.hpp +175 -0
- spt3g-0.4/core/include/cereal/external/rapidxml/rapidxml_print.hpp +428 -0
- spt3g-0.4/core/include/cereal/external/rapidxml/rapidxml_utils.hpp +123 -0
- spt3g-0.4/core/include/cereal/macros.hpp +154 -0
- spt3g-0.4/core/include/cereal/specialize.hpp +139 -0
- spt3g-0.4/core/include/cereal/types/array.hpp +79 -0
- spt3g-0.4/core/include/cereal/types/atomic.hpp +55 -0
- spt3g-0.4/core/include/cereal/types/base_class.hpp +203 -0
- spt3g-0.4/core/include/cereal/types/bitset.hpp +176 -0
- spt3g-0.4/core/include/cereal/types/boost_variant.hpp +164 -0
- spt3g-0.4/core/include/cereal/types/chrono.hpp +72 -0
- spt3g-0.4/core/include/cereal/types/common.hpp +129 -0
- spt3g-0.4/core/include/cereal/types/complex.hpp +56 -0
- spt3g-0.4/core/include/cereal/types/concepts/pair_associative_container.hpp +73 -0
- spt3g-0.4/core/include/cereal/types/deque.hpp +62 -0
- spt3g-0.4/core/include/cereal/types/forward_list.hpp +68 -0
- spt3g-0.4/core/include/cereal/types/functional.hpp +43 -0
- spt3g-0.4/core/include/cereal/types/list.hpp +62 -0
- spt3g-0.4/core/include/cereal/types/map.hpp +36 -0
- spt3g-0.4/core/include/cereal/types/memory.hpp +425 -0
- spt3g-0.4/core/include/cereal/types/optional.hpp +66 -0
- spt3g-0.4/core/include/cereal/types/polymorphic.hpp +483 -0
- spt3g-0.4/core/include/cereal/types/queue.hpp +132 -0
- spt3g-0.4/core/include/cereal/types/set.hpp +103 -0
- spt3g-0.4/core/include/cereal/types/stack.hpp +76 -0
- spt3g-0.4/core/include/cereal/types/string.hpp +61 -0
- spt3g-0.4/core/include/cereal/types/tuple.hpp +123 -0
- spt3g-0.4/core/include/cereal/types/unordered_map.hpp +36 -0
- spt3g-0.4/core/include/cereal/types/unordered_set.hpp +99 -0
- spt3g-0.4/core/include/cereal/types/utility.hpp +47 -0
- spt3g-0.4/core/include/cereal/types/valarray.hpp +89 -0
- spt3g-0.4/core/include/cereal/types/variant.hpp +109 -0
- spt3g-0.4/core/include/cereal/types/vector.hpp +112 -0
- spt3g-0.4/core/include/cereal/version.hpp +52 -0
- spt3g-0.4/core/include/core/ApplePthreadBarrier.h +27 -0
- spt3g-0.4/core/include/core/G3.h +18 -0
- spt3g-0.4/core/include/core/G3Constants.h +29 -0
- spt3g-0.4/core/include/core/G3Data.h +66 -0
- spt3g-0.4/core/include/core/G3EventBuilder.h +56 -0
- spt3g-0.4/core/include/core/G3Frame.h +163 -0
- spt3g-0.4/core/include/core/G3Logging.h +178 -0
- spt3g-0.4/core/include/core/G3Map.h +103 -0
- spt3g-0.4/core/include/core/G3Module.h +30 -0
- spt3g-0.4/core/include/core/G3NetworkSender.h +118 -0
- spt3g-0.4/core/include/core/G3Pipeline.h +66 -0
- spt3g-0.4/core/include/core/G3PipelineInfo.h +80 -0
- spt3g-0.4/core/include/core/G3Quat.h +113 -0
- spt3g-0.4/core/include/core/G3Reader.h +38 -0
- spt3g-0.4/core/include/core/G3SimpleLoggers.h +57 -0
- spt3g-0.4/core/include/core/G3TimeStamp.h +54 -0
- spt3g-0.4/core/include/core/G3Timesample.h +51 -0
- spt3g-0.4/core/include/core/G3Timestream.h +281 -0
- spt3g-0.4/core/include/core/G3TriggeredBuilder.h +89 -0
- spt3g-0.4/core/include/core/G3Units.h +174 -0
- spt3g-0.4/core/include/core/G3Vector.h +104 -0
- spt3g-0.4/core/include/core/G3Writer.h +29 -0
- spt3g-0.4/core/include/core/SetThreadName.h +27 -0
- spt3g-0.4/core/include/core/container_conversions.h +316 -0
- spt3g-0.4/core/include/core/container_pybindings.h +48 -0
- spt3g-0.4/core/include/core/dataio.h +15 -0
- spt3g-0.4/core/include/core/pybindings.h +218 -0
- spt3g-0.4/core/include/core/serialization.h +81 -0
- spt3g-0.4/core/include/core/std_map_indexing_suite.hpp +552 -0
- spt3g-0.4/core/python/__init__.py +31 -0
- spt3g-0.4/core/python/dataextensions.py +16 -0
- spt3g-0.4/core/python/docparser.py +285 -0
- spt3g-0.4/core/python/fileio.py +59 -0
- spt3g-0.4/core/python/frameextensions.py +81 -0
- spt3g-0.4/core/python/funcconstruct.py +15 -0
- spt3g-0.4/core/python/g3decorators.py +109 -0
- spt3g-0.4/core/python/g3logging.py +53 -0
- spt3g-0.4/core/python/modconstruct.py +255 -0
- spt3g-0.4/core/python/multiprocess.py +134 -0
- spt3g-0.4/core/python/parse_pipeline_graph.py +98 -0
- spt3g-0.4/core/python/timestreamextensions.py +316 -0
- spt3g-0.4/core/python/util.py +187 -0
- spt3g-0.4/core/src/ApplePthreadBarrier.cxx +50 -0
- spt3g-0.4/core/src/G3Data.cxx +95 -0
- spt3g-0.4/core/src/G3EventBuilder.cxx +106 -0
- spt3g-0.4/core/src/G3Frame.cxx +634 -0
- spt3g-0.4/core/src/G3InfiniteSource.cxx +22 -0
- spt3g-0.4/core/src/G3Logging.cxx +179 -0
- spt3g-0.4/core/src/G3Map.cxx +273 -0
- spt3g-0.4/core/src/G3MultiFileWriter.cxx +238 -0
- spt3g-0.4/core/src/G3NetworkSender.cxx +407 -0
- spt3g-0.4/core/src/G3Pipeline.cxx +482 -0
- spt3g-0.4/core/src/G3PipelineInfo.cxx +291 -0
- spt3g-0.4/core/src/G3PrintfLogger.cxx +83 -0
- spt3g-0.4/core/src/G3Quat.cxx +700 -0
- spt3g-0.4/core/src/G3Reader.cxx +151 -0
- spt3g-0.4/core/src/G3SyslogLogger.cxx +77 -0
- spt3g-0.4/core/src/G3TimeStamp.cxx +313 -0
- spt3g-0.4/core/src/G3Timesample.cxx +295 -0
- spt3g-0.4/core/src/G3Timestream.cxx +1403 -0
- spt3g-0.4/core/src/G3TriggeredBuilder.cxx +166 -0
- spt3g-0.4/core/src/G3Vector.cxx +571 -0
- spt3g-0.4/core/src/G3Writer.cxx +88 -0
- spt3g-0.4/core/src/counter64.hpp +84 -0
- spt3g-0.4/core/src/crc32.c +425 -0
- spt3g-0.4/core/src/dataio.cxx +154 -0
- spt3g-0.4/core/src/int_storage.cxx +55 -0
- spt3g-0.4/core/src/int_storage.h +40 -0
- spt3g-0.4/core/src/pybindings.cxx +83 -0
- spt3g-0.4/core/src/python.cxx +79 -0
- spt3g-0.4/core/tests/G3TimestreamMapTest.cxx +153 -0
- spt3g-0.4/core/tests/G3TimestreamTest.cxx +35 -0
- spt3g-0.4/core/tests/bz2fileio.py +49 -0
- spt3g-0.4/core/tests/cached_frame.py +25 -0
- spt3g-0.4/core/tests/compressedfileio.py +47 -0
- spt3g-0.4/core/tests/copycons.py +15 -0
- spt3g-0.4/core/tests/cuts.py +33 -0
- spt3g-0.4/core/tests/datatypes.py +14 -0
- spt3g-0.4/core/tests/deduplicate.py +61 -0
- spt3g-0.4/core/tests/droporphanmetadata.py +41 -0
- spt3g-0.4/core/tests/endprocessing.py +40 -0
- spt3g-0.4/core/tests/fileio.py +131 -0
- spt3g-0.4/core/tests/frame_types.py +17 -0
- spt3g-0.4/core/tests/framepickle.py +16 -0
- spt3g-0.4/core/tests/frames.py +72 -0
- spt3g-0.4/core/tests/imports.py +8 -0
- spt3g-0.4/core/tests/lazyreader.py +30 -0
- spt3g-0.4/core/tests/multifileio.py +72 -0
- spt3g-0.4/core/tests/multiproc.py +38 -0
- spt3g-0.4/core/tests/networktest.py +49 -0
- spt3g-0.4/core/tests/non_double_timestreams.py +64 -0
- spt3g-0.4/core/tests/pipeline.py +40 -0
- spt3g-0.4/core/tests/pipeline_module.py +33 -0
- spt3g-0.4/core/tests/pipelineinfo.py +106 -0
- spt3g-0.4/core/tests/portability/test-be.g3 +0 -0
- spt3g-0.4/core/tests/portability/test-le-v2.g3 +0 -0
- spt3g-0.4/core/tests/portability/test-le.g3 +0 -0
- spt3g-0.4/core/tests/portability.py +47 -0
- spt3g-0.4/core/tests/quaternions.py +93 -0
- spt3g-0.4/core/tests/returnvals.py +39 -0
- spt3g-0.4/core/tests/splitfileio.py +50 -0
- spt3g-0.4/core/tests/testcomplexconv.py +18 -0
- spt3g-0.4/core/tests/timesample.py +128 -0
- spt3g-0.4/core/tests/timestream_2d.py +72 -0
- spt3g-0.4/core/tests/timestream_ops.py +165 -0
- spt3g-0.4/core/tests/timestream_slicing.py +57 -0
- spt3g-0.4/core/tests/timestream_times.py +34 -0
- spt3g-0.4/core/tests/timestrings.py +21 -0
- spt3g-0.4/core/tests/ts_bufferprotocol.py +31 -0
- spt3g-0.4/core/tests/ts_nanencoding.py +34 -0
- spt3g-0.4/core/tests/vecint.py +132 -0
- spt3g-0.4/deps/install_boost.sh +47 -0
- spt3g-0.4/dfmux/CMakeLists.txt +26 -0
- spt3g-0.4/dfmux/README.rst +6 -0
- spt3g-0.4/dfmux/bin/ledgerman.py +154 -0
- spt3g-0.4/dfmux/examples/dfmux_daq.py +64 -0
- spt3g-0.4/dfmux/include/dfmux/DfMuxBuilder.h +89 -0
- spt3g-0.4/dfmux/include/dfmux/DfMuxCollector.h +86 -0
- spt3g-0.4/dfmux/include/dfmux/DfMuxSample.h +40 -0
- spt3g-0.4/dfmux/include/dfmux/HardwareMap.h +35 -0
- spt3g-0.4/dfmux/include/dfmux/Housekeeping.h +162 -0
- spt3g-0.4/dfmux/onlinescripts/record_bolodata.py +231 -0
- spt3g-0.4/dfmux/onlinescripts/teeledgerman.py +121 -0
- spt3g-0.4/dfmux/python/DataQualityTools.py +88 -0
- spt3g-0.4/dfmux/python/HardwareMapTools.py +241 -0
- spt3g-0.4/dfmux/python/Housekeeping.py +425 -0
- spt3g-0.4/dfmux/python/IceboardConversions.py +205 -0
- spt3g-0.4/dfmux/python/LegacyHousekeeping.py +140 -0
- spt3g-0.4/dfmux/python/ScanTools.py +17 -0
- spt3g-0.4/dfmux/python/TFPolyJSON_Rev3_Mezz.txt +1 -0
- spt3g-0.4/dfmux/python/TFPoly_full_with_10MHz_pi.txt +1 -0
- spt3g-0.4/dfmux/python/TuberClient.py +86 -0
- spt3g-0.4/dfmux/python/__init__.py +17 -0
- spt3g-0.4/dfmux/python/spt3g_filtering_2017_full.txt +1 -0
- spt3g-0.4/dfmux/python/unittransforms.py +224 -0
- spt3g-0.4/dfmux/python/wtl_ConvertUtils.py +843 -0
- spt3g-0.4/dfmux/src/DfMuxBuilder.cxx +261 -0
- spt3g-0.4/dfmux/src/DfMuxCollator.cxx +232 -0
- spt3g-0.4/dfmux/src/DfMuxCollector.cxx +455 -0
- spt3g-0.4/dfmux/src/DfMuxSample.cxx +36 -0
- spt3g-0.4/dfmux/src/HardwareMap.cxx +80 -0
- spt3g-0.4/dfmux/src/Housekeeping.cxx +331 -0
- spt3g-0.4/dfmux/src/LegacyDfMuxCollector.cxx +314 -0
- spt3g-0.4/dfmux/src/NetCDFDump.cxx +146 -0
- spt3g-0.4/dfmux/src/python.cxx +16 -0
- spt3g-0.4/dfmux/tests/imports.py +7 -0
- spt3g-0.4/doc/autodoc.rst +31 -0
- spt3g-0.4/doc/buildsystem.rst +196 -0
- spt3g-0.4/doc/commonissues.rst +38 -0
- spt3g-0.4/doc/conf.py +3 -0
- spt3g-0.4/doc/dataacquisition.rst +188 -0
- spt3g-0.4/doc/fileio.rst +161 -0
- spt3g-0.4/doc/frames.rst +154 -0
- spt3g-0.4/doc/index.rst +36 -0
- spt3g-0.4/doc/logging.rst +91 -0
- spt3g-0.4/doc/modules.rst +351 -0
- spt3g-0.4/doc/networkstreaming.rst +88 -0
- spt3g-0.4/doc/quickstart.rst +277 -0
- spt3g-0.4/doc/styleguide.rst +197 -0
- spt3g-0.4/doc/units.rst +104 -0
- spt3g-0.4/examples/CMakeLists.txt +5 -0
- spt3g-0.4/examples/cppexample.cxx +49 -0
- spt3g-0.4/examples/networklistener.py +12 -0
- spt3g-0.4/examples/railcontrol.py +38 -0
- spt3g-0.4/examples/readtest.py +14 -0
- spt3g-0.4/examples/test.py +16 -0
- spt3g-0.4/examples/testreadwrite.py +7 -0
- spt3g-0.4/gcp/CMakeLists.txt +14 -0
- spt3g-0.4/gcp/README.rst +6 -0
- spt3g-0.4/gcp/bin/spt3g-arc-dump +12 -0
- spt3g-0.4/gcp/bin/spt3g-arc-verify +16 -0
- spt3g-0.4/gcp/include/gcp/ACUStatus.h +53 -0
- spt3g-0.4/gcp/include/gcp/Experiments.h +10 -0
- spt3g-0.4/gcp/include/gcp/TrackerPointing.h +47 -0
- spt3g-0.4/gcp/include/gcp/TrackerStatus.h +56 -0
- spt3g-0.4/gcp/python/ARCExtractor.py +672 -0
- spt3g-0.4/gcp/python/ARCFile.py +39 -0
- spt3g-0.4/gcp/python/ARCHKExtractor.py +95 -0
- spt3g-0.4/gcp/python/CalFile.py +235 -0
- spt3g-0.4/gcp/python/G3RegCal.txt +87 -0
- spt3g-0.4/gcp/python/GCPDataTee.py +477 -0
- spt3g-0.4/gcp/python/InfluxDB.py +509 -0
- spt3g-0.4/gcp/python/__init__.py +7 -0
- spt3g-0.4/gcp/src/ACUStatus.cxx +100 -0
- spt3g-0.4/gcp/src/ARCFileReader.cxx +881 -0
- spt3g-0.4/gcp/src/GCPLogger.cxx +221 -0
- spt3g-0.4/gcp/src/GCPMuxDataDecoder.cxx +346 -0
- spt3g-0.4/gcp/src/TrackerPointing.cxx +128 -0
- spt3g-0.4/gcp/src/TrackerStatus.cxx +106 -0
- spt3g-0.4/gcp/src/python.cxx +23 -0
- spt3g-0.4/gcp/tests/imports.py +7 -0
- spt3g-0.4/maps/CMakeLists.txt +46 -0
- spt3g-0.4/maps/README.rst +173 -0
- spt3g-0.4/maps/bin/spt3g-coadd-maps +40 -0
- spt3g-0.4/maps/include/maps/FlatSkyMap.h +207 -0
- spt3g-0.4/maps/include/maps/FlatSkyProjection.h +145 -0
- spt3g-0.4/maps/include/maps/G3SkyMap.h +476 -0
- spt3g-0.4/maps/include/maps/G3SkyMapMask.h +136 -0
- spt3g-0.4/maps/include/maps/HealpixSkyMap.h +161 -0
- spt3g-0.4/maps/include/maps/HealpixSkyMapInfo.h +89 -0
- spt3g-0.4/maps/include/maps/pointing.h +53 -0
- spt3g-0.4/maps/python/__init__.py +11 -0
- spt3g-0.4/maps/python/azel.py +361 -0
- spt3g-0.4/maps/python/coordsysmodules.py +133 -0
- spt3g-0.4/maps/python/finals2000A.all +19025 -0
- spt3g-0.4/maps/python/fitsio.py +806 -0
- spt3g-0.4/maps/python/map_modules.py +913 -0
- spt3g-0.4/maps/python/maputils.py +176 -0
- spt3g-0.4/maps/python/quathelpers.py +89 -0
- spt3g-0.4/maps/python/skymapaddons.py +239 -0
- spt3g-0.4/maps/src/FlatSkyMap.cxx +1385 -0
- spt3g-0.4/maps/src/FlatSkyProjection.cxx +752 -0
- spt3g-0.4/maps/src/G3SkyMap.cxx +1747 -0
- spt3g-0.4/maps/src/G3SkyMapMask.cxx +656 -0
- spt3g-0.4/maps/src/HealpixSkyMap.cxx +1406 -0
- spt3g-0.4/maps/src/HealpixSkyMapInfo.cxx +554 -0
- spt3g-0.4/maps/src/HitsBinner.cxx +274 -0
- spt3g-0.4/maps/src/MapBinner.cxx +386 -0
- spt3g-0.4/maps/src/MapMockObserver.cxx +242 -0
- spt3g-0.4/maps/src/MapTODMasker.cxx +142 -0
- spt3g-0.4/maps/src/MapTODPointing.cxx +169 -0
- spt3g-0.4/maps/src/SingleDetectorBoresightBinner.cxx +219 -0
- spt3g-0.4/maps/src/SingleDetectorMapBinner.cxx +178 -0
- spt3g-0.4/maps/src/chealpix.c +927 -0
- spt3g-0.4/maps/src/chealpix.h +169 -0
- spt3g-0.4/maps/src/mapdata.cxx +475 -0
- spt3g-0.4/maps/src/mapdata.h +306 -0
- spt3g-0.4/maps/src/maputils.cxx +609 -0
- spt3g-0.4/maps/src/pointing.cxx +399 -0
- spt3g-0.4/maps/src/python.cxx +14 -0
- spt3g-0.4/maps/tests/fitsio.py +161 -0
- spt3g-0.4/maps/tests/flatsky_maps.py +125 -0
- spt3g-0.4/maps/tests/flatskymap_operators.py +286 -0
- spt3g-0.4/maps/tests/healpix_maps.py +229 -0
- spt3g-0.4/maps/tests/healpixskymap_operators.py +151 -0
- spt3g-0.4/maps/tests/imports.py +7 -0
- spt3g-0.4/maps/tests/map_modules.py +112 -0
- spt3g-0.4/maps/tests/mask_operators.py +194 -0
- spt3g-0.4/maps/tests/mask_serialization_test.py +23 -0
- spt3g-0.4/maps/tests/quatangtest.py +22 -0
- spt3g-0.4/maps/tests/transtest.py +64 -0
- spt3g-0.4/maps/tests/weights_operators.py +172 -0
- spt3g-0.4/mpi/CMakeLists.txt +1 -0
- spt3g-0.4/mpi/MPIAccumulator.py +102 -0
- spt3g-0.4/mpi/MPIFileIO.py +138 -0
- spt3g-0.4/mpi/README.rst +28 -0
- spt3g-0.4/mpi/TOASTFiller.py +99 -0
- spt3g-0.4/mpi/__init__.py +2 -0
- spt3g-0.4/pyproject.toml +49 -0
- spt3g-0.4/setup.cfg +4 -0
- spt3g-0.4/setup.py +165 -0
- spt3g-0.4/spt3g.egg-info/PKG-INFO +259 -0
- spt3g-0.4/spt3g.egg-info/SOURCES.txt +387 -0
- spt3g-0.4/spt3g.egg-info/dependency_links.txt +1 -0
- spt3g-0.4/spt3g.egg-info/requires.txt +8 -0
- spt3g-0.4/spt3g.egg-info/top_level.txt +1 -0
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
name: CMake
|
|
2
|
+
|
|
3
|
+
on: [push]
|
|
4
|
+
|
|
5
|
+
env:
|
|
6
|
+
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
|
|
7
|
+
BUILD_TYPE: Release
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
build:
|
|
11
|
+
strategy:
|
|
12
|
+
fail-fast: false
|
|
13
|
+
matrix:
|
|
14
|
+
include:
|
|
15
|
+
- os: ubuntu-24.04
|
|
16
|
+
toolset: build
|
|
17
|
+
docs: true
|
|
18
|
+
- os: macos-14
|
|
19
|
+
toolset: build
|
|
20
|
+
docs: false
|
|
21
|
+
runs-on: ${{matrix.os}}
|
|
22
|
+
|
|
23
|
+
steps:
|
|
24
|
+
- uses: actions/checkout@v4
|
|
25
|
+
|
|
26
|
+
- name: Install Linux Dependencies
|
|
27
|
+
if: runner.environment == 'github-hosted' && runner.os == 'Linux'
|
|
28
|
+
run: |
|
|
29
|
+
sudo apt-get --allow-releaseinfo-change update -y
|
|
30
|
+
sudo add-apt-repository universe
|
|
31
|
+
sudo apt update
|
|
32
|
+
sudo apt install gcc-14 g++-14 -y
|
|
33
|
+
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-14 14 --slave /usr/bin/g++ g++ /usr/bin/g++-14
|
|
34
|
+
sudo apt-get install libbz2-dev libboost-all-dev libflac-dev libnetcdf-dev libpython3-dev
|
|
35
|
+
sudo pip install numpy scipy matplotlib astropy healpy sphinx --break-system-packages
|
|
36
|
+
|
|
37
|
+
- name: Install macOS Dependencies
|
|
38
|
+
if: runner.environment == 'github-hosted' && runner.os == 'macOS'
|
|
39
|
+
run: |
|
|
40
|
+
brew install python@3.12
|
|
41
|
+
brew link --overwrite python@3.12
|
|
42
|
+
brew install bzip2 boost boost-python3 flac netcdf
|
|
43
|
+
pip3 install numpy scipy matplotlib astropy healpy sphinx --break-system-packages
|
|
44
|
+
|
|
45
|
+
- name: Create Build Environment
|
|
46
|
+
# Some projects don't allow in-source building, so create a separate build directory
|
|
47
|
+
# We'll use this as our working directory for all subsequent commands
|
|
48
|
+
run: |
|
|
49
|
+
cmake --version
|
|
50
|
+
cmake -E make_directory ${{runner.workspace}}/${{matrix.toolset}}
|
|
51
|
+
rm -rf ${{runner.workspace}}/${{matrix.toolset}}/spt3g
|
|
52
|
+
|
|
53
|
+
- name: Configure CMake
|
|
54
|
+
# Use a bash shell so we can use the same syntax for environment variable
|
|
55
|
+
# access regardless of the host operating system
|
|
56
|
+
shell: bash
|
|
57
|
+
working-directory: ${{runner.workspace}}/${{matrix.toolset}}
|
|
58
|
+
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_COMPILE_WARNING_AS_ERROR=yes
|
|
59
|
+
|
|
60
|
+
- name: Build
|
|
61
|
+
working-directory: ${{runner.workspace}}/${{matrix.toolset}}
|
|
62
|
+
shell: bash
|
|
63
|
+
# Execute the build. You can specify a specific target with "--target <NAME>"
|
|
64
|
+
run: cmake --build . --config $BUILD_TYPE --parallel 4
|
|
65
|
+
|
|
66
|
+
- name: Upload
|
|
67
|
+
uses: actions/upload-artifact@v4
|
|
68
|
+
if: runner.environment == 'github-hosted'
|
|
69
|
+
with:
|
|
70
|
+
name: cmake-${{matrix.os}}-${{matrix.toolset}}
|
|
71
|
+
path: ${{runner.workspace}}/${{matrix.toolset}}
|
|
72
|
+
|
|
73
|
+
- name: Test
|
|
74
|
+
working-directory: ${{runner.workspace}}/${{matrix.toolset}}
|
|
75
|
+
shell: bash
|
|
76
|
+
# Execute tests defined by the CMake configuration.
|
|
77
|
+
# See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail
|
|
78
|
+
run: ctest -C $BUILD_TYPE --output-on-failure
|
|
79
|
+
|
|
80
|
+
- name: Docs
|
|
81
|
+
if: github.ref_name == 'master' && matrix.docs == 'true'
|
|
82
|
+
working-directory: ${{runner.workspace}}/${{matrix.toolset}}
|
|
83
|
+
shell: bash
|
|
84
|
+
# Build docs
|
|
85
|
+
run: |
|
|
86
|
+
rm -f ${{runner.workspace}}/doc/moddoc_*.rst
|
|
87
|
+
rm -rf docs/
|
|
88
|
+
cmake --build . --config $BUILD_TYPE --target docs
|
|
89
|
+
|
|
90
|
+
- name: Checkout gh_pages
|
|
91
|
+
if: github.ref_name == 'master' && matrix.docs == 'true'
|
|
92
|
+
uses: actions/checkout@v4
|
|
93
|
+
with:
|
|
94
|
+
ref: gh-pages
|
|
95
|
+
path: gh-pages
|
|
96
|
+
|
|
97
|
+
- name: Commit docs
|
|
98
|
+
if: github.ref_name == 'master' && matrix.docs == 'true'
|
|
99
|
+
shell: bash
|
|
100
|
+
run: |
|
|
101
|
+
cp -r ${{runner.workspace}}/${{matrix.toolset}}/docs/* gh-pages/
|
|
102
|
+
cd gh-pages
|
|
103
|
+
touch .nojekyll
|
|
104
|
+
git config --local user.name github-actions[bot]
|
|
105
|
+
git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
|
106
|
+
git add .
|
|
107
|
+
git commit -m "Update documentation" -a || true
|
|
108
|
+
git push
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
name: Wheels
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_dispatch:
|
|
5
|
+
push:
|
|
6
|
+
branches: [ master ]
|
|
7
|
+
pull_request:
|
|
8
|
+
branches: [ master ]
|
|
9
|
+
release:
|
|
10
|
+
types: [ published ]
|
|
11
|
+
|
|
12
|
+
jobs:
|
|
13
|
+
build_wheels:
|
|
14
|
+
name: Build wheels for ${{ matrix.build }}
|
|
15
|
+
runs-on: ${{ matrix.os }}
|
|
16
|
+
strategy:
|
|
17
|
+
fail-fast: false
|
|
18
|
+
matrix:
|
|
19
|
+
include:
|
|
20
|
+
# macos-13 is an intel runner, macos-14 is apple silicon
|
|
21
|
+
- os: macos-13
|
|
22
|
+
build: cp38-macosx_x86_64
|
|
23
|
+
target: 13.0
|
|
24
|
+
- os: macos-13
|
|
25
|
+
build: cp39-macosx_x86_64
|
|
26
|
+
target: 13.0
|
|
27
|
+
- os: macos-13
|
|
28
|
+
build: cp310-macosx_x86_64
|
|
29
|
+
target: 13.0
|
|
30
|
+
- os: macos-13
|
|
31
|
+
build: cp311-macosx_x86_64
|
|
32
|
+
target: 13.0
|
|
33
|
+
- os: macos-13
|
|
34
|
+
build: cp312-macosx_x86_64
|
|
35
|
+
target: 13.0
|
|
36
|
+
|
|
37
|
+
- os: macos-14
|
|
38
|
+
build: cp39-macosx_arm64
|
|
39
|
+
target: 14.0
|
|
40
|
+
- os: macos-14
|
|
41
|
+
build: cp310-macosx_arm64
|
|
42
|
+
target: 14.0
|
|
43
|
+
- os: macos-14
|
|
44
|
+
build: cp311-macosx_arm64
|
|
45
|
+
target: 14.0
|
|
46
|
+
- os: macos-14
|
|
47
|
+
build: cp312-macosx_arm64
|
|
48
|
+
target: 14.0
|
|
49
|
+
|
|
50
|
+
- os: ubuntu-latest
|
|
51
|
+
build: cp38-manylinux_x86_64
|
|
52
|
+
- os: ubuntu-latest
|
|
53
|
+
build: cp39-manylinux_x86_64
|
|
54
|
+
- os: ubuntu-latest
|
|
55
|
+
build: cp310-manylinux_x86_64
|
|
56
|
+
- os: ubuntu-latest
|
|
57
|
+
build: cp311-manylinux_x86_64
|
|
58
|
+
- os: ubuntu-latest
|
|
59
|
+
build: cp312-manylinux_x86_64
|
|
60
|
+
|
|
61
|
+
steps:
|
|
62
|
+
- name: Set macOS deployment target
|
|
63
|
+
if: runner.os == 'macOS'
|
|
64
|
+
run: echo "MACOSX_DEPLOYMENT_TARGET=${{ matrix.target }}" >> $GITHUB_ENV
|
|
65
|
+
|
|
66
|
+
# missing build tools on some macos runners
|
|
67
|
+
- name: Install macOS build dependencies
|
|
68
|
+
if: runner.os == 'macOS'
|
|
69
|
+
run: brew install automake libtool
|
|
70
|
+
|
|
71
|
+
- name: Checkout
|
|
72
|
+
uses: actions/checkout@v4
|
|
73
|
+
with:
|
|
74
|
+
fetch-depth: 0
|
|
75
|
+
fetch-tags: true
|
|
76
|
+
|
|
77
|
+
- name: Build wheels
|
|
78
|
+
uses: pypa/cibuildwheel@v2.20.0
|
|
79
|
+
env:
|
|
80
|
+
CIBW_BUILD: ${{ matrix.build }}
|
|
81
|
+
CIBW_BEFORE_ALL_LINUX: yum install -y bzip2-devel flac-devel netcdf-devel
|
|
82
|
+
CIBW_BEFORE_ALL_MACOS: brew install bzip2 flac netcdf
|
|
83
|
+
CIBW_BEFORE_BUILD: ./deps/install_boost.sh
|
|
84
|
+
CIBW_REPAIR_WHEEL_COMMAND_MACOS: >
|
|
85
|
+
DYLD_LIBRARY_PATH=$PWD/deps/lib delocate-wheel --require-archs {delocate_archs} -w {dest_dir} -v {wheel}
|
|
86
|
+
CIBW_BUILD_VERBOSITY: 1
|
|
87
|
+
CIBW_ENVIRONMENT: >
|
|
88
|
+
CMAKE_BUILD_PARALLEL_LEVEL=4 CMAKE_PREFIX_PATH=$PWD/deps
|
|
89
|
+
CIBW_TEST_COMMAND: ctest --test-dir {package}/build --output-on-failure
|
|
90
|
+
|
|
91
|
+
- name: Upload artifacts
|
|
92
|
+
uses: actions/upload-artifact@v4
|
|
93
|
+
with:
|
|
94
|
+
name: cibw-wheel-${{ matrix.build }}
|
|
95
|
+
path: ./wheelhouse/spt3g*.whl
|
|
96
|
+
|
|
97
|
+
build_sdist:
|
|
98
|
+
name: Build source distribution
|
|
99
|
+
runs-on: ubuntu-latest
|
|
100
|
+
steps:
|
|
101
|
+
- uses: actions/checkout@v4
|
|
102
|
+
with:
|
|
103
|
+
fetch-depth: 0
|
|
104
|
+
fetch-tags: true
|
|
105
|
+
|
|
106
|
+
- name: Build sdist
|
|
107
|
+
run: pipx run build --sdist
|
|
108
|
+
|
|
109
|
+
- uses: actions/upload-artifact@v4
|
|
110
|
+
with:
|
|
111
|
+
name: cibw-sdist
|
|
112
|
+
path: dist/*.tar.gz
|
|
113
|
+
|
|
114
|
+
upload_pypi:
|
|
115
|
+
needs: [build_wheels, build_sdist]
|
|
116
|
+
runs-on: ubuntu-latest
|
|
117
|
+
environment: pypi
|
|
118
|
+
permissions:
|
|
119
|
+
id-token: write
|
|
120
|
+
if: github.event_name == 'release' && github.event.action == 'published'
|
|
121
|
+
steps:
|
|
122
|
+
- name: Download artifacts
|
|
123
|
+
uses: actions/download-artifact@v4
|
|
124
|
+
with:
|
|
125
|
+
# unpacks all CIBW artifacts into dist/
|
|
126
|
+
pattern: cibw-*
|
|
127
|
+
path: dist
|
|
128
|
+
merge-multiple: true
|
|
129
|
+
|
|
130
|
+
- name: Publish package distributions to PyPI
|
|
131
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
spt3g-0.4/CMakeLists.txt
ADDED
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
cmake_minimum_required(VERSION 3.12)
|
|
2
|
+
# Don't warn about removal of FindBoost in cmake 3.30+
|
|
3
|
+
if(POLICY CMP0167)
|
|
4
|
+
cmake_policy(SET CMP0167 NEW)
|
|
5
|
+
endif()
|
|
6
|
+
|
|
7
|
+
project(spt3g)
|
|
8
|
+
enable_testing()
|
|
9
|
+
|
|
10
|
+
if(NOT CMAKE_BUILD_TYPE)
|
|
11
|
+
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Choose the type of build, options are: None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel" FORCE)
|
|
12
|
+
endif(NOT CMAKE_BUILD_TYPE)
|
|
13
|
+
|
|
14
|
+
# Use cmake directory for packages
|
|
15
|
+
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} $ENV{SITE_CMAKE_DIR} "${CMAKE_SOURCE_DIR}/cmake")
|
|
16
|
+
|
|
17
|
+
# Work around stupid broken Red Hat systems
|
|
18
|
+
set(CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "")
|
|
19
|
+
|
|
20
|
+
# Require C++ 14
|
|
21
|
+
set(CMAKE_CXX_STANDARD 14)
|
|
22
|
+
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
23
|
+
set(CMAKE_CXX_EXTENSIONS OFF)
|
|
24
|
+
|
|
25
|
+
# Convenience variables
|
|
26
|
+
set(SPT3G_MODULE_DIR ${CMAKE_BINARY_DIR}/spt3g)
|
|
27
|
+
set(SPT3G_INCLUDE_INSTALL_DIR "include/spt3g")
|
|
28
|
+
|
|
29
|
+
include(Spt3gIncludes)
|
|
30
|
+
|
|
31
|
+
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
|
32
|
+
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
|
33
|
+
|
|
34
|
+
# Raise every warning by default
|
|
35
|
+
# (use target-specific options to disable particular warnings)
|
|
36
|
+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
|
|
37
|
+
|
|
38
|
+
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
|
39
|
+
|
|
40
|
+
# Find all the Boost and Python libraries
|
|
41
|
+
set(THREADS_PREFER_PTHREAD_FLAG ON)
|
|
42
|
+
find_package(Threads REQUIRED)
|
|
43
|
+
|
|
44
|
+
if(DEFINED ENV{CIBUILDWHEEL})
|
|
45
|
+
# Can't compile binaries against libpython in CI
|
|
46
|
+
find_package(Python COMPONENTS Interpreter Development.Module REQUIRED)
|
|
47
|
+
else()
|
|
48
|
+
find_package(Python COMPONENTS Interpreter Development REQUIRED)
|
|
49
|
+
endif()
|
|
50
|
+
|
|
51
|
+
set(Boost_USE_STATIC_LIBS OFF)
|
|
52
|
+
set(Boost_USE_MULTITHREADED ON)
|
|
53
|
+
set(Boost_USE_STATIC_RUNTIME OFF)
|
|
54
|
+
set(Boost_PYTHON_VERSION ${Python_VERSION})
|
|
55
|
+
find_package(Boost COMPONENTS system iostreams filesystem python REQUIRED)
|
|
56
|
+
|
|
57
|
+
# Interface library for flags and library dependencies
|
|
58
|
+
add_library(spt3g INTERFACE)
|
|
59
|
+
|
|
60
|
+
# get version info
|
|
61
|
+
include(Spt3gVersion)
|
|
62
|
+
if (SPT3G_VERSION)
|
|
63
|
+
message(STATUS "Building SPT3G software version ${SPT3G_VERSION}")
|
|
64
|
+
target_compile_definitions(spt3g INTERFACE -DSPT3G_VERSION="${SPT3G_VERSION}")
|
|
65
|
+
endif()
|
|
66
|
+
|
|
67
|
+
target_compile_features(spt3g INTERFACE cxx_std_11)
|
|
68
|
+
target_include_directories(spt3g INTERFACE ${Boost_INCLUDE_DIR})
|
|
69
|
+
target_link_libraries(spt3g INTERFACE Threads::Threads ${Boost_LIBRARIES})
|
|
70
|
+
target_include_directories(spt3g INTERFACE $<INSTALL_INTERFACE:${SPT3G_INCLUDE_INSTALL_DIR}>)
|
|
71
|
+
|
|
72
|
+
# Python bindings
|
|
73
|
+
if(TARGET Python::Module)
|
|
74
|
+
target_link_libraries(spt3g INTERFACE Python::Module)
|
|
75
|
+
else()
|
|
76
|
+
target_include_directories(spt3g INTERFACE ${Python_INCLUDE_DIRS})
|
|
77
|
+
if(APPLE)
|
|
78
|
+
target_link_options(spt3g INTERFACE "LINKER:-undefined,dynamic_lookup")
|
|
79
|
+
endif()
|
|
80
|
+
endif()
|
|
81
|
+
|
|
82
|
+
# Work around yet more bugs in GCC 4.4, this time with C++ 11 support
|
|
83
|
+
# Also increase maximum number of arguments in python bindings
|
|
84
|
+
target_compile_definitions(spt3g INTERFACE -DBOOST_PYTHON_MAX_ARITY=20
|
|
85
|
+
-DBOOST_ALLOW_DEPRECATED_HEADERS)
|
|
86
|
+
if(Boost_VERSION VERSION_LESS 1.77)
|
|
87
|
+
target_compile_definitions(spt3g INTERFACE -DBOOST_BIND_GLOBAL_PLACEHOLDERS)
|
|
88
|
+
endif()
|
|
89
|
+
if(Boost_VERSION VERSION_LESS 1.82)
|
|
90
|
+
target_compile_definitions(spt3g INTERFACE -DBOOST_NO_CXX11_SMART_PTR=1)
|
|
91
|
+
endif()
|
|
92
|
+
|
|
93
|
+
# Shell script to set environment variables
|
|
94
|
+
configure_file(${CMAKE_SOURCE_DIR}/cmake/env-shell.sh.in ${CMAKE_BINARY_DIR}/env-shell.sh @ONLY)
|
|
95
|
+
|
|
96
|
+
# Set up python importability
|
|
97
|
+
execute_process(COMMAND mkdir -p ${CMAKE_LIBRARY_OUTPUT_DIRECTORY})
|
|
98
|
+
execute_process(COMMAND mkdir -p ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
|
|
99
|
+
execute_process(COMMAND mkdir -p ${SPT3G_MODULE_DIR})
|
|
100
|
+
execute_process(COMMAND ln -fsn ${CMAKE_SOURCE_DIR}/cmake/package/__init__.py ${SPT3G_MODULE_DIR}/__init__.py)
|
|
101
|
+
|
|
102
|
+
set(BUILD_PROJECTS "${BUILD_PROJECTS}" CACHE STRING "The subset of available projects to actually build")
|
|
103
|
+
if(NOT "${BUILD_PROJECTS}" STREQUAL "")
|
|
104
|
+
set(USE_PROJECT_LIST "TRUE" CACHE BOOL "Whether to build only the subset of projects sepcified by BUILD_PROJECTS")
|
|
105
|
+
else(NOT "${BUILD_PROJECTS}" STREQUAL "")
|
|
106
|
+
set(USE_PROJECT_LIST "FALSE" CACHE BOOL "Whether to build only the subset of projects sepcified by BUILD_PROJECTS")
|
|
107
|
+
endif(NOT "${BUILD_PROJECTS}" STREQUAL "")
|
|
108
|
+
|
|
109
|
+
list(FIND BUILD_PROJECTS core WILL_BUILD_CORE)
|
|
110
|
+
if(${USE_PROJECT_LIST} AND WILL_BUILD_CORE EQUAL -1)
|
|
111
|
+
message(STATUS "Automatically adding the core project to the manually specified BUILD_PROJECTS list")
|
|
112
|
+
list(APPEND BUILD_PROJECTS core)
|
|
113
|
+
endif(${USE_PROJECT_LIST} AND WILL_BUILD_CORE EQUAL -1)
|
|
114
|
+
|
|
115
|
+
include(GNUInstallDirs)
|
|
116
|
+
if(APPLE)
|
|
117
|
+
# See: https://gitlab.kitware.com/cmake/community/-/wikis/doc/cmake/RPATH-handling
|
|
118
|
+
set(CMAKE_MACOSX_RPATH TRUE)
|
|
119
|
+
set(CMAKE_SKIP_BUILD_RPATH FALSE)
|
|
120
|
+
set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
|
|
121
|
+
set(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/lib)
|
|
122
|
+
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
|
|
123
|
+
endif(APPLE)
|
|
124
|
+
|
|
125
|
+
# Find all sub-projects
|
|
126
|
+
file(GLOB cmake_projects RELATIVE ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR}/*/CMakeLists.txt)
|
|
127
|
+
foreach(d ${cmake_projects})
|
|
128
|
+
get_filename_component(proj ${d} PATH)
|
|
129
|
+
set(SUBDIRS ${SUBDIRS} ${proj})
|
|
130
|
+
endforeach(d ${cmake_projects})
|
|
131
|
+
|
|
132
|
+
set(SPT3G_LIBRARIES spt3g)
|
|
133
|
+
set(SPT3G_PROGRAMS "")
|
|
134
|
+
set(SPT3G_PYTHON_DIRS "")
|
|
135
|
+
list(SORT SUBDIRS)
|
|
136
|
+
foreach(subdir ${SUBDIRS})
|
|
137
|
+
get_filename_component(pname ${subdir} NAME_WE)
|
|
138
|
+
|
|
139
|
+
list(FIND BUILD_PROJECTS "${pname}" SHOULD_BUILD_PROJECT)
|
|
140
|
+
if(${USE_PROJECT_LIST} AND SHOULD_BUILD_PROJECT EQUAL -1)
|
|
141
|
+
continue() # if we're using the project list but this one isn't in it, skip it
|
|
142
|
+
endif(${USE_PROJECT_LIST} AND SHOULD_BUILD_PROJECT EQUAL -1)
|
|
143
|
+
|
|
144
|
+
message(STATUS "+ ${pname}")
|
|
145
|
+
set(PROJECT ${pname})
|
|
146
|
+
add_subdirectory(${CMAKE_SOURCE_DIR}/${pname})
|
|
147
|
+
endforeach(subdir ${SUBDIRS})
|
|
148
|
+
|
|
149
|
+
# export configuration files for use in other projects
|
|
150
|
+
export(TARGETS ${SPT3G_LIBRARIES} NAMESPACE spt3g:: FILE ${CMAKE_BINARY_DIR}/cmake/Spt3gTargets.cmake)
|
|
151
|
+
configure_file(${CMAKE_SOURCE_DIR}/cmake/Spt3gConfig.cmake.in ${CMAKE_BINARY_DIR}/cmake/Spt3gConfig.cmake @ONLY)
|
|
152
|
+
|
|
153
|
+
# Custom things related to testing
|
|
154
|
+
add_custom_target(fasttest COMMAND ctest -LE SLOWTEST COMMENT "Running fast test suite")
|
|
155
|
+
if(${CMAKE_VERSION} VERSION_GREATER_EQUAL 3.17)
|
|
156
|
+
list(APPEND CMAKE_CTEST_ARGUMENTS "--output-on-failure")
|
|
157
|
+
endif(${CMAKE_VERSION} VERSION_GREATER_EQUAL 3.17)
|
|
158
|
+
|
|
159
|
+
# Target for version string
|
|
160
|
+
if(NOT PIP_SPT3G_VERSION_FILE)
|
|
161
|
+
add_custom_target(version ALL
|
|
162
|
+
COMMAND sh ${CMAKE_SOURCE_DIR}/cmake/getvers.sh ${CMAKE_SOURCE_DIR} ${SPT3G_MODULE_DIR}/version.py
|
|
163
|
+
BYPRODUCTS ${SPT3G_MODULE_DIR}/version.py
|
|
164
|
+
COMMENT "Regenerating VCS version information"
|
|
165
|
+
)
|
|
166
|
+
endif()
|
|
167
|
+
|
|
168
|
+
# Add mechanism to make a tarball for the grid
|
|
169
|
+
add_custom_target(tarball
|
|
170
|
+
COMMAND rm -rf ${CMAKE_BINARY_DIR}/tarball ${CMAKE_BINARY_DIR}/spt3g.tgz
|
|
171
|
+
COMMAND mkdir ${CMAKE_BINARY_DIR}/tarball
|
|
172
|
+
COMMAND ${CMAKE_SOURCE_DIR}/cmake/copy_build_dir.sh ${CMAKE_BINARY_DIR}
|
|
173
|
+
COMMAND ${Python_EXECUTABLE} -m compileall -fq ${CMAKE_BINARY_DIR}/tarball
|
|
174
|
+
COMMAND tar -C ${CMAKE_BINARY_DIR}/tarball/ -czf ${CMAKE_BINARY_DIR}/spt3g.tgz .
|
|
175
|
+
COMMENT "Build a tarball to run on the grid in spt3g.tgz")
|
|
176
|
+
|
|
177
|
+
# Add target to generate documentation
|
|
178
|
+
add_custom_target(docs
|
|
179
|
+
COMMAND ${CMAKE_COMMAND} -P ${CMAKE_SOURCE_DIR}/cmake/gen_per_module_docs.cmake ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${Python_EXECUTABLE}
|
|
180
|
+
COMMAND mkdir -p ${CMAKE_BINARY_DIR}/docs
|
|
181
|
+
COMMAND which sphinx-build && sphinx-build -b html ${CMAKE_SOURCE_DIR}/doc ${CMAKE_BINARY_DIR}/docs || echo "Error: sphinx-build not found. Could not generate HTML docs."
|
|
182
|
+
COMMENT "Generate HTML documentation")
|
|
183
|
+
|
|
184
|
+
# Set up installation
|
|
185
|
+
|
|
186
|
+
# Export the phony library target
|
|
187
|
+
INSTALL(TARGETS spt3g EXPORT ${PROJECT_NAME}Config)
|
|
188
|
+
|
|
189
|
+
# The exectutables
|
|
190
|
+
foreach(program ${SPT3G_PROGRAMS})
|
|
191
|
+
# programs are likely to by symlinks, so resolve those before installing
|
|
192
|
+
if(${CMAKE_VERSION} VERSION_GREATER_EQUAL 3.19)
|
|
193
|
+
file(REAL_PATH "${CMAKE_BINARY_DIR}/bin/${program}" true_program)
|
|
194
|
+
else(${CMAKE_VERSION} VERSION_GREATER_EQUAL 3.19)
|
|
195
|
+
get_filename_component(true_program "${CMAKE_BINARY_DIR}/bin/${program}" REALPATH)
|
|
196
|
+
endif(${CMAKE_VERSION} VERSION_GREATER_EQUAL 3.19)
|
|
197
|
+
install(PROGRAMS "${true_program}"
|
|
198
|
+
DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
|
199
|
+
RENAME "${program}"
|
|
200
|
+
)
|
|
201
|
+
endforeach(program ${SPT3G_PROGRAMS})
|
|
202
|
+
|
|
203
|
+
# The CMake package definitions
|
|
204
|
+
include(CMakePackageConfigHelpers)
|
|
205
|
+
|
|
206
|
+
set(INCLUDE_INSTALL_DIR ${SPT3G_INCLUDE_INSTALL_DIR} )
|
|
207
|
+
set(LIB_INSTALL_DIR lib/ )
|
|
208
|
+
set(CMAKE_INSTALL_DIR lib/cmake/${PROJECT_NAME} )
|
|
209
|
+
configure_package_config_file(${CMAKE_SOURCE_DIR}/cmake/Spt3gConfig.cmake.in
|
|
210
|
+
${CMAKE_BINARY_DIR}/cmake-install/Spt3gConfig.cmake
|
|
211
|
+
INSTALL_DESTINATION ${CMAKE_INSTALL_DIR}
|
|
212
|
+
PATH_VARS INCLUDE_INSTALL_DIR LIB_INSTALL_DIR CMAKE_INSTALL_DIR
|
|
213
|
+
)
|
|
214
|
+
|
|
215
|
+
install(EXPORT ${PROJECT_NAME}Config
|
|
216
|
+
DESTINATION ${CMAKE_INSTALL_DIR}
|
|
217
|
+
NAMESPACE spt3g::
|
|
218
|
+
FILE Spt3gTargets.cmake)
|
|
219
|
+
install(FILES
|
|
220
|
+
"${CMAKE_BINARY_DIR}/cmake-install/Spt3gConfig.cmake"
|
|
221
|
+
"${CMAKE_SOURCE_DIR}/cmake/FindFLAC.cmake"
|
|
222
|
+
"${CMAKE_SOURCE_DIR}/cmake/FindNetCDF.cmake"
|
|
223
|
+
"${CMAKE_SOURCE_DIR}/cmake/FindOgg.cmake"
|
|
224
|
+
DESTINATION ${CMAKE_INSTALL_DIR})
|
|
225
|
+
if(SPT3G_VERSION)
|
|
226
|
+
install(FILES "${CMAKE_BINARY_DIR}/cmake/Spt3gConfigVersion.cmake" DESTINATION ${CMAKE_INSTALL_DIR})
|
|
227
|
+
endif()
|
|
228
|
+
|
|
229
|
+
# The header files
|
|
230
|
+
foreach(lib ${SPT3G_LIBRARIES})
|
|
231
|
+
if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${lib}/include/)
|
|
232
|
+
file(GLOB INCLUDE_ITEMS LIST_DIRECTORIES TRUE
|
|
233
|
+
RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/${lib}/include/
|
|
234
|
+
CONFIGURE_DEPENDS
|
|
235
|
+
"${CMAKE_CURRENT_SOURCE_DIR}/${lib}/include/*")
|
|
236
|
+
foreach(item ${INCLUDE_ITEMS})
|
|
237
|
+
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${lib}/include/${item}
|
|
238
|
+
DESTINATION ${INCLUDE_INSTALL_DIR}
|
|
239
|
+
)
|
|
240
|
+
endforeach(item ${INCLUDE_ITEMS})
|
|
241
|
+
endif(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${lib}/include/)
|
|
242
|
+
endforeach(lib ${SPT3G_LIBRARIES})
|
|
243
|
+
|
|
244
|
+
# cmake doesn't generally have headers, but we want to provide the test header
|
|
245
|
+
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/cmake/G3Test.h DESTINATION ${INCLUDE_INSTALL_DIR})
|
|
246
|
+
|
|
247
|
+
# Target for uninstalling
|
|
248
|
+
configure_file(
|
|
249
|
+
"${CMAKE_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in"
|
|
250
|
+
"${CMAKE_BINARY_DIR}/cmake/cmake_uninstall_cmake"
|
|
251
|
+
IMMEDIATE @ONLY)
|
|
252
|
+
add_custom_target(uninstall "${CMAKE_COMMAND}" -P "${CMAKE_BINARY_DIR}/cmake/cmake_uninstall_cmake")
|
spt3g-0.4/LICENSE
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
Copyright (c) 2015-2017 South Pole Telescope Collaboration, except where
|
|
2
|
+
otherwise noted.
|
|
3
|
+
|
|
4
|
+
Redistribution and use in source and binary forms, with or without
|
|
5
|
+
modification, are permitted provided that the following conditions
|
|
6
|
+
are met:
|
|
7
|
+
1. Redistributions of source code must retain the above copyright
|
|
8
|
+
notice, this list of conditions and the following disclaimer.
|
|
9
|
+
2. Redistributions in binary form must reproduce the above copyright
|
|
10
|
+
notice, this list of conditions and the following disclaimer in the
|
|
11
|
+
documentation and/or other materials provided with the distribution.
|
|
12
|
+
|
|
13
|
+
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
|
14
|
+
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
15
|
+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
16
|
+
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
|
17
|
+
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
18
|
+
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
19
|
+
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
20
|
+
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
21
|
+
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
22
|
+
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
23
|
+
SUCH DAMAGE.
|
|
24
|
+
|