Pārlūkot izejas kodu

Merge pull request #3698 from hesmar/hesmar/fixProtocIncludeDirs

protobuf_generate: create include path only for proto files
Jisi Liu 8 gadi atpakaļ
vecāks
revīzija
37f984f9df
1 mainītis faili ar 15 papildinājumiem un 15 dzēšanām
  1. 15 15
      cmake/protobuf-config.cmake.in

+ 15 - 15
cmake/protobuf-config.cmake.in

@@ -49,9 +49,23 @@ function(protobuf_generate)
     endif()
     endif()
   endif()
   endif()
 
 
+  if(protobuf_generate_TARGET)
+    get_target_property(_source_list ${protobuf_generate_TARGET} SOURCES)
+    foreach(_file ${_source_list})
+      if(_file MATCHES "proto$")
+        list(APPEND protobuf_generate_PROTOS ${_file})
+      endif()
+    endforeach()
+  endif()
+
+  if(NOT protobuf_generate_PROTOS)
+    message(SEND_ERROR "Error: protobuf_generate could not find any .proto files")
+    return()
+  endif()
+
   if(protobuf_generate_APPEND_PATH)
   if(protobuf_generate_APPEND_PATH)
     # Create an include path for each file specified
     # Create an include path for each file specified
-    foreach(_file ${ARGN})
+    foreach(_file ${protobuf_generate_PROTOS})
       get_filename_component(_abs_file ${_file} ABSOLUTE)
       get_filename_component(_abs_file ${_file} ABSOLUTE)
       get_filename_component(_abs_path ${_abs_file} PATH)
       get_filename_component(_abs_path ${_abs_file} PATH)
       list(FIND _protobuf_include_path ${_abs_path} _contains_already)
       list(FIND _protobuf_include_path ${_abs_path} _contains_already)
@@ -71,20 +85,6 @@ function(protobuf_generate)
     endif()
     endif()
   endforeach()
   endforeach()
 
 
-  if(protobuf_generate_TARGET)
-    get_target_property(_source_list ${protobuf_generate_TARGET} SOURCES)
-    foreach(_file ${_source_list})
-      if(_file MATCHES "proto$")
-        list(APPEND protobuf_generate_PROTOS ${_file})
-      endif()
-    endforeach()
-  endif()
-
-  if(NOT protobuf_generate_PROTOS)
-    message(SEND_ERROR "Error: protobuf_generate could not find any .proto files")
-    return()
-  endif()
-
   set(_generated_srcs_all)
   set(_generated_srcs_all)
   foreach(_proto ${protobuf_generate_PROTOS})
   foreach(_proto ${protobuf_generate_PROTOS})
     get_filename_component(_abs_file ${_proto} ABSOLUTE)
     get_filename_component(_abs_file ${_proto} ABSOLUTE)