diff options
author | Sylvain Joubert <joubert.sy@gmail.com> | 2020-03-06 13:30:01 (GMT) |
---|---|---|
committer | Sylvain Joubert <joubert.sy@gmail.com> | 2020-03-06 15:40:26 (GMT) |
commit | dc008095961fe4c2478d575931e8caf6c9bff92d (patch) | |
tree | d468b514eca32bf28351b91f41628ab8be64ca36 /Source/cmFindPathCommand.cxx | |
parent | cc070e66cd9bd0d4e0ce56ad9dd307dbb854e61f (diff) | |
download | CMake-dc008095961fe4c2478d575931e8caf6c9bff92d.zip CMake-dc008095961fe4c2478d575931e8caf6c9bff92d.tar.gz CMake-dc008095961fe4c2478d575931e8caf6c9bff92d.tar.bz2 |
find_*: Add support for REQUIRED keyword
In the same spirit as the REQUIRED keyword on find_package, this will
stop cmake execution with an error on a failed find_program, find_file,
find_path or find_library.
Diffstat (limited to 'Source/cmFindPathCommand.cxx')
-rw-r--r-- | Source/cmFindPathCommand.cxx | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/Source/cmFindPathCommand.cxx b/Source/cmFindPathCommand.cxx index 908f0c1..f5b52c2 100644 --- a/Source/cmFindPathCommand.cxx +++ b/Source/cmFindPathCommand.cxx @@ -5,6 +5,7 @@ #include "cmsys/Glob.hxx" #include "cmMakefile.h" +#include "cmMessageType.h" #include "cmStateTypes.h" #include "cmStringAlgorithms.h" #include "cmSystemTools.h" @@ -51,6 +52,13 @@ bool cmFindPathCommand::InitialPass(std::vector<std::string> const& argsIn) this->VariableName, (this->VariableName + "-NOTFOUND").c_str(), this->VariableDocumentation.c_str(), (this->IncludeFileInPath) ? cmStateEnums::FILEPATH : cmStateEnums::PATH); + if (this->Required) { + this->Makefile->IssueMessage( + MessageType::FATAL_ERROR, + "Could not find " + this->VariableName + + " using the following files: " + cmJoin(this->Names, ", ")); + cmSystemTools::SetFatalErrorOccured(); + } return true; } |