Opened 5 years ago

Last modified 5 years ago

#47127 new enhancement

cmake portgroup: use ninja and/or speed up destroot install?

Reported by: RJVB (René Bertin) Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: mojca (Mojca Miklavec), ryandesign (Ryan Schmidt), neverpanic (Clemens Lang), michaelld (Michael Dickens)
Port:

Description (last modified by ryandesign (Ryan Schmidt))

Since we're discussion the cmake portgroup (#33259) there some other enhancements that might be investigated.

CMake can use a Ninja generator that create ninja.build files instead of Makefiles. Ninja is much more efficient than make, and using it should speed up even one-time builds from what I understand.

Alternatively, the Makefiles created with the default generator have an install target that speeds up the installation considerably for larger projects: install/fast. My understanding is that it skips the entire verification of the build phases the install depends on, verification which is redundant in the MacPorts workflow. So instead of first going through the whole build sequence to verify if everything is indeed really built and up-to-date, it will start the install immediately.

This may not be a break-through speed-up for regular users who still have to wait for a full build to complete (but then it should be perfectly equal to them too whether a build is done OOT or not ;)). For port maintainers this is different: I for one find myself repeating the destroot step quite often in order to get it exactly right, and I'd appreciate not having to wait for a superfluous check that has output flowing over my screen for sometimes long minutes.

Change History (1)

comment:1 Changed 5 years ago by ryandesign (Ryan Schmidt)

Description: modified (diff)
Note: See TracTickets for help on using tickets.