|
|
|
@ -17,9 +17,14 @@ INCLUDE(ExternalProject)
|
|
|
|
|
macro(PROMPT_PROTOBUF_LIB)
|
|
|
|
|
MESSAGE(STATUS "Protobuf protoc executable: ${PROTOBUF_PROTOC_EXECUTABLE}")
|
|
|
|
|
MESSAGE(STATUS "Protobuf library: ${PROTOBUF_LIBRARY}")
|
|
|
|
|
MESSAGE(STATUS "Protobuf version: ${PROTOBUF_VERSION}")
|
|
|
|
|
INCLUDE_DIRECTORIES(${PROTOBUF_INCLUDE_DIR})
|
|
|
|
|
RETURN()
|
|
|
|
|
endmacro()
|
|
|
|
|
macro(SET_PROTOBUF_VERSION)
|
|
|
|
|
EXEC_PROGRAM(${PROTOBUF_PROTOC_EXECUTABLE} ARGS --version OUTPUT_VARIABLE PROTOBUF_VERSION)
|
|
|
|
|
STRING(REGEX MATCH "[0-9]+.[0-9]+" PROTOBUF_VERSION "${PROTOBUF_VERSION}")
|
|
|
|
|
endmacro()
|
|
|
|
|
|
|
|
|
|
set(PROTOBUF_ROOT "" CACHE PATH "Folder contains protobuf")
|
|
|
|
|
if (NOT "${PROTOBUF_ROOT}" STREQUAL "")
|
|
|
|
@ -30,6 +35,7 @@ if (NOT "${PROTOBUF_ROOT}" STREQUAL "")
|
|
|
|
|
find_program(PROTOBUF_PROTOC_EXECUTABLE protoc PATHS ${PROTOBUF_ROOT}/bin)
|
|
|
|
|
if (PROTOBUF_INCLUDE_DIR AND PROTOBUF_LIBRARY AND PROTOBUF_LITE_LIBRARY AND PROTOBUF_PROTOC_LIBRARY AND PROTOBUF_PROTOC_EXECUTABLE)
|
|
|
|
|
message(STATUS "Using custom protobuf library in ${PROTOBUF_ROOT}.")
|
|
|
|
|
SET_PROTOBUF_VERSION()
|
|
|
|
|
PROMPT_PROTOBUF_LIB()
|
|
|
|
|
else()
|
|
|
|
|
message(WARNING "Cannot find protobuf library in ${PROTOBUF_ROOT}.")
|
|
|
|
@ -100,8 +106,7 @@ IF(NOT CMAKE_CROSSCOMPILING)
|
|
|
|
|
FIND_PACKAGE(Protobuf ${PROTOBUF_VERSION})
|
|
|
|
|
|
|
|
|
|
IF(PROTOBUF_FOUND)
|
|
|
|
|
EXEC_PROGRAM(${PROTOBUF_PROTOC_EXECUTABLE} ARGS --version OUTPUT_VARIABLE PROTOBUF_VERSION)
|
|
|
|
|
STRING(REGEX MATCH "[0-9]+.[0-9]+" PROTOBUF_VERSION "${PROTOBUF_VERSION}")
|
|
|
|
|
SET_PROTOBUF_VERSION()
|
|
|
|
|
IF("${PROTOBUF_VERSION}" VERSION_LESS "3.1.0")
|
|
|
|
|
SET(PROTOBUF_FOUND OFF)
|
|
|
|
|
ENDIF()
|
|
|
|
|