CMakeLists.txt 1.0 KB

12345678910111213141516171819202122232425
  1. set(TARGET addressbookserver)
  2. set(GENERATED_SOURCES
  3. ${CMAKE_CURRENT_BINARY_DIR}/addressbook.pb.cc
  4. ${CMAKE_CURRENT_BINARY_DIR}/addressbook.grpc.pb.cc)
  5. set_source_files_properties(${GENERATED_SOURCES} PROPERTIES GENERATED TRUE)
  6. add_executable(${TARGET} main.cpp ${GENERATED_SOURCES})
  7. target_include_directories(${TARGET} PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
  8. file(GLOB PROTO_FILES ABSOLUTE ${CMAKE_CURRENT_SOURCE_DIR}/../addressbook/proto/*.proto)
  9. protobuf_generate_all(TARGET ${TARGET}
  10. GENERATED_SOURCES ${GENERATED_SOURCES}
  11. PROTO_FILES ${PROTO_FILES})
  12. if(WIN32)
  13. include_directories(${GRPC_INCLUDE_PATHS} "/")
  14. set(GRPC_LIBRARIES "")
  15. #Needs to set path to protobuf libraries
  16. set(PROTOBUF_LIBRARIES_PATH ${PROTOBUF_INSTALATION_PATH}/lib)
  17. link_directories(${PROTOBUF_LIBRARIES_PATH} ${GRPC_LIBRARIES})
  18. endif()
  19. target_link_libraries(${TARGET} ${Protobuf_LIBRARIES} grpc++ grpc)
  20. file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/cert.pem ${CMAKE_CURRENT_SOURCE_DIR}/key.pem DESTINATION ${CMAKE_CURRENT_BINARY_DIR})