| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201 | 
							- # This file contains backwards compatibility patches for various legacy functions and variables
 
- # Functions
 
- function(PROTOBUF_GENERATE_CPP SRCS HDRS)
 
-   cmake_parse_arguments(protobuf_generate_cpp "" "EXPORT_MACRO" "" ${ARGN})
 
-   set(_proto_files "${protobuf_generate_cpp_UNPARSED_ARGUMENTS}")
 
-   if(NOT _proto_files)
 
-     message(SEND_ERROR "Error: PROTOBUF_GENERATE_CPP() called without any proto files")
 
-     return()
 
-   endif()
 
-   if(PROTOBUF_GENERATE_CPP_APPEND_PATH)
 
-     set(_append_arg APPEND_PATH)
 
-   endif()
 
-   if(DEFINED Protobuf_IMPORT_DIRS)
 
-     set(_import_arg IMPORT_DIRS ${Protobuf_IMPORT_DIRS})
 
-   endif()
 
-   set(_outvar)
 
-   protobuf_generate(${_append_arg} LANGUAGE cpp EXPORT_MACRO ${protobuf_generate_cpp_EXPORT_MACRO} OUT_VAR _outvar ${_import_arg} PROTOS ${_proto_files})
 
-   set(${SRCS})
 
-   set(${HDRS})
 
-   foreach(_file ${_outvar})
 
-     if(_file MATCHES "cc$")
 
-       list(APPEND ${SRCS} ${_file})
 
-     else()
 
-       list(APPEND ${HDRS} ${_file})
 
-     endif()
 
-   endforeach()
 
-   set(${SRCS} ${${SRCS}} PARENT_SCOPE)
 
-   set(${HDRS} ${${HDRS}} PARENT_SCOPE)
 
- endfunction()
 
- function(PROTOBUF_GENERATE_PYTHON SRCS)
 
-   if(NOT ARGN)
 
-     message(SEND_ERROR "Error: PROTOBUF_GENERATE_PYTHON() called without any proto files")
 
-     return()
 
-   endif()
 
-   if(PROTOBUF_GENERATE_CPP_APPEND_PATH)
 
-     set(_append_arg APPEND_PATH)
 
-   endif()
 
-   if(DEFINED Protobuf_IMPORT_DIRS)
 
-     set(_import_arg IMPORT_DIRS ${Protobuf_IMPORT_DIRS})
 
-   endif()
 
-   set(_outvar)
 
-   protobuf_generate(${_append_arg} LANGUAGE python OUT_VAR _outvar ${_import_arg} PROTOS ${ARGN})
 
-   set(${SRCS} ${_outvar} PARENT_SCOPE)
 
- endfunction()
 
- # Environment
 
- # Backwards compatibility
 
- # Define camel case versions of input variables
 
- foreach(UPPER
 
-     PROTOBUF_SRC_ROOT_FOLDER
 
-     PROTOBUF_IMPORT_DIRS
 
-     PROTOBUF_DEBUG
 
-     PROTOBUF_LIBRARY
 
-     PROTOBUF_PROTOC_LIBRARY
 
-     PROTOBUF_INCLUDE_DIR
 
-     PROTOBUF_PROTOC_EXECUTABLE
 
-     PROTOBUF_LIBRARY_DEBUG
 
-     PROTOBUF_PROTOC_LIBRARY_DEBUG
 
-     PROTOBUF_LITE_LIBRARY
 
-     PROTOBUF_LITE_LIBRARY_DEBUG
 
-     )
 
-     if (DEFINED ${UPPER})
 
-         string(REPLACE "PROTOBUF_" "Protobuf_" Camel ${UPPER})
 
-         if (NOT DEFINED ${Camel})
 
-             set(${Camel} ${${UPPER}})
 
-         endif()
 
-     endif()
 
- endforeach()
 
- if(DEFINED Protobuf_SRC_ROOT_FOLDER)
 
-   message(AUTHOR_WARNING "Variable Protobuf_SRC_ROOT_FOLDER defined, but not"
 
-     " used in CONFIG mode")
 
- endif()
 
- include(SelectLibraryConfigurations)
 
- # Internal function: search for normal library as well as a debug one
 
- #    if the debug one is specified also include debug/optimized keywords
 
- #    in *_LIBRARIES variable
 
- function(_protobuf_find_libraries name filename)
 
-   if(${name}_LIBRARIES)
 
-     # Use result recorded by a previous call.
 
-   elseif(${name}_LIBRARY)
 
-     # Honor cache entry used by CMake 3.5 and lower.
 
-     set(${name}_LIBRARIES "${${name}_LIBRARY}" PARENT_SCOPE)
 
-   else()
 
-     get_target_property(${name}_LIBRARY_RELEASE protobuf::lib${filename}
 
-       LOCATION_RELEASE)
 
-     get_target_property(${name}_LIBRARY_RELWITHDEBINFO protobuf::lib${filename}
 
-       LOCATION_RELWITHDEBINFO)
 
-     get_target_property(${name}_LIBRARY_MINSIZEREL protobuf::lib${filename}
 
-       LOCATION_MINSIZEREL)
 
-     get_target_property(${name}_LIBRARY_DEBUG protobuf::lib${filename}
 
-       LOCATION_DEBUG)
 
-     select_library_configurations(${name})
 
-     set(${name}_LIBRARY ${${name}_LIBRARY} PARENT_SCOPE)
 
-     set(${name}_LIBRARIES ${${name}_LIBRARIES} PARENT_SCOPE)
 
-   endif()
 
- endfunction()
 
- # Internal function: find threads library
 
- function(_protobuf_find_threads)
 
-     set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
 
-     find_package(Threads)
 
-     if(Threads_FOUND)
 
-         list(APPEND PROTOBUF_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
 
-         set(PROTOBUF_LIBRARIES "${PROTOBUF_LIBRARIES}" PARENT_SCOPE)
 
-     endif()
 
- endfunction()
 
- #
 
- # Main.
 
- #
 
- # By default have PROTOBUF_GENERATE_CPP macro pass -I to protoc
 
- # for each directory where a proto file is referenced.
 
- if(NOT DEFINED PROTOBUF_GENERATE_CPP_APPEND_PATH)
 
-   set(PROTOBUF_GENERATE_CPP_APPEND_PATH TRUE)
 
- endif()
 
- # The Protobuf library
 
- _protobuf_find_libraries(Protobuf protobuf)
 
- # The Protobuf Lite library
 
- _protobuf_find_libraries(Protobuf_LITE protobuf-lite)
 
- # The Protobuf Protoc Library
 
- _protobuf_find_libraries(Protobuf_PROTOC protoc)
 
- if(UNIX)
 
-   _protobuf_find_threads()
 
- endif()
 
- # Set the include directory
 
- get_target_property(Protobuf_INCLUDE_DIRS protobuf::libprotobuf
 
-   INTERFACE_INCLUDE_DIRECTORIES)
 
- # Set the protoc Executable
 
- get_target_property(Protobuf_PROTOC_EXECUTABLE protobuf::protoc
 
-   IMPORTED_LOCATION_RELEASE)
 
- if(NOT EXISTS "${Protobuf_PROTOC_EXECUTABLE}")
 
-   get_target_property(Protobuf_PROTOC_EXECUTABLE protobuf::protoc
 
-     IMPORTED_LOCATION_RELWITHDEBINFO)
 
- endif()
 
- if(NOT EXISTS "${Protobuf_PROTOC_EXECUTABLE}")
 
-   get_target_property(Protobuf_PROTOC_EXECUTABLE protobuf::protoc
 
-     IMPORTED_LOCATION_MINSIZEREL)
 
- endif()
 
- if(NOT EXISTS "${Protobuf_PROTOC_EXECUTABLE}")
 
-   get_target_property(Protobuf_PROTOC_EXECUTABLE protobuf::protoc
 
-     IMPORTED_LOCATION_DEBUG)
 
- endif()
 
- if(NOT EXISTS "${Protobuf_PROTOC_EXECUTABLE}")
 
-   get_target_property(Protobuf_PROTOC_EXECUTABLE protobuf::protoc
 
-     IMPORTED_LOCATION_NOCONFIG)
 
- endif()
 
- # Version info variable
 
- set(Protobuf_VERSION "@protobuf_VERSION@")
 
- include(FindPackageHandleStandardArgs)
 
- FIND_PACKAGE_HANDLE_STANDARD_ARGS(Protobuf
 
-     REQUIRED_VARS Protobuf_PROTOC_EXECUTABLE Protobuf_LIBRARIES Protobuf_INCLUDE_DIRS
 
-     VERSION_VAR Protobuf_VERSION
 
- )
 
- # Backwards compatibility
 
- # Define upper case versions of output variables
 
- foreach(Camel
 
-     Protobuf_VERSION
 
-     Protobuf_SRC_ROOT_FOLDER
 
-     Protobuf_IMPORT_DIRS
 
-     Protobuf_DEBUG
 
-     Protobuf_INCLUDE_DIRS
 
-     Protobuf_LIBRARIES
 
-     Protobuf_PROTOC_LIBRARIES
 
-     Protobuf_LITE_LIBRARIES
 
-     Protobuf_LIBRARY
 
-     Protobuf_PROTOC_LIBRARY
 
-     Protobuf_INCLUDE_DIR
 
-     Protobuf_PROTOC_EXECUTABLE
 
-     Protobuf_LIBRARY_DEBUG
 
-     Protobuf_PROTOC_LIBRARY_DEBUG
 
-     Protobuf_LITE_LIBRARY
 
-     Protobuf_LITE_LIBRARY_DEBUG
 
-     )
 
-     string(TOUPPER ${Camel} UPPER)
 
-     set(${UPPER} ${${Camel}})
 
- endforeach()
 
 
  |