[MacPorts] #47127: cmake portgroup: use ninja and/or speed up destroot install?

MacPorts noreply at macports.org
Thu Mar 12 11:58:29 PDT 2015


#47127: cmake portgroup: use ninja and/or speed up destroot install?
--------------------------+--------------------------------
  Reporter:  rjvbertin@…  |      Owner:  macports-tickets@…
      Type:  enhancement  |     Status:  new
  Priority:  Normal       |  Milestone:
 Component:  ports        |    Version:
Resolution:               |   Keywords:
      Port:               |
--------------------------+--------------------------------
Description changed by ryandesign@…:

Old description:

> Since we're discussion the cmake portgroup
> (https://trac.macports.org/ticket/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.

New description:

 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.

--

-- 
Ticket URL: <https://trac.macports.org/ticket/47127#comment:1>
MacPorts <https://www.macports.org/>
Ports system for OS X


More information about the macports-tickets mailing list