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.
Files changed (389) hide show
  1. spt3g-0.4/.git_archival.txt +3 -0
  2. spt3g-0.4/.github/workflows/cmake.yml +108 -0
  3. spt3g-0.4/.github/workflows/wheels.yml +131 -0
  4. spt3g-0.4/CMakeLists.txt +252 -0
  5. spt3g-0.4/LICENSE +24 -0
  6. spt3g-0.4/PKG-INFO +259 -0
  7. spt3g-0.4/README.rst +218 -0
  8. spt3g-0.4/calibration/CMakeLists.txt +11 -0
  9. spt3g-0.4/calibration/README.rst +13 -0
  10. spt3g-0.4/calibration/include/calibration/BoloProperties.h +55 -0
  11. spt3g-0.4/calibration/include/calibration/PointingProperties.h +32 -0
  12. spt3g-0.4/calibration/python/__init__.py +5 -0
  13. spt3g-0.4/calibration/python/bolopropertiesutils.py +372 -0
  14. spt3g-0.4/calibration/python/build_cal_frames.py +371 -0
  15. spt3g-0.4/calibration/src/BoloProperties.cxx +103 -0
  16. spt3g-0.4/calibration/src/PointingProperties.cxx +44 -0
  17. spt3g-0.4/calibration/src/python.cxx +16 -0
  18. spt3g-0.4/calibration/tests/band_format.py +30 -0
  19. spt3g-0.4/calibration/tests/can_modify_bolo_props_in_map.py +16 -0
  20. spt3g-0.4/calibration/tests/imports.py +7 -0
  21. spt3g-0.4/cmake/FindFFTW.cmake +26 -0
  22. spt3g-0.4/cmake/FindFLAC.cmake +71 -0
  23. spt3g-0.4/cmake/FindGSL.cmake +19 -0
  24. spt3g-0.4/cmake/FindHealpix.cmake +27 -0
  25. spt3g-0.4/cmake/FindNetCDF.cmake +131 -0
  26. spt3g-0.4/cmake/FindOgg.cmake +61 -0
  27. spt3g-0.4/cmake/G3Test.h +314 -0
  28. spt3g-0.4/cmake/Spt3gConfig.cmake.in +77 -0
  29. spt3g-0.4/cmake/Spt3gIncludes.cmake +131 -0
  30. spt3g-0.4/cmake/Spt3gVersion.cmake +49 -0
  31. spt3g-0.4/cmake/clean_version.sh +3 -0
  32. spt3g-0.4/cmake/cmake_uninstall.cmake.in +47 -0
  33. spt3g-0.4/cmake/copy_build_dir.sh +5 -0
  34. spt3g-0.4/cmake/env-shell.sh.in +37 -0
  35. spt3g-0.4/cmake/gen_per_module_docs.cmake +22 -0
  36. spt3g-0.4/cmake/getvers.sh +138 -0
  37. spt3g-0.4/cmake/package/__init__.py +2 -0
  38. spt3g-0.4/cmake/package/version.py +18 -0
  39. spt3g-0.4/cmake/smudge_version.sh +4 -0
  40. spt3g-0.4/core/CMakeLists.txt +105 -0
  41. spt3g-0.4/core/README.rst +6 -0
  42. spt3g-0.4/core/bin/gen-analysis-doc +50 -0
  43. spt3g-0.4/core/bin/spt3g-dump +16 -0
  44. spt3g-0.4/core/bin/spt3g-inspect +11 -0
  45. spt3g-0.4/core/bin/spt3g-verify +17 -0
  46. spt3g-0.4/core/include/cereal/README +6 -0
  47. spt3g-0.4/core/include/cereal/access.hpp +351 -0
  48. spt3g-0.4/core/include/cereal/archives/adapters.hpp +163 -0
  49. spt3g-0.4/core/include/cereal/archives/binary.hpp +169 -0
  50. spt3g-0.4/core/include/cereal/archives/json.hpp +1019 -0
  51. spt3g-0.4/core/include/cereal/archives/portable_binary.hpp +334 -0
  52. spt3g-0.4/core/include/cereal/archives/xml.hpp +956 -0
  53. spt3g-0.4/core/include/cereal/cereal.hpp +1089 -0
  54. spt3g-0.4/core/include/cereal/details/helpers.hpp +422 -0
  55. spt3g-0.4/core/include/cereal/details/polymorphic_impl.hpp +796 -0
  56. spt3g-0.4/core/include/cereal/details/polymorphic_impl_fwd.hpp +65 -0
  57. spt3g-0.4/core/include/cereal/details/static_object.hpp +127 -0
  58. spt3g-0.4/core/include/cereal/details/traits.hpp +1411 -0
  59. spt3g-0.4/core/include/cereal/details/util.hpp +84 -0
  60. spt3g-0.4/core/include/cereal/external/base64.hpp +134 -0
  61. spt3g-0.4/core/include/cereal/external/rapidjson/allocators.h +284 -0
  62. spt3g-0.4/core/include/cereal/external/rapidjson/cursorstreamwrapper.h +78 -0
  63. spt3g-0.4/core/include/cereal/external/rapidjson/document.h +2652 -0
  64. spt3g-0.4/core/include/cereal/external/rapidjson/encodedstream.h +299 -0
  65. spt3g-0.4/core/include/cereal/external/rapidjson/encodings.h +716 -0
  66. spt3g-0.4/core/include/cereal/external/rapidjson/error/en.h +74 -0
  67. spt3g-0.4/core/include/cereal/external/rapidjson/error/error.h +161 -0
  68. spt3g-0.4/core/include/cereal/external/rapidjson/filereadstream.h +99 -0
  69. spt3g-0.4/core/include/cereal/external/rapidjson/filewritestream.h +104 -0
  70. spt3g-0.4/core/include/cereal/external/rapidjson/fwd.h +151 -0
  71. spt3g-0.4/core/include/cereal/external/rapidjson/internal/biginteger.h +290 -0
  72. spt3g-0.4/core/include/cereal/external/rapidjson/internal/diyfp.h +271 -0
  73. spt3g-0.4/core/include/cereal/external/rapidjson/internal/dtoa.h +245 -0
  74. spt3g-0.4/core/include/cereal/external/rapidjson/internal/ieee754.h +78 -0
  75. spt3g-0.4/core/include/cereal/external/rapidjson/internal/itoa.h +308 -0
  76. spt3g-0.4/core/include/cereal/external/rapidjson/internal/meta.h +186 -0
  77. spt3g-0.4/core/include/cereal/external/rapidjson/internal/pow10.h +55 -0
  78. spt3g-0.4/core/include/cereal/external/rapidjson/internal/regex.h +740 -0
  79. spt3g-0.4/core/include/cereal/external/rapidjson/internal/stack.h +232 -0
  80. spt3g-0.4/core/include/cereal/external/rapidjson/internal/strfunc.h +69 -0
  81. spt3g-0.4/core/include/cereal/external/rapidjson/internal/strtod.h +290 -0
  82. spt3g-0.4/core/include/cereal/external/rapidjson/internal/swap.h +46 -0
  83. spt3g-0.4/core/include/cereal/external/rapidjson/istreamwrapper.h +128 -0
  84. spt3g-0.4/core/include/cereal/external/rapidjson/memorybuffer.h +70 -0
  85. spt3g-0.4/core/include/cereal/external/rapidjson/memorystream.h +71 -0
  86. spt3g-0.4/core/include/cereal/external/rapidjson/msinttypes/inttypes.h +316 -0
  87. spt3g-0.4/core/include/cereal/external/rapidjson/msinttypes/stdint.h +300 -0
  88. spt3g-0.4/core/include/cereal/external/rapidjson/ostreamwrapper.h +81 -0
  89. spt3g-0.4/core/include/cereal/external/rapidjson/pointer.h +1414 -0
  90. spt3g-0.4/core/include/cereal/external/rapidjson/prettywriter.h +277 -0
  91. spt3g-0.4/core/include/cereal/external/rapidjson/rapidjson.h +656 -0
  92. spt3g-0.4/core/include/cereal/external/rapidjson/reader.h +2230 -0
  93. spt3g-0.4/core/include/cereal/external/rapidjson/schema.h +2497 -0
  94. spt3g-0.4/core/include/cereal/external/rapidjson/stream.h +223 -0
  95. spt3g-0.4/core/include/cereal/external/rapidjson/stringbuffer.h +121 -0
  96. spt3g-0.4/core/include/cereal/external/rapidjson/writer.h +709 -0
  97. spt3g-0.4/core/include/cereal/external/rapidxml/license.txt +52 -0
  98. spt3g-0.4/core/include/cereal/external/rapidxml/manual.html +406 -0
  99. spt3g-0.4/core/include/cereal/external/rapidxml/rapidxml.hpp +2624 -0
  100. spt3g-0.4/core/include/cereal/external/rapidxml/rapidxml_iterators.hpp +175 -0
  101. spt3g-0.4/core/include/cereal/external/rapidxml/rapidxml_print.hpp +428 -0
  102. spt3g-0.4/core/include/cereal/external/rapidxml/rapidxml_utils.hpp +123 -0
  103. spt3g-0.4/core/include/cereal/macros.hpp +154 -0
  104. spt3g-0.4/core/include/cereal/specialize.hpp +139 -0
  105. spt3g-0.4/core/include/cereal/types/array.hpp +79 -0
  106. spt3g-0.4/core/include/cereal/types/atomic.hpp +55 -0
  107. spt3g-0.4/core/include/cereal/types/base_class.hpp +203 -0
  108. spt3g-0.4/core/include/cereal/types/bitset.hpp +176 -0
  109. spt3g-0.4/core/include/cereal/types/boost_variant.hpp +164 -0
  110. spt3g-0.4/core/include/cereal/types/chrono.hpp +72 -0
  111. spt3g-0.4/core/include/cereal/types/common.hpp +129 -0
  112. spt3g-0.4/core/include/cereal/types/complex.hpp +56 -0
  113. spt3g-0.4/core/include/cereal/types/concepts/pair_associative_container.hpp +73 -0
  114. spt3g-0.4/core/include/cereal/types/deque.hpp +62 -0
  115. spt3g-0.4/core/include/cereal/types/forward_list.hpp +68 -0
  116. spt3g-0.4/core/include/cereal/types/functional.hpp +43 -0
  117. spt3g-0.4/core/include/cereal/types/list.hpp +62 -0
  118. spt3g-0.4/core/include/cereal/types/map.hpp +36 -0
  119. spt3g-0.4/core/include/cereal/types/memory.hpp +425 -0
  120. spt3g-0.4/core/include/cereal/types/optional.hpp +66 -0
  121. spt3g-0.4/core/include/cereal/types/polymorphic.hpp +483 -0
  122. spt3g-0.4/core/include/cereal/types/queue.hpp +132 -0
  123. spt3g-0.4/core/include/cereal/types/set.hpp +103 -0
  124. spt3g-0.4/core/include/cereal/types/stack.hpp +76 -0
  125. spt3g-0.4/core/include/cereal/types/string.hpp +61 -0
  126. spt3g-0.4/core/include/cereal/types/tuple.hpp +123 -0
  127. spt3g-0.4/core/include/cereal/types/unordered_map.hpp +36 -0
  128. spt3g-0.4/core/include/cereal/types/unordered_set.hpp +99 -0
  129. spt3g-0.4/core/include/cereal/types/utility.hpp +47 -0
  130. spt3g-0.4/core/include/cereal/types/valarray.hpp +89 -0
  131. spt3g-0.4/core/include/cereal/types/variant.hpp +109 -0
  132. spt3g-0.4/core/include/cereal/types/vector.hpp +112 -0
  133. spt3g-0.4/core/include/cereal/version.hpp +52 -0
  134. spt3g-0.4/core/include/core/ApplePthreadBarrier.h +27 -0
  135. spt3g-0.4/core/include/core/G3.h +18 -0
  136. spt3g-0.4/core/include/core/G3Constants.h +29 -0
  137. spt3g-0.4/core/include/core/G3Data.h +66 -0
  138. spt3g-0.4/core/include/core/G3EventBuilder.h +56 -0
  139. spt3g-0.4/core/include/core/G3Frame.h +163 -0
  140. spt3g-0.4/core/include/core/G3Logging.h +178 -0
  141. spt3g-0.4/core/include/core/G3Map.h +103 -0
  142. spt3g-0.4/core/include/core/G3Module.h +30 -0
  143. spt3g-0.4/core/include/core/G3NetworkSender.h +118 -0
  144. spt3g-0.4/core/include/core/G3Pipeline.h +66 -0
  145. spt3g-0.4/core/include/core/G3PipelineInfo.h +80 -0
  146. spt3g-0.4/core/include/core/G3Quat.h +113 -0
  147. spt3g-0.4/core/include/core/G3Reader.h +38 -0
  148. spt3g-0.4/core/include/core/G3SimpleLoggers.h +57 -0
  149. spt3g-0.4/core/include/core/G3TimeStamp.h +54 -0
  150. spt3g-0.4/core/include/core/G3Timesample.h +51 -0
  151. spt3g-0.4/core/include/core/G3Timestream.h +281 -0
  152. spt3g-0.4/core/include/core/G3TriggeredBuilder.h +89 -0
  153. spt3g-0.4/core/include/core/G3Units.h +174 -0
  154. spt3g-0.4/core/include/core/G3Vector.h +104 -0
  155. spt3g-0.4/core/include/core/G3Writer.h +29 -0
  156. spt3g-0.4/core/include/core/SetThreadName.h +27 -0
  157. spt3g-0.4/core/include/core/container_conversions.h +316 -0
  158. spt3g-0.4/core/include/core/container_pybindings.h +48 -0
  159. spt3g-0.4/core/include/core/dataio.h +15 -0
  160. spt3g-0.4/core/include/core/pybindings.h +218 -0
  161. spt3g-0.4/core/include/core/serialization.h +81 -0
  162. spt3g-0.4/core/include/core/std_map_indexing_suite.hpp +552 -0
  163. spt3g-0.4/core/python/__init__.py +31 -0
  164. spt3g-0.4/core/python/dataextensions.py +16 -0
  165. spt3g-0.4/core/python/docparser.py +285 -0
  166. spt3g-0.4/core/python/fileio.py +59 -0
  167. spt3g-0.4/core/python/frameextensions.py +81 -0
  168. spt3g-0.4/core/python/funcconstruct.py +15 -0
  169. spt3g-0.4/core/python/g3decorators.py +109 -0
  170. spt3g-0.4/core/python/g3logging.py +53 -0
  171. spt3g-0.4/core/python/modconstruct.py +255 -0
  172. spt3g-0.4/core/python/multiprocess.py +134 -0
  173. spt3g-0.4/core/python/parse_pipeline_graph.py +98 -0
  174. spt3g-0.4/core/python/timestreamextensions.py +316 -0
  175. spt3g-0.4/core/python/util.py +187 -0
  176. spt3g-0.4/core/src/ApplePthreadBarrier.cxx +50 -0
  177. spt3g-0.4/core/src/G3Data.cxx +95 -0
  178. spt3g-0.4/core/src/G3EventBuilder.cxx +106 -0
  179. spt3g-0.4/core/src/G3Frame.cxx +634 -0
  180. spt3g-0.4/core/src/G3InfiniteSource.cxx +22 -0
  181. spt3g-0.4/core/src/G3Logging.cxx +179 -0
  182. spt3g-0.4/core/src/G3Map.cxx +273 -0
  183. spt3g-0.4/core/src/G3MultiFileWriter.cxx +238 -0
  184. spt3g-0.4/core/src/G3NetworkSender.cxx +407 -0
  185. spt3g-0.4/core/src/G3Pipeline.cxx +482 -0
  186. spt3g-0.4/core/src/G3PipelineInfo.cxx +291 -0
  187. spt3g-0.4/core/src/G3PrintfLogger.cxx +83 -0
  188. spt3g-0.4/core/src/G3Quat.cxx +700 -0
  189. spt3g-0.4/core/src/G3Reader.cxx +151 -0
  190. spt3g-0.4/core/src/G3SyslogLogger.cxx +77 -0
  191. spt3g-0.4/core/src/G3TimeStamp.cxx +313 -0
  192. spt3g-0.4/core/src/G3Timesample.cxx +295 -0
  193. spt3g-0.4/core/src/G3Timestream.cxx +1403 -0
  194. spt3g-0.4/core/src/G3TriggeredBuilder.cxx +166 -0
  195. spt3g-0.4/core/src/G3Vector.cxx +571 -0
  196. spt3g-0.4/core/src/G3Writer.cxx +88 -0
  197. spt3g-0.4/core/src/counter64.hpp +84 -0
  198. spt3g-0.4/core/src/crc32.c +425 -0
  199. spt3g-0.4/core/src/dataio.cxx +154 -0
  200. spt3g-0.4/core/src/int_storage.cxx +55 -0
  201. spt3g-0.4/core/src/int_storage.h +40 -0
  202. spt3g-0.4/core/src/pybindings.cxx +83 -0
  203. spt3g-0.4/core/src/python.cxx +79 -0
  204. spt3g-0.4/core/tests/G3TimestreamMapTest.cxx +153 -0
  205. spt3g-0.4/core/tests/G3TimestreamTest.cxx +35 -0
  206. spt3g-0.4/core/tests/bz2fileio.py +49 -0
  207. spt3g-0.4/core/tests/cached_frame.py +25 -0
  208. spt3g-0.4/core/tests/compressedfileio.py +47 -0
  209. spt3g-0.4/core/tests/copycons.py +15 -0
  210. spt3g-0.4/core/tests/cuts.py +33 -0
  211. spt3g-0.4/core/tests/datatypes.py +14 -0
  212. spt3g-0.4/core/tests/deduplicate.py +61 -0
  213. spt3g-0.4/core/tests/droporphanmetadata.py +41 -0
  214. spt3g-0.4/core/tests/endprocessing.py +40 -0
  215. spt3g-0.4/core/tests/fileio.py +131 -0
  216. spt3g-0.4/core/tests/frame_types.py +17 -0
  217. spt3g-0.4/core/tests/framepickle.py +16 -0
  218. spt3g-0.4/core/tests/frames.py +72 -0
  219. spt3g-0.4/core/tests/imports.py +8 -0
  220. spt3g-0.4/core/tests/lazyreader.py +30 -0
  221. spt3g-0.4/core/tests/multifileio.py +72 -0
  222. spt3g-0.4/core/tests/multiproc.py +38 -0
  223. spt3g-0.4/core/tests/networktest.py +49 -0
  224. spt3g-0.4/core/tests/non_double_timestreams.py +64 -0
  225. spt3g-0.4/core/tests/pipeline.py +40 -0
  226. spt3g-0.4/core/tests/pipeline_module.py +33 -0
  227. spt3g-0.4/core/tests/pipelineinfo.py +106 -0
  228. spt3g-0.4/core/tests/portability/test-be.g3 +0 -0
  229. spt3g-0.4/core/tests/portability/test-le-v2.g3 +0 -0
  230. spt3g-0.4/core/tests/portability/test-le.g3 +0 -0
  231. spt3g-0.4/core/tests/portability.py +47 -0
  232. spt3g-0.4/core/tests/quaternions.py +93 -0
  233. spt3g-0.4/core/tests/returnvals.py +39 -0
  234. spt3g-0.4/core/tests/splitfileio.py +50 -0
  235. spt3g-0.4/core/tests/testcomplexconv.py +18 -0
  236. spt3g-0.4/core/tests/timesample.py +128 -0
  237. spt3g-0.4/core/tests/timestream_2d.py +72 -0
  238. spt3g-0.4/core/tests/timestream_ops.py +165 -0
  239. spt3g-0.4/core/tests/timestream_slicing.py +57 -0
  240. spt3g-0.4/core/tests/timestream_times.py +34 -0
  241. spt3g-0.4/core/tests/timestrings.py +21 -0
  242. spt3g-0.4/core/tests/ts_bufferprotocol.py +31 -0
  243. spt3g-0.4/core/tests/ts_nanencoding.py +34 -0
  244. spt3g-0.4/core/tests/vecint.py +132 -0
  245. spt3g-0.4/deps/install_boost.sh +47 -0
  246. spt3g-0.4/dfmux/CMakeLists.txt +26 -0
  247. spt3g-0.4/dfmux/README.rst +6 -0
  248. spt3g-0.4/dfmux/bin/ledgerman.py +154 -0
  249. spt3g-0.4/dfmux/examples/dfmux_daq.py +64 -0
  250. spt3g-0.4/dfmux/include/dfmux/DfMuxBuilder.h +89 -0
  251. spt3g-0.4/dfmux/include/dfmux/DfMuxCollector.h +86 -0
  252. spt3g-0.4/dfmux/include/dfmux/DfMuxSample.h +40 -0
  253. spt3g-0.4/dfmux/include/dfmux/HardwareMap.h +35 -0
  254. spt3g-0.4/dfmux/include/dfmux/Housekeeping.h +162 -0
  255. spt3g-0.4/dfmux/onlinescripts/record_bolodata.py +231 -0
  256. spt3g-0.4/dfmux/onlinescripts/teeledgerman.py +121 -0
  257. spt3g-0.4/dfmux/python/DataQualityTools.py +88 -0
  258. spt3g-0.4/dfmux/python/HardwareMapTools.py +241 -0
  259. spt3g-0.4/dfmux/python/Housekeeping.py +425 -0
  260. spt3g-0.4/dfmux/python/IceboardConversions.py +205 -0
  261. spt3g-0.4/dfmux/python/LegacyHousekeeping.py +140 -0
  262. spt3g-0.4/dfmux/python/ScanTools.py +17 -0
  263. spt3g-0.4/dfmux/python/TFPolyJSON_Rev3_Mezz.txt +1 -0
  264. spt3g-0.4/dfmux/python/TFPoly_full_with_10MHz_pi.txt +1 -0
  265. spt3g-0.4/dfmux/python/TuberClient.py +86 -0
  266. spt3g-0.4/dfmux/python/__init__.py +17 -0
  267. spt3g-0.4/dfmux/python/spt3g_filtering_2017_full.txt +1 -0
  268. spt3g-0.4/dfmux/python/unittransforms.py +224 -0
  269. spt3g-0.4/dfmux/python/wtl_ConvertUtils.py +843 -0
  270. spt3g-0.4/dfmux/src/DfMuxBuilder.cxx +261 -0
  271. spt3g-0.4/dfmux/src/DfMuxCollator.cxx +232 -0
  272. spt3g-0.4/dfmux/src/DfMuxCollector.cxx +455 -0
  273. spt3g-0.4/dfmux/src/DfMuxSample.cxx +36 -0
  274. spt3g-0.4/dfmux/src/HardwareMap.cxx +80 -0
  275. spt3g-0.4/dfmux/src/Housekeeping.cxx +331 -0
  276. spt3g-0.4/dfmux/src/LegacyDfMuxCollector.cxx +314 -0
  277. spt3g-0.4/dfmux/src/NetCDFDump.cxx +146 -0
  278. spt3g-0.4/dfmux/src/python.cxx +16 -0
  279. spt3g-0.4/dfmux/tests/imports.py +7 -0
  280. spt3g-0.4/doc/autodoc.rst +31 -0
  281. spt3g-0.4/doc/buildsystem.rst +196 -0
  282. spt3g-0.4/doc/commonissues.rst +38 -0
  283. spt3g-0.4/doc/conf.py +3 -0
  284. spt3g-0.4/doc/dataacquisition.rst +188 -0
  285. spt3g-0.4/doc/fileio.rst +161 -0
  286. spt3g-0.4/doc/frames.rst +154 -0
  287. spt3g-0.4/doc/index.rst +36 -0
  288. spt3g-0.4/doc/logging.rst +91 -0
  289. spt3g-0.4/doc/modules.rst +351 -0
  290. spt3g-0.4/doc/networkstreaming.rst +88 -0
  291. spt3g-0.4/doc/quickstart.rst +277 -0
  292. spt3g-0.4/doc/styleguide.rst +197 -0
  293. spt3g-0.4/doc/units.rst +104 -0
  294. spt3g-0.4/examples/CMakeLists.txt +5 -0
  295. spt3g-0.4/examples/cppexample.cxx +49 -0
  296. spt3g-0.4/examples/networklistener.py +12 -0
  297. spt3g-0.4/examples/railcontrol.py +38 -0
  298. spt3g-0.4/examples/readtest.py +14 -0
  299. spt3g-0.4/examples/test.py +16 -0
  300. spt3g-0.4/examples/testreadwrite.py +7 -0
  301. spt3g-0.4/gcp/CMakeLists.txt +14 -0
  302. spt3g-0.4/gcp/README.rst +6 -0
  303. spt3g-0.4/gcp/bin/spt3g-arc-dump +12 -0
  304. spt3g-0.4/gcp/bin/spt3g-arc-verify +16 -0
  305. spt3g-0.4/gcp/include/gcp/ACUStatus.h +53 -0
  306. spt3g-0.4/gcp/include/gcp/Experiments.h +10 -0
  307. spt3g-0.4/gcp/include/gcp/TrackerPointing.h +47 -0
  308. spt3g-0.4/gcp/include/gcp/TrackerStatus.h +56 -0
  309. spt3g-0.4/gcp/python/ARCExtractor.py +672 -0
  310. spt3g-0.4/gcp/python/ARCFile.py +39 -0
  311. spt3g-0.4/gcp/python/ARCHKExtractor.py +95 -0
  312. spt3g-0.4/gcp/python/CalFile.py +235 -0
  313. spt3g-0.4/gcp/python/G3RegCal.txt +87 -0
  314. spt3g-0.4/gcp/python/GCPDataTee.py +477 -0
  315. spt3g-0.4/gcp/python/InfluxDB.py +509 -0
  316. spt3g-0.4/gcp/python/__init__.py +7 -0
  317. spt3g-0.4/gcp/src/ACUStatus.cxx +100 -0
  318. spt3g-0.4/gcp/src/ARCFileReader.cxx +881 -0
  319. spt3g-0.4/gcp/src/GCPLogger.cxx +221 -0
  320. spt3g-0.4/gcp/src/GCPMuxDataDecoder.cxx +346 -0
  321. spt3g-0.4/gcp/src/TrackerPointing.cxx +128 -0
  322. spt3g-0.4/gcp/src/TrackerStatus.cxx +106 -0
  323. spt3g-0.4/gcp/src/python.cxx +23 -0
  324. spt3g-0.4/gcp/tests/imports.py +7 -0
  325. spt3g-0.4/maps/CMakeLists.txt +46 -0
  326. spt3g-0.4/maps/README.rst +173 -0
  327. spt3g-0.4/maps/bin/spt3g-coadd-maps +40 -0
  328. spt3g-0.4/maps/include/maps/FlatSkyMap.h +207 -0
  329. spt3g-0.4/maps/include/maps/FlatSkyProjection.h +145 -0
  330. spt3g-0.4/maps/include/maps/G3SkyMap.h +476 -0
  331. spt3g-0.4/maps/include/maps/G3SkyMapMask.h +136 -0
  332. spt3g-0.4/maps/include/maps/HealpixSkyMap.h +161 -0
  333. spt3g-0.4/maps/include/maps/HealpixSkyMapInfo.h +89 -0
  334. spt3g-0.4/maps/include/maps/pointing.h +53 -0
  335. spt3g-0.4/maps/python/__init__.py +11 -0
  336. spt3g-0.4/maps/python/azel.py +361 -0
  337. spt3g-0.4/maps/python/coordsysmodules.py +133 -0
  338. spt3g-0.4/maps/python/finals2000A.all +19025 -0
  339. spt3g-0.4/maps/python/fitsio.py +806 -0
  340. spt3g-0.4/maps/python/map_modules.py +913 -0
  341. spt3g-0.4/maps/python/maputils.py +176 -0
  342. spt3g-0.4/maps/python/quathelpers.py +89 -0
  343. spt3g-0.4/maps/python/skymapaddons.py +239 -0
  344. spt3g-0.4/maps/src/FlatSkyMap.cxx +1385 -0
  345. spt3g-0.4/maps/src/FlatSkyProjection.cxx +752 -0
  346. spt3g-0.4/maps/src/G3SkyMap.cxx +1747 -0
  347. spt3g-0.4/maps/src/G3SkyMapMask.cxx +656 -0
  348. spt3g-0.4/maps/src/HealpixSkyMap.cxx +1406 -0
  349. spt3g-0.4/maps/src/HealpixSkyMapInfo.cxx +554 -0
  350. spt3g-0.4/maps/src/HitsBinner.cxx +274 -0
  351. spt3g-0.4/maps/src/MapBinner.cxx +386 -0
  352. spt3g-0.4/maps/src/MapMockObserver.cxx +242 -0
  353. spt3g-0.4/maps/src/MapTODMasker.cxx +142 -0
  354. spt3g-0.4/maps/src/MapTODPointing.cxx +169 -0
  355. spt3g-0.4/maps/src/SingleDetectorBoresightBinner.cxx +219 -0
  356. spt3g-0.4/maps/src/SingleDetectorMapBinner.cxx +178 -0
  357. spt3g-0.4/maps/src/chealpix.c +927 -0
  358. spt3g-0.4/maps/src/chealpix.h +169 -0
  359. spt3g-0.4/maps/src/mapdata.cxx +475 -0
  360. spt3g-0.4/maps/src/mapdata.h +306 -0
  361. spt3g-0.4/maps/src/maputils.cxx +609 -0
  362. spt3g-0.4/maps/src/pointing.cxx +399 -0
  363. spt3g-0.4/maps/src/python.cxx +14 -0
  364. spt3g-0.4/maps/tests/fitsio.py +161 -0
  365. spt3g-0.4/maps/tests/flatsky_maps.py +125 -0
  366. spt3g-0.4/maps/tests/flatskymap_operators.py +286 -0
  367. spt3g-0.4/maps/tests/healpix_maps.py +229 -0
  368. spt3g-0.4/maps/tests/healpixskymap_operators.py +151 -0
  369. spt3g-0.4/maps/tests/imports.py +7 -0
  370. spt3g-0.4/maps/tests/map_modules.py +112 -0
  371. spt3g-0.4/maps/tests/mask_operators.py +194 -0
  372. spt3g-0.4/maps/tests/mask_serialization_test.py +23 -0
  373. spt3g-0.4/maps/tests/quatangtest.py +22 -0
  374. spt3g-0.4/maps/tests/transtest.py +64 -0
  375. spt3g-0.4/maps/tests/weights_operators.py +172 -0
  376. spt3g-0.4/mpi/CMakeLists.txt +1 -0
  377. spt3g-0.4/mpi/MPIAccumulator.py +102 -0
  378. spt3g-0.4/mpi/MPIFileIO.py +138 -0
  379. spt3g-0.4/mpi/README.rst +28 -0
  380. spt3g-0.4/mpi/TOASTFiller.py +99 -0
  381. spt3g-0.4/mpi/__init__.py +2 -0
  382. spt3g-0.4/pyproject.toml +49 -0
  383. spt3g-0.4/setup.cfg +4 -0
  384. spt3g-0.4/setup.py +165 -0
  385. spt3g-0.4/spt3g.egg-info/PKG-INFO +259 -0
  386. spt3g-0.4/spt3g.egg-info/SOURCES.txt +387 -0
  387. spt3g-0.4/spt3g.egg-info/dependency_links.txt +1 -0
  388. spt3g-0.4/spt3g.egg-info/requires.txt +8 -0
  389. spt3g-0.4/spt3g.egg-info/top_level.txt +1 -0
@@ -0,0 +1,3 @@
1
+ node: 523227422d82719336b641fb0433c626c2add2e9
2
+ node-date: 2024-09-27T11:58:13-05:00
3
+ describe-name: 0.4
@@ -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
@@ -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
+