[WIP] Added support of the base packages #527
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Status
Description
Introduction
The base package it is package that contains all general files betwin all compared packages.
For example you have a Qt application and you create 3 executable files (client server and terminal) and you want to create installer when all packages can be disabled.
Trouble
If you cteate 3 separete package for each target then you get a dublicate of the qt libraries because all executable files dependet of the qt.
Solution
Is a create a base package with a shared libraries for separete pacakge and creating dependenses to the base packages for all dependet packages.
By default CQtDeployer try create a base papckage for all packages of your distribution. If you don't want to create base package and want to create a separated independet packages you should be use the noBase option.
The NoBase option force cqtdeployer disable generate a base package.
Manual control of the base packages
Some times we create a very big Distributions with the many targets and one base package may by not enough. So for this case the CQtDeployer have the basePackage option.
the BasePackge option creats a base package for selected list of packages.
Example:
We want to create 2 base pacages.
We have a 5 targets:
We make 3 packages like this :
So the GameModer and FrontEnd packages has a many general libs because its work with client libraries and BackEnd have only own libraries and general Qt libraries with the FrontEnd and GameModer.
For solve this task we need to create a next dependet tree:
So that we nee to create 2 base packages BaseFrontEnd and BasePackage.
The BasePackage create automaticly because we don't use the noBase option.
CQtDeployer command :
So This command create our tree. but is very hard command...
Еo ease the task, I suggest using the configuration file instead of one command in the console.
CQtdeployer.json
And run commmand with the confFile
Done.