diff options
author | Bill Hoffman <bill.hoffman@kitware.com> | 2012-02-17 17:41:39 (GMT) |
---|---|---|
committer | Bill Hoffman <bill.hoffman@kitware.com> | 2012-02-17 17:41:39 (GMT) |
commit | 9090572f5cdde7b30d2c1ad1c0bbf4ab86ddb969 (patch) | |
tree | 4069a3f908fd7d1fa0709c774ad476152f4dcd77 /Source/cmProjectCommand.cxx | |
parent | e2042b68d36e0881bfc00f926a275dda3d6cbc9d (diff) | |
download | CMake-9090572f5cdde7b30d2c1ad1c0bbf4ab86ddb969.zip CMake-9090572f5cdde7b30d2c1ad1c0bbf4ab86ddb969.tar.gz CMake-9090572f5cdde7b30d2c1ad1c0bbf4ab86ddb969.tar.bz2 |
Add ability to include a file in a project via a cache variable.
If a variable exists called CMAKE_PROJECT_<projectName>_INCLUDE,
the file pointed to by that variable will be included as the last step
of the project command.
Diffstat (limited to 'Source/cmProjectCommand.cxx')
-rw-r--r-- | Source/cmProjectCommand.cxx | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/Source/cmProjectCommand.cxx b/Source/cmProjectCommand.cxx index 6e3b6af..4c1abcf 100644 --- a/Source/cmProjectCommand.cxx +++ b/Source/cmProjectCommand.cxx @@ -77,6 +77,24 @@ bool cmProjectCommand languages.push_back("CXX"); } this->Makefile->EnableLanguage(languages, false); + std::string extraInclude = "CMAKE_PROJECT_" + args[0] + "_INCLUDE"; + const char* include = this->Makefile->GetDefinition(extraInclude.c_str()); + if(include) + { + std::string fullFilePath; + bool readit = + this->Makefile->ReadListFile( this->Makefile->GetCurrentListFile(), + include); + if(!readit && !cmSystemTools::GetFatalErrorOccured()) + { + std::string m = + "could not find load file:\n" + " "; + m += include; + this->SetError(m.c_str()); + return false; + } + } return true; } |