FindProtobuf: Fix protobuf_generate_*() to handle subdirs
The change in commit v3.7.0-rc1~513^2 (FindProtobuf: fix protobuf_generate_*() to handle proto files in subdirs, 2016-06-09) incorrectly adds subdirectories to the path of the generated files when `*.proto` files are passed to `protobuf_generate_*` with subdirectories. This behavior is not correct when `PROTOBUF_GENERATE_CPP_APPEND_PATH` is True (default behavior) as `protoc` will generate output file in the current build directory.
This commit is contained in:
parent
b99bbfe88d
commit
2b9dad694a
|
@ -136,10 +136,12 @@ function(PROTOBUF_GENERATE_CPP SRCS HDRS)
|
||||||
foreach(FIL ${ARGN})
|
foreach(FIL ${ARGN})
|
||||||
get_filename_component(ABS_FIL ${FIL} ABSOLUTE)
|
get_filename_component(ABS_FIL ${FIL} ABSOLUTE)
|
||||||
get_filename_component(FIL_WE ${FIL} NAME_WE)
|
get_filename_component(FIL_WE ${FIL} NAME_WE)
|
||||||
|
if(NOT PROTOBUF_GENERATE_CPP_APPEND_PATH)
|
||||||
get_filename_component(FIL_DIR ${FIL} DIRECTORY)
|
get_filename_component(FIL_DIR ${FIL} DIRECTORY)
|
||||||
if(FIL_DIR)
|
if(FIL_DIR)
|
||||||
set(FIL_WE "${FIL_DIR}/${FIL_WE}")
|
set(FIL_WE "${FIL_DIR}/${FIL_WE}")
|
||||||
endif()
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
list(APPEND ${SRCS} "${CMAKE_CURRENT_BINARY_DIR}/${FIL_WE}.pb.cc")
|
list(APPEND ${SRCS} "${CMAKE_CURRENT_BINARY_DIR}/${FIL_WE}.pb.cc")
|
||||||
list(APPEND ${HDRS} "${CMAKE_CURRENT_BINARY_DIR}/${FIL_WE}.pb.h")
|
list(APPEND ${HDRS} "${CMAKE_CURRENT_BINARY_DIR}/${FIL_WE}.pb.h")
|
||||||
|
@ -197,10 +199,12 @@ function(PROTOBUF_GENERATE_PYTHON SRCS)
|
||||||
foreach(FIL ${ARGN})
|
foreach(FIL ${ARGN})
|
||||||
get_filename_component(ABS_FIL ${FIL} ABSOLUTE)
|
get_filename_component(ABS_FIL ${FIL} ABSOLUTE)
|
||||||
get_filename_component(FIL_WE ${FIL} NAME_WE)
|
get_filename_component(FIL_WE ${FIL} NAME_WE)
|
||||||
|
if(NOT PROTOBUF_GENERATE_CPP_APPEND_PATH)
|
||||||
get_filename_component(FIL_DIR ${FIL} DIRECTORY)
|
get_filename_component(FIL_DIR ${FIL} DIRECTORY)
|
||||||
if(FIL_DIR)
|
if(FIL_DIR)
|
||||||
set(FIL_WE "${FIL_DIR}/${FIL_WE}")
|
set(FIL_WE "${FIL_DIR}/${FIL_WE}")
|
||||||
endif()
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
list(APPEND ${SRCS} "${CMAKE_CURRENT_BINARY_DIR}/${FIL_WE}_pb2.py")
|
list(APPEND ${SRCS} "${CMAKE_CURRENT_BINARY_DIR}/${FIL_WE}_pb2.py")
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
|
|
Loading…
Reference in New Issue