CMakeLists.txt 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. set(TARGET addressbook)
  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. find_package(QtProtobuf CONFIG REQUIRED)
  7. find_package(QtGrpc CONFIG REQUIRED)
  8. set(GENERATED_HEADERS
  9. addressbookclient.h
  10. address.h
  11. contact.h
  12. contacts.h
  13. globalenums.h
  14. job.h
  15. listframe.h
  16. phonenumber.h
  17. globalenums.h
  18. none.h
  19. callstatus.h)
  20. file(GLOB PROTO_FILES ABSOLUTE ${CMAKE_CURRENT_SOURCE_DIR}/proto/addressbook.proto)
  21. generate_qtprotobuf(TARGET ${TARGET}
  22. OUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/generated
  23. PROTO_FILES ${PROTO_FILES}
  24. GENERATED_HEADERS ${GENERATED_HEADERS})
  25. file(GLOB SOURCES main.cpp
  26. addressbookengine.cpp)
  27. file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/../addressbookserver/cert.pem DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
  28. add_executable(${TARGET} ${SOURCES} resources.qrc)
  29. add_dependencies(${TARGET} ${QtProtobuf_GENERATED} examples_common)
  30. target_include_directories(${TARGET} PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/generated)
  31. target_link_libraries(${TARGET} examples_common QtProtobufProject::QtProtobuf QtProtobufProject::QtGrpc ${QtProtobuf_GENERATED} Qt5::Quick Qt5::Qml)