File: CMakeLists.txt

package info (click to toggle)
wsclean 3.7-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 10,968 kB
  • sloc: cpp: 85,742; python: 3,526; sh: 245; makefile: 21
file content (141 lines) | stat: -rw-r--r-- 4,431 bytes parent folder | download
1
2
3
4
5
6
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
add_executable(
  unittest
  test.cpp
  tbaselinedependentaveraging.cpp
  tfitsdateobstime.cpp
  tserialization.cpp
  gridding/taveragecorrection.cpp
  gridding/tvisibilitymodifier.cpp
  idg/taveragebeam.cpp
  io/tcachedimageset.cpp
  io/tparsetreader.cpp
  main/tcommandline.cpp
  main/tmshelper.cpp
  main/tsettings.cpp
  math/timageoperations.cpp
  math/trenderer.cpp
  math/ttophatconvolution.cpp
  model/tbbsmodel.cpp
  msproviders/tnoisemsrowprovider.cpp
  msproviders/tbdamsrowprovider.cpp
  msproviders/tbdamsrowproviderdata.cpp
  msproviders/tinmemoryprovider.cpp
  msproviders/tmsrowproviderbase.cpp
  scheduling/tgriddingtaskfactory.cpp
  structures/timagingtable.cpp
  structures/tfacetutil.cpp
  structures/tmsselection.cpp
  structures/toutputchannelinfo.cpp
  structures/tprimarybeam.cpp
  structures/tprimarybeamimageset.cpp
  structures/tresources.cpp
  system/tmappedfile.cpp)

target_compile_definitions(
  unittest
  PRIVATE
    FACET_DEFINITION_FILE_2FACETS="${CMAKE_CURRENT_SOURCE_DIR}/data/ds9_2facets.reg"
    FACET_DEFINITION_FILE_4FACETS="${CMAKE_CURRENT_SOURCE_DIR}/data/ds9_4facets.reg"
)

target_link_libraries(
  unittest
  PRIVATE wsclean-lib ${CASACORE_LIBRARIES} ${Boost_FILESYSTEM_LIBRARY}
          ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY})

add_custom_target(
  download_mocks
  COMMAND ${CMAKE_SOURCE_DIR}/scripts/download_mwa_ms.sh
  COMMAND ${CMAKE_SOURCE_DIR}/scripts/download_h5solution_file.sh
  WORKING_DIRECTORY ${CMAKE_BINARY_DIR})

set(WSCLEAN_DATA_URL https://support.astron.nl/software/ci_data/wsclean)

if(CMAKE_VERSION VERSION_GREATER_EQUAL "3.24")
  cmake_policy(SET CMP0135 "NEW")
endif()

ExternalProject_Add(
  jvla_test_ms
  URL ${WSCLEAN_DATA_URL}/JVLA-MultiBand-S1_C5-minimal.ms.tar.bz2
  URL_HASH
    SHA256=7c8d41b5ff59c8736b1223e6b855a96e410f27fb4be05d179c8292fdb78cdc7e
  SOURCE_DIR ${CMAKE_BINARY_DIR}/test_data/JVLA-MultiBand-S1_C5-minimal.ms
  CONFIGURE_COMMAND ""
  BUILD_COMMAND ""
  INSTALL_COMMAND "")

# A dataset generated using the following command:
# DP3 msin=MWA-1052736496-averaged.ms msin.ntimes=4 msin.nchan=1 \
#   msin.baseline="1,2,126,217" msout=MWA_BDA_MOCK.ms msout.overwrite=True \
#   steps=[filter,bdaaverager] filter.blrange=[1000,10000] \
#   bdaaverager.timebase=5000
ExternalProject_Add(
  mwa_bda_mock_ms
  URL ${WSCLEAN_DATA_URL}/MWA_BDA_MOCK.ms.tar.bz2
  URL_HASH
    SHA256=cc249aa62771d14d163e2a5d90fbb6110c57c13bba07b762acad875a64a15f41
  SOURCE_DIR ${CMAKE_BINARY_DIR}/test_data/MWA_BDA_MOCK.ms
  CONFIGURE_COMMAND ""
  BUILD_COMMAND ""
  INSTALL_COMMAND "")

# This is a 9h long SKA-mid simulated measurement set.
# It contains a point source off the phase center.
# These conditions ensure a strong variablity of the PSF in different directions.
# The dataset is heavily averaged to reduce its size.
ExternalProject_Add(
  ska_low_ms
  URL ${WSCLEAN_DATA_URL}/ska-low-sim-averaged.tar.gz
  URL_HASH
    SHA256=79f723f2165456d715e3019893f1a6701ef92cf9e106c4ea251c95be567215c5
  SOURCE_DIR ${CMAKE_BINARY_DIR}/test_data/ska-low-sim-averaged.ms
  CONFIGURE_COMMAND ""
  BUILD_COMMAND ""
  INSTALL_COMMAND "")

ExternalProject_Add(
  gmrt_ms
  URL https://support.astron.nl/software/ci_data/EveryBeam/GMRT_MOCK.tar.bz2
  URL_HASH
    SHA256=5286b6f19f226ed97a8198438edcc3c5b09481376ac134135dd595107dc39fc3
  SOURCE_DIR ${CMAKE_BINARY_DIR}/test_data/GMRT_MOCK.ms
  CONFIGURE_COMMAND ""
  BUILD_COMMAND ""
  INSTALL_COMMAND "")

ExternalProject_Add(
  lofar_3c196_ms
  URL ${WSCLEAN_DATA_URL}/LOFAR_3C196.ms.tar.bz2
  URL_HASH
    SHA256=f834f4eefb2ceffc09194791744c53ebc5154e947a5437a8ea42d259ccdd5fc3
  SOURCE_DIR ${CMAKE_BINARY_DIR}/test_data/LOFAR_3C196.ms
  CONFIGURE_COMMAND ""
  BUILD_COMMAND ""
  INSTALL_COMMAND "")

add_custom_target(
  unitchecks
  DEPENDS unittest download_mocks jvla_test_ms mwa_bda_mock_ms ska_low_ms
          gmrt_ms
  WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
  COMMAND unittest)

file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/test_data/)

add_subdirectory(python)

add_custom_target(check DEPENDS unitchecks;integrationchecks)

add_custom_target(
  coverage
  DEPENDS check
  COMMAND
    gcovr --merge-mode-functions=separate -r ${CMAKE_SOURCE_DIR} -e
    '.*/tests/.*' -e '.*/external/.*' -e '.*/CompilerIdCXX/.*'
    ${CMAKE_BINARY_DIR})

# Collect all tests that should run on das5 in a single target
add_custom_target(
  nightlychecks
  DEPENDS integrationchecks;facetchecks;gridderchecks;subpixelrendererchecks)