Compiling, Building, Running
Original Reporter info from Mantis:
-
Reporter name:
Original Reporter info from Mantis:
- Reporter name:
Description:
All three processes are suitable in some moment of application development. However, seems that in Lazarus is quite simplyfied and forced to uncondotonal compiling. Unfortunately, that have negative consequence in compilation performance (and linking on computers with relatively small ammount of memory regarding bug in GNU linker for Win32). Suggestion is to separately threads all of these three cases, similary as Delphi does:
Compiling (Ctrl-F9):
- Conditional compiling related sources, in project,in cases:
- When sources are changed or products of compilation do not exists
- When project options are changed
- Conditional creating binaries, in cases
- Binary do not exists
- Any source file is recompiled
- Products of compilations changed or do not exists
Building:
- Forcing unconditional compiling of all related files in project
- Creating all binaries
Running:
- Compiling (if nothing changes, old executable remain intact)
- Running executable
From Mantis issue #894 (closed) I have noticed that current problem is that may occure situation when it is not possible to detect all change. However, solution proposed in issue is not suitable enough, since linking is always forced.
By upper schema, it is required only to track and update date of all files (sources, product of compilation and binaries) related to project in the moment of
- Loading project/sources or related files.
- Changing sources from IDE or external utilities (in the moment of returning to IDE)
- Check condition of tracksed data on any Compiling, Building and Running process
My assumption is that similar techniques are coded or planned, however currently not implemented in IDE. As well, currently retuening in IDE after changing some related file do not activate reverting dialog immediately, which is necessary to keep tracks up to date. As well, seems that are not monitored changes for all related files in projects not opened in IDE.
Mantis conversion info:
- Mantis ID: 1896
- OS: W2K
- OS Build: Pro SP2
- Build: 8949
- Platform: WIn
- Version: 0.9.13 (SVN)
- Fixed in version: 0.9.24
- Target version: post 1.0