Re: [cmake-developers] Fwd: CMake System Prefix Path
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
Re: [cmake-developers] Fwd: CMake System Prefix Path
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? 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
On 10/22/2013 05:10 PM, Alexander Neundorf wrote: > 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. 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. -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
Re: [cmake-developers] Fwd: CMake System Prefix Path
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
Re: [cmake-developers] Fwd: CMake System Prefix Path
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
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 ? 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
[cmake-developers] Fwd: CMake System Prefix Path
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 To: Stephen Kelly 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