cmake_minimum_required(VERSION 3.5)
set(CMAKE_C_STANDARD 11)

project(RtFlashSamples)

include(../../common.cmake)

set(CMAKE_BINARY_DIR "${CMAKE_CURRENT_SOURCE_DIR}/out/${OUT_DIR}")
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})

if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
    string(APPEND CMAKE_C_FLAGS " -static-libgcc")
endif()

if(APPLE)
    string(APPEND CMAKE_EXE_LINKER_FLAGS " -Wl,-rpath,@executable_path")
elseif(NOT MSVC)
    string(APPEND CMAKE_EXE_LINKER_FLAGS " -Wl,-rpath,$ORIGIN")
endif()

if(MSVC)
    set(CFLAGS /W4 /WX /wd4505)
else()
    set(CFLAGS -Wall -Wextra -Wno-unused-function)
endif()
add_compile_options(${CFLAGS})

safe_glob(sample_sources "${CMAKE_CURRENT_SOURCE_DIR}/src/*.c")
foreach(sample_source ${sample_sources})
    get_filename_wse(target ${sample_source})
    add_executable(${target} ${sample_source})

    target_rutoken_dependencies(${target} RTFLASH RTFLASH_UTILS)
    target_include_directories(${target} PRIVATE "include")
    set_target_properties(${target} PROPERTIES CXX_STANDARD 14 VS_DEBUGGER_WORKING_DIRECTORY $(OutDir))
endforeach()