# -----------------------------------------------------------------------------
# list of sources:
# -----------------------------------------------------------------------------
set(FREQ_MEAS_SRCS
    "${CMAKE_CURRENT_SOURCE_DIR}/mcds_frequency_measurement.cpp"
    "${CMAKE_CURRENT_SOURCE_DIR}/mcds_frequency_measurement.h"
)

set(LIB_LOADER_SRCS
    "${CMAKE_CURRENT_SOURCE_DIR}/mcds_loader_configurator.h"
    "${CMAKE_CURRENT_SOURCE_DIR}/mcds_loader_decoder.h"
    "${CMAKE_CURRENT_SOURCE_DIR}/mcds_loader_recorder.h"
    "${CMAKE_CURRENT_SOURCE_DIR}/mcds_loader_templates.h"
)

# -----------------------------------------------------------------------------
# include soruces in the following targets:
# -----------------------------------------------------------------------------
# lib demo
if(MCDS_BUILD_DEMOS)
    add_target_sources(mcds_lib_demo
        "${CMAKE_CURRENT_SOURCE_DIR}/mcds_lib_decoder_utils.h"
        ${FREQ_MEAS_SRCS}
        ${LIB_LOADER_SRCS})
endif()

# lib demo ambrosys
if(MCDS_BUILD_DEMOS)
    target_sources(mcds_ambrosys_demo
        PRIVATE
            "${CMAKE_CURRENT_SOURCE_DIR}/mcds_lib_decoder_utils.h"
            ${FREQ_MEAS_SRCS}
            ${LIB_LOADER_SRCS}
    )

    target_include_directories(mcds_ambrosys_demo 
        PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}"
    )
endif()

# -----------------------------------------------------------------------------
# trace viewer
if(MCDS_BUILD_MTV)
    add_target_sources(mcds_trace_viewer
            "${CMAKE_CURRENT_SOURCE_DIR}/mcds_lib_decoder_utils.h"
            ${FREQ_MEAS_SRCS}
            ${LIB_LOADER_SRCS})
endif()

if(MCDS_BUILD_TEST)
    # -------------------------------------------------------------------------
    # lib a3g test
    if (MSVC)
        add_target_sources(mcds_lib_a3g_test ${LIB_LOADER_SRCS})
    endif()

    # -------------------------------------------------------------------------
    # lib test
    add_target_sources(mcds_lib_test ${LIB_LOADER_SRCS})

    # -------------------------------------------------------------------------
    # lib test
    add_target_sources(mcds_binary_decode_test ${LIB_LOADER_SRCS})

    # -------------------------------------------------------------------------
    # json loader test
    add_target_sources(mcds_json_loader ${LIB_LOADER_SRCS})

    # -------------------------------------------------------------------------
    # lib simple test
    add_target_sources(mcds_lib_simple_test ${FREQ_MEAS_SRCS})
endif()