Re: [cmake-developers] Config files and version components
On Monday 21 January 2013, Stephen Kelly wrote: Hi, Currently it is common to set somepackage_VERSION_{MAJOR,MINOR,PATCH} in a Config.cmake file. The somepackage_VERSION_{MAJOR,MINOR,PATCH,TWEAK} variables are already set if parsable from the PACKAGE_VERSION if set. This is the case if using WRITE_BASIC_PACKAGE_VERSION_FILE(). The problem I see is that those variables are set to 0 if the version component is not set. This appears to be a side-effect of the way they are stored in the cmFindPackageCommand (eg, unsigned int VersionMinor). There is also the somepackage_VERSION_COUNT to say how many components are valid. I consider it a bug that the variables are set to 0 if the version component is not set. Can we change that? Not sure I remember correctly. I think initially somewhere not all component-wise version variables had been set. I think after some discussion we concluded that it makes sense to set unset version components to 0. I.e. 4.0 means IMO implicitely 4.0.0.0. Where do you see a problem with this ? 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] Config files and version components
Alexander Neundorf wrote: On Monday 21 January 2013, Stephen Kelly wrote: Hi, Currently it is common to set somepackage_VERSION_{MAJOR,MINOR,PATCH} in a Config.cmake file. The somepackage_VERSION_{MAJOR,MINOR,PATCH,TWEAK} variables are already set if parsable from the PACKAGE_VERSION if set. This is the case if using WRITE_BASIC_PACKAGE_VERSION_FILE(). The problem I see is that those variables are set to 0 if the version component is not set. This appears to be a side-effect of the way they are stored in the cmFindPackageCommand (eg, unsigned int VersionMinor). There is also the somepackage_VERSION_COUNT to say how many components are valid. I consider it a bug that the variables are set to 0 if the version component is not set. Can we change that? Not sure I remember correctly. I think initially somewhere not all component-wise version variables had been set. I think after some discussion we concluded that it makes sense to set unset version components to 0. I.e. 4.0 means IMO implicitely 4.0.0.0. Where do you see a problem with this ? Only that I think it's odd. The Foo package name is 4.3.2, but if you check all the components, it looks like 4.3.2.0, which is not 'true'. 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] Config files and version components
On Monday 21 January 2013, Stephen Kelly wrote: Alexander Neundorf wrote: On Monday 21 January 2013, Stephen Kelly wrote: Hi, Currently it is common to set somepackage_VERSION_{MAJOR,MINOR,PATCH} in a Config.cmake file. The somepackage_VERSION_{MAJOR,MINOR,PATCH,TWEAK} variables are already set if parsable from the PACKAGE_VERSION if set. This is the case if using WRITE_BASIC_PACKAGE_VERSION_FILE(). The problem I see is that those variables are set to 0 if the version component is not set. This appears to be a side-effect of the way they are stored in the cmFindPackageCommand (eg, unsigned int VersionMinor). There is also the somepackage_VERSION_COUNT to say how many components are valid. I consider it a bug that the variables are set to 0 if the version component is not set. Can we change that? Not sure I remember correctly. I think initially somewhere not all component-wise version variables had been set. I think after some discussion we concluded that it makes sense to set unset version components to 0. I.e. 4.0 means IMO implicitely 4.0.0.0. Where do you see a problem with this ? Only that I think it's odd. The Foo package name is 4.3.2, but if you check all the components, it looks like 4.3.2.0, which is not 'true'. Is VERSION_COUNT then actually set to 3 or 4 ? 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] Config files and version components
Alexander Neundorf wrote: Where do you see a problem with this ? Only that I think it's odd. The Foo package name is 4.3.2, but if you check all the components, it looks like 4.3.2.0, which is not 'true'. Is VERSION_COUNT then actually set to 3 or 4 ? It is set correctly to 3, but still, it's something else to check. You can't just check the MINOR or PATCH version. You have to also check the COUNT. This isn't something I'll fight against. Just something I noticed that I considered odd and not ideal for using. 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] General Config.cmake file issue on ArchLinux
On Sunday 18 November 2012, Andrea Scarpino wrote: On Saturday 17 November 2012 20:24:42 you wrote: Hi, maybe I am missing something, but here we go: on 64bit ArchLinux installations, /lib64/ is a symlink to /usr/lib/. /bin/ and /usr/bin/ are normal directories, no symlinks. Hi Alexander, that's true, anyway we'll symlink /bin to /usr/bin in the next year. Now if a Config.cmake files is installed into /usr/lib/foo/, and references other files of its installations using relative paths from its own location to e.g. /usr/bin/ (../../bin/ ), there is breakage. Note, that this only applies when $PATH contains a different order than the default one we ship; which is PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin. In detail, when /bin is before /usr/bin cmake looks for the binary in /bin. CMake finds FooConfig.cmake in /lib64/foo/FooConfig.cmake (which it seems to search before /usr/lib). Then it goes ../../bin/, but doesn't end up in /usr/bin/, where e.g. some executable is located, but instead it goes to /lib64/foo/../../bin/, which is /bin/, but the expected executable is not there, and so the FooConfig.cmake file fails. I'm not familiar with the cmake code, but I guess that the different PATH order I said above cause cmake to take the FooConfig.cmake file from /lib64 rather than /usr/lib. If so, maybe the best thing to do is to tell the ArchLinux developers to set up their symlinks in a different way ? Having e.g. /usr/lib64/ point to /usr/lib/ would make it work I think. Or if /lib64/ points to /usr/lib/, then maybe /bin/ should also point to /usr/bin/. We are going to move everything to /usr. As I said above /bin will be symlinked to /usr/bin in the next year. what about /include/ ? This typically does not exist, but this will also make the Config.cmake files fail. The Config.cmake files typically reference the include/ subdir, relativ to their own position. If there is no /include/, which is symlinked to /usr/include/, this will fail too. The same for share/ and the other subdirs, but they are somewhat less common. 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] Remaining issues around umbrella Config files?
Hi, I have this pending patch: https://codereview.qt-project.org/#change,44532 Given find_package(Qt5 COMPONENTS Widgets OPTIONAL_COMPONENTS Svg Quick ) message(Qt5_FOUND: ${Qt5_FOUND}) message(Qt5Gui_FOUND: ${Qt5Gui_FOUND}) message(Qt5Widgets_FOUND: ${Qt5Widgets_FOUND}) message(Qt5Svg_FOUND: ${Qt5Svg_FOUND}) message(Qt5Quick_FOUND: ${Qt5Quick_FOUND}) the output is $ cmake .. CMake Warning at /home/stephen/dev/prefix/qtbase/lib/cmake/Qt5/Qt5Config.cmake:24 (find_package): Could not find a package configuration file provided by Qt5Quick with any of the following names: Qt5QuickConfig.cmake qt5quick-config.cmake Add the installation prefix of Qt5Quick to CMAKE_PREFIX_PATH or set Qt5Quick_DIR to a directory containing one of the above files. If Qt5Quick provides a separate development package or SDK, be sure it has been installed. Call Stack (most recent call first): CMakeLists.txt:62 (find_package) Qt5_FOUND: 1 Qt5Gui_FOUND: 1 Qt5Widgets_FOUND: 1 Qt5Svg_FOUND: 1 Qt5Quick_FOUND: 0 -- Configuring done -- Generating done -- Build files have been written to: /home/stephen/dev/src/playground/cmake/build -- 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] Remaining issues around umbrella Config files?
Stephen Kelly wrote: Hi, I have this pending patch: Please ignore this one. Sent too early. -- 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] Remaining issues around umbrella Config files?
On Monday 21 January 2013, Stephen Kelly wrote: Hi, I have this pending patch: https://codereview.qt-project.org/#change,44532 Given find_package(Qt5 COMPONENTS Widgets # I don't have QtQuick installed. OPTIONAL_COMPONENTS Svg Quick ) message(Qt5_FOUND: ${Qt5_FOUND}) message(Qt5Gui_FOUND: ${Qt5Gui_FOUND}) message(Qt5Widgets_FOUND: ${Qt5Widgets_FOUND}) message(Qt5Svg_FOUND: ${Qt5Svg_FOUND}) message(Qt5Quick_FOUND: ${Qt5Quick_FOUND}) the output is $ cmake .. CMake Warning at /home/stephen/dev/prefix/qtbase/lib/cmake/Qt5/Qt5Config.cmake:24 (find_package): Could not find a package configuration file provided by Qt5Quick with any of the following names: Qt5QuickConfig.cmake qt5quick-config.cmake Add the installation prefix of Qt5Quick to CMAKE_PREFIX_PATH or set Qt5Quick_DIR to a directory containing one of the above files. If Qt5Quick provides a separate development package or SDK, be sure it has been installed. Call Stack (most recent call first): CMakeLists.txt:62 (find_package) Qt5_FOUND: 1 Qt5Gui_FOUND: 1 Qt5Widgets_FOUND: 1 Qt5Svg_FOUND: 1 Qt5Quick_FOUND: 0 -- Configuring done -- Generating done -- Build files have been written to: /home/stephen/dev/src/playground/cmake/build Given: find_package(Qt5 COMPONENTS Widgets Quick) message(Qt5_FOUND: ${Qt5_FOUND}) message(Qt5Gui_FOUND: ${Qt5Gui_FOUND}) message(Qt5Widgets_FOUND: ${Qt5Widgets_FOUND}) message(Qt5Quick_FOUND: ${Qt5Quick_FOUND}) The output is: CMake Warning at /home/stephen/dev/prefix/qtbase/lib/cmake/Qt5/Qt5Config.cmake:24 (find_package): Could not find a package configuration file provided by Qt5Quick with any of the following names: Qt5QuickConfig.cmake qt5quick-config.cmake Add the installation prefix of Qt5Quick to CMAKE_PREFIX_PATH or set Qt5Quick_DIR to a directory containing one of the above files. If Qt5Quick provides a separate development package or SDK, be sure it has been installed. Call Stack (most recent call first): CMakeLists.txt:62 (find_package) CMake Warning at CMakeLists.txt:62 (find_package): Found package configuration file: /home/stephen/dev/prefix/qtbase/lib/cmake/Qt5/Qt5Config.cmake but it set Qt5_FOUND to FALSE so package Qt5 is considered to be NOT FOUND. Reason given by package: Failed to find module Qt5Quick in prefix /home/stephen/dev/prefix/qtbase Qt5_FOUND: 0 Qt5Gui_FOUND: 1 Qt5Widgets_FOUND: 1 Qt5Svg_FOUND: Qt5Quick_FOUND: 0 -- Configuring done -- Generating done -- Build files have been written to: /home/stephen/dev/src/playground/cmake/build I didn't closely follow the threads around this. Is there any other behavior that I should account for here? Seems ok. Minor nitpick: I would probably prefer an error message which mentions component and the exact name of the expected config-file instead of the generic find_package() error message. Also, since in the patch you only have find_package() check in ${_qt5_install_prefix}, I think the error message should mention where it expects this file exactly. 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] General Config.cmake file issue on ArchLinux
On Monday 21 January 2013, Andrea Scarpino wrote: On Monday 21 January 2013 20:09:57 Alexander Neundorf wrote: what about /include/ ? This typically does not exist, but this will also make the Config.cmake files fail. The Config.cmake files typically reference the include/ subdir, relativ to their own position. If there is no /include/, which is symlinked to /usr/include/, this will fail too. Hi, there's no /include/ in Arch. Ok, that's actually what I expected. This means that symlinking /lib64/ to /usr/lib/ will break most Config.cmake files which have been installed to /usr/lib/ (i.e. least all which do not hardcode the path to the include dir, but instead store it as a relative path, relative to the config.cmake file). 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] FindPackageCheckArchLinuxSymlinks branch on stage
Hi, I pushed the FindPackageCheckArchLinuxSymlinks branch to stage, haven't merged it yet. It makes cmake warn if /lib64/ is a symbolic link to /usr/lib/ and a Config.cmake file has been found in one of both (since any relative directory references may be wrong then), see the General Config.cmake file issue on ArchLinux thread here from November. The branch doesn't actually fix anything, it only detects this very specific situation and prints a warning message. I am actually not aware of a solution for this problem, except using full absolute paths in the Config.cmake files and so making the Config.cmake files not relocatable again. Comments ? Should I merge into next ? 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] [CMake 0013862]: cmake-gui doesn't delete entirely the cache when using delete cache option
The following issue has been SUBMITTED. == http://www.cmake.org/Bug/view.php?id=13862 == Reported By:Jonathan De Wachter Assigned To: == Project:CMake Issue ID: 13862 Category: CMake Reproducibility:always Severity: major Priority: immediate Status: new == Date Submitted: 2013-01-21 17:11 EST Last Modified: 2013-01-21 17:11 EST == Summary:cmake-gui doesn't delete entirely the cache when using delete cache option Description: Changes made in my tool-chain file are not taken into accounts after I use this option. I need to delete manually the build/ directory. Additional Information: Annoying bug, I lost one hour finding out where the problem was from. == Issue History Date ModifiedUsername FieldChange == 2013-01-21 17:11 Jonathan De WachterNew Issue == -- 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] [CMake 0013863]: CMAKE_FORCE_C_COMPILER doesn't work...
The following issue has been SUBMITTED. == http://www.cmake.org/Bug/view.php?id=13863 == Reported By:Jonathan De Wachter Assigned To: == Project:CMake Issue ID: 13863 Category: CMake Reproducibility:always Severity: major Priority: high Status: new == Date Submitted: 2013-01-21 17:18 EST Last Modified: 2013-01-21 17:18 EST == Summary:CMAKE_FORCE_C_COMPILER doesn't work... Description: CMAKE_FORCE_C_COMPILER doesn't work while the traditional version CMAKE_C_COMPILER does. Here is my code: include(CMakeForceCompiler) SET(CMAKE_SYSTEM_NAME Android) set(NDK_PATH C:/Users/Sonkun/Desktop/my-android-toolchain/arm-linux-androideabi) # I get my compilers found when using the following. The only problem: it doesn't compile, without extra flags, a simple program so I need to force. SET(CMAKE_C_COMPILER gcc) SET(CMAKE_CXX_COMPILER g++) # So I comment the two line above and try the following. It results two errors saying CMake was unable to find the compilers... CMAKE_FORCE_C_COMPILER(gcc GNU) CMAKE_FORCE_CXX_COMPILER(g++ GNU) == Issue History Date ModifiedUsername FieldChange == 2013-01-21 17:18 Jonathan De WachterNew Issue == -- 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] Remaining issues around umbrella Config files?
Alexander Neundorf wrote: On Monday 21 January 2013, Stephen Kelly wrote: I didn't closely follow the threads around this. Is there any other behavior that I should account for here? Seems ok. Minor nitpick: I would probably prefer an error message which mentions component and the exact name of the expected config-file instead of the generic find_package() error message. Sorry, I don't understand. Could you be more specific and write the error you expect? Also, since in the patch you only have find_package() check in ${_qt5_install_prefix}, I think the error message should mention where it expects this file exactly. Generically, it could be in one of (for example): ${_qt5_install_prefix}/Qt5QuickConfig.cmake ${_qt5_install_prefix}/Qt5Quick/Qt5QuickConfig.cmake ${_qt5_install_prefix}/lib/cmake/Qt5Quick/Qt5QuickConfig.cmake // etc so, in the general case for umbrella config files, the prefix is the best we can put in the error message (and I already do, in the patch). I was thinking though that as Qt puts all cmake files in ${_qt5_install_prefix}/lib/cmake/name that I could put that in the error message. Is that what you meant too? 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] Remaining issues around umbrella Config files?
Stephen Kelly wrote: Alexander Neundorf wrote: On Monday 21 January 2013, Stephen Kelly wrote: I didn't closely follow the threads around this. Is there any other behavior that I should account for here? Seems ok. Minor nitpick: I would probably prefer an error message which mentions component and the exact name of the expected config-file instead of the generic find_package() error message. Sorry, I don't understand. Could you be more specific and write the error you expect? Also, since in the patch you only have find_package() check in ${_qt5_install_prefix}, I think the error message should mention where it expects this file exactly. Generically, it could be in one of (for example): ${_qt5_install_prefix}/Qt5QuickConfig.cmake ${_qt5_install_prefix}/Qt5Quick/Qt5QuickConfig.cmake ${_qt5_install_prefix}/lib/cmake/Qt5Quick/Qt5QuickConfig.cmake // etc so, in the general case for umbrella config files, the prefix is the best we can put in the error message (and I already do, in the patch). I was thinking though that as Qt puts all cmake files in ${_qt5_install_prefix}/lib/cmake/name that I could put that in the error message. Is that what you meant too? I've now updated the patch to generate this in the case of not-found non- optional components: Failed to find Qt5 component Qml config file at /home/stephen/dev/prefix/qtbase/lib/cmake/Qt5Qml/Qt5QmlConfig.cmake I notice there does not seem to be any way to warn about why missing optional components are missing. Is that a missing feature? I mean, when I do this: find_package(Qt5 COMPONENTS Qml) Qt5 is not found, and the warning is printed. However, with: find_package(Qt5 OPTIONAL_COMPONENTS Qml) Qt5 *is* found, and no warning can be printed. Bug or feature? 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
[cmake-developers] [PATCH] spell: fix a few typos in comments
From: Yury G. Kudryashov urkud.ur...@gmail.com --- Source/cmMakefile.cxx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx index b432986..d1dc5a2 100644 --- a/Source/cmMakefile.cxx +++ b/Source/cmMakefile.cxx @@ -2243,7 +2243,7 @@ bool cmMakefile::CanIWriteThisFile(const char* fileName) { return true; } - // If we are doing an in-source build, than the test will always fail + // If we are doing an in-source build, then the test will always fail if ( cmSystemTools::SameFile(this-GetHomeDirectory(), this-GetHomeOutputDirectory()) ) { @@ -2254,8 +2254,8 @@ bool cmMakefile::CanIWriteThisFile(const char* fileName) return true; } - // Check if this is subdirectory of the source tree but not a - // subdirectory of a build tree + // Check if this is a subdirectory of the source tree but not a + // subdirectory of the build tree if ( cmSystemTools::IsSubDirectory(fileName, this-GetHomeDirectory()) !cmSystemTools::IsSubDirectory(fileName, -- 1.8.0 -- 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] Always build release version of a librart
Hello. I have a project with a number of libraries. For a certain library i want to always build release version, whatever CMAKE_BUILD_TYPE is set to. Right now I am using set(CMAKE_BUILD_TYPE Release) in CMakeLists.txt for this library. But that does not work with multiconfiguration generators like Visual Studio while fine for nmake generator. What can I do here? Thanks in advance. -- 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://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] Why does ExternalProject require root access?
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 01/20/2013 10:54 PM, Eric Noulard wrote: 2013/1/20 Ansis Māliņš ansis.mal...@gmail.com mailto:ansis.mal...@gmail.com The line ExternalProject_Add(bullet PREFIX ${PROJECT_SOURCE_DIR}) fails with Install the project... -- Install configuration: Release CMake Error at cmake_install.cmake:38 (FILE): file cannot create directory: /usr/local/lib/pkgconfig. Maybe need administrative privileges. Why? How do I avoid needing root for building my project? The bullet project uses pkgconfig which is not installed on your computer so that your system proposes you to pass root and install it. So just find the proper package and install it (as root or compile it and put it somewhere on your path) and it should work. Theo. -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.13 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iEYEARECAAYFAlD9Dc8ACgkQEr8WrU8nPV2+lQCglobLGNOHFH4+VF4s81AzK7LN zYAAn2sDueCMzdqXsVKSPrsTQpu9+qiq =Vdcq -END PGP SIGNATURE- -- 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://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] Why does ExternalProject require root access?
I' m not sure of which are exactly your problems but I probably had similar ones: I use to have a meta-project which assembles all the needed external project set up to download,configure,build and install. I setup for all the project the same CMAKE_INSTALL_PREFIX and the same CMAKE_PREFIX_PATH ( passed as cmake configure options with -D) For configure based project you need to use the --prefix option If this assumption can work for you, let me know, I can try to figure out something useful out of my mess of external_project cmake-based builds HTH On 01/21/2013 12:00 AM, Ansis Ma-lin,s( wrote: There is no Bullet package for Ubuntu. But most importantly there is no such thing as packages in Windows. So I have to build it into my app. I also want to avoid having to alter the CMake files of my dependencies. I want other devs to be able to just check out the latest version of Bullet into a specific folder and hit compile on my meta project. -- 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://www.cmake.org/mailman/listinfo/cmake -- Luigi Calori SuperComputing Applications and Innovation Department CINECA - via Magnanelli, 6/3, 40033 Casalecchio di Reno (Bologna) - ITALY Tel: +39 051 6171509 Fax: +39 051 6132198 hpc.cineca.it -- 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://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] How to handle RelWithDebInfo and MinSizeRel when not built?
John Drescher wrote: The suggestion in the bug report looks somewhat reasonable to me, but then again, we don't actually create separate debug info, and the 'Release' configuration would be no different to the 'RelWithDebInfo' configuration, so it's sort of a 'lie'. The real need for it though is probably that it allows the downstream of Qt to use RelWithDebInfo themselves? The alternative way to do that would be to set the MAP_IMPORTED_CONFIG* properties. I'm not sure whether I should advise that and close the bug report, or should I implement the suggested change. Any ideas? As a windows programmer who regularly uses CMake generated RelWithDebInfo targets with Qt4 since 2008 I believe the behavior of using the Release versions for RelWithDebugInfo is fine (and actually preferred for me). Hi John, Thanks for your input. Do you have to do anything in particular to enable this when working with FindQt4.cmake? If I need to debug deeply into a Qt problem I will switch to use the Debug build however most of the time for itk or vtk I want to use RelWithDebInfo to debug since these tend to be slow to Debug in Debug mode that is when I use dicom images that are similar resolution to what my programs typically use. Do you have to do anything in particular to enable this when working with FindQt4.cmake? Or do you mean that you use vtk in RelWithDebInfo config, and Qt in Release config in that case? 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://www.cmake.org/mailman/listinfo/cmake
[CMake] fixup_bundle and output dirs
I'm running fixup_bundle on macosx to fix up bundles and make them standalone for distribution. I've got mostly Qt libraries and different internal and external dependencies. For some reason ALL dependencies except for Frameworks are copied into the program.app/Contents/MacOS directory, any chance I can change this? It would be better if internal and external libraries (dylibs) goes into program.app/Contents/lib and Qt plugins in program.app/Contents/Plugins. Anyone? Mikael -- 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://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] CMake 2.8.10 with Xcode 4.4.1
Hello, Is there any news on that ? Any way to fix it, or work around or even a hack I can try ? From what I understand the CMAKE_OSX_SYSROOT variable is mandatory to specify the base SDK, and therefore to be able to build a project... Or should I just revert to using cmake 2.8.9 ? Thank you, -- AlexV 2013/1/15 Asmodehn Shade asmod...@gmail.com Hello, I managed to reproduce the problem with the simple HelloWorld given by Nicholas a bit earlier in this thread, with a slight modification. The problem seems to come from : *set(CMAKE_OSX_SYSROOT iphoneos6.0)* Just add this line to the CMakeLists.txt, and you will see that the path for the build changes from Debug/ to Debug-iphoneos/ This seems to confuse cmake 2.8.10 paths ( but is fine with cmake 2.8.9 ) Let me know if you need anything else, -- AlexV 2013/1/15 Brad King brad.k...@kitware.com On 01/13/2013 09:37 PM, Asmodehn Shade wrote: bash-3.2$ xcodebuild Tutorial.xcodeproj/ === BUILD AGGREGATE TARGET ZERO_CHECK OF PROJECT Tutorial WITH THE DEFAULT CONFIGURATION (Debug) === Check dependencies unsupported build action 'Tutorial.xcodeproj' The xcodebuild command does not take the .xcodeproj as an argument. You need to use -project $proj if there is more than one project in a directory. Otherwise you do not need to specify it at all. 2) cmake --build . --config Debug works too : /** BUILD SUCCEEDED **/ = Does cmake --build . --config Debug does something special ? It runs a valid xcodebuild command line. = Another thing to consider is that my original project fails to build *in the IDE*, with the same error as Nicholas previously stated in this thread : [snip] make[1]: *** No rule to make target `/Users/alexandre.vincent/Projects/my_project/prj/iOS/CMakeFiles/2.8.10/CMakeCCompiler.cmake', needed by `CMakeFiles/cmake.check_cache'. [snip] So is it possible that the Tutorial sample problem may not match the actual cause of the original problem ? Yes. The tutorial build does work as seen with cmake --build. There must be something about the project itself that is different from the tutorial example and triggers the problem. Can you provide a small example project that does reproduce the problem? -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://www.cmake.org/mailman/listinfo/cmake
[Cmake-commits] CMake branch, next, updated. v2.8.10.2-1705-ga29475a
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via a29475a36e8471c774b83980103d4e088703a291 (commit) via ba1f498da8b4692344bf8c911f4799a741da7e8a (commit) from b54c10d333b33b61f14bde589fd40913524b5391 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a29475a36e8471c774b83980103d4e088703a291 commit a29475a36e8471c774b83980103d4e088703a291 Merge: b54c10d ba1f498 Author: Stephen Kelly steve...@gmail.com AuthorDate: Mon Jan 21 03:04:52 2013 -0500 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Jan 21 03:04:52 2013 -0500 Merge topic 'fix-COMPATIBLE_INTERFACE-properties' into next ba1f498 Plug memory leak. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ba1f498da8b4692344bf8c911f4799a741da7e8a commit ba1f498da8b4692344bf8c911f4799a741da7e8a Author: Stephen Kelly steve...@gmail.com AuthorDate: Mon Jan 21 09:04:24 2013 +0100 Commit: Stephen Kelly steve...@gmail.com CommitDate: Mon Jan 21 09:04:24 2013 +0100 Plug memory leak. diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx index 8a39424..2600db5 100644 --- a/Source/cmTarget.cxx +++ b/Source/cmTarget.cxx @@ -1520,6 +1520,12 @@ void cmTarget::ClearLinkMaps() this-Internal-LinkImplMap.clear(); this-Internal-LinkInterfaceMap.clear(); this-Internal-LinkClosureMap.clear(); + for (cmTargetLinkInformationMap::const_iterator it + = this-LinkInformation.begin(); + it != this-LinkInformation.end(); ++it) +{ +delete it-second; +} this-LinkInformation.clear(); } --- Summary of changes: Source/cmTarget.cxx |6 ++ 1 files changed, 6 insertions(+), 0 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v2.8.10.2-1708-gb6d0e87
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via b6d0e87352b2fda6a5e6a542f7433ca9e0ac62e4 (commit) via 830246e841d24cc9513c857859a4327ffb1d3da5 (commit) via bd82bb4787410a0bdd6120b8c449f5d31ecc4c28 (commit) from a29475a36e8471c774b83980103d4e088703a291 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b6d0e87352b2fda6a5e6a542f7433ca9e0ac62e4 commit b6d0e87352b2fda6a5e6a542f7433ca9e0ac62e4 Merge: a29475a 830246e Author: Stephen Kelly steve...@gmail.com AuthorDate: Mon Jan 21 03:05:24 2013 -0500 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Jan 21 03:05:24 2013 -0500 Merge topic 'fix-COMPATIBLE_INTERFACE-properties' into next 830246e Export the COMPATIBLE_INTERFACE_BOOL content properties bd82bb4 Clear the link information in ClearLinkMaps. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=830246e841d24cc9513c857859a4327ffb1d3da5 commit 830246e841d24cc9513c857859a4327ffb1d3da5 Author: Stephen Kelly steve...@gmail.com AuthorDate: Sun Jan 20 17:09:29 2013 +0100 Commit: Stephen Kelly steve...@gmail.com CommitDate: Mon Jan 21 09:05:03 2013 +0100 Export the COMPATIBLE_INTERFACE_BOOL content properties diff --git a/Source/cmExportBuildFileGenerator.cxx b/Source/cmExportBuildFileGenerator.cxx index 61e130d..7147f86 100644 --- a/Source/cmExportBuildFileGenerator.cxx +++ b/Source/cmExportBuildFileGenerator.cxx @@ -74,6 +74,7 @@ bool cmExportBuildFileGenerator::GenerateMainFile(std::ostream os) properties, missingTargets); this-PopulateInterfaceProperty(INTERFACE_POSITION_INDEPENDENT_CODE, te, properties); +this-PopulateCompatibleInterfaceProperties(te, properties); this-GenerateInterfaceProperties(te, os, properties); } diff --git a/Source/cmExportFileGenerator.cxx b/Source/cmExportFileGenerator.cxx index 4a7c6f9..3a6294a 100644 --- a/Source/cmExportFileGenerator.cxx +++ b/Source/cmExportFileGenerator.cxx @@ -21,6 +21,7 @@ #include cmTarget.h #include cmTargetExport.h #include cmVersion.h +#include cmComputeLinkInformation.h #include cmsys/auto_ptr.hxx @@ -177,6 +178,79 @@ void cmExportFileGenerator::PopulateInterfaceProperty(const char *propName, properties, missingTargets); } + +// +void getPropertyContents(cmTarget *tgt, const char *prop, + std::setstd::string ifaceProperties) +{ + const char *p = tgt-GetProperty(prop); + if (!p) +{ +return; +} + std::vectorstd::string content; + cmSystemTools::ExpandListArgument(p, content); + for (std::vectorstd::string::const_iterator ci = content.begin(); +ci != content.end(); ++ci) +{ +ifaceProperties.insert(*ci); +} +} + +// +void getCompatibleInterfaceProperties(cmTarget *target, + std::setstd::string ifaceProperties, + const char *config) +{ + cmComputeLinkInformation *info = target-GetLinkInformation(config); + + const cmComputeLinkInformation::ItemVector deps = info-GetItems(); + + for(cmComputeLinkInformation::ItemVector::const_iterator li = + deps.begin(); + li != deps.end(); ++li) +{ +if (!li-Target) + { + continue; + } +getPropertyContents(li-Target, +COMPATIBLE_INTERFACE_BOOL, +ifaceProperties); +} +} + +// +void cmExportFileGenerator::PopulateCompatibleInterfaceProperties( +cmTarget *target, +ImportPropertyMap properties) +{ + this-PopulateInterfaceProperty(COMPATIBLE_INTERFACE_BOOL, +target, properties); + + std::setstd::string ifaceProperties; + + getPropertyContents(target, COMPATIBLE_INTERFACE_BOOL, ifaceProperties); + + getCompatibleInterfaceProperties(target, ifaceProperties, 0); + + std::vectorstd::string configNames; + target-GetMakefile()-GetConfigurations(configNames); + + for (std::vectorstd::string::const_iterator ci = configNames.begin(); +ci != configNames.end(); ++ci) +{ +getCompatibleInterfaceProperties(target, ifaceProperties, ci-c_str()); +} + + for (std::setstd::string::const_iterator it = ifaceProperties.begin(); +it != ifaceProperties.end(); ++it) +{ +
[Cmake-commits] CMake branch, next, updated. v2.8.10.2-1710-g86a6d55
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via 86a6d55ddc0c2bc59e80a697c2656dbf610df366 (commit) via bdb62f63099d2cad264a963a5e57020cbd157ddb (commit) from b6d0e87352b2fda6a5e6a542f7433ca9e0ac62e4 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=86a6d55ddc0c2bc59e80a697c2656dbf610df366 commit 86a6d55ddc0c2bc59e80a697c2656dbf610df366 Merge: b6d0e87 bdb62f6 Author: Stephen Kelly steve...@gmail.com AuthorDate: Mon Jan 21 03:12:06 2013 -0500 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Jan 21 03:12:06 2013 -0500 Merge topic 'clean-include-dirs-debugging' into next bdb62f6 Don't use insert on a std::set with a range. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=bdb62f63099d2cad264a963a5e57020cbd157ddb commit bdb62f63099d2cad264a963a5e57020cbd157ddb Author: Stephen Kelly steve...@gmail.com AuthorDate: Mon Jan 21 09:09:54 2013 +0100 Commit: Stephen Kelly steve...@gmail.com CommitDate: Mon Jan 21 09:11:39 2013 +0100 Don't use insert on a std::set with a range. diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx index f5aa932..4721e4c 100644 --- a/Source/cmMakefile.cxx +++ b/Source/cmMakefile.cxx @@ -1657,7 +1657,11 @@ void cmMakefile::AddIncludeDirectories(const std::vectorstd::string incs, void cmMakefile::AddSystemIncludeDirectories(const std::setcmStdString incs) { - this-SystemIncludeDirectories.insert(incs.begin(), incs.end()); + for(std::setcmStdString::const_iterator li = incs.begin(); + li != incs.end(); ++li) +{ +this-SystemIncludeDirectories.insert(*li); +} } // --- Summary of changes: Source/cmMakefile.cxx |6 +- 1 files changed, 5 insertions(+), 1 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v2.8.10.2-1715-gf37b5c0
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via f37b5c05380ba73c064885b30311be5f64e4a638 (commit) via 6063fef226d35aad0629d7098f72afa650e7a149 (commit) via aa6674831c3ea3bf3cca7c9f667d2e5c75873a3d (commit) via d70204a86aa3e454e73049efda3e1ccea8c60720 (commit) via 0d46e9a0297d78dabc9988604a15c0096c702855 (commit) from 86a6d55ddc0c2bc59e80a697c2656dbf610df366 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f37b5c05380ba73c064885b30311be5f64e4a638 commit f37b5c05380ba73c064885b30311be5f64e4a638 Merge: 86a6d55 6063fef Author: Stephen Kelly steve...@gmail.com AuthorDate: Mon Jan 21 03:12:56 2013 -0500 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Jan 21 03:12:56 2013 -0500 Merge topic 'clean-include-dirs-debugging' into next 6063fef Output include directories as LOG messages, not warnings. aa66748 Specify the target whose includes are being listed. d70204a Only output includes once after the start of 'generate-time' when debugging. 0d46e9a Store includes from the same include_directories call together. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6063fef226d35aad0629d7098f72afa650e7a149 commit 6063fef226d35aad0629d7098f72afa650e7a149 Author: Stephen Kelly steve...@gmail.com AuthorDate: Sun Jan 20 13:07:31 2013 +0100 Commit: Stephen Kelly steve...@gmail.com CommitDate: Mon Jan 21 09:12:22 2013 +0100 Output include directories as LOG messages, not warnings. diff --git a/Source/cmake.cxx b/Source/cmake.cxx index 2eecfba..932c996 100644 --- a/Source/cmake.cxx +++ b/Source/cmake.cxx @@ -4394,6 +4394,10 @@ void cmake::IssueMessage(cmake::MessageType t, std::string const text, isError = true; msg CMake Internal Error (please report a bug); } + else if(t == cmake::LOG) +{ +msg CMake Debug Log; +} else { msg CMake Warning; diff --git a/Tests/RunCMake/include_directories/DebugIncludes-stderr.txt b/Tests/RunCMake/include_directories/DebugIncludes-stderr.txt index 379174a..736fe69 100644 --- a/Tests/RunCMake/include_directories/DebugIncludes-stderr.txt +++ b/Tests/RunCMake/include_directories/DebugIncludes-stderr.txt @@ -1,4 +1,4 @@ -CMake Warning at DebugIncludes.cmake:8 \(include_directories\): +CMake Debug Log at DebugIncludes.cmake:8 \(include_directories\): Used includes for target lll: \* .*/Tests/RunCMake/include_directories/one @@ -7,7 +7,7 @@ CMake Warning at DebugIncludes.cmake:8 \(include_directories\): Call Stack \(most recent call first\): CMakeLists.txt:3 \(include\) + -CMake Warning at DebugIncludes.cmake:13 \(set_property\): +CMake Debug Log at DebugIncludes.cmake:13 \(set_property\): Used includes for target lll: \* .*/Tests/RunCMake/include_directories/three @@ -15,7 +15,7 @@ CMake Warning at DebugIncludes.cmake:13 \(set_property\): Call Stack \(most recent call first\): CMakeLists.txt:3 \(include\) + -CMake Warning at DebugIncludes.cmake:18 \(include_directories\): +CMake Debug Log at DebugIncludes.cmake:18 \(include_directories\): Used includes for target lll: \* .*/Tests/RunCMake/include_directories/four @@ -23,7 +23,7 @@ CMake Warning at DebugIncludes.cmake:18 \(include_directories\): Call Stack \(most recent call first\): CMakeLists.txt:3 \(include\) + -CMake Warning at DebugIncludes.cmake:25 \(set_property\): +CMake Debug Log at DebugIncludes.cmake:25 \(set_property\): Used includes for target lll: \* .*/Tests/RunCMake/include_directories/five http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=aa6674831c3ea3bf3cca7c9f667d2e5c75873a3d commit aa6674831c3ea3bf3cca7c9f667d2e5c75873a3d Author: Stephen Kelly steve...@gmail.com AuthorDate: Sun Jan 20 12:57:25 2013 +0100 Commit: Stephen Kelly steve...@gmail.com CommitDate: Mon Jan 21 09:12:22 2013 +0100 Specify the target whose includes are being listed. diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx index fb99b4a..6c9ed1b 100644 --- a/Source/cmTarget.cxx +++ b/Source/cmTarget.cxx @@ -2785,8 +2785,8 @@ std::vectorstd::string cmTarget::GetIncludeDirectories(const char *config) if (!usedIncludes.empty()) { this-Makefile-GetCMakeInstance()-IssueMessage(cmake::LOG, -Used includes:\n + usedIncludes, -(*it)-ge-GetBacktrace()); +Used includes for target + this-Name + :\n ++ usedIncludes, (*it)-ge-GetBacktrace()); } } return includes; diff --git
[Cmake-commits] CMake branch, next, updated. v2.8.10.2-1719-g92bd826
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via 92bd826c214da93726e7a3186009a2993a7ef327 (commit) via b98d14d40016efee420bee26b9795880fdf6a5f8 (commit) via 48a4cf21825c9ed5f53ac25d5f4577baaf92d1f7 (commit) via 3ded614e31e9dcc4afa3ee9885dadf830a05dd21 (commit) from f37b5c05380ba73c064885b30311be5f64e4a638 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=92bd826c214da93726e7a3186009a2993a7ef327 commit 92bd826c214da93726e7a3186009a2993a7ef327 Merge: f37b5c0 b98d14d Author: Stephen Kelly steve...@gmail.com AuthorDate: Mon Jan 21 06:39:52 2013 -0500 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Jan 21 06:39:52 2013 -0500 Merge topic 'disallow-IMPORTED-interface-porcelain' into next b98d14d Disallow porcelain to populate includes and defines of IMPORTED targets. 48a4cf2 Revert Allow target_link_libraries with IMPORTED targets. 3ded614 CMake Nightly Date Stamp diff --cc Tests/CMakeCommands/target_include_directories/CMakeLists.txt index 8fa2eae,486bca0..e190161 --- a/Tests/CMakeCommands/target_include_directories/CMakeLists.txt +++ b/Tests/CMakeCommands/target_include_directories/CMakeLists.txt @@@ -33,19 -30,9 +30,14 @@@ target_include_directories(target_inclu PUBLIC ${CMAKE_CURRENT_BINARY_DIR}/poison ) target_include_directories(target_include_directories - BEFORE PUBLIC ${CMAKE_CURRENT_BINARY_DIR}/cure + BEFORE PUBLIC $$TARGET_DEFINED:target_include_directories:${CMAKE_CURRENT_BINARY_DIR}/cure +) + +# Has no effect because the target is not defined: +target_include_directories(target_include_directories + BEFORE PUBLIC $$TARGET_DEFINED:notdefined:${CMAKE_CURRENT_BINARY_DIR}/poison ) - add_library(importedlib UNKNOWN IMPORTED) - target_include_directories(importedlib - INTERFACE ${CMAKE_CURRENT_BINARY_DIR}/importedinterfaceinclude - ) - add_executable(consumer ${CMAKE_CURRENT_SOURCE_DIR}/consumer.cpp ) http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b98d14d40016efee420bee26b9795880fdf6a5f8 commit b98d14d40016efee420bee26b9795880fdf6a5f8 Author: Stephen Kelly steve...@gmail.com AuthorDate: Mon Jan 21 12:28:27 2013 +0100 Commit: Stephen Kelly steve...@gmail.com CommitDate: Mon Jan 21 12:32:46 2013 +0100 Disallow porcelain to populate includes and defines of IMPORTED targets. With similar reasoning to the parent commit, as downstreams, we can't determine what $CONFIG generator expressions would be appropriate. Upstream would have populated the INTERFACE_INCLUDE_DIRECTORIES with config-specific generator expressions, possibly appropriate for their DEBUG_CONFIGURATIONS. In theory, if we would add include directories for a DEBUG intent, we would have to match the upstream configurations for that. Rather than attempting to discover the appropriate configurations at this time, simplify the feature instead. The use of IMPORTED targets with these commands could still be added in the future if targets would export their DEBUG_CONFIGURATIONS somehow. diff --git a/Source/cmTargetCompileDefinitionsCommand.cxx b/Source/cmTargetCompileDefinitionsCommand.cxx index 492a1b7..683eff6 100644 --- a/Source/cmTargetCompileDefinitionsCommand.cxx +++ b/Source/cmTargetCompileDefinitionsCommand.cxx @@ -20,13 +20,11 @@ bool cmTargetCompileDefinitionsCommand } void cmTargetCompileDefinitionsCommand -::HandleImportedTargetInvalidScope(const std::string scope, - const std::string tgt) +::HandleImportedTarget(const std::string tgt) { cmOStringStream e; - e Cannot specify scope compile definitions for imported - target \ tgt \. Compile definitions can only be - specified for an imported target in the INTERFACE mode.; + e Cannot specify compile definitions for imported target \ + tgt \.; this-Makefile-IssueMessage(cmake::FATAL_ERROR, e.str()); } diff --git a/Source/cmTargetCompileDefinitionsCommand.h b/Source/cmTargetCompileDefinitionsCommand.h index 4b066b7..d49b9e8 100644 --- a/Source/cmTargetCompileDefinitionsCommand.h +++ b/Source/cmTargetCompileDefinitionsCommand.h @@ -59,7 +59,7 @@ public: Specify compile definitions or targets to use when compiling a given target. The named target must have been created by a command such as - add_executable or add_library. + add_executable or add_library and must not be an IMPORTED target. The INTERFACE, PUBLIC and PRIVATE keywords are required to specify the scope of the following
[Cmake-commits] CMake branch, master, updated. v2.8.10.2-480-g2db9b0b
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, master has been updated via 2db9b0b06638ee9386391369823c204ea691576e (commit) from 3ded614e31e9dcc4afa3ee9885dadf830a05dd21 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=2db9b0b06638ee9386391369823c204ea691576e commit 2db9b0b06638ee9386391369823c204ea691576e Author: Kitware Robot kwro...@kitware.com AuthorDate: Tue Jan 22 00:01:18 2013 -0500 Commit: Kitware Robot kwro...@kitware.com CommitDate: Tue Jan 22 00:01:18 2013 -0500 CMake Nightly Date Stamp diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake index 45fc936..f56e894 100644 --- a/Source/CMakeVersion.cmake +++ b/Source/CMakeVersion.cmake @@ -2,5 +2,5 @@ set(CMake_VERSION_MAJOR 2) set(CMake_VERSION_MINOR 8) set(CMake_VERSION_PATCH 10) -set(CMake_VERSION_TWEAK 20130121) +set(CMake_VERSION_TWEAK 20130122) #set(CMake_VERSION_RC 1) --- Summary of changes: Source/CMakeVersion.cmake |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits