#------------------------------------------------------------------------------
#
# \brief	CMakeLists.txt file for "vagus"
#
#------------------------------------------------------------------------------


cmake_minimum_required(VERSION 3.11)

project( minutnik_app ASM C CXX )

include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)

if ( NOT HOST )
   find_package( ArenaFlash REQUIRED )
else( NOT HOST )
   # Check either Qt6 or Qt5
   find_package( QT NAMES Qt5 Qt6 COMPONENTS Core Network REQUIRED )
   find_package( Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Core Widgets Network )

   set(
      QtLibs
      Qt${QT_VERSION_MAJOR}::Widgets
      Qt${QT_VERSION_MAJOR}::Gui
   )
endif( NOT HOST )

find_package( GitVersion REQUIRED )

message( "### GIT: ${GIT_VERSION_HEADER}" )

add_executable(
	 ${PROJECT_NAME}
         src/main.cpp
         src/minutnik.cpp
			src/phonybl.cpp
			include/phonybl.h
         src/commands/gd.cpp
			src/screen_mainmenu.cpp
			# src/clock.cpp
			# include/clock.h
         include/minutnik.h
			include/screen_info.h
			include/screen_minutnik.h
			include/screen_itemList.h
			include/screen_items.h
			include/screen_mainmenu.h
			include/screen_bootloader.h
         include/screen_settings.hpp
         include/screen_chart.h
         include/screen_wine.h
         # src/screen_mainmenu.cpp
         src/screen_settings.cpp

         ${ARENA_PLATFORM_IMPLEMENTATION_${ARENA_APP}}
			${ARENA_HEADER_FILE_${ARENA_APP}}
			${GIT_VERSION_HEADER}
         # ${ARENA_PLATFORM_IMPLEMENTATION_candis_eval}
         # ${ARENA_PLATFORM_IMPLEMENTATION_${PROJECT_NAME}}
)

if ( CAMPO )
   use_common_config_headers( ${PROJECT_NAME} )
   use_common_structure_headers( ${PROJECT_NAME} )
endif( CAMPO )

target_compile_definitions(
   ${PROJECT_NAME}
   PRIVATE
      "-DMEDIA_FILE=${CMAKE_BINARY_DIR}/theme_noto/media.bin"
)

target_link_libraries(
   ${PROJECT_NAME}
      theme_noto
      minutnik
      ocelli
      arena
      biwak
      lepto
      fosh
      hwinfo
      ${QtLibs}
)

if( NOT HOST )
   target_link_libraries(
      ${PROJECT_NAME}
         stm-${MCU_REV}
         syscalls
   )
endif()

install(
    TARGETS ${PROJECT_NAME}
    DESTINATION bin
)

if( NOT CMAKE_BUILD_TYPE STREQUAL "Debug" )
   target_is_application_with_bootloader( ${PROJECT_NAME} )
endif( NOT CMAKE_BUILD_TYPE STREQUAL "Debug" )


#------------------------------------------------------------------------------


project( candis_bootloader ASM C CXX )

include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)

if ( NOT HOST )
   find_package( ArenaFlash REQUIRED )
endif( NOT HOST )

find_package( GitVersion REQUIRED )

add_executable(
   ${PROJECT_NAME}
      src/main_bootloader.cpp
      ${GIT_VERSION_HEADER}
      # ${ARENA_PLATFORM_IMPLEMENTATION_candis_eval}
      # ${ARENA_PLATFORM_IMPLEMENTATION_${PROJECT_NAME}}
)

if ( CAMPO )
   use_common_config_headers( ${PROJECT_NAME} )
   use_common_structure_headers( ${PROJECT_NAME} )
endif( CAMPO )

target_link_libraries(
   ${PROJECT_NAME}
      arena
      lepto
      biwak
)

if( NOT HOST )
   target_link_libraries(
      ${PROJECT_NAME}
         stm-${MCU_REV}
         syscalls
   )
endif()

install(
   TARGETS 
      ${PROJECT_NAME}
   DESTINATION
      bin
)

if( NOT CMAKE_BUILD_TYPE STREQUAL "Debug" )
   target_is_bootloader( ${PROJECT_NAME} )
endif( NOT CMAKE_BUILD_TYPE STREQUAL "Debug" )


#------------------------------------------------------------------------------
