# -----------------------------------------------------------------------------
# Relevant source files and their virtual folders for IDE (source groups)
# -----------------------------------------------------------------------------
set(NO_GROUP_SRCS
    "${CMAKE_CURRENT_SOURCE_DIR}/extract_addr_ranges_from_spec_main.cpp"
    "${CMAKE_CURRENT_SOURCE_DIR}/extract_addr_ranges_from_spec_tc2xx.cpp"
    "${CMAKE_CURRENT_SOURCE_DIR}/extract_addr_ranges_from_spec_tc3xx.cpp"
    "${CMAKE_CURRENT_SOURCE_DIR}/extract_addr_ranges_from_spec_tc4xx.cpp"
    "${CMAKE_CURRENT_SOURCE_DIR}/extract_addr_ranges_from_spec.cpp"
    "${CMAKE_CURRENT_SOURCE_DIR}/extract_addr_ranges_from_spec.h"
)

target_sources(extract_addr_ranges_from_spec PRIVATE ${NO_GROUP_SRCS})


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

# -----------------------------------------------------------------------------
# Add executable, its includes, and libraries
# -----------------------------------------------------------------------------
target_include_directories(extract_addr_ranges_from_spec 
    PRIVATE
        "${CMAKE_BINARY_DIR}"
)

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

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

# -----------------------------------------------------------------------------
# Compile and link options
# -----------------------------------------------------------------------------
if (MSVC)
    target_compile_options(extract_addr_ranges_from_spec PRIVATE
        /W3
        /MP
        /Gd
        /TP
    )

    target_link_options(extract_addr_ranges_from_spec PRIVATE
        /INCREMENTAL
        /SUBSYSTEM:CONSOLE
    )
endif()

# -----------------------------------------------------------------------------
# Install
# -----------------------------------------------------------------------------
#install(TARGETS extract_addr_ranges_from_spec DESTINATION bin COMPONENT applications)