diff options
author | David Cole <david.cole@kitware.com> | 2012-07-09 18:23:28 (GMT) |
---|---|---|
committer | CMake Topic Stage <kwrobot@kitware.com> | 2012-07-09 18:23:28 (GMT) |
commit | b636728e390b62c5952d2d3063d071fe5746008a (patch) | |
tree | f8eca23c003a8305e3a4be78ffef8f9e11faf396 | |
parent | 098e8de461158154210a41cc80c46a6926c68303 (diff) | |
parent | 05a8630ee63361ad8665b56412a9602761ca2dc4 (diff) | |
download | CMake-b636728e390b62c5952d2d3063d071fe5746008a.zip CMake-b636728e390b62c5952d2d3063d071fe5746008a.tar.gz CMake-b636728e390b62c5952d2d3063d071fe5746008a.tar.bz2 |
Merge topic 'CPack-honorCPACK_XXX-valuesInScriptFile'
05a8630 Do not provide defaul value for CPACK_PACKAGE_DIRECTORY if found in config.
-rw-r--r-- | Modules/CPack.cmake | 8 | ||||
-rw-r--r-- | Source/CPack/cpack.cxx | 19 |
2 files changed, 24 insertions, 3 deletions
diff --git a/Modules/CPack.cmake b/Modules/CPack.cmake index e572119..6575957 100644 --- a/Modules/CPack.cmake +++ b/Modules/CPack.cmake @@ -63,6 +63,14 @@ ##end # ##variable +# CPACK_PACKAGE_DIRECTORY - The directory in which CPack is doing its +# packaging. If it is not set then this will default (internally) to the +# build dir. This variable may be defined in CPack config file or from +# the cpack command line option "-B". If set the command line option +# override the value found in the config file. +##end +# +##variable # CPACK_PACKAGE_VERSION_MAJOR - Package major Version ##end # diff --git a/Source/CPack/cpack.cxx b/Source/CPack/cpack.cxx index 20824b1..b603585 100644 --- a/Source/CPack/cpack.cxx +++ b/Source/CPack/cpack.cxx @@ -207,8 +207,7 @@ int main (int argc, char *argv[]) std::string helpHTML; std::string cpackProjectName; - std::string cpackProjectDirectory - = cmsys::SystemTools::GetCurrentWorkingDirectory(); + std::string cpackProjectDirectory; std::string cpackBuildConfig; std::string cpackProjectVersion; std::string cpackProjectPatch; @@ -374,10 +373,24 @@ int main (int argc, char *argv[]) globalMF->AddDefinition("CPACK_PACKAGE_VENDOR", cpackProjectVendor.c_str()); } + // if this is not empty it has been set on the command line + // go for it. Command line override values set in config file. if ( !cpackProjectDirectory.empty() ) { globalMF->AddDefinition("CPACK_PACKAGE_DIRECTORY", - cpackProjectDirectory.c_str()); + cpackProjectDirectory.c_str()); + } + // The value has not been set on the command line + else + { + // get a default value (current working directory) + cpackProjectDirectory = cmsys::SystemTools::GetCurrentWorkingDirectory(); + // use default value iff no value has been provided by the config file + if (!globalMF->IsSet("CPACK_PACKAGE_DIRECTORY")) + { + globalMF->AddDefinition("CPACK_PACKAGE_DIRECTORY", + cpackProjectDirectory.c_str()); + } } if ( !cpackBuildConfig.empty() ) { |