Closed ms705 closed 8 years ago
Updated the above to generalize to a revamp of the build system as a whole; mentioned @AdamGleave.
I'm working on a port to CMake, and will have this up in an experimental branch soon.
Tracking the initial CMake port in CL 261812.
This currently still needs:
This is now merged as 381adf11518e1f5833f74a7c66da06790bcecd92. We will address OS-specific peculiarities and remove the old build system in separate commits. There may be some teething problems with the new build system, but it should support all targets that existed in the old one.
The README has been updated to outline the new build workflow.
Edit, July 2015: generalized this into a point about the build system as a whole.
We should move the build system over to a somewhat less hacky setup. There are several problems with the current build system:
libfirmament_*.a
) is convenient for specifying cross-module dependencies, but inhibits us from using different build options for different targets (e.g. AddressSanitizer does not work with the TaskLib.so
).src/engine
duplicates a lot of trivial code across thecoordinator
andcoordinator_sim
targets, and there are long lists of manual dependency specifications.As a solution, we could either:
(Mentioning @AdamGleave re prior conversations on this.)