# -----------------------------------------------------------------------------
# Relevant source files and their virtual folders for IDE (source groups)
# -----------------------------------------------------------------------------
set(NO_GROUP_SRCS
    "${CMAKE_CURRENT_SOURCE_DIR}/mcds_lib_a3g_test_main.cpp"
    "${CMAKE_CURRENT_SOURCE_DIR}/mcds_lib_a3g_test_iftg_ifsd.cpp"
    "${CMAKE_CURRENT_SOURCE_DIR}/mcds_lib_a3g_test_stream_eth.cpp"
)

target_sources(mcds_lib_a3g_test PRIVATE ${NO_GROUP_SRCS} ${TAS_SRCS})

# -----------------------------------------------------------------------------
# Find relevant dependencies
# -----------------------------------------------------------------------------

# -----------------------------------------------------------------------------
# includes, and libraries
# -----------------------------------------------------------------------------
target_include_directories(mcds_lib_a3g_test
    PRIVATE 
        ${tas_client_api_INCLUDE_DIRS}  
)

target_link_libraries(mcds_lib_a3g_test tas_client_api::tas_client)

# -----------------------------------------------------------------------------
# Dependencies
# -----------------------------------------------------------------------------

#add_dependencies(mcds_lib_a3g_test mcds_configurator mcds_decoder mcds_recorder_das)

# -----------------------------------------------------------------------------
# Compile definitions
# -----------------------------------------------------------------------------
if (MSVC)
    target_compile_definitions(mcds_lib_a3g_test PRIVATE
        "$<$<CONFIG:Debug>:"
            "_DEBUG"
        ">"
        "$<$<CONFIG:Release>:"
            "NDEBUG"
        ">"
        "_CRT_SECURE_NO_WARNINGS"
        "_WIN32"
    )
elseif (UNIX)
    target_compile_definitions(mcds_lib_a3g_test PRIVATE
        "UNIX"
    )
endif()

# -----------------------------------------------------------------------------
# Compile and link options
# -----------------------------------------------------------------------------
if (MSVC)
    target_compile_options(mcds_lib_a3g_test PRIVATE
        "$<$<CONFIG:Debug>:"
            "/MDd"
            "/Od"
        ">"
        "$<$<CONFIG:Release>:"
            "/MD"
            "/O2"
        ">"
        /JMC
        /analyze
        /Zi
        /W3
        /MP
        /nologo
    )

    target_link_options(mcds_lib_a3g_test PRIVATE
        /INCREMENTAL
        /SUBSYSTEM:CONSOLE
    )
elseif (UNIX)
    target_compile_options(mcds_lib_a3g_test PRIVATE
        -Wall;
    )
    target_link_libraries(mcds_lib_a3g_test pthread dl)
endif()

# -----------------------------------------------------------------------------
# Install
# -----------------------------------------------------------------------------
