aboutsummaryrefslogtreecommitdiffstats
path: root/cmake/protobuf.cmake
diff options
context:
space:
mode:
authorarcadia-devtools <arcadia-devtools@yandex-team.ru>2022-02-24 17:52:14 +0300
committerarcadia-devtools <arcadia-devtools@yandex-team.ru>2022-02-24 17:52:14 +0300
commit154700b20366969d89b7f6b6ffcedf6be3a1deae (patch)
tree84c3ecf3cb6ca91983676fe6b79f0904d66a9462 /cmake/protobuf.cmake
parente593c74c608a3cd3ec6189c63ec44ed28616340e (diff)
downloadydb-154700b20366969d89b7f6b6ffcedf6be3a1deae.tar.gz
intermediate changes
ref:70ac1bca1acbb458c863fb4686263967ea009057
Diffstat (limited to 'cmake/protobuf.cmake')
-rw-r--r--cmake/protobuf.cmake8
1 files changed, 7 insertions, 1 deletions
diff --git a/cmake/protobuf.cmake b/cmake/protobuf.cmake
index 155caa1443..ef3a9d4cfb 100644
--- a/cmake/protobuf.cmake
+++ b/cmake/protobuf.cmake
@@ -10,7 +10,13 @@ endfunction()
function(target_proto_messages Tgt Scope)
get_property(ProtocExtraOutsSuf TARGET ${Tgt} PROPERTY PROTOC_EXTRA_OUTS)
foreach(proto ${ARGN})
- file(RELATIVE_PATH protoRel ${CMAKE_SOURCE_DIR} ${proto})
+ if (proto MATCHES ${CMAKE_SOURCE_DIR})
+ file(RELATIVE_PATH protoRel ${CMAKE_SOURCE_DIR} ${proto})
+ elseif(proto MATCHES ${CMAKE_BINARY_DIR})
+ file(RELATIVE_PATH protoRel ${CMAKE_BINARY_DIR} ${proto})
+ else()
+ set(protoRel ${proto})
+ endif()
get_filename_component(OutputBase ${protoRel} NAME_WLE)
get_filename_component(OutputDir ${CMAKE_BINARY_DIR}/${protoRel} DIRECTORY)
list(TRANSFORM ProtocExtraOutsSuf PREPEND ${OutputDir}/${OutputBase} OUTPUT_VARIABLE ProtocExtraOuts)