[Exherbo-dev] cmake [ api=2 ]

Heiko Becker heirecka at exherbo.org
Thu Aug 22 19:39:49 UTC 2019


On Sonntag, 1. April 2012 19:05:25 CEST, Bo Ørsted Andresen wrote:
> cmake.exlib until now has been really dumb.
>
> Where econf() uses ECONF_SOURCE for the sources and WORK as the build
> directory, cmake.exlib has been using WORK for the sources and 
> ECMAKE_BUILD_DIR
> as the build directory.
>
> This is backwards. It also causes a lot of unnecessary code and 
> makes it hard
> to combine it with other exlibs such as easy-multibuild.
>
> Therefore I have committed a second api for cmake.exlib that 
> everything should
> be converted to using.
>
> A new api exparam was added which defaults to the old behaviour for
> compatibility.
>
> To use the new api packages need to require cmake [ api=2 ]
>             
> When converting to api=2 ECMAKE_BUILD_DIR and 
> CMAKE_SRC_COMPILE_PARAMS are no
> longer available. ECMAKE_BUILD_DIR was replaced with WORK, and old WORK was
> replaced with CMAKE_SOURCE. Use DEFAULT_SRC_COMPILE_PARAMS in place of
> CMAKE_SRC_COMPILE_PARAMS.
> 
> src_compile() and src_test() are no longer exported. Use default() instead.
>
> src_unpack() is now exported in order to create WORK before 
> src_prepare(). Make
> sure to handle any collisions with other exlibs that export src_unpack().
>
> cmake_run() no longer exists.
>
> Because src_prepare() starts in WORK which is now the build dir, you will
> probably have to edo cd "${CMAKE_SOURCE}" before applying any patches.
>
> I already converted some packages to api=2 and will continue to 
> do so, but any
> help will be appreciated.

After quick and decisive action there's no cmake [ api=1 ] anymore, c.f. 
cea3f744b14a84be85ac4ea117b701e4ed748929 in arbor.git

Cheers,
Heiko



More information about the Exherbo-dev mailing list