mirror of
https://gitlab.kitware.com/cmake/cmake.git
synced 2026-09-25 04:09:36 +03:00
Merge topic 'configure-log-find-v1'
a3f273b657cmFindBase: Create `find-v1` configure log events58b5d41a4fcmFindBase: Track initial state with an `enum` Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Merge-request: !10621
This commit is contained in:
@@ -334,3 +334,110 @@ documented by the `try_compile-v1 event`_, plus:
|
||||
An optional key that is present when the test project built successfully.
|
||||
Its value is an integer specifying the exit code, or a string containing
|
||||
an error message, from trying to run the test executable.
|
||||
|
||||
.. _`find configure-log event`:
|
||||
|
||||
Event Kind ``find``
|
||||
-------------------
|
||||
|
||||
The :command:`find_file`, :command:`find_path`, :command:`find_library`, and
|
||||
:command:`find_program` commands log ``find`` events.
|
||||
|
||||
There is only one ``find`` event major version, version 1.
|
||||
|
||||
.. _`find-v1 event`:
|
||||
|
||||
``find-v1`` Event
|
||||
^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. versionadded:: 4.1
|
||||
|
||||
A ``find-v1`` event is a YAML mapping:
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
kind: "find-v1"
|
||||
backtrace:
|
||||
- "CMakeLists.txt:456 (find_program)"
|
||||
mode: "program"
|
||||
variable: "PROGRAM_PATH"
|
||||
description: "Docstring for variable"
|
||||
settings:
|
||||
SearchFramework: "NEVER"
|
||||
SearchAppBundle: "NEVER"
|
||||
CMAKE_FIND_USE_CMAKE_PATH: true
|
||||
CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: true
|
||||
CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: true
|
||||
CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: true
|
||||
CMAKE_FIND_USE_INSTALL_PREFIX: true
|
||||
names:
|
||||
- "name1"
|
||||
- "name2"
|
||||
candidate_directories:
|
||||
- "/path/to/search"
|
||||
- "/other/path/to/search"
|
||||
- "/path/to/found"
|
||||
- "/further/path/to/search"
|
||||
searched_directories:
|
||||
- "/path/to/search"
|
||||
- "/other/path/to/search"
|
||||
found: "/path/to/found/program"
|
||||
|
||||
The keys specific to ``find-v1`` mappings are:
|
||||
|
||||
``mode``
|
||||
A string describing the command using the search performed. One of ``file``,
|
||||
``path``, ``program``, or ``library``.
|
||||
|
||||
``variable``
|
||||
The variable to which the search stored its result.
|
||||
|
||||
``description``
|
||||
The documentation string of the variable.
|
||||
|
||||
``settings``
|
||||
Search settings active for the search.
|
||||
|
||||
``SearchFramework``
|
||||
A string describing how framework search is performed. One of ``FIRST``,
|
||||
``LAST``, ``ONLY``, or ``NEVER``. See :variable:`CMAKE_FIND_FRAMEWORK`.
|
||||
|
||||
``SearchAppBundle``
|
||||
A string describing how application bundle search is performed. One of
|
||||
``FIRST``, ``LAST``, ``ONLY``, or ``NEVER``. See
|
||||
:variable:`CMAKE_FIND_APPBUNDLE`.
|
||||
|
||||
``CMAKE_FIND_USE_CMAKE_PATH``
|
||||
A boolean indicating whether or not CMake-specific cache variables are
|
||||
used when searching. See :variable:`CMAKE_FIND_USE_CMAKE_PATH`.
|
||||
|
||||
``CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH``
|
||||
A boolean indicating whether or not CMake-specific environment variables
|
||||
are used when searching. See
|
||||
:variable:`CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH`.
|
||||
|
||||
``CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH``
|
||||
A boolean indicating whether or not platform-specific environment
|
||||
variables are used when searching. See
|
||||
:variable:`CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH`.
|
||||
|
||||
``CMAKE_FIND_USE_CMAKE_SYSTEM_PATH``
|
||||
A boolean indicating whether or not platform-specific CMake variables are
|
||||
used when searching. See :variable:`CMAKE_FIND_USE_CMAKE_SYSTEM_PATH`.
|
||||
|
||||
``CMAKE_FIND_USE_INSTALL_PREFIX``
|
||||
A boolean indicating whether or not the install prefix is used when
|
||||
searching. See :variable:`CMAKE_FIND_USE_INSTALL_PREFIX`.
|
||||
|
||||
``names``
|
||||
The names to look for the queries.
|
||||
|
||||
``candidate_directories``
|
||||
Candidate directories, in order, to look in during the search.
|
||||
|
||||
``searched_directories``
|
||||
Directories, in order, looked at during the search process.
|
||||
|
||||
``found``
|
||||
Either a string representing the found value or ``false`` if it was not
|
||||
found.
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
configure-log-find-v1
|
||||
---------------------
|
||||
|
||||
* The :ref:`find configure-log event` ``find-v1`` has been added to
|
||||
:manual:`cmake-configure-log(7)` to track calls to the :command:`find_file`,
|
||||
:command:`find_path`, :command:`find_library`, and :command:`find_program`
|
||||
commands.
|
||||
@@ -55,6 +55,7 @@ Json::Value ConfigureLog::DumpEventKindNames()
|
||||
eventKindNames.append("message-v1"); // WriteMessageEvent
|
||||
eventKindNames.append("try_compile-v1"); // WriteTryCompileEvent
|
||||
eventKindNames.append("try_run-v1"); // WriteTryRunEvent
|
||||
eventKindNames.append("find-v1"); // WriteFindBaseEvent
|
||||
}
|
||||
return eventKindNames;
|
||||
}
|
||||
|
||||
+105
-8
@@ -14,6 +14,7 @@
|
||||
#include <cmext/string_view>
|
||||
|
||||
#include "cmCMakePath.h"
|
||||
#include "cmConfigureLog.h"
|
||||
#include "cmExecutionStatus.h"
|
||||
#include "cmList.h"
|
||||
#include "cmListFileCache.h"
|
||||
@@ -79,8 +80,8 @@ bool cmFindBase::ParseArguments(std::vector<std::string> const& argsIn)
|
||||
return false;
|
||||
}
|
||||
this->VariableName = args[0];
|
||||
if (this->CheckForVariableDefined()) {
|
||||
this->AlreadyDefined = true;
|
||||
this->InitialState = this->GetInitialState();
|
||||
if (this->IsFound()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -470,7 +471,7 @@ void cmFindBase::FillUserGuessPath()
|
||||
paths.AddSuffixes(this->SearchPathSuffixes);
|
||||
}
|
||||
|
||||
bool cmFindBase::CheckForVariableDefined()
|
||||
cmFindBase::FindState cmFindBase::GetInitialState()
|
||||
{
|
||||
if (cmValue value = this->Makefile->GetDefinition(this->VariableName)) {
|
||||
cmState* state = this->Makefile->GetState();
|
||||
@@ -496,10 +497,21 @@ bool cmFindBase::CheckForVariableDefined()
|
||||
if (cached && cacheType == cmStateEnums::UNINITIALIZED) {
|
||||
this->AlreadyInCacheWithoutMetaInfo = true;
|
||||
}
|
||||
return true;
|
||||
return FindState::Found;
|
||||
}
|
||||
return FindState::NotFound;
|
||||
}
|
||||
return false;
|
||||
return FindState::Undefined;
|
||||
}
|
||||
|
||||
bool cmFindBase::IsFound() const
|
||||
{
|
||||
return this->InitialState == FindState::Found;
|
||||
}
|
||||
|
||||
bool cmFindBase::IsDefined() const
|
||||
{
|
||||
return this->InitialState != FindState::Undefined;
|
||||
}
|
||||
|
||||
void cmFindBase::NormalizeFindResult()
|
||||
@@ -631,6 +643,24 @@ cmFindBaseDebugState::cmFindBaseDebugState(std::string commandName,
|
||||
|
||||
cmFindBaseDebugState::~cmFindBaseDebugState()
|
||||
{
|
||||
bool found = !this->FoundSearchLocation.path.empty();
|
||||
|
||||
#ifndef CMAKE_BOOTSTRAP
|
||||
// Write find event to the configure log if the log exists
|
||||
if (cmConfigureLog* log =
|
||||
this->FindCommand->Makefile->GetCMakeInstance()->GetConfigureLog()) {
|
||||
// Write event if any of:
|
||||
// - debug mode is enabled
|
||||
// - the variable was not defined (first run)
|
||||
// - the variable found state does not match the new found state (state
|
||||
// transition)
|
||||
if (this->FindCommand->DebugMode || !this->FindCommand->IsDefined() ||
|
||||
this->FindCommand->IsFound() != found) {
|
||||
this->WriteFindEvent(*log, *this->FindCommand->Makefile);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
if (!this->FindCommand->DebugMode) {
|
||||
return;
|
||||
}
|
||||
@@ -679,7 +709,7 @@ cmFindBaseDebugState::~cmFindBaseDebugState()
|
||||
buffer += cmStrCat(path, '\n');
|
||||
}
|
||||
|
||||
if (!this->FoundSearchLocation.path.empty()) {
|
||||
if (found) {
|
||||
buffer += cmStrCat("The item was found at\n ",
|
||||
this->FoundSearchLocation.path, '\n');
|
||||
} else {
|
||||
@@ -692,7 +722,7 @@ cmFindBaseDebugState::~cmFindBaseDebugState()
|
||||
void cmFindBaseDebugState::FoundAt(std::string const& path,
|
||||
std::string regexName)
|
||||
{
|
||||
if (this->FindCommand->DebugMode) {
|
||||
if (this->TrackSearchProgress()) {
|
||||
this->FoundSearchLocation = DebugLibState{ std::move(regexName), path };
|
||||
}
|
||||
}
|
||||
@@ -700,7 +730,74 @@ void cmFindBaseDebugState::FoundAt(std::string const& path,
|
||||
void cmFindBaseDebugState::FailedAt(std::string const& path,
|
||||
std::string regexName)
|
||||
{
|
||||
if (this->FindCommand->DebugMode) {
|
||||
if (this->TrackSearchProgress()) {
|
||||
this->FailedSearchLocations.emplace_back(std::move(regexName), path);
|
||||
}
|
||||
}
|
||||
|
||||
#ifndef CMAKE_BOOTSTRAP
|
||||
void cmFindBaseDebugState::WriteFindEvent(cmConfigureLog& log,
|
||||
cmMakefile const& mf) const
|
||||
{
|
||||
log.BeginEvent("find-v1", mf);
|
||||
|
||||
// Mode is the Command name without the "find_" prefix
|
||||
log.WriteValue("mode"_s, this->CommandName.substr(5));
|
||||
log.WriteValue("variable"_s, this->FindCommand->VariableName);
|
||||
log.WriteValue("description"_s, this->FindCommand->VariableDocumentation);
|
||||
|
||||
// Yes, this needs to return a `std::string`. If it returns a `const char*`,
|
||||
// the `WriteValue` method prefers the `bool` overload. There's no overload
|
||||
// for a `cm::string_view` because the underlying JSON library doesn't
|
||||
// support `string_view` arguments itself.
|
||||
auto search_opt_to_str = [](bool first, bool last,
|
||||
bool only) -> std::string {
|
||||
return first ? "FIRST" : (last ? "LAST" : (only ? "ONLY" : "NEVER"));
|
||||
};
|
||||
log.BeginObject("settings"_s);
|
||||
log.WriteValue("SearchFramework"_s,
|
||||
search_opt_to_str(this->FindCommand->SearchFrameworkFirst,
|
||||
this->FindCommand->SearchFrameworkLast,
|
||||
this->FindCommand->SearchFrameworkOnly));
|
||||
log.WriteValue("SearchAppBundle"_s,
|
||||
search_opt_to_str(this->FindCommand->SearchAppBundleFirst,
|
||||
this->FindCommand->SearchAppBundleLast,
|
||||
this->FindCommand->SearchAppBundleOnly));
|
||||
log.WriteValue("CMAKE_FIND_USE_CMAKE_PATH"_s,
|
||||
!this->FindCommand->NoCMakePath);
|
||||
log.WriteValue("CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH"_s,
|
||||
!this->FindCommand->NoCMakeEnvironmentPath);
|
||||
log.WriteValue("CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH"_s,
|
||||
!this->FindCommand->NoSystemEnvironmentPath);
|
||||
log.WriteValue("CMAKE_FIND_USE_CMAKE_SYSTEM_PATH"_s,
|
||||
!this->FindCommand->NoCMakeSystemPath);
|
||||
log.WriteValue("CMAKE_FIND_USE_INSTALL_PREFIX"_s,
|
||||
!this->FindCommand->NoCMakeInstallPath);
|
||||
log.EndObject();
|
||||
|
||||
log.WriteValue("names"_s, this->FindCommand->Names);
|
||||
std::vector<std::string> directories;
|
||||
directories.reserve(this->FailedSearchLocations.size());
|
||||
for (auto const& location : this->FailedSearchLocations) {
|
||||
directories.push_back(location.path);
|
||||
}
|
||||
log.WriteValue("candidate_directories"_s, this->FindCommand->SearchPaths);
|
||||
log.WriteValue("searched_directories"_s, directories);
|
||||
if (!this->FoundSearchLocation.path.empty()) {
|
||||
log.WriteValue("found"_s, this->FoundSearchLocation.path);
|
||||
} else {
|
||||
log.WriteValue("found"_s, false);
|
||||
}
|
||||
log.EndEvent();
|
||||
}
|
||||
#endif
|
||||
|
||||
bool cmFindBaseDebugState::TrackSearchProgress() const
|
||||
{
|
||||
// Track search progress if debugging or logging the configure.
|
||||
return this->FindCommand->DebugMode
|
||||
#ifndef CMAKE_BOOTSTRAP
|
||||
|| this->FindCommand->Makefile->GetCMakeInstance()->GetConfigureLog()
|
||||
#endif
|
||||
;
|
||||
}
|
||||
|
||||
+21
-5
@@ -11,7 +11,9 @@
|
||||
#include "cmFindCommon.h"
|
||||
#include "cmStateTypes.h"
|
||||
|
||||
class cmConfigureLog;
|
||||
class cmExecutionStatus;
|
||||
class cmMakefile;
|
||||
|
||||
/** \class cmFindBase
|
||||
* \brief Base class for most FIND_XXX commands.
|
||||
@@ -40,10 +42,8 @@ protected:
|
||||
friend class cmFindBaseDebugState;
|
||||
void ExpandPaths();
|
||||
|
||||
// see if the VariableName is already set,
|
||||
// also copy the documentation from the cache to VariableDocumentation
|
||||
// if it has documentation in the cache
|
||||
bool CheckForVariableDefined();
|
||||
bool IsFound() const;
|
||||
bool IsDefined() const;
|
||||
|
||||
void NormalizeFindResult();
|
||||
void StoreFindResult(std::string const& value);
|
||||
@@ -62,7 +62,6 @@ protected:
|
||||
// CMAKE_*_PATH CMAKE_SYSTEM_*_PATH FRAMEWORK|LIBRARY|INCLUDE|PROGRAM
|
||||
std::string EnvironmentPath; // LIB,INCLUDE
|
||||
|
||||
bool AlreadyDefined = false;
|
||||
bool AlreadyInCacheWithoutMetaInfo = false;
|
||||
bool StoreResultInCache = true;
|
||||
|
||||
@@ -71,6 +70,18 @@ protected:
|
||||
std::string ValidatorName;
|
||||
|
||||
private:
|
||||
enum class FindState
|
||||
{
|
||||
Undefined,
|
||||
Found,
|
||||
NotFound,
|
||||
};
|
||||
// see if the VariableName is already set,
|
||||
// also copy the documentation from the cache to VariableDocumentation
|
||||
// if it has documentation in the cache
|
||||
FindState GetInitialState();
|
||||
FindState InitialState = FindState::Undefined;
|
||||
|
||||
// Add pieces of the search.
|
||||
void FillPackageRootPath();
|
||||
void FillCMakeVariablePath();
|
||||
@@ -104,8 +115,13 @@ private:
|
||||
std::string path;
|
||||
};
|
||||
|
||||
#ifndef CMAKE_BOOTSTRAP
|
||||
void WriteFindEvent(cmConfigureLog& log, cmMakefile const& mf) const;
|
||||
#endif
|
||||
|
||||
cmFindBase const* FindCommand;
|
||||
std::string CommandName;
|
||||
bool TrackSearchProgress() const;
|
||||
std::vector<DebugLibState> FailedSearchLocations;
|
||||
DebugLibState FoundSearchLocation;
|
||||
};
|
||||
|
||||
@@ -44,7 +44,7 @@ bool cmFindLibraryCommand::InitialPass(std::vector<std::string> const& argsIn)
|
||||
|
||||
this->DebugMode = this->ComputeIfDebugModeWanted(this->VariableName);
|
||||
|
||||
if (this->AlreadyDefined) {
|
||||
if (this->IsFound()) {
|
||||
this->NormalizeFindResult();
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -37,7 +37,7 @@ bool cmFindPathCommand::InitialPass(std::vector<std::string> const& argsIn)
|
||||
|
||||
this->DebugMode = this->ComputeIfDebugModeWanted(this->VariableName);
|
||||
|
||||
if (this->AlreadyDefined) {
|
||||
if (this->IsFound()) {
|
||||
this->NormalizeFindResult();
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -195,7 +195,7 @@ bool cmFindProgramCommand::InitialPass(std::vector<std::string> const& argsIn)
|
||||
}
|
||||
this->DebugMode = this->ComputeIfDebugModeWanted(this->VariableName);
|
||||
|
||||
if (this->AlreadyDefined) {
|
||||
if (this->IsFound()) {
|
||||
this->NormalizeFindResult();
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -65,7 +65,7 @@ def check_object_configureLog(o):
|
||||
assert os.path.exists(path)
|
||||
eventKindNames = o["eventKindNames"]
|
||||
assert is_list(eventKindNames)
|
||||
assert sorted(eventKindNames) == ["message-v1", "try_compile-v1", "try_run-v1"]
|
||||
assert sorted(eventKindNames) == ["find-v1", "message-v1", "try_compile-v1", "try_run-v1"]
|
||||
|
||||
assert is_dict(index)
|
||||
assert sorted(index.keys()) == ["cmake", "objects", "reply"]
|
||||
|
||||
@@ -45,7 +45,7 @@ def check_object_configureLog(o):
|
||||
assert os.path.exists(path)
|
||||
eventKindNames = o["eventKindNames"]
|
||||
assert is_list(eventKindNames)
|
||||
assert sorted(eventKindNames) == ["message-v1", "try_compile-v1", "try_run-v1"]
|
||||
assert sorted(eventKindNames) == ["find-v1", "message-v1", "try_compile-v1", "try_run-v1"]
|
||||
|
||||
assert is_dict(index)
|
||||
assert sorted(index.keys()) == ["cmake", "objects", "reply"]
|
||||
|
||||
@@ -14,7 +14,7 @@ def check_object_configureLog(o):
|
||||
assert os.path.exists(path)
|
||||
eventKindNames = o["eventKindNames"]
|
||||
assert is_list(eventKindNames)
|
||||
assert sorted(eventKindNames) == ["message-v1", "try_compile-v1", "try_run-v1"]
|
||||
assert sorted(eventKindNames) == ["find-v1", "message-v1", "try_compile-v1", "try_run-v1"]
|
||||
|
||||
assert is_dict(index)
|
||||
assert sorted(index.keys()) == ["cmake", "objects", "reply"]
|
||||
|
||||
@@ -2,3 +2,70 @@ enable_language(C)
|
||||
if(FAIL)
|
||||
message(FATAL_ERROR "Intentionally fail to configure")
|
||||
endif()
|
||||
|
||||
find_file(find_file_var # first search
|
||||
NAMES "configureLog-v1.cmake"
|
||||
PATHS "${CMAKE_CURRENT_LIST_DIR}"
|
||||
DOC "find_file search")
|
||||
find_file(find_file_var # re-find (no log)
|
||||
NAMES "configureLog-v1.cmake"
|
||||
PATHS "${CMAKE_CURRENT_LIST_DIR}"
|
||||
DOC "find_file search")
|
||||
unset(find_file_var)
|
||||
set(find_file_var "find_file_var-NOTFOUND" CACHE PATH "" FORCE)
|
||||
find_file(find_file_var # not-found to found
|
||||
NAMES "configureLog-v1.cmake"
|
||||
PATHS "${CMAKE_CURRENT_LIST_DIR}"
|
||||
DOC "find_file search")
|
||||
|
||||
find_path(find_path_var # first search
|
||||
NAMES "configureLog-v1.cmake"
|
||||
PATHS "${CMAKE_CURRENT_LIST_DIR}"
|
||||
DOC "find_path search")
|
||||
find_path(find_path_var # re-find (no log)
|
||||
NAMES "configureLog-v1.cmake"
|
||||
PATHS "${CMAKE_CURRENT_LIST_DIR}"
|
||||
DOC "find_path search")
|
||||
unset(find_path_var)
|
||||
set(find_path_var "find_path_var-NOTFOUND" CACHE PATH "" FORCE)
|
||||
find_path(find_path_var # not-found to found
|
||||
NAMES "configureLog-v1.cmake"
|
||||
PATHS "${CMAKE_CURRENT_LIST_DIR}"
|
||||
DOC "find_path search")
|
||||
|
||||
file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_SHARED_LIBRARY_PREFIX}lib${CMAKE_SHARED_LIBRARY_SUFFIX}")
|
||||
find_library(find_library_var # first search
|
||||
NAMES "lib"
|
||||
PATHS "${CMAKE_CURRENT_BINARY_DIR}"
|
||||
DOC "find_library search")
|
||||
find_library(find_library_var # re-find (no log)
|
||||
NAMES "lib"
|
||||
PATHS "${CMAKE_CURRENT_BINARY_DIR}"
|
||||
DOC "find_library search")
|
||||
unset(find_library_var)
|
||||
set(find_library_var "find_library_var-NOTFOUND" CACHE PATH "" FORCE)
|
||||
find_library(find_library_var # not-found to found
|
||||
NAMES "lib"
|
||||
PATHS "${CMAKE_CURRENT_BINARY_DIR}"
|
||||
DOC "find_library search")
|
||||
|
||||
file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/exe${CMAKE_EXECUTABLE_SUFFIX}" "")
|
||||
file(CHMOD "${CMAKE_CURRENT_BINARY_DIR}/exe${CMAKE_EXECUTABLE_SUFFIX}"
|
||||
FILE_PERMISSIONS
|
||||
OWNER_READ OWNER_WRITE OWNER_EXECUTE
|
||||
GROUP_READ GROUP_EXECUTE
|
||||
WORLD_READ WORLD_EXECUTE)
|
||||
find_program(find_program_var # first search
|
||||
NAMES "exe"
|
||||
PATHS "${CMAKE_CURRENT_BINARY_DIR}"
|
||||
DOC "find_program search")
|
||||
find_program(find_program_var # re-find (no log)
|
||||
NAMES "exe"
|
||||
PATHS "${CMAKE_CURRENT_BINARY_DIR}"
|
||||
DOC "find_program search")
|
||||
unset(find_program_var)
|
||||
set(find_program_var "find_program_var-NOTFOUND" CACHE PATH "" FORCE)
|
||||
find_program(find_program_var # not-found to found
|
||||
NAMES "exe"
|
||||
PATHS "${CMAKE_CURRENT_BINARY_DIR}"
|
||||
DOC "find_program search")
|
||||
|
||||
@@ -7,7 +7,23 @@ events:(
|
||||
- "[^"]+")+
|
||||
message: \|(
|
||||
+ [^
|
||||
]*)*)+
|
||||
]*)*|
|
||||
-
|
||||
kind: "find-v1"
|
||||
backtrace:(
|
||||
- "[^"]+")+
|
||||
mode: "[^"]*"
|
||||
variable: "[^"]*"
|
||||
description: "[^"]*"
|
||||
settings:(
|
||||
[A-Za-z_]+: (true|false|"(NEVER|ONLY|FIRST|LAST)"))+
|
||||
names:(
|
||||
- "[^"]+")+
|
||||
candidate_directories:(
|
||||
- "[^"]+")*
|
||||
searched_directories:(
|
||||
- "[^"]+")*
|
||||
found: (false|"[^"]*"))+
|
||||
-
|
||||
kind: "try_compile-v1"
|
||||
backtrace:
|
||||
@@ -34,7 +50,46 @@ events:(
|
||||
- "[^"]+")+
|
||||
message: \|(
|
||||
+ [^
|
||||
]*)*)*
|
||||
]*)*|
|
||||
-
|
||||
kind: "find-v1"
|
||||
backtrace:(
|
||||
- "[^"]+")+
|
||||
mode: "[^"]*"
|
||||
variable: "[^"]*"
|
||||
description: "[^"]*"
|
||||
settings:(
|
||||
[A-Za-z_]+: (true|false|"(NEVER|ONLY|FIRST|LAST)"))+
|
||||
names:(
|
||||
- "[^"]+")+
|
||||
candidate_directories:(
|
||||
- "[^"]+")*
|
||||
searched_directories:(
|
||||
- "[^"]+")*
|
||||
found: (false|"[^"]*"))+(
|
||||
-
|
||||
kind: "try_compile-v1"
|
||||
backtrace:
|
||||
- ".*/Modules/Internal/FeatureTesting.cmake:[0-9]+ \(try_compile\)"
|
||||
- ".*/Modules/Internal/FeatureTesting.cmake:[0-9]+ \(_record_compiler_features\)"
|
||||
- ".*/Modules/Compiler/CMakeCommonCompilerMacros.cmake:[0-9]+ \(_record_compiler_features_c\)"
|
||||
- ".*/Modules/CMakeDetermineCompilerSupport.cmake:[0-9]+ \(cmake_record_c_compile_features\)"
|
||||
- ".*/Modules/CMakeTestCCompiler.cmake:[0-9]+ \(CMAKE_DETERMINE_COMPILER_SUPPORT\)"
|
||||
- "ConfigureLog.cmake:[0-9]+ \(enable_language\)"
|
||||
- "CMakeLists.txt:[0-9]+ \(include\)"
|
||||
checks:
|
||||
- "Detecting C compile features"
|
||||
directories:
|
||||
source: "[^"]*/Tests/RunCMake/try_compile/ConfigureLog-build/CMakeFiles/CMakeScratch/TryCompile-[^/"]+"
|
||||
binary: "[^"]*/Tests/RunCMake/try_compile/ConfigureLog-build/CMakeFiles/CMakeScratch/TryCompile-[^/"]+"
|
||||
cmakeVariables:(
|
||||
CMAKE_[^
|
||||
]*)+
|
||||
buildResult:
|
||||
variable: "CMAKE_C_FEATURE_TEST"
|
||||
cached: true
|
||||
stdout: \|.*
|
||||
exitCode: 0)?
|
||||
-
|
||||
kind: "try_compile-v1"
|
||||
backtrace:
|
||||
|
||||
@@ -7,7 +7,23 @@ events:(
|
||||
- "[^"]+")+
|
||||
message: \|(
|
||||
+ [^
|
||||
]*)*)+
|
||||
]*)*|
|
||||
-
|
||||
kind: "find-v1"
|
||||
backtrace:(
|
||||
- "[^"]+")+
|
||||
mode: "[^"]*"
|
||||
variable: "[^"]*"
|
||||
description: "[^"]*"
|
||||
settings:(
|
||||
[A-Za-z_]+: (true|false|"(NEVER|ONLY|FIRST|LAST)"))+
|
||||
names:(
|
||||
- "[^"]+")+
|
||||
candidate_directories:(
|
||||
- "[^"]+")*
|
||||
searched_directories:(
|
||||
- "[^"]+")*
|
||||
found: (false|"[^"]*"))+
|
||||
-
|
||||
kind: "try_compile-v1"
|
||||
backtrace:
|
||||
@@ -34,7 +50,23 @@ events:(
|
||||
- "[^"]+")+
|
||||
message: \|(
|
||||
+ [^
|
||||
]*)*)+
|
||||
]*)*|
|
||||
-
|
||||
kind: "find-v1"
|
||||
backtrace:(
|
||||
- "[^"]+")+
|
||||
mode: "[^"]*"
|
||||
variable: "[^"]*"
|
||||
description: "[^"]*"
|
||||
settings:(
|
||||
[A-Za-z_]+: (true|false|"(NEVER|ONLY|FIRST|LAST)"))+
|
||||
names:(
|
||||
- "[^"]+")+
|
||||
candidate_directories:(
|
||||
- "[^"]+")*
|
||||
searched_directories:(
|
||||
- "[^"]+")*
|
||||
found: (false|"[^"]*"))+
|
||||
-
|
||||
kind: "try_compile-v1"
|
||||
backtrace:
|
||||
|
||||
@@ -7,5 +7,21 @@ events:(
|
||||
- "[^"]+")+
|
||||
message: \|(
|
||||
+ [^
|
||||
]*)*)+
|
||||
]*)*|
|
||||
-
|
||||
kind: "find-v1"
|
||||
backtrace:(
|
||||
- "[^"]+")+
|
||||
mode: "[^"]*"
|
||||
variable: "[^"]*"
|
||||
description: "[^"]*"
|
||||
settings:(
|
||||
[A-Za-z_]+: (true|false|"(NEVER|ONLY|FIRST|LAST)"))+
|
||||
names:(
|
||||
- "[^"]+")+
|
||||
candidate_directories:(
|
||||
- "[^"]+")*
|
||||
searched_directories:(
|
||||
- "[^"]+")*
|
||||
found: (false|"[^"]*"))+
|
||||
\.\.\.$
|
||||
|
||||
@@ -7,7 +7,23 @@ events:(
|
||||
- "[^"]+")+
|
||||
message: \|(
|
||||
+ [^
|
||||
]*)*)+
|
||||
]*)*|
|
||||
-
|
||||
kind: "find-v1"
|
||||
backtrace:(
|
||||
- "[^"]+")+
|
||||
mode: "[^"]*"
|
||||
variable: "[^"]*"
|
||||
description: "[^"]*"
|
||||
settings:(
|
||||
[A-Za-z_]+: (true|false|"(NEVER|ONLY|FIRST|LAST)"))+
|
||||
names:(
|
||||
- "[^"]+")+
|
||||
candidate_directories:(
|
||||
- "[^"]+")*
|
||||
searched_directories:(
|
||||
- "[^"]+")*
|
||||
found: (false|"[^"]*"))+
|
||||
-
|
||||
kind: "try_compile-v1"
|
||||
backtrace:
|
||||
@@ -34,7 +50,23 @@ events:(
|
||||
- "[^"]+")+
|
||||
message: \|(
|
||||
+ [^
|
||||
]*)*)*
|
||||
]*)*|
|
||||
-
|
||||
kind: "find-v1"
|
||||
backtrace:(
|
||||
- "[^"]+")+
|
||||
mode: "[^"]*"
|
||||
variable: "[^"]*"
|
||||
description: "[^"]*"
|
||||
settings:(
|
||||
[A-Za-z_]+: (true|false|"(NEVER|ONLY|FIRST|LAST)"))+
|
||||
names:(
|
||||
- "[^"]+")+
|
||||
candidate_directories:(
|
||||
- "[^"]+")*
|
||||
searched_directories:(
|
||||
- "[^"]+")*
|
||||
found: (false|"[^"]*"))*
|
||||
-
|
||||
kind: "try_compile-v1"
|
||||
backtrace:
|
||||
|
||||
@@ -7,7 +7,23 @@ events:(
|
||||
- "[^"]+")+
|
||||
message: \|(
|
||||
+ [^
|
||||
]*)*)+
|
||||
]*)*|
|
||||
-
|
||||
kind: "find-v1"
|
||||
backtrace:(
|
||||
- "[^"]+")+
|
||||
mode: "[^"]*"
|
||||
variable: "[^"]*"
|
||||
description: "[^"]*"
|
||||
settings:(
|
||||
[A-Za-z_]+: (true|false|"(NEVER|ONLY|FIRST|LAST)"))+
|
||||
names:(
|
||||
- "[^"]+")+
|
||||
candidate_directories:(
|
||||
- "[^"]+")*
|
||||
searched_directories:(
|
||||
- "[^"]+")*
|
||||
found: (false|"[^"]*"))+
|
||||
-
|
||||
kind: "try_compile-v1"
|
||||
backtrace:
|
||||
@@ -33,7 +49,23 @@ events:(
|
||||
- "[^"]+")+
|
||||
message: \|(
|
||||
+ [^
|
||||
]*)*)*
|
||||
]*)*|
|
||||
-
|
||||
kind: "find-v1"
|
||||
backtrace:(
|
||||
- "[^"]+")+
|
||||
mode: "[^"]*"
|
||||
variable: "[^"]*"
|
||||
description: "[^"]*"
|
||||
settings:(
|
||||
[A-Za-z_]+: (true|false|"(NEVER|ONLY|FIRST|LAST)"))+
|
||||
names:(
|
||||
- "[^"]+")+
|
||||
candidate_directories:(
|
||||
- "[^"]+")*
|
||||
searched_directories:(
|
||||
- "[^"]+")*
|
||||
found: (false|"[^"]*"))*
|
||||
-
|
||||
kind: "try_run-v1"
|
||||
backtrace:
|
||||
|
||||
Reference in New Issue
Block a user