diff options
author | Kitware Robot <kwrobot@kitware.com> | 2018-10-22 14:31:08 (GMT) |
---|---|---|
committer | Kyle Edwards <kyle.edwards@kitware.com> | 2018-10-22 15:09:34 (GMT) |
commit | df4ed1e9ffcdb6b99ccff9e6f44808fdd2abda56 (patch) | |
tree | 4617dc2407a2e8e9c2bfdf77f09bdd396a9823e0 /Modules/FindProtobuf.cmake | |
parent | 7115aa6c2249ec368fe0dfbd257a22eb0e04042d (diff) | |
download | CMake-df4ed1e9ffcdb6b99ccff9e6f44808fdd2abda56.zip CMake-df4ed1e9ffcdb6b99ccff9e6f44808fdd2abda56.tar.gz CMake-df4ed1e9ffcdb6b99ccff9e6f44808fdd2abda56.tar.bz2 |
Help: Convert remaining modules to block-style comments
Diffstat (limited to 'Modules/FindProtobuf.cmake')
-rw-r--r-- | Modules/FindProtobuf.cmake | 235 |
1 files changed, 118 insertions, 117 deletions
diff --git a/Modules/FindProtobuf.cmake b/Modules/FindProtobuf.cmake index d6d1ec6..1fc2167 100644 --- a/Modules/FindProtobuf.cmake +++ b/Modules/FindProtobuf.cmake @@ -1,123 +1,124 @@ # Distributed under the OSI-approved BSD 3-Clause License. See accompanying # file Copyright.txt or https://cmake.org/licensing for details. -#.rst: -# FindProtobuf -# ------------ -# -# Locate and configure the Google Protocol Buffers library. -# -# The following variables can be set and are optional: -# -# ``Protobuf_SRC_ROOT_FOLDER`` -# When compiling with MSVC, if this cache variable is set -# the protobuf-default VS project build locations -# (vsprojects/Debug and vsprojects/Release -# or vsprojects/x64/Debug and vsprojects/x64/Release) -# will be searched for libraries and binaries. -# ``Protobuf_IMPORT_DIRS`` -# List of additional directories to be searched for -# imported .proto files. -# ``Protobuf_DEBUG`` -# Show debug messages. -# ``Protobuf_USE_STATIC_LIBS`` -# Set to ON to force the use of the static libraries. -# Default is OFF. -# -# Defines the following variables: -# -# ``Protobuf_FOUND`` -# Found the Google Protocol Buffers library -# (libprotobuf & header files) -# ``Protobuf_VERSION`` -# Version of package found. -# ``Protobuf_INCLUDE_DIRS`` -# Include directories for Google Protocol Buffers -# ``Protobuf_LIBRARIES`` -# The protobuf libraries -# ``Protobuf_PROTOC_LIBRARIES`` -# The protoc libraries -# ``Protobuf_LITE_LIBRARIES`` -# The protobuf-lite libraries -# -# The following :prop_tgt:`IMPORTED` targets are also defined: -# -# ``protobuf::libprotobuf`` -# The protobuf library. -# ``protobuf::libprotobuf-lite`` -# The protobuf lite library. -# ``protobuf::libprotoc`` -# The protoc library. -# ``protobuf::protoc`` -# The protoc compiler. -# -# The following cache variables are also available to set or use: -# -# ``Protobuf_LIBRARY`` -# The protobuf library -# ``Protobuf_PROTOC_LIBRARY`` -# The protoc library -# ``Protobuf_INCLUDE_DIR`` -# The include directory for protocol buffers -# ``Protobuf_PROTOC_EXECUTABLE`` -# The protoc compiler -# ``Protobuf_LIBRARY_DEBUG`` -# The protobuf library (debug) -# ``Protobuf_PROTOC_LIBRARY_DEBUG`` -# The protoc library (debug) -# ``Protobuf_LITE_LIBRARY`` -# The protobuf lite library -# ``Protobuf_LITE_LIBRARY_DEBUG`` -# The protobuf lite library (debug) -# -# Example: -# -# .. code-block:: cmake -# -# find_package(Protobuf REQUIRED) -# include_directories(${Protobuf_INCLUDE_DIRS}) -# include_directories(${CMAKE_CURRENT_BINARY_DIR}) -# protobuf_generate_cpp(PROTO_SRCS PROTO_HDRS foo.proto) -# protobuf_generate_cpp(PROTO_SRCS PROTO_HDRS EXPORT_MACRO DLL_EXPORT foo.proto) -# protobuf_generate_cpp(PROTO_SRCS PROTO_HDRS DESCRIPTORS PROTO_DESCS foo.proto) -# protobuf_generate_python(PROTO_PY foo.proto) -# add_executable(bar bar.cc ${PROTO_SRCS} ${PROTO_HDRS}) -# target_link_libraries(bar ${Protobuf_LIBRARIES}) -# -# .. note:: -# The ``protobuf_generate_cpp`` and ``protobuf_generate_python`` -# functions and :command:`add_executable` or :command:`add_library` -# calls only work properly within the same directory. -# -# .. command:: protobuf_generate_cpp -# -# Add custom commands to process ``.proto`` files to C++:: -# -# protobuf_generate_cpp (<SRCS> <HDRS> -# [DESCRIPTORS <DESC>] [EXPORT_MACRO <MACRO>] [<ARGN>...]) -# -# ``SRCS`` -# Variable to define with autogenerated source files -# ``HDRS`` -# Variable to define with autogenerated header files -# ``DESCRIPTORS`` -# Variable to define with autogenerated descriptor files, if requested. -# ``EXPORT_MACRO`` -# is a macro which should expand to ``__declspec(dllexport)`` or -# ``__declspec(dllimport)`` depending on what is being compiled. -# ``ARGN`` -# ``.proto`` files -# -# .. command:: protobuf_generate_python -# -# Add custom commands to process ``.proto`` files to Python:: -# -# protobuf_generate_python (<PY> [<ARGN>...]) -# -# ``PY`` -# Variable to define with autogenerated Python files -# ``ARGN`` -# ``.proto`` filess +#[=======================================================================[.rst: +FindProtobuf +------------ + +Locate and configure the Google Protocol Buffers library. + +The following variables can be set and are optional: + +``Protobuf_SRC_ROOT_FOLDER`` + When compiling with MSVC, if this cache variable is set + the protobuf-default VS project build locations + (vsprojects/Debug and vsprojects/Release + or vsprojects/x64/Debug and vsprojects/x64/Release) + will be searched for libraries and binaries. +``Protobuf_IMPORT_DIRS`` + List of additional directories to be searched for + imported .proto files. +``Protobuf_DEBUG`` + Show debug messages. +``Protobuf_USE_STATIC_LIBS`` + Set to ON to force the use of the static libraries. + Default is OFF. + +Defines the following variables: + +``Protobuf_FOUND`` + Found the Google Protocol Buffers library + (libprotobuf & header files) +``Protobuf_VERSION`` + Version of package found. +``Protobuf_INCLUDE_DIRS`` + Include directories for Google Protocol Buffers +``Protobuf_LIBRARIES`` + The protobuf libraries +``Protobuf_PROTOC_LIBRARIES`` + The protoc libraries +``Protobuf_LITE_LIBRARIES`` + The protobuf-lite libraries + +The following :prop_tgt:`IMPORTED` targets are also defined: + +``protobuf::libprotobuf`` + The protobuf library. +``protobuf::libprotobuf-lite`` + The protobuf lite library. +``protobuf::libprotoc`` + The protoc library. +``protobuf::protoc`` + The protoc compiler. + +The following cache variables are also available to set or use: + +``Protobuf_LIBRARY`` + The protobuf library +``Protobuf_PROTOC_LIBRARY`` + The protoc library +``Protobuf_INCLUDE_DIR`` + The include directory for protocol buffers +``Protobuf_PROTOC_EXECUTABLE`` + The protoc compiler +``Protobuf_LIBRARY_DEBUG`` + The protobuf library (debug) +``Protobuf_PROTOC_LIBRARY_DEBUG`` + The protoc library (debug) +``Protobuf_LITE_LIBRARY`` + The protobuf lite library +``Protobuf_LITE_LIBRARY_DEBUG`` + The protobuf lite library (debug) + +Example: + +.. code-block:: cmake + + find_package(Protobuf REQUIRED) + include_directories(${Protobuf_INCLUDE_DIRS}) + include_directories(${CMAKE_CURRENT_BINARY_DIR}) + protobuf_generate_cpp(PROTO_SRCS PROTO_HDRS foo.proto) + protobuf_generate_cpp(PROTO_SRCS PROTO_HDRS EXPORT_MACRO DLL_EXPORT foo.proto) + protobuf_generate_cpp(PROTO_SRCS PROTO_HDRS DESCRIPTORS PROTO_DESCS foo.proto) + protobuf_generate_python(PROTO_PY foo.proto) + add_executable(bar bar.cc ${PROTO_SRCS} ${PROTO_HDRS}) + target_link_libraries(bar ${Protobuf_LIBRARIES}) + +.. note:: + The ``protobuf_generate_cpp`` and ``protobuf_generate_python`` + functions and :command:`add_executable` or :command:`add_library` + calls only work properly within the same directory. + +.. command:: protobuf_generate_cpp + + Add custom commands to process ``.proto`` files to C++:: + + protobuf_generate_cpp (<SRCS> <HDRS> + [DESCRIPTORS <DESC>] [EXPORT_MACRO <MACRO>] [<ARGN>...]) + + ``SRCS`` + Variable to define with autogenerated source files + ``HDRS`` + Variable to define with autogenerated header files + ``DESCRIPTORS`` + Variable to define with autogenerated descriptor files, if requested. + ``EXPORT_MACRO`` + is a macro which should expand to ``__declspec(dllexport)`` or + ``__declspec(dllimport)`` depending on what is being compiled. + ``ARGN`` + ``.proto`` files + +.. command:: protobuf_generate_python + + Add custom commands to process ``.proto`` files to Python:: + + protobuf_generate_python (<PY> [<ARGN>...]) + + ``PY`` + Variable to define with autogenerated Python files + ``ARGN`` + ``.proto`` filess +#]=======================================================================] function(protobuf_generate) include(CMakeParseArguments) |