cmake_minimum_required(VERSION 3.15)

project(QmlGevServer)

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)
find_package(Qt5QuickControls2 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
  backend.hpp
  backend.cpp
  ${RESOURCES_RCC} ${RC_FILE})
  


target_link_libraries(${PROJECT_NAME}
  CVB::CvbGevServer
  CVB::CvbUI
  Qt5::Widgets
  Qt5::Quick
  Qt5::QuickControls2
)

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


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


