[arch-general] Is out of source building still recommended with cmake in PKGBUILD scripts
All, Updating PKGBUILDs as specified in VCS_PKGBUILD_Guidelines, I have a svn based source that builds with cmake. In the past I have forced out of source building for all cmake built packages. e.g.: build() { cd $srcdir msg "Creating out-of-source build directory: ${srcdir}/${_builddir}" mkdir -p build cd build msg "Starting cmake..." cmake ${srcdir}/blah \ <snip> msg "Building - $pkgname..." make } In https://wiki.archlinux.org/index.php/VCS_PKGBUILD_Guidelines it specifies that "The local repo is left untouched, thus invalidating the need for a -build directory." Am I reading this correctly to say - "creating a separate out-of-source build directory is no longer required -- even for cmake built packages?" Or am I just confused again... -- David C. Rankin, J.D.,P.E.
On 01/14/2014 03:26 PM, David C. Rankin wrote:
Am I reading this correctly to say - "creating a separate out-of-source build directory is no longer required -- even for cmake built packages?" Or am I just confused again...
WOW, I confirmed on a smaller build that with VCS packages no longer require an out-of-source build with cmake. What about normal packages built with cmake. Is an out-of-source build directory still required? -- David C. Rankin, J.D.,P.E.
On Tue, Jan 14, 2014 at 10:58 PM, David C. Rankin < drankinatty@suddenlinkmail.com> wrote:
On 01/14/2014 03:26 PM, David C. Rankin wrote:
Am I reading this correctly to say - "creating a separate out-of-source build directory is no longer required -- even for cmake built packages?" Or am I just confused again...
WOW,
I confirmed on a smaller build that with VCS packages no longer require an out-of-source build with cmake.
What about normal packages built with cmake. Is an out-of-source build directory still required?
-- David C. Rankin, J.D.,P.E.
It is indeed no longer required with VCS sources, and has never been with tarballs since those are extracted every time you run makepkg so files you might have changed are overwritten anyway. However I sometimes find useful to keep doing that with cmake when you need to figure out why sth won't build, because that way files generated by cmake at build time are in a separate dir. Cheers, -- Maxime
On Tuesday 14 Jan 2014 23:17:53 Maxime Gauduin wrote:
It is indeed no longer required with VCS sources, and has never been with tarballs since those are extracted every time you run makepkg so files you might have changed are overwritten anyway. However I sometimes find useful to keep doing that with cmake when you need to figure out why sth won't build, because that way files generated by cmake at build time are in a separate dir.
Mmm, bear in mind that most cmake projects won't be tested with in-source builds. It's possible they might break. One possible scenario: files intended to be generated in the build directory could potentially match files that exist in the source directory (although that wouldn't be great practice), and bad things would then happen. Paul
participants (3)
-
David C. Rankin
-
Maxime Gauduin
-
Paul Gideon Dann