Re: [cmake-developers] Fwd: CMake System Prefix Path

2013-10-25 Thread Brad King
On 10/25/2013 10:04 AM, Stephen Kelly wrote:
 Brad King wrote:
 
 Others have asked to drop CMAKE_INSTALL_PREFIX from the
 CMAKE_SYSTEM_PREFIX_PATH before.  I think it is a good
 default for the common dependency-sequence-to-one-prefix
 use case, but we should have an option to block it.
 
 Can you choose an interface for blocking it?

It needs to be something that both

* Modules/Platform/UnixPaths.cmake:
  CMAKE_SYSTEM_PREFIX_PATH

* Modules/Platform/WindowsPaths.cmake:
  CMAKE_SYSTEM_PREFIX_PATH
  CMAKE_SYSTEM_LIBRARY_PATH

will see and that the user can set at the command line without
modifying the project.  Therefore we should just test a variable
that users can add to their local cache or that projects can
set before the first language gets enabled (before enable_language
or project).

Other find behavior is controlled by CMAKE_FIND_* settings, so
how about -DCMAKE_FIND_NO_INSTALL_PREFIX=1?

-Brad
--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers


[cmake-developers] Fwd: CMake System Prefix Path

2013-10-22 Thread Stephen Kelly

Forwarding this for Ben.

Would it be reasonable to have a way to not add the CMAKE_INSTALL_PREFIX
to the CMAKE_SYSTEM_PREFIX_PATH?

The install prefix is not cleared before the CI build on build.kde.org
because the dependency graph is quite large (everything depends on Qt,
most things depend on kdelibs, some things depend on kdepimlibs etc).

Successful builds are uploaded to a master server and build nodes will
re-download that if they have no version of the dependency. That
re-download can be huge and take significant time, so it is avoided by
also not clearing the install prefix on each of the build nodes.

Is the only solution to this as Ben describes with
passing NO_CMAKE_SYSTEM_PATH to CMake?

Thanks,

Steve.


 Original Message 
Subject:CMake System Prefix Path
Date:   Tue, 22 Oct 2013 17:03:26 +1300
From:   Ben Cooksley bcooks...@kde.org
To: Stephen Kelly steve...@gmail.com



Hi Stephen,

It has between pointed out to me on IRC that CMake automatically adds
the install prefix path (CMAKE_INSTALL_PREFIX)
to CMAKE_SYSTEM_PREFIX_PATH - which is included in the paths searched.

This is rather unfortunate as it interferes in our CI system - we rely
on CMake searching only normal system paths (like /usr) and the paths we
specify (via CMAKE_PREFIX_PATH) in order to ensure our builds are clean.
This means kdelibs[frameworks] builds have been succeeding when they
should be failing.

Is there any way around this issue other than ensuring /usr and
/usr/local are included in CMAKE_PREFIX_PATH, and
passing NO_CMAKE_SYSTEM_PATH to CMake?

(As an aside, it seems that something in the stack Grantlee uses is
definitely modifying CMAKE_SYSTEM_PREFIX_PATH as it
contains /srv/jenkins/install/linux/x86_64/g++/common/shared - which is
not the install prefix.

Thanks,
Ben


--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers

Re: [cmake-developers] Fwd: CMake System Prefix Path

2013-10-22 Thread Stephen Kelly
Alexander Neundorf wrote:
 Is the only solution to this as Ben describes with
 passing NO_CMAKE_SYSTEM_PATH to CMake?
 
 Is everything installed into its own separate directory, or everything
 into one common install directory ?

Everything is installed to a separate directory, and each one is added to 
the relevant environment variables.

So, build.kde.org *could* clear the install directory, but that would mean 
that if the build of kdelibs (for example) failed, the build of amarok (for 
example) on the same build node would first have to transfer the cached 
install tree from the master node.

As that takes time, it is preferred to avoid that. Therefore the install 
tree is not cleared.

Thanks,

Steve.


--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers


Re: [cmake-developers] Fwd: CMake System Prefix Path

2013-10-22 Thread Alexander Neundorf
On Tuesday 22 October 2013, Alexander Neundorf wrote:
 On Tuesday 22 October 2013, Stephen Kelly wrote:
  Forwarding this for Ben.
  
  Would it be reasonable to have a way to not add the CMAKE_INSTALL_PREFIX
  to the CMAKE_SYSTEM_PREFIX_PATH?
  
  The install prefix is not cleared before the CI build on build.kde.org
  because the dependency graph is quite large (everything depends on Qt,
  most things depend on kdelibs, some things depend on kdepimlibs etc).
  
  Successful builds are uploaded to a master server and build nodes will
  re-download that if they have no version of the dependency. That
  re-download can be huge and take significant time, so it is avoided by
  also not clearing the install prefix on each of the build nodes.
  
  Is the only solution to this as Ben describes with
  passing NO_CMAKE_SYSTEM_PATH to CMake?
 
 Is everything installed into its own separate directory, or everything into
 one common install directory ?

Is still cmake git next used for the builds ?
It is only one line in UnixPaths.cmake, so a workaround for that special case 
could be to simply use a patched version of 2.8.12, which is the version 
required by kdelibs, and comment that one line out.

Alex
--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers