Skip to content
Snippets Groups Projects
CMakeLists.txt 1.59 KiB
Newer Older
  • Learn to ignore specific revisions
  • if (fmt_FOUND)
      get_target_property(FMT_INCLUDE_DIR fmt::fmt INTERFACE_INCLUDE_DIRECTORIES)
    endif()
    
    include_directories(
      ${CMAKE_CURRENT_BINARY_DIR}
      ${CMAKE_SOURCE_DIR}/src
      ${VENDOR_INSTALL_DIR}/include
      ${VENDOR_INSTALL_DIR}/boost/include
      ${FMT_INCLUDE_DIR}
    
    file(GLOB PROTO_SRC ${CMAKE_SOURCE_DIR}/proto/cpp/vereign/client_library/*.cc)
    list(APPEND PROTO_SRC
      ${CMAKE_SOURCE_DIR}/proto/cpp/google/api/annotations.pb.cc
      ${CMAKE_SOURCE_DIR}/proto/cpp/google/api/http.pb.cc
    
      ${CMAKE_SOURCE_DIR}/proto/cpp/code.vereign.com/code/viam-apis/entities-management-agent/api/api.pb.cc
      ${CMAKE_SOURCE_DIR}/proto/cpp/code.vereign.com/code/viam-apis/versions/api/api.pb.cc
    
    add_library(vereignproto STATIC ${PROTO_SRC})
    
    
    target_link_libraries(
      vereignproto
      fmt::fmt
      protobuf::libprotobuf
      OpenSSL::SSL
      OpenSSL::Crypto
      $<$<CXX_COMPILER_ID:MSVC>:CRYPT32.LIB>
    )
    
    set(vereignlib_src
      vereign/restapi/detail/http_reader.cc
      vereign/restapi/client.cc
      vereign/service/gen/passport_service.cc
      vereign/grpc/server.cc
      vereign/service/passport_service.cc
    )
    
    add_library(vereignlib STATIC ${vereignlib_src})
    target_link_libraries(
      vereignlib
      vereignproto
      gRPC::grpc++_reflection
      gRPC::grpc++
    )
    
    set(csandbox_sources
      csandbox.cc
    )
    
    #add_library(csandboxlib STATIC ${csandboxlib_src})
    #target_link_libraries(csandboxlib ${LIBS})
    
    add_executable(csandbox ${csandbox_sources})
    
    target_link_libraries(csandbox
      fmt::fmt
      Boost::regex
      Threads::Threads
      OpenSSL::SSL
      $<$<CXX_COMPILER_ID:MSVC>:CRYPT32.LIB>
    )