cmake_minimum_required(VERSION 3.15)

project(QmlMinos)

set (CMAKE_CXX_STANDARD 17)


#find CVB
file(TO_CMAKE_PATH "$ENV{CVB}/cmake" CVB_MODULE_PATH)
set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH}" "${CVB_MODULE_PATH}")
find_package(CVB REQUIRED 
  COMPONENTS CvbQuick)

#find Qt5
find_package(Qt5Widgets 5.9 REQUIRED)
find_package(Qt5Quick 5.9 REQUIRED)

# Use qrc file
qt5_add_resources(RESOURCES_RCC res/icons.qrc)

set(CMAKE_AUTOMOC ON)

if(WIN32)
    set(RC_FILE res/${PROJECT_NAME}.rc)
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4127")
endif()

add_executable(${PROJECT_NAME} WIN32
  main.cpp 
  minos_search.hpp 
  minos_search.cpp 
  minos_result_model.hpp 
  minos_result_model.cpp 
  ${RESOURCES_RCC} ${RC_FILE})


target_link_libraries(${PROJECT_NAME}
  CVB::CvbDriver
  CVB::CvbMinos
  CVB::CvbUI
  Qt5::Widgets
  Qt5::Quick
)

if(UNIX)
  target_link_libraries(${PROJECT_NAME} pthread)
endif()

add_custom_command(
  TARGET ${PROJECT_NAME} POST_BUILD
  COMMAND ${CMAKE_COMMAND} -E copy
  ${CMAKE_CURRENT_SOURCE_DIR}/bin/CVMock.ini
  ${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/CVMock.ini
)

# move the moc and qrc files away from regular sorce files
SOURCE_GROUP("Generated Files" REGULAR_EXPRESSION "(moc|mocs|qrc)_.*cpp$")


