CMakeLists.txt 1.0 KB

12345678910111213141516171819202122232425262728293031323334
  1. set(TARGET simplechat)
  2. set(CMAKE_INCLUDE_CURRENT_DIR ON)
  3. set(CMAKE_AUTOMOC ON)
  4. set(CMAKE_AUTORCC ON)
  5. find_package(Qt5 COMPONENTS Core Quick Network REQUIRED)
  6. set(GENERATED_HEADERS
  7. chatmessage.h
  8. chatmessages.h
  9. user.h
  10. users.h
  11. none.h
  12. simplechatclient.h)
  13. file(GLOB PROTO_FILES ABSOLUTE ${CMAKE_CURRENT_SOURCE_DIR}/proto/simplechat.proto)
  14. generate_qtprotobuf(TARGET ${TARGET}
  15. OUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/generated
  16. PROTO_FILES ${PROTO_FILES}
  17. GENERATED_HEADERS ${GENERATED_HEADERS})
  18. file(GLOB SOURCES main.cpp
  19. simplechatengine.cpp
  20. universallistmodelbase.cpp
  21. universallistmodel.cpp)
  22. file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/../simplechatserver/cert.pem DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
  23. add_executable(${TARGET} ${SOURCES} resources.qrc)
  24. add_dependencies(${TARGET} ${QtProtobuf_GENERATED})
  25. target_include_directories(${TARGET} PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/generated)
  26. target_link_libraries(${TARGET} ${GRPC_LIBRARY_TARGET} ${PROTOBUF_LIBRARY_TARGET} ${QtProtobuf_GENERATED} Qt5::Quick Qt5::Qml)