I have a large project running on windows, osx and linux that must be built in several flavours that share most of the components.
Amongst other flavours for platform specific download installers there are two cd rom installers to be built:
- One cd rom multiplatform network installer that should include and install files for all platforms on the target machine
- And there is another cd rom installer that shall only include the windows and osx platforms and should install files only for the target machine's platform.
So I tried to set the <platforms> tag in the component's <folder> not to a fixed value like "windows" or "osx" but used variables like ${platform_windows} and ${platform_osx} which I define in <prebuildActionList>.
For example for the single platform installer build I use
<setInstallerVariable name="platform_windows" value="windows"/>
for the multiplatform network installer build I use
<setInstallerVariable name="platform_windows" value="all"/>
This way I thought I'd achieve that the platform files are included dependent on the setting of the variables for the different build types.
However folders having set this variable <platforms> setting are not included in any build at all. The variables are set correctly before the prebuild check is executed as you can see from a verbose build where I've written the variable values to the console.
[ 0%] Executing pre build actions
[ 0%] Checking output directory
platform_name=cdrom
platform_linux=linux linux-x64
platform_osx=osx
platform_windows=windows
[ 0%] Prebuild check
[ 0%] Copying product files
So my question is if it possible to use a variable for this setting? The InstallBuilder Manual does not say it is not possible.