Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
CMakeLists.txt 1.91 KiB
#------------------------------------------------------------------------------
add_subdirectory(common)
add_subdirectory(coords)
add_subdirectory(griddedresponse)
add_subdirectory(hamaker)
add_subdirectory(lobes)
add_subdirectory(oskar)
add_subdirectory(telescope)
add_subdirectory(circularsymmetric)

#------------------------------------------------------------------------------
add_library(everybeam SHARED
  antenna.cc
  elementresponse.cc
  beamformer.cc
  beamformeridenticalantennas.cc
  element.cc
  load.cc
  common/fftresampler.cc
  coords/itrfconverter.cc
  coords/itrfdirection.cc
  lofarreadutils.cc
  msv3readutils.cc
  station.cc
  telescope/lofar.cc
  telescope/dish.cc
  telescope/mwa.cc
  telescope/oskar.cc
  griddedresponse/griddedresponse.cc
  griddedresponse/dishgrid.cc
  griddedresponse/mwagrid.cc
  circularsymmetric/voltagepattern.cc
  circularsymmetric/vlabeam.cc
  # Phased array telescopes (SKA, LOFAR)
  griddedresponse/phasedarraygrid.cc
  # MWA(beam) related
  mwabeam/tilebeam2016.cc
  mwabeam/beam2016implementation.cc
)

# Make sure that when other targets within this project link against the everybeam target,
# they can find the include files.
target_include_directories(everybeam PUBLIC
  $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
)

target_include_directories(everybeam PUBLIC ${CASACORE_INCLUDE_DIR})
target_link_libraries(everybeam PUBLIC hamaker lobes oskar)
target_link_libraries(everybeam PUBLIC ${CASACORE_LIBRARIES} ${HDF5_LIBRARIES} ${FFTW3F_LIBRARY})

install (
  TARGETS everybeam
  EXPORT EveryBeamTargets
  DESTINATION lib)

install (FILES
  antenna.h
  beamformer.h
  beamformeridenticalantennas.h
  element.h
  elementresponse.h
  lofarreadutils.h
  msv3readutils.h
  station.h
  # Related to new API:
  load.h
  options.h
DESTINATION "include/${CMAKE_PROJECT_NAME}")

install(
  EXPORT EveryBeamTargets
  FILE EveryBeamConfig.cmake
  NAMESPACE EveryBeam::
  DESTINATION "lib/${projectname}"
)