set(PACKAGE rda-pcicards)

enable_nls()

message(STATUS ${PACKAGE})

set(APP_NAME rdaport)
set(LIB_NAME pcicards)
set(SCRIPT rdaflash)

set(SOURCE_FILES
        pcicards_lib.h
        io62.h
        io62_def.h
        cardsubs.c
        io62.c
        io62_diag.c
        io62cp.c
        io62cp_diag.c
        lmx2306.c
        ordacp_diag.c
        pcicards_lib_nls_init.c
        synchro.c
        ttycover.c)

if (DEFINED BASE_SOURCE_DIR)
    include_directories(${BASE_SOURCE_DIR}/user_lib)
endif (DEFINED BASE_SOURCE_DIR)

EXECUTE_PROCESS(COMMAND gunzip -c ${CMAKE_CURRENT_SOURCE_DIR}/io62.jbc.gz OUTPUT_FILE ${CMAKE_CURRENT_BINARY_DIR}/io62.jbc)
EXECUTE_PROCESS(COMMAND gunzip -c ${CMAKE_CURRENT_SOURCE_DIR}/io62cp.jbc.gz OUTPUT_FILE ${CMAKE_CURRENT_BINARY_DIR}/io62cp.jbc)

set(FPGA_JAM_FILES ${CMAKE_CURRENT_BINARY_DIR}/io62.jbc ${CMAKE_CURRENT_BINARY_DIR}/io62cp.jbc)

add_library(${LIB_NAME} SHARED ${SOURCE_FILES})
target_include_directories(${LIB_NAME} PUBLIC
        /usr/include/tirpc
        ${CMAKE_CURRENT_SOURCE_DIR}
        ${CMAKE_CURRENT_SOURCE_DIR}/../include
        ${CMAKE_CURRENT_SOURCE_DIR}/../netcards_lib
        ${CMAKE_CURRENT_SOURCE_DIR}/../rdasubs_lib
        ${CMAKE_CURRENT_SOURCE_DIR}/../softplane)

set(LIB_MAJOR_VER 10) # Set Library major version, this is also used for SO file versioning
set(LIB_MINOR_VER 0) # Set Library minor version
set(LIB_PATCH_VER 0) # Set Library patch version
set(LIB_VERSION "${LIB_MAJOR_VER}.${LIB_MINOR_VER}.${LIB_PATCH_VER}")
set_target_properties(${LIB_NAME} PROPERTIES VERSION ${LIB_VERSION} SOVERSION ${LIB_MAJOR_VER})

add_executable(${APP_NAME} rdaport.c)
target_include_directories(${APP_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}
        ${CMAKE_CURRENT_SOURCE_DIR}/../include)
target_link_libraries(${APP_NAME} pcicards netcards softplane rdasubs user-iris dsp-iris
        antenna-iris config-iris user-iris himath-iris exthdr-iris z dl tirpc IPP::ipps rt m)

install(
  TARGETS ${APP_NAME}
  DESTINATION ${IRIS_BIN}
  COMPONENT base)

install(
  PROGRAMS ${SCRIPT}
  DESTINATION ${IRIS_SCRIPT}
  COMPONENT base)

install(
  FILES ${FPGA_JAM_FILES}
  DESTINATION ${IRIS_FW_DIR}
  COMPONENT base
  PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)

install(
  TARGETS ${LIB_NAME}
  DESTINATION ${IRIS_LIB}
  LIBRARY COMPONENT base NAMELINK_COMPONENT devel)
