Merge topic 'CPack-fixCPACK_MONOLITHIC_INSTALL-handling'
805c1b2
Handle CPACK_MONOLITHIC_INSTALL in some rare use cases.
This commit is contained in:
commit
0e339f7054
|
@ -247,7 +247,7 @@ int cmCPackArchiveGenerator::PackageFiles()
|
||||||
cmCPackLogger(cmCPackLog::LOG_DEBUG, "Toplevel: "
|
cmCPackLogger(cmCPackLog::LOG_DEBUG, "Toplevel: "
|
||||||
<< toplevel << std::endl);
|
<< toplevel << std::endl);
|
||||||
|
|
||||||
if (SupportsComponentInstallation()) {
|
if (WantsComponentInstallation()) {
|
||||||
// CASE 1 : COMPONENT ALL-IN-ONE package
|
// CASE 1 : COMPONENT ALL-IN-ONE package
|
||||||
// If ALL COMPONENTS in ONE package has been requested
|
// If ALL COMPONENTS in ONE package has been requested
|
||||||
// then the package file is unique and should be open here.
|
// then the package file is unique and should be open here.
|
||||||
|
|
|
@ -236,7 +236,7 @@ int cmCPackDebGenerator::PackageFiles()
|
||||||
int retval = -1;
|
int retval = -1;
|
||||||
|
|
||||||
/* Are we in the component packaging case */
|
/* Are we in the component packaging case */
|
||||||
if (SupportsComponentInstallation()) {
|
if (WantsComponentInstallation()) {
|
||||||
// CASE 1 : COMPONENT ALL-IN-ONE package
|
// CASE 1 : COMPONENT ALL-IN-ONE package
|
||||||
// If ALL GROUPS or ALL COMPONENTS in ONE package has been requested
|
// If ALL GROUPS or ALL COMPONENTS in ONE package has been requested
|
||||||
// then the package file is unique and should be open here.
|
// then the package file is unique and should be open here.
|
||||||
|
|
|
@ -1436,6 +1436,12 @@ bool cmCPackGenerator::SupportsComponentInstallation() const
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------
|
||||||
|
bool cmCPackGenerator::WantsComponentInstallation() const
|
||||||
|
{
|
||||||
|
return (!IsOn("CPACK_MONOLITHIC_INSTALL") & SupportsComponentInstallation());
|
||||||
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------
|
//----------------------------------------------------------------------
|
||||||
cmCPackInstallationType*
|
cmCPackInstallationType*
|
||||||
cmCPackGenerator::GetInstallationType(const char *projectName,
|
cmCPackGenerator::GetInstallationType(const char *projectName,
|
||||||
|
|
|
@ -189,7 +189,21 @@ protected:
|
||||||
virtual int InstallProjectViaInstallCMakeProjects(
|
virtual int InstallProjectViaInstallCMakeProjects(
|
||||||
bool setDestDir, const char* tempInstallDirectory);
|
bool setDestDir, const char* tempInstallDirectory);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Does the CPack generator support component installation?.
|
||||||
|
* Some Generators requires the user to set
|
||||||
|
* CPACK_<GENNAME>_COMPONENT_INSTALL in order to make this
|
||||||
|
* method return true.
|
||||||
|
* @return true if supported, false otherwise
|
||||||
|
*/
|
||||||
virtual bool SupportsComponentInstallation() const;
|
virtual bool SupportsComponentInstallation() const;
|
||||||
|
/**
|
||||||
|
* Does the currently running generator want a component installation.
|
||||||
|
* The generator may support component installation but he may
|
||||||
|
* be requiring monolithic install using CPACK_MONOLITHIC_INSTALL.
|
||||||
|
* @return true if component installation is supported and wanted.
|
||||||
|
*/
|
||||||
|
virtual bool WantsComponentInstallation() const;
|
||||||
virtual cmCPackInstallationType* GetInstallationType(const char *projectName,
|
virtual cmCPackInstallationType* GetInstallationType(const char *projectName,
|
||||||
const char* name);
|
const char* name);
|
||||||
virtual cmCPackComponent* GetComponent(const char *projectName,
|
virtual cmCPackComponent* GetComponent(const char *projectName,
|
||||||
|
|
|
@ -201,7 +201,7 @@ int cmCPackRPMGenerator::PackageFiles()
|
||||||
<< toplevel << std::endl);
|
<< toplevel << std::endl);
|
||||||
|
|
||||||
/* Are we in the component packaging case */
|
/* Are we in the component packaging case */
|
||||||
if (SupportsComponentInstallation()) {
|
if (WantsComponentInstallation()) {
|
||||||
// CASE 1 : COMPONENT ALL-IN-ONE package
|
// CASE 1 : COMPONENT ALL-IN-ONE package
|
||||||
// If ALL COMPONENTS in ONE package has been requested
|
// If ALL COMPONENTS in ONE package has been requested
|
||||||
// then the package file is unique and should be open here.
|
// then the package file is unique and should be open here.
|
||||||
|
|
Loading…
Reference in New Issue