Allow one to omit building libprotoc and protoc binaries
This commit is contained in:
parent
d3537c24ff
commit
cba18efe18
@ -14,6 +14,7 @@ project(protobuf C CXX)
|
||||
# Options
|
||||
option(protobuf_BUILD_TESTS "Build tests" ON)
|
||||
option(protobuf_BUILD_EXAMPLES "Build examples" OFF)
|
||||
option(protobuf_BUILD_PROTOC_BINARIES "Build libprotoc and protoc compiler" ON)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
set(protobuf_BUILD_SHARED_LIBS_DEFAULT ON)
|
||||
else (BUILD_SHARED_LIBS)
|
||||
@ -184,8 +185,10 @@ endif (protobuf_UNICODE)
|
||||
|
||||
include(libprotobuf-lite.cmake)
|
||||
include(libprotobuf.cmake)
|
||||
include(libprotoc.cmake)
|
||||
include(protoc.cmake)
|
||||
if (protobuf_BUILD_PROTOC_BINARIES)
|
||||
include(libprotoc.cmake)
|
||||
include(protoc.cmake)
|
||||
endif (protobuf_BUILD_PROTOC_BINARIES)
|
||||
|
||||
if (protobuf_BUILD_TESTS)
|
||||
include(tests.cmake)
|
||||
|
@ -5,10 +5,12 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/protobuf.pc.cmake
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/protobuf-lite.pc.cmake
|
||||
${CMAKE_CURRENT_BINARY_DIR}/protobuf-lite.pc @ONLY)
|
||||
|
||||
foreach(_library
|
||||
libprotobuf-lite
|
||||
libprotobuf
|
||||
libprotoc)
|
||||
set(_protobuf_libraries libprotobuf-lite libprotobuf)
|
||||
if (protobuf_BUILD_PROTOC_BINARIES)
|
||||
list(APPEND _protobuf_libraries libprotoc)
|
||||
endif (protobuf_BUILD_PROTOC_BINARIES)
|
||||
|
||||
foreach(_library ${_protobuf_libraries})
|
||||
set_property(TARGET ${_library}
|
||||
PROPERTY INTERFACE_INCLUDE_DIRECTORIES
|
||||
$<BUILD_INTERFACE:${protobuf_source_dir}/src>
|
||||
@ -19,8 +21,10 @@ foreach(_library
|
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT ${_library})
|
||||
endforeach()
|
||||
|
||||
install(TARGETS protoc EXPORT protobuf-targets
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT protoc)
|
||||
if (protobuf_BUILD_PROTOC_BINARIES)
|
||||
install(TARGETS protoc EXPORT protobuf-targets
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT protoc)
|
||||
endif (protobuf_BUILD_PROTOC_BINARIES)
|
||||
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/protobuf.pc ${CMAKE_CURRENT_BINARY_DIR}/protobuf-lite.pc DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
|
||||
|
||||
@ -101,10 +105,18 @@ configure_file(protobuf-options.cmake
|
||||
${CMAKE_INSTALL_CMAKEDIR}/protobuf-options.cmake @ONLY)
|
||||
|
||||
# Allows the build directory to be used as a find directory.
|
||||
export(TARGETS libprotobuf-lite libprotobuf libprotoc protoc
|
||||
NAMESPACE protobuf::
|
||||
FILE ${CMAKE_INSTALL_CMAKEDIR}/protobuf-targets.cmake
|
||||
)
|
||||
|
||||
if (protobuf_BUILD_PROTOC_BINARIES)
|
||||
export(TARGETS libprotobuf-lite libprotobuf libprotoc protoc
|
||||
NAMESPACE protobuf::
|
||||
FILE ${CMAKE_INSTALL_CMAKEDIR}/protobuf-targets.cmake
|
||||
)
|
||||
else (protobuf_BUILD_PROTOC_BINARIES)
|
||||
export(TARGETS libprotobuf-lite libprotobuf
|
||||
NAMESPACE protobuf::
|
||||
FILE ${CMAKE_INSTALL_CMAKEDIR}/protobuf-targets.cmake
|
||||
)
|
||||
endif (protobuf_BUILD_PROTOC_BINARIES)
|
||||
|
||||
install(EXPORT protobuf-targets
|
||||
DESTINATION "${CMAKE_INSTALL_CMAKEDIR}"
|
||||
|
Loading…
Reference in New Issue
Block a user