Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 2 additions & 26 deletions Build/Installer.legacy.targets
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@
Name="BuildProductMain"
DependsOnTargets="MakeInstallBuildFolders;BuildProduct;Localize;CopyFilesToInstall;ValidateInstallerAddons"
/>
<Target Name="BuildProduct" DependsOnTargets="CleanInstaller;ProductCompile" />
<Target Name="BuildProduct" DependsOnTargets="CleanInstaller;BuildProcRunner;RescuePatching" />
<Target Name="RequirePlatform">
<!-- x64-only build (x86 is no longer supported) -->
<Error
Expand Down Expand Up @@ -123,37 +123,13 @@
<!-- ########################################################################################################## -->
<!-- ### Compile Targets ### -->
<!-- ########################################################################################################## -->
<Target Name="ProductCompile" DependsOnTargets="BuildFieldWorks;RescuePatching">
<Target Name="BuildProcRunner">
<MSBuild
Projects="$(InstallerDir)/CustomActions/CustomActions.sln"
Targets="CustomActions"
Properties="Configuration=Release;Platform=x86"
/>
</Target>
<!-- Modern traversal build for installer (replaces legacy remakefw) -->
<PropertyGroup>
<!--
Installer builds historically forced a full clean (CleanAll deletes Obj/ and Output/).
That guarantees correctness but destroys incremental rebuild performance for local iteration,
especially for native C++ projects.

Set InstallerCleanProductOutputs=true to restore the legacy behavior.
-->
<InstallerCleanProductOutputs Condition="'$(InstallerCleanProductOutputs)'==''">false</InstallerCleanProductOutputs>
<BuildFieldWorksDependsOn>Initialize;CopyDlls;setRegistryValues;GeneratePartsAndLayoutFiles</BuildFieldWorksDependsOn>
<BuildFieldWorksDependsOn Condition="'$(InstallerCleanProductOutputs)'=='true'">CleanAll;$(BuildFieldWorksDependsOn)</BuildFieldWorksDependsOn>
</PropertyGroup>
<Target
Name="BuildFieldWorks"
DependsOnTargets="$(BuildFieldWorksDependsOn)"
>
<Message Text="Building FieldWorks using MSBuild Traversal SDK..." Importance="High" />
<MSBuild
Projects="$(fwrt)/FieldWorks.proj"
Properties="Configuration=$(Configuration);Platform=$(Platform);action=$(action);desktopNotAvailable=$(desktopNotAvailable)"
/>
<Message Text="FieldWorks build complete." Importance="High" />
</Target>
<!-- Legacy cleanup target (external template repo no longer exists in this repo). -->
<Target Name="CleanInstaller">
<ItemGroup>
Expand Down
17 changes: 1 addition & 16 deletions Build/SetupInclude.targets
Original file line number Diff line number Diff line change
Expand Up @@ -364,24 +364,9 @@
/>
<Message Text="Updated CommonAssemblyInfo.cs, bldinc.h and GlobalInclude.properties (if needed)." />
</Target>
<Target Name="GeneratePartsAndLayoutFiles" DependsOnTargets="GenerateCellarConstants">
<XslTransformation
OutputPaths="$(fwrt)/DistFiles/Parts/GeneratedParts.xml"
XmlInputPaths="$(LcmModelArtifactsDir)/MasterLCModel.xml"
XslInputPath="$(fwrt)/Src/Common/Controls/DetailControls/PartGenerator/PartGenerate.xslt"
/>
<XslTransformation
OutputPaths="$(fwrt)/DistFiles/Parts/Generated.fwlayout"
XmlInputPaths="$(LcmModelArtifactsDir)/MasterLCModel.xml"
XslInputPath="$(fwrt)/Src/Common/Controls/DetailControls/PartGenerator/LayoutGenerate.xslt"
/>
<Message Text="Updated GeneratedParts.xml and Generated.fwlayout (if needed)." />
</Target>
<PropertyGroup>
<!-- Only compute fwrt if not already set (e.g., by NativeBuild.csproj) -->
<fwrt Condition="'$(fwrt)'==''"
>$([System.IO.Path]::GetFullPath("$(MSBuildProjectDirectory)/.."))</fwrt
>
<fwrt Condition="'$(fwrt)'==''">$([System.IO.Path]::GetFullPath("$(MSBuildProjectDirectory)/.."))</fwrt>
<BUILD_LEVEL Condition="'$(BUILD_LEVEL)'==''">9</BUILD_LEVEL>
<!-- action is one of the following: build test clean register unregister -->
<action Condition="'$(action)'==''">build</action>
Expand Down
8 changes: 3 additions & 5 deletions Build/mkall.targets
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
Targets: allCppNoTest (DebugProcs → GenericLib → FwKernel → Views)

Additional Responsibilities:
- Code generation (CellarConstants, GeneratePartsAndLayoutFiles)
- Code generation (CellarConstants)
- Clean/utility targets (CleanAll, CleanDownloads)
- Registry setup for dev/test environments (setRegistryValues)

Expand Down Expand Up @@ -222,10 +222,6 @@
<Original-BUILD4UX>$(BUILD4UX)</Original-BUILD4UX>
<Original-ANAL_TYPE>$(ANAL_TYPE)</Original-ANAL_TYPE>
</PropertyGroup>
<Target
Name="remakefw-internal"
DependsOnTargets="CleanAll;Initialize;CopyDlls;setRegistryValues;GeneratePartsAndLayoutFiles;mkall"
/>
<ItemGroup>
<GeneratedFiles Include="$(fwrt)/Src/**/Collection.cpp" />
<GeneratedFiles Include="$(fwrt)/Src/**/asserts.log" />
Expand Down Expand Up @@ -266,6 +262,8 @@
</PropertyGroup>
<!-- Package restoration, dependency downloads, and CopyDlls are in PackageRestore.targets -->
<Import Project="$(MSBuildThisFileDirectory)PackageRestore.targets" />
<!-- REVIEW (Hasso) 2026.03: the targets setRegistryValues and setKeysInHKCU appear unused by the recentnly-modernized build process,
but they may still be essential for developers wanting to run FieldWorks. TODO: test a new machine setup -->
<Target Name="setRegistryValues" DependsOnTargets="initWindows;setKeysInHKCU" />
<Target Name="setKeysInHKCU" Condition="'$(packaging)' != 'yes'">
<Message Text="Setting registry values for $(fwrt)." />
Expand Down
Loading