[MacPorts] #52699: cmake portgroup version 1.1

MacPorts noreply at macports.org
Wed Oct 26 23:53:59 CEST 2016


#52699: cmake portgroup version 1.1
--------------------------+----------------------
  Reporter:  mkae         |      Owner:  mkae
      Type:  enhancement  |     Status:  accepted
  Priority:  Normal       |  Milestone:
 Component:  ports        |    Version:
Resolution:               |   Keywords:
      Port:  cmake        |
--------------------------+----------------------

Comment (by larryv):

 Replying to [comment:1 RJVB]:
 > changes include:
 > - use `CMAKE_BUILD_TYPE=MacPorts`. Inspired by Debian's own build
 >   type, this allows us to specify all compiler settings via the
 >   well-known configure.* commands and exported via the environment. If
 >   one of CMake's predefined types is used the corresponding standard
 >   options will be *appended* to our options, which will override
 >   notably the optimisation options. Some parsing of
 >   configure.cppflags, configure.cflags and configure.cxxflags is done
 >   to ensure this works as expected, in lines 145-200 .

 This parsing code is very fragile. There’s almost certainly a better
 approach. Can you explain again why it is necessary at all? I am not very
 familiar with CMake.

 > - lines 204-243 : ensure there's a compile_commands.json file, and
 >   generate a `.macports.${subport}.configure.cmd` file that summarises
 >   the configure details, as a more permanent reference than the
 >   information available through the logfile. There's been some
 >   discussion of adding this to "base", if that happens this feature
 >   will evidently disappear or be refactored.

 Note that base augments several options before setting up the environment
 variables. For example, this:
 {{{
 puts ${fd} "CXXFLAGS=\"${configure.cxxflags}\""
 }}}
 will not include any  `-isysroot` or `-march` flags that are added by
 base.

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



More information about the macports-tickets mailing list