Sfoglia il codice sorgente

FindProtobuf: Merge patch that allows extra import dirs

Added support for additional import paths during protoc invocation
time to the PROTOBUF_GENERATE_CPP public macro via a new
PROTOBUF_IMPORT_DIRS optional variable.

Patch courtesy of Miroslav Kes <[email protected]>
Philip Lowman 14 anni fa
parent
commit
84079c92ca
1 ha cambiato i file con 13 aggiunte e 0 eliminazioni
  1. 13 0
      Modules/FindProtobuf.cmake

+ 13 - 0
Modules/FindProtobuf.cmake

@@ -7,6 +7,9 @@
 #                              (vsprojects/Debug & vsprojects/Release) will be searched
 #                              for libraries and binaries.
 #
+#   PROTOBUF_IMPORT_DIRS     - List of additional directories to be searched for
+#                              imported .proto files. (New in CMake 2.8.7)
+#
 # Defines the following variables:
 #
 #   PROTOBUF_FOUND - Found the Google Protocol Buffers library (libprotobuf & header files)
@@ -91,6 +94,16 @@ function(PROTOBUF_GENERATE_CPP SRCS HDRS)
     set(_protobuf_include_path -I ${CMAKE_CURRENT_SOURCE_DIR})
   endif()
 
+  if(DEFINED PROTOBUF_IMPORT_DIRS)
+    foreach(DIR ${PROTOBUF_IMPORT_DIRS})
+      get_filename_component(ABS_PATH ${DIR} ABSOLUTE)
+      list(FIND _protobuf_include_path ${ABS_PATH} _contains_already)
+      if(${_contains_already} EQUAL -1)
+          list(APPEND _protobuf_include_path -I ${ABS_PATH})
+      endif()
+    endforeach()
+  endif()
+
   set(${SRCS})
   set(${HDRS})
   foreach(FIL ${ARGN})