Skip to content

Commit 62228cd

Browse files
authored
Merge pull request #410 from alltilla/fix-grpc-grammar-dep
grpc: fix grammars not rebuilding if grpc-grammar.ym changes
2 parents 9326e70 + a95b3f8 commit 62228cd

13 files changed

+27
-4
lines changed

cmake/Modules/GenerateYFromYm.cmake

+8-2
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,16 @@ endfunction()
4141

4242
# This function is used by add_module
4343
function(module_generate_y_from_ym FileWoExtSrc FileWoExtDst)
44-
if (${ARGC} EQUAL 2)
44+
if (${ARGC} EQUAL 2 OR ${ARGC} EQUAL 3)
45+
set(DEPS ${PROJECT_SOURCE_DIR}/lib/cfg-grammar.y)
46+
47+
if (${ARGC} EQUAL 3)
48+
set(DEPS ${DEPS} ${ARGV2})
49+
endif()
50+
4551
add_custom_command (OUTPUT ${FileWoExtDst}.y
4652
COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/lib/merge-grammar.py ${FileWoExtSrc}.ym > ${FileWoExtDst}.y
47-
DEPENDS ${PROJECT_SOURCE_DIR}/lib/cfg-grammar.y
53+
DEPENDS ${DEPS}
4854
${FileWoExtSrc}.ym)
4955
else()
5056
message(SEND_ERROR "Wrong usage of module_generate_y_from_ym() function")

cmake/add_module.cmake

+2-2
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,10 @@ include(CMakeParseArguments)
2626

2727
function (add_module)
2828

29-
cmake_parse_arguments(ADD_MODULE "" "TARGET" "GRAMMAR;SOURCES;DEPENDS;INCLUDES;LIBRARY_TYPE;COMPILE_OPTIONS" ${ARGN})
29+
cmake_parse_arguments(ADD_MODULE "" "TARGET" "GRAMMAR;GRAMMAR_DEPENDS;SOURCES;DEPENDS;INCLUDES;LIBRARY_TYPE;COMPILE_OPTIONS" ${ARGN})
3030

3131
if (ADD_MODULE_GRAMMAR)
32-
module_generate_y_from_ym(${CMAKE_CURRENT_SOURCE_DIR}/${ADD_MODULE_GRAMMAR} ${CMAKE_CURRENT_BINARY_DIR}/${ADD_MODULE_GRAMMAR})
32+
module_generate_y_from_ym(${CMAKE_CURRENT_SOURCE_DIR}/${ADD_MODULE_GRAMMAR} ${CMAKE_CURRENT_BINARY_DIR}/${ADD_MODULE_GRAMMAR} ${ADD_MODULE_GRAMMAR_DEPENDS})
3333
bison_target(${ADD_MODULE_TARGET}Grammar}
3434
${CMAKE_CURRENT_BINARY_DIR}/${ADD_MODULE_GRAMMAR}.y
3535
${CMAKE_CURRENT_BINARY_DIR}/${ADD_MODULE_GRAMMAR}.c

modules/grpc/bigquery/CMakeLists.txt

+1
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ add_module(
2828
add_module(
2929
TARGET bigquery
3030
GRAMMAR bigquery-grammar
31+
GRAMMAR_DEPENDS ${GRPC_COMMON_GRAMMAR}
3132
DEPENDS bigquery-cpp grpc-common-cpp
3233
INCLUDES ${PROJECT_SOURCE_DIR}/modules/grpc
3334
SOURCES ${BIGQUERY_SOURCES}

modules/grpc/bigquery/Makefile.am

+2
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,8 @@ else
5959
modules/grpc/bigquery modules/grpc/bigquery/ mod-bigquery:
6060
endif
6161

62+
modules/grpc/bigquery/bigquery-grammar.y: modules/grpc/common/grpc-grammar.ym
63+
6264
BUILT_SOURCES += \
6365
modules/grpc/bigquery/bigquery-grammar.y \
6466
modules/grpc/bigquery/bigquery-grammar.c \

modules/grpc/clickhouse/CMakeLists.txt

+1
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ add_module(
2828
add_module(
2929
TARGET clickhouse
3030
GRAMMAR clickhouse-grammar
31+
GRAMMAR_DEPENDS ${GRPC_COMMON_GRAMMAR}
3132
DEPENDS clickhouse-cpp grpc-common-cpp
3233
INCLUDES ${PROJECT_SOURCE_DIR}/modules/grpc
3334
SOURCES ${CLICKHOUSE_SOURCES}

modules/grpc/clickhouse/Makefile.am

+2
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,8 @@ else
5959
modules/grpc/clickhouse modules/grpc/clickhouse/ mod-clickhouse:
6060
endif
6161

62+
modules/grpc/clickhouse/clickhouse-grammar.y: modules/grpc/common/grpc-grammar.ym
63+
6264
BUILT_SOURCES += \
6365
modules/grpc/clickhouse/clickhouse-grammar.y \
6466
modules/grpc/clickhouse/clickhouse-grammar.c \

modules/grpc/common/CMakeLists.txt

+2
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ set(GRPC_COMMON_CPP_SOURCES
1818
grpc-source-worker.hpp
1919
grpc-source-worker.cpp)
2020

21+
set(GRPC_COMMON_GRAMMAR ${PROJECT_SOURCE_DIR}/modules/grpc/common/grpc-grammar.ym PARENT_SCOPE)
22+
2123
add_module(
2224
TARGET grpc-common-cpp
2325
SOURCES ${GRPC_COMMON_CPP_SOURCES}

modules/grpc/loki/CMakeLists.txt

+1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ add_module(
2929
add_module(
3030
TARGET loki
3131
GRAMMAR loki-grammar
32+
GRAMMAR_DEPENDS ${GRPC_COMMON_GRAMMAR}
3233
DEPENDS loki-cpp grpc-common-cpp
3334
INCLUDES ${PROJECT_SOURCE_DIR}/modules/grpc
3435
SOURCES ${LOKI_SOURCES}

modules/grpc/loki/Makefile.am

+2
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,8 @@ else
5959
modules/grpc/loki modules/grpc/loki/ mod-loki:
6060
endif
6161

62+
modules/grpc/loki/loki-grammar.y: modules/grpc/common/grpc-grammar.ym
63+
6264
BUILT_SOURCES += \
6365
modules/grpc/loki/loki-grammar.y \
6466
modules/grpc/loki/loki-grammar.c \

modules/grpc/otel/CMakeLists.txt

+1
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ add_module(
4444
add_module(
4545
TARGET otel
4646
GRAMMAR otel-grammar
47+
GRAMMAR_DEPENDS ${GRPC_COMMON_GRAMMAR}
4748
DEPENDS otel-cpp grpc-common-cpp
4849
INCLUDES ${PROJECT_SOURCE_DIR}/modules/grpc
4950
SOURCES ${OTEL_SOURCES}

modules/grpc/otel/Makefile.am

+2
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,8 @@ else
7979
modules/grpc/otel modules/grpc/otel/ mod-otel:
8080
endif
8181

82+
modules/grpc/otel/otel-grammar.y: modules/grpc/common/grpc-grammar.ym
83+
8284
BUILT_SOURCES += \
8385
modules/grpc/otel/otel-grammar.y \
8486
modules/grpc/otel/otel-grammar.c \

modules/grpc/pubsub/CMakeLists.txt

+1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ add_module(
2929
TARGET pubsub
3030
GRAMMAR pubsub-grammar
3131
DEPENDS pubsub-cpp grpc-common-cpp
32+
GRAMMAR_DEPENDS ${GRPC_COMMON_GRAMMAR}
3233
INCLUDES ${PROJECT_SOURCE_DIR}/modules/grpc
3334
SOURCES ${PUBSUB_SOURCES}
3435
)

modules/grpc/pubsub/Makefile.am

+2
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,8 @@ else
5959
modules/grpc/pubsub modules/grpc/pubsub/ mod-pubsub:
6060
endif
6161

62+
modules/grpc/pubsub/pubsub-grammar.y: modules/grpc/common/grpc-grammar.ym
63+
6264
BUILT_SOURCES += \
6365
modules/grpc/pubsub/pubsub-grammar.y \
6466
modules/grpc/pubsub/pubsub-grammar.c \

0 commit comments

Comments
 (0)