cmake_minimum_required(VERSION 3.20)

enable_language(C CXX)

# "rda" can be a standalone project or a part of the big "sigmet" project,
# in which case common.cmake might be included already
if (NOT COMMON_INCLUDED)
    include(${CMAKE_CURRENT_SOURCE_DIR}/shared/common.cmake)
    include(${CMAKE_CURRENT_SOURCE_DIR}/shared/ProjectInfo.cmake)
    include(${CMAKE_CURRENT_SOURCE_DIR}/shared/VersionInfo.cmake)
    include(${CMAKE_CURRENT_SOURCE_DIR}/shared/CreatePackageRda.cmake)
    include(${CMAKE_CURRENT_SOURCE_DIR}/shared/EnableCCache.cmake)
    include(${CMAKE_CURRENT_SOURCE_DIR}/shared/Uninstall.cmake)
    include(${CMAKE_CURRENT_SOURCE_DIR}/shared/InstallSymlink.cmake)
endif (NOT COMMON_INCLUDED)

if (DEFINED BASE_SOURCE_DIR)
    message("The \"base\" source is available in \"rda\" tree.")
    message("Adding ${BASE_SOURCE_DIR} to include path.")
    include_directories(${BASE_SOURCE_DIR}/include)
else (DEFINED BASE_SOURCE_DIR)
    message("The \"base\" source is not available in \"rda\" tree.")
    message("Adding ${IRIS_INCLUDE} to include path.")
    include_directories(${IRIS_INCLUDE})
    message("Adding ${IRIS_LIB} to lib path.")
    link_directories(${IRIS_LIB})
endif (DEFINED BASE_SOURCE_DIR)

project(vaisala-wr-rda)

set(PROJECT_DESCRIPTION "Vaisala Weather Radar RDA")

# to use GNU standard installation directories
include(GNUInstallDirs)

ProjectInfo_Print()
ProjectInfo_AddDefinitions()
VersionInfo_Get()
VersionInfo_Print()
EnableCCache()
CreatePackage()
if (NOT COMMON_ROOT)
    Uninstall()
endif (NOT COMMON_ROOT)

# Codegeneration options
option(GRPC_USE_SYSTEM "Use system gRPS" ON)
option(ENABLE_LANG_CPP "Build C++ bindings" ON)
option(ENABLE_LANG_PYTHON "Build Python bindings" OFF)
option(ENABLE_API_TESTS "Build API Tests" OFF)
if (NOT GRPC_USE_SYSTEM)
    set(GRPC_FETCHCONTENT ON)
    message("The GRPC_FETCHCONTENT is set to ON.")
else ()
    message("The GRPC_USE_SYSTEM is set to ON.")
endif()

###############################################################################

# Install the license
install(
  FILES ${CMAKE_CURRENT_SOURCE_DIR}/shared/LICENSE
  DESTINATION "/usr/share/doc/vaisala"
  COMPONENT base )

###############################################################################

include_directories(
        /usr/include/tirpc
        ${CMAKE_CURRENT_SOURCE_DIR}/include)

add_subdirectory(rdasubs_lib)
add_subdirectory(pcicards)
add_subdirectory(softplane)
add_subdirectory(tsapi_lib)
add_subdirectory(dsp)
add_subdirectory(rcp8)
add_subdirectory(rcp8sim)
add_subdirectory(rdautils)
add_subdirectory(ts)
add_subdirectory(jamplayer)