unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Cmake build system and build directories
@ 2013-11-25 22:22 Andreas Enge
  2013-11-25 22:41 ` Ludovic Courtès
  0 siblings, 1 reply; 6+ messages in thread
From: Andreas Enge @ 2013-11-25 22:22 UTC (permalink / raw)
  To: guix-devel

Hello,

my kdelibs package currently fails with the following message:

CMake Error at cmake/modules/MacroEnsureOutOfSourceBuild.cmake:17 (MESSAGE):
  kdelibs requires an out of source build.  Please create a separate build
  directory and run 'cmake path_to_kdelibs [options]' there.
Call Stack (most recent call first):
  CMakeLists.txt:157 (macro_ensure_out_of_source_build)

I think it is simply a matter of replacing in
   cmake-build-system.scm (configure)
the call to
   cmake
by
   mkdir build
   cd build
   cmake ..
(appropriately guilified).

What do you think, if this is a solution, should we maybe globally modify
the cmake build system to always build in a separate directory?

Andreas

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Cmake build system and build directories
  2013-11-25 22:22 Cmake build system and build directories Andreas Enge
@ 2013-11-25 22:41 ` Ludovic Courtès
  2013-11-26  7:50   ` Andreas Enge
  0 siblings, 1 reply; 6+ messages in thread
From: Ludovic Courtès @ 2013-11-25 22:41 UTC (permalink / raw)
  To: Andreas Enge; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 595 bytes --]

Andreas Enge <andreas@enge.fr> skribis:

> CMake Error at cmake/modules/MacroEnsureOutOfSourceBuild.cmake:17 (MESSAGE):
>   kdelibs requires an out of source build.  Please create a separate build
>   directory and run 'cmake path_to_kdelibs [options]' there.
> Call Stack (most recent call first):
>   CMakeLists.txt:157 (macro_ensure_out_of_source_build)
>
> I think it is simply a matter of replacing in
>    cmake-build-system.scm (configure)
> the call to
>    cmake
> by
>    mkdir build
>    cd build
>    cmake ..
> (appropriately guilified).

I suspect this one-byte change is enough:


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Type: text/x-patch, Size: 539 bytes --]

diff --git a/guix/build-system/cmake.scm b/guix/build-system/cmake.scm
index e09f165..1a5f4b6 100644
--- a/guix/build-system/cmake.scm
+++ b/guix/build-system/cmake.scm
@@ -48,7 +48,7 @@
                      (search-paths '())
                      (make-flags ''())
                      (cmake (default-cmake))
-                     (out-of-source? #f)
+                     (out-of-source? #t)
                      (tests? #t)
                      (test-target "test")
                      (parallel-build? #t) (parallel-tests? #f)

[-- Attachment #3: Type: text/plain, Size: 177 bytes --]


Can you confirm?

It will cause some rebuild, but it’s probably the right thing since my
understanding is that out-of-source builds are the norm with CMake.

Ludo’.

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: Cmake build system and build directories
  2013-11-25 22:41 ` Ludovic Courtès
@ 2013-11-26  7:50   ` Andreas Enge
  2013-11-26 15:11     ` Ludovic Courtès
  0 siblings, 1 reply; 6+ messages in thread
From: Andreas Enge @ 2013-11-26  7:50 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

On Mon, Nov 25, 2013 at 11:41:04PM +0100, Ludovic Courtès wrote:
> I suspect this one-byte change is enough:
> -                     (out-of-source? #f)
> +                     (out-of-source? #t)

No, because the configure in cmake-build-system does not call that of
gnu-build-system; so this variable is not used. We would still have to
modify cmake-build-system.

Andreas

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Cmake build system and build directories
  2013-11-26  7:50   ` Andreas Enge
@ 2013-11-26 15:11     ` Ludovic Courtès
  2013-11-27 23:16       ` Ludovic Courtès
  0 siblings, 1 reply; 6+ messages in thread
From: Ludovic Courtès @ 2013-11-26 15:11 UTC (permalink / raw)
  To: Andreas Enge; +Cc: guix-devel

Andreas Enge <andreas@enge.fr> skribis:

> On Mon, Nov 25, 2013 at 11:41:04PM +0100, Ludovic Courtès wrote:
>> I suspect this one-byte change is enough:
>> -                     (out-of-source? #f)
>> +                     (out-of-source? #t)
>
> No, because the configure in cmake-build-system does not call that of
> gnu-build-system; so this variable is not used. We would still have to
> modify cmake-build-system.

Ah right.  I think we should copy what gnu-build-system.scm does in its
‘configure’ procedure.

Ludo’.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Cmake build system and build directories
  2013-11-26 15:11     ` Ludovic Courtès
@ 2013-11-27 23:16       ` Ludovic Courtès
  2013-11-27 23:40         ` Andreas Enge
  0 siblings, 1 reply; 6+ messages in thread
From: Ludovic Courtès @ 2013-11-27 23:16 UTC (permalink / raw)
  To: Andreas Enge; +Cc: guix-devel

ludo@gnu.org (Ludovic Courtès) skribis:

> Andreas Enge <andreas@enge.fr> skribis:
>
>> On Mon, Nov 25, 2013 at 11:41:04PM +0100, Ludovic Courtès wrote:
>>> I suspect this one-byte change is enough:
>>> -                     (out-of-source? #f)
>>> +                     (out-of-source? #t)
>>
>> No, because the configure in cmake-build-system does not call that of
>> gnu-build-system; so this variable is not used. We would still have to
>> modify cmake-build-system.
>
> Ah right.  I think we should copy what gnu-build-system.scm does in its
> ‘configure’ procedure.

Commit 977f03f does exactly that.  Let me know how it works for you.

Ludo’.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Cmake build system and build directories
  2013-11-27 23:16       ` Ludovic Courtès
@ 2013-11-27 23:40         ` Andreas Enge
  0 siblings, 0 replies; 6+ messages in thread
From: Andreas Enge @ 2013-11-27 23:40 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

On Thu, Nov 28, 2013 at 12:16:36AM +0100, Ludovic Courtès wrote:
> Commit 977f03f does exactly that.  Let me know how it works for you.

It seems to work insofar as kdelibs fails differently now ;-)

Thanks!

Andreas

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2013-11-27 23:41 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-11-25 22:22 Cmake build system and build directories Andreas Enge
2013-11-25 22:41 ` Ludovic Courtès
2013-11-26  7:50   ` Andreas Enge
2013-11-26 15:11     ` Ludovic Courtès
2013-11-27 23:16       ` Ludovic Courtès
2013-11-27 23:40         ` Andreas Enge

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).