cmake_minimum_required(VERSION 2.8)

project(NeuralNetworkUi LANGUAGES CXX)

find_package(Qt5 COMPONENTS Quick Gui Core Qml REQUIRED)

set(QTPROTOBUF_MAKE_TESTS false)
set(QTPROTOBUF_MAKE_EXAMPLES false)
add_subdirectory("qtprotobuf")
find_package(QtProtobufProject CONFIG COMPONENTS QtProtobuf QtGrpc REQUIRED)
if(Qt5_POSITION_INDEPENDENT_CODE)
    set(CMAKE_POSITION_INDEPENDENT_CODE TRUE)
endif()

file(GLOB PROTO_FILES ABSOLUTE "${CMAKE_CURRENT_SOURCE_DIR}/../neuralnetwork/remotecontrol/remotecontrol.proto")

generate_qtprotobuf(TARGET NeuralNetworkUi PROTO_FILES ${PROTO_FILES})

set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)

add_executable(NeuralNetworkUi main.cpp qml.qrc valueindicator.cpp visualizermodel.cpp dense.cpp layertrigger.cpp)
target_link_libraries(NeuralNetworkUi Qt5::Core Qt5::Gui Qt5::Qml Qt5::Quick QtProtobufProject::QtProtobuf QtProtobufProject::QtGrpc ${QtProtobuf_GENERATED})