cmake_minimum_required(VERSION 3.22)
project(run_export CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

# This file will be dynamically generated in the export folder by export_scheduler() call
# via the cmake_libs.jinja template
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/libs.cmake)

# Project sources
file(GLOB_RECURSE PROJECT_SOURCES
    ${CMAKE_CURRENT_SOURCE_DIR}/dnn/src/*.cpp
)

# Export executable
add_executable(run_export
    main.cpp
    ${PROJECT_SOURCES}
)

# Compiler options (may differ based on the compiler used)
if(MSVC)
    target_compile_options(run_export PRIVATE
        /W4
        /O2
        /fp:fast
    )
elseif(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
    target_compile_options(run_export PRIVATE
        -Wall
        -Wextra
        -O3
        -ffast-math
    )
endif()

# Add the export include
target_include_directories(run_export PRIVATE
    ${CMAKE_CURRENT_SOURCE_DIR}/dnn
    ${CMAKE_CURRENT_SOURCE_DIR}/dnn/include
    ${CMAKE_CURRENT_SOURCE_DIR}
)

# Dynamic link with the required export lib registered in the libs.cmake dynamic file
target_link_libraries(run_export PRIVATE ${AIDGE_EXPORT_LIBS})


