Skip to content

Commit b105d0c

Browse files
committed
Bazel/CMake: be more lenient with aquery
It turns out `bazel aquery` is not so well behaved on Windows, so we need to accept that it reports errors and exits with an error.
1 parent 9cfef6e commit b105d0c

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

misc/bazel/cmake/setup.cmake

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,12 @@ macro(bazel)
2020
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})
2121
endmacro()
2222

23+
macro(bazel_even_if_failing)
24+
execute_process(COMMAND ${BAZEL_BIN} ${ARGN}
25+
OUTPUT_STRIP_TRAILING_WHITESPACE
26+
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})
27+
endmacro()
28+
2329
bazel(info workspace OUTPUT_VARIABLE BAZEL_WORKSPACE)
2430

2531
bazel(info output_base OUTPUT_VARIABLE BAZEL_OUTPUT_BASE)
@@ -37,7 +43,7 @@ endmacro()
3743
macro(generate_and_include)
3844
file(REMOVE "${BAZEL_WORKSPACE}/.bazel-cmake/BUILD.bazel")
3945
# use aquery to only get targets compatible with the current platform
40-
bazel(aquery "kind(\"cc_test|cc_binary\", ${ARGN})" --nocheck_visibility --output=jsonproto OUTPUT_VARIABLE BAZEL_AQUERY_RESULT)
46+
bazel_even_if_failing(aquery "kind(\"cc_test|cc_binary\", ${ARGN})" --nocheck_visibility --keep_going --output=jsonproto OUTPUT_VARIABLE BAZEL_AQUERY_RESULT)
4147
string(JSON BAZEL_JSON_TARGETS GET "${BAZEL_AQUERY_RESULT}" targets)
4248
string(JSON LAST_IDX LENGTH "${BAZEL_JSON_TARGETS}")
4349
math(EXPR LAST_IDX "${LAST_IDX} - 1")
@@ -48,7 +54,7 @@ macro(generate_and_include)
4854
file(WRITE "${BAZEL_WORKSPACE}/.bazel-cmake/BUILD.bazel" "\
4955
# this file was generated by cmake
5056
load('@${CODEQL_BAZEL_WORKSPACE}//misc/bazel/cmake:cmake.bzl', 'generate_cmake')\n\
51-
57+
\n\
5258
generate_cmake(\n\
5359
name = 'cmake',\n\
5460
testonly = True,\n\

0 commit comments

Comments
 (0)