mirror of
https://github.com/github/codeql.git
synced 2025-12-16 16:53:25 +01:00
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.
This commit is contained in:
@@ -20,6 +20,12 @@ macro(bazel)
|
||||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})
|
||||
endmacro()
|
||||
|
||||
macro(bazel_even_if_failing)
|
||||
execute_process(COMMAND ${BAZEL_BIN} ${ARGN}
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})
|
||||
endmacro()
|
||||
|
||||
bazel(info workspace OUTPUT_VARIABLE BAZEL_WORKSPACE)
|
||||
|
||||
bazel(info output_base OUTPUT_VARIABLE BAZEL_OUTPUT_BASE)
|
||||
@@ -37,7 +43,7 @@ endmacro()
|
||||
macro(generate_and_include)
|
||||
file(REMOVE "${BAZEL_WORKSPACE}/.bazel-cmake/BUILD.bazel")
|
||||
# use aquery to only get targets compatible with the current platform
|
||||
bazel(aquery "kind(\"cc_test|cc_binary\", ${ARGN})" --nocheck_visibility --output=jsonproto OUTPUT_VARIABLE BAZEL_AQUERY_RESULT)
|
||||
bazel_even_if_failing(aquery "kind(\"cc_test|cc_binary\", ${ARGN})" --nocheck_visibility --keep_going --output=jsonproto OUTPUT_VARIABLE BAZEL_AQUERY_RESULT)
|
||||
string(JSON BAZEL_JSON_TARGETS GET "${BAZEL_AQUERY_RESULT}" targets)
|
||||
string(JSON LAST_IDX LENGTH "${BAZEL_JSON_TARGETS}")
|
||||
math(EXPR LAST_IDX "${LAST_IDX} - 1")
|
||||
@@ -48,7 +54,7 @@ macro(generate_and_include)
|
||||
file(WRITE "${BAZEL_WORKSPACE}/.bazel-cmake/BUILD.bazel" "\
|
||||
# this file was generated by cmake
|
||||
load('@${CODEQL_BAZEL_WORKSPACE}//misc/bazel/cmake:cmake.bzl', 'generate_cmake')\n\
|
||||
|
||||
\n\
|
||||
generate_cmake(\n\
|
||||
name = 'cmake',\n\
|
||||
testonly = True,\n\
|
||||
|
||||
Reference in New Issue
Block a user