cmake_minimum_required(VERSION 3.20)

project(sc_config C)

set(CMAKE_C_STANDARD 99)
set(CMAKE_C_STANDARD_REQUIRED ON)

# ============================================================
# Change this if CVI is installed elsewhere
# ============================================================

set(CVI_ROOT "C:/Program Files (x86)/National Instruments/CVI90")

# ============================================================
# Source files
# ============================================================

set(SOURCES
        main.c
        comport.c
        dtu_usb_commands.c
        monitor.c
        rs485.c
        signal.c
)

add_executable(sc_config ${SOURCES})

# ============================================================
# Include directories
# ============================================================

target_include_directories(sc_config PRIVATE
        ${CMAKE_CURRENT_SOURCE_DIR}
        "${CVI_ROOT}/include"
)

# ============================================================
# Compiler definitions from the CVI project
# ============================================================

target_compile_definitions(sc_config PRIVATE
        WIN32_LEAN_AND_MEAN
        _CVI_
        WIN32
        _WINDOWS
)

# ============================================================
# Better IntelliSense
# ============================================================

set(CMAKE_EXPORT_COMPILE_COMMANDS ON)