29 lines
1.3 KiB
CMake
29 lines
1.3 KiB
CMake
include (ExternalProject)
|
|
|
|
set(PROTOBUF_INCLUDE_DIRS ${CMAKE_CURRENT_BINARY_DIR}/protobuf/src/protobuf/src)
|
|
set(PROTOBUF_URL https://github.com/google/protobuf/releases/download/v3.1.0/protobuf-cpp-3.1.0.zip)
|
|
set(PROTOBUF_HASH SHA256=0c18ccc99e921c407f359047f9b56cca196c3ab36eed79e5979df6c1f9e623b7)
|
|
|
|
if(WIN32)
|
|
set(PROTOBUF_LIBRARIES ${CMAKE_CURRENT_BINARY_DIR}/protobuf/src/protobuf/${CMAKE_BUILD_TYPE}/libprotobuf.lib)
|
|
set(PROTOBUF_PROTOC_EXECUTABLE ${CMAKE_CURRENT_BINARY_DIR}/protobuf/src/protobuf/${CMAKE_BUILD_TYPE}/protoc.exe)
|
|
else()
|
|
set(PROTOBUF_LIBRARIES ${CMAKE_CURRENT_BINARY_DIR}/protobuf/src/protobuf/libprotobuf.a)
|
|
set(PROTOBUF_PROTOC_EXECUTABLE ${CMAKE_CURRENT_BINARY_DIR}/protobuf/src/protobuf/protoc)
|
|
endif()
|
|
|
|
ExternalProject_Add(protobuf
|
|
PREFIX protobuf
|
|
URL ${PROTOBUF_URL}
|
|
DOWNLOAD_DIR "${DOWNLOAD_LOCATION}"
|
|
BUILD_IN_SOURCE 1
|
|
SOURCE_DIR ${CMAKE_BINARY_DIR}/protobuf/src/protobuf
|
|
CONFIGURE_COMMAND ${CMAKE_COMMAND} cmake/ -Dprotobuf_BUILD_TESTS=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON -Dprotobuf_MSVC_STATIC_RUNTIME:BOOL=OFF
|
|
INSTALL_COMMAND ""
|
|
CMAKE_CACHE_ARGS
|
|
-DCMAKE_BUILD_TYPE:STRING=Release
|
|
-DCMAKE_VERBOSE_MAKEFILE:BOOL=OFF
|
|
-Dprotobuf_MSVC_STATIC_RUNTIME:BOOL=OFF
|
|
-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON
|
|
)
|