diff options
Diffstat (limited to 'Source')
-rw-r--r-- | Source/cmFindPackageCommand.cxx | 5 | ||||
-rw-r--r-- | Source/cmFindPackageCommand.h | 7 |
2 files changed, 10 insertions, 2 deletions
diff --git a/Source/cmFindPackageCommand.cxx b/Source/cmFindPackageCommand.cxx index c917ecc..15b6410 100644 --- a/Source/cmFindPackageCommand.cxx +++ b/Source/cmFindPackageCommand.cxx @@ -75,6 +75,11 @@ bool cmFindPackageCommand::InitialPass(std::vector<std::string> const& args) else if(args[i] == "REQUIRED") { required = true; + while (++i < args.size() && args[i] != "QUIET") + { + std::string req_var = Name + "_FIND_REQUIRED_" + args[i]; + m_Makefile->AddDefinition(req_var.c_str(), "1"); + } } else { diff --git a/Source/cmFindPackageCommand.h b/Source/cmFindPackageCommand.h index 9ea30d3..eadc0e8 100644 --- a/Source/cmFindPackageCommand.h +++ b/Source/cmFindPackageCommand.h @@ -65,7 +65,8 @@ public: virtual const char* GetFullDocumentation() { return - " FIND_PACKAGE(<name> [major.minor] [QUIET] [REQUIRED])\n" + " FIND_PACKAGE(<name> [major.minor] [QUIET]\n" + " [REQUIRED [componets...]])\n" "Finds and loads settings from an external project. <name>_FOUND will " "be set to indicate whether the package was found. Settings that " "can be used when <name>_FOUND is true are package-specific. The " @@ -83,7 +84,9 @@ public: "argument is specified. If <name>_DIR has been set to a directory " "not containing a \"<name>Config.cmake\" file, an error is always " "generated. If REQUIRED is specified and the package is not found, " - "a FATAL_ERROR is generated and the configure step stops executing."; + "a FATAL_ERROR is generated and the configure step stops executing." + " A package-specific list of components may be listed after the " + "REQUIRED option."; } cmTypeMacro(cmFindPackageCommand, cmCommand); |