aboutsummaryrefslogtreecommitdiffstats
path: root/build/ymake.core.conf
diff options
context:
space:
mode:
authoralevitskii <alevitskii@yandex-team.com>2024-10-22 23:12:14 +0300
committeralevitskii <alevitskii@yandex-team.com>2024-10-22 23:38:16 +0300
commita44fb518c9ce0cb962380df4c485a787583af5a1 (patch)
treef259a3005c00f315d0ba225d625b66a4919f9a67 /build/ymake.core.conf
parenta76b79c4e2cd66be012c9e74367aac5e4070b709 (diff)
downloadydb-a44fb518c9ce0cb962380df4c485a787583af5a1.tar.gz
Add exclude parameter to HEADERS
Add exclude parameter to HEADERS commit_hash:2e4f6375cf7e297d228285709700d0842d5b7aff
Diffstat (limited to 'build/ymake.core.conf')
-rw-r--r--build/ymake.core.conf11
1 files changed, 7 insertions, 4 deletions
diff --git a/build/ymake.core.conf b/build/ymake.core.conf
index 24872c7a63..402229914c 100644
--- a/build/ymake.core.conf
+++ b/build/ymake.core.conf
@@ -5899,12 +5899,15 @@ macro STYLE_CPP() {
_ADD_CPP_LINTER_CHECK(NAME clang-format LINTER tools/cpp_style_checker/cpp_style_checker DEPENDS contrib/libs/clang16/tools/clang-format CONFIGS $CPP_LINTERS_DEFAULT_CONFIGS)
}
-### @usage: HEADERS([Dir1 Dir2 ...])
+### @usage: HEADERS(<Dirs...> [EXCLUDE patterns...])
###
### Add all C/C++ header files (h|H|hh|hpp|hxx|ipp) in given directories to SRCS
-macro HEADERS(Dirs...) {
- _GLOB(_HEADERS ${suf=/*.(h|H|hh|hpp|hxx|ipp):Dirs})
- SRCS($_HEADERS)
+### Exclude files matching EXCLUDE patterns
+macro HEADERS(EXCLUDE[], Dirs...) {
+ SET(_VAR_HEADERS_SALT __Dirs__ ${Dirs} __EXCLUDE__ ${EXCLUDE})
+ SET(_HEADERS_GLOB uniq_headers_${hash:_VAR_HEADERS_SALT})
+ _GLOB(${_HEADERS_GLOB} ${suf=/*.(h|H|hh|hpp|hxx|ipp):Dirs} EXCLUDE ${EXCLUDE})
+ SRCS(${${_HEADERS_GLOB}})
}
### @usage: CLANG_EMIT_AST_CXX_RUN_TOOL(Tool Args... [SOURCES ...] [OPTS ...] [IN ...] [IN_NOPARSE ...] [TOOL ...] [OUTPUT_INCLUDES ...] [INDUCED_DEPS ...] [IN_DEPS ...] [STDOUT out-file-name] [STDOUT_NOAUTO out-file-name] [CWD cwd])