[cmake-developers] Double build entries generated for Qt resource file
Hello all, The latest cmake versions from the git tree seem to trigger an odd problem in my build. This is my configuration: Ubuntu 12.10 gcc (Ubuntu/Linaro 4.7.2-2ubuntu1) 4.7.2 GNU Make 3.81 / Ninja 1.4.0.git Qt sdk 4.7.4 I have a project which uses Qt. When I generate the buildsystem, then multiple buildrules appear for the Qt resource file. The rules are for the same resource file (I only use one), but for different suffixes: qrc_*.cxx qrc_*.cpp During the build the qrc_*.cxx file gets generated, but not the qrc_*.cpp. This leads to missing dependencies and failing builds. This behaviour appears in the output for the Make generator and the Ninja generator. I have not tested other generators. I have checked out and build the most recent versions to figure out when this phenomena is introduced, and have narrowed it down to the following commit : 4b989d5f158e5135bf543438af00b03db0102ade My questions: - I anyone else running into this? - Is this new behaviour intended? - If so, what must I change to my scripts to get my build working again? - If not, what can I do to help resolve it? Please let me know if more information is needed. With kind regards, Micha Hergarden signature.asc Description: OpenPGP digital 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://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] Double build entries generated for Qt resource file
Micha Hergarden wrote: I have checked out and build the most recent versions to figure out when this phenomena is introduced, and have narrowed it down to the following commit : 4b989d5f158e5135bf543438af00b03db0102ade Hi, Thanks for investigating and reporting! My questions: - I anyone else running into this? - Is this new behaviour intended? Nope. - If so, what must I change to my scripts to get my build working again? - If not, what can I do to help resolve it? Narrowing down the commit was enough. I've pushed a fix for testing: http://cmake.org/gitweb?p=stage/cmake.git;a=commitdiff;h=8f8edeb09 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] push of LinkOptionsCommand topic branch
Steve Wilson wrote: Ok, I’ve pushed the new changes. Are you sure? Looking at the top commit, I don't see any change to the ExportImport test. 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] Double build entries generated for Qt resource file
On 02/05/2014 10:15 AM, Stephen Kelly wrote: Micha Hergarden wrote: I have checked out and build the most recent versions to figure out when this phenomena is introduced, and have narrowed it down to the following commit : 4b989d5f158e5135bf543438af00b03db0102ade Hi, Thanks for investigating and reporting! My questions: - I anyone else running into this? - Is this new behaviour intended? Nope. - If so, what must I change to my scripts to get my build working again? - If not, what can I do to help resolve it? Narrowing down the commit was enough. I've pushed a fix for testing: http://cmake.org/gitweb?p=stage/cmake.git;a=commitdiff;h=8f8edeb09 Thanks, Steve. Hello Steve, I've tested your fix and it solves it for me. Thank you for your quick response. :) With kind regards, Micha Hergarden signature.asc Description: OpenPGP digital 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://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
[cmake-developers] [CMake 0014736]: Xcode warning due to set ARCHS (CMAKE_OSX_ARCHITECTURES) variable in project
The following issue has been SUBMITTED. == http://public.kitware.com/Bug/view.php?id=14736 == Reported By:lando Assigned To: == Project:CMake Issue ID: 14736 Category: CMake Reproducibility:always Severity: minor Priority: low Status: new == Date Submitted: 2014-02-05 05:44 EST Last Modified: 2014-02-05 05:44 EST == Summary:Xcode warning due to set ARCHS (CMAKE_OSX_ARCHITECTURES) variable in project Description: I'm using CMake-generated Xcode-projects in Xcode 5.0.2 and get a warning by Xcode that it wants to Update to recommended settings, specifically to set to Automatically Select Architectures. This is due to a set ARCHS-variable in the pbxproj-file of the Xcode project. Alas, even setting the variable to the Xcode default value $(ARCHS_STANDARD) via CMAKE_OSX_ARCHITECTURES does not help. Xcode complains as long as the line is present in the project file. == Issue History Date ModifiedUsername FieldChange == 2014-02-05 05:44 lando New 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] push of LinkOptionsCommand topic branch
Let’s try all this again.I have a couple questions. On Feb 4, 2014, at 3:41 AM, Stephen Kelly steve...@gmail.com wrote: 2) The change to cmNinjaNormalTargetGenerator seems incorrect. Should linkFlags should be used with AddLinkOptions? Do you mean linkFlags vs vars[“LINK_FLAGS”]? I suppose it could use linkFlags. I could just revert the call to GetTargetFlags to use vars[“LINK_FLAGS”]. I was trying to avoid the case of getting the link flags for the target twice. Ie getting them once in vars[“LINK_FLAGS”] and then again in AddLinkOptions(). 3) Documentation title underlines should be as long as the title, not 3 dashes longer. Ok great. What specifically are you referring to with this comment? 4) Tests should avoid bad practices like using target_link_options to add libraries. Instead try to choose suitable link flags for the tests. I’m having a little trouble with your notion of ‘bad practices.’ I’m sure you have good reasons for making the determination that they are bad practices, but to me they seem somewhat arbitrary. Is there some design document that you are using to make these determinations? I’m not trying to cause problems, I’m just saying that adding a library as a linker flag is a perfectly normal/legitimate thing to do coming from a Makefile world (or other build environment world). I realize that CMake has different mechanisms for explicitly handling libraries, but the point isn’t to handle the library, the point was just to pass a reasonable linker option. On GNU, you can do this: add_executable(foo foo.cpp) target_link_options(foo PRIVATE -Wl,--ignore-unresolved-symbol,main) and write a foo.cpp which does not define main. I agree this would make a good test, but it doesn’t change my earlier comment. Adding a library via a linker option is a perfectly valid use of linker options. If it wasn’t, the linker (or the compiler driver) wouldn’t support it. Does that make sense? How should I determine what is bad practice in the face of what is reasonable? 5) Regarding what I said before about accepting -Wl,--no-undefined versus accepting --no-undefined, I think the case of flags with arguments as above shows that only the -Wl, prefixed case should be accepted (as your branch already does). However, what if someone changes the mechanism that picks the linker so that instead of using the compiler driver to drive the link stage, they use the actual linker? I don’t do such a thing with my build systems and in all probability the majority of users would never need to make such a change. However, if I, for some reason, *did* need to change CMake so that the link stage invoked the linker directly, I would absolutely expect the link options commands to pass whatever linker option I deemed necessary to the linker. I don’t think that this suggestion is the right way to go. I will of course defer to your judgement, but I don’t agree. Perhaps there is a detail I’m missing about how the code makes a distinction between —no-undefined and -Wl,—no-undefined. The documentation should possibly be clear that the contents of LINK_OPTIONS should be suitable for passing to the driver, not directly to the linker. signature.asc Description: Message signed with OpenPGP using GPGMail -- 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] push of LinkOptionsCommand topic branch
Steve Wilson wrote: Let’s try all this again.I have a couple questions. On Feb 4, 2014, at 3:41 AM, Stephen Kelly steve...@gmail.com wrote: 2) The change to cmNinjaNormalTargetGenerator seems incorrect. Should linkFlags should be used with AddLinkOptions? Do you mean linkFlags vs vars[“LINK_FLAGS”]? Yes, that's what I meant. The linkFlags variable is populated, but not used. I may be mis-reading the code. I'll have a closer look tomorrow. 3) Documentation title underlines should be as long as the title, not 3 dashes longer. Ok great. What specifically are you referring to with this comment? diff --git a/Help/command/add_link_options.rst b/Help/command/add_link_options.rst index 60a981d..a4e2955 100644 --- a/Help/command/add_link_options.rst +++ b/Help/command/add_link_options.rst @@ -1,5 +1,5 @@ add_link_options + Adds options to the link commands of targets. Repeats for other docs and titles. 4) Tests should avoid bad practices like using target_link_options to add libraries. Instead try to choose suitable link flags for the tests. I’m having a little trouble with your notion of ‘bad practices.’ I’m sure you have good reasons for making the determination that they are bad practices, but to me they seem somewhat arbitrary. Generally, cmake managed the libraries that are linked to (specified via target_link_libraries) so that it can determine the proper link line, and set up dependencies in the buildsystem so that a change in the library causes a rebuild. Specifying a library in target_link_options would bypass that. I don't know of a reason that target_link_options(tgt PRIVATE -llibsomething) is better than target_link_libraries(tgt PRIVATE -llibsomething) and should be encouraged. If there is a reason, maybe I just don't know about it. Is there some design document that you are using to make these determinations? No, just awareness of the cmake feature and existing commands etc for handling libraries, and some awareness of the reason to use the particular commands. I would say that using target_link_options() to link to libraries should be discouraged in the documentation of that command unless there's a particular reason to recommend it in some case? I realize that CMake has different mechanisms for explicitly handling libraries, but the point isn’t to handle the library, the point was just to pass a reasonable linker option. Ok, I'm not aware of a reason to do that, but if there is a good one, it might be worth adding it to the documentation. On GNU, you can do this: add_executable(foo foo.cpp) target_link_options(foo PRIVATE -Wl,--ignore-unresolved-symbol,main) Does that make sense? How should I determine what is bad practice in the face of what is reasonable? I would say that tests and documentation should assume the use of the CMake features for managing the linked libraries. Additionally, I find the test with the --ignore-unresolved-symbol option preferable because it does not rely on the existence of outside files. 5) Regarding what I said before about accepting -Wl,--no-undefined versus accepting --no-undefined, I think the case of flags with arguments as above shows that only the -Wl, prefixed case should be accepted (as your branch already does). However, what if someone changes the mechanism that picks the linker so that instead of using the compiler
[cmake-developers] CMAKE_CONFIGURATION_TYPES
In the documentation for CMAKE_CONFIGURATION_TYPES it states: “… but can be extended to provide other build types. … “ How would one provide other build types? signature.asc Description: Message signed with OpenPGP using GPGMail -- 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] CMAKE_CONFIGURATION_TYPES
On Wed, Feb 05, 2014 at 12:00:41 -0700, Steve Wilson wrote: In the documentation for CMAKE_CONFIGURATION_TYPES it states: “… but can be extended to provide other build types. … “ How would one provide other build types? It's just a list with a default of Release;RelWithDebInfo;RelMinSize;Debug, so just add your configuration name to the list. Please do *not* set it in other generators which don't already use it (they use CMAKE_BUILD_TYPE) since they only generate for a single build type at a time and some projects have to detect whether subdirectories will be thrown into places by the build for various reasons[1]. In order for any custom configurations to be *useful*, you'd have to populate the variables for them (e.g., CMAKE_CXX_FLAGS_CONFIG and friends). --Ben [1]The one I usually have to deal with is Python builds where I want to move the configuration directory to a different place: lib/python/$CONFIGURATION/.../module.so rather than: lib/python/.../$CONFIGURATION/module.so For make and Ninja generators, such hackery isn't necessary because there isn't an implicit subdirectory. Of course, if there is some way to detect these generators other than CMAKE_CONFIGURATION_TYPES and CMAKE_BUILD_TYPE, that would be nice as well :) . -- 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] push of LinkOptionsCommand topic branch
On Feb 5, 2014, at 3:06 PM, Stephen Kelly steve...@gmail.com wrote: Steve Wilson wrote: Now, everything you have said about not encouraging this kind of usage for target_link_options() and libraries, etc… is valid. However, does that standard apply to tests. Are tests just tests? Admittedly, the target_compile_options tests use defines as test input. I'd gladly swap that out for an alternative flag if there were a suitable flag which gave us the same test coverage on the dashboard. The add_compile_options command documents itself as not suitable for preprocessor defines and include directories, however. I guess target_compile_options documentation should get a similar note. I would also like to see the target_link_options documentation discourage use for specifying libraries. If you feel so strongly about using a -llibrary flag in the tests, then that's ok, but for me 'the file must exist' is a winning argument in favor of not doing that. I agree, ‘the file must exist’ is a winning argument. I’m not trying to push for this type of test of using libraries with target_link_options or add_link_options. (I’m already working on changes on the order that you suggested). My question has evolved more into the question of ‘what are first principles for tests?' signature.asc Description: Message signed with OpenPGP using GPGMail -- 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] push of LinkOptionsCommand topic branch
Steve Wilson wrote: I’m not trying to push for this type of test of using libraries with target_link_options or add_link_options. (I’m already working on changes on the order that you suggested). My question has evolved more into the question of ‘what are first principles for tests?' I don't think the cmake community has an enforced answer to that question. For me personally, I prefer to avoid practices which I would discourage in documentation. It is not unusual for me to look at the tests of a project which I'm trying to understand better, and generally tests which are doing things which shouldn't be done are marked as such and are outnumbered by tests which do things which should be done. So, that's what I'd encourage and why, but it's not a hard requirement for CMake contributions. 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] Dependencies
Hi Phil. If your FOO.asm is used as a source file (i.e. it's listed in an add_executable() or add_library() command), then you can use the source file property OBJECT_DEPENDS for that: add_executable(myexe FOO.asm other.file one.more) set_property(SOURCE FOO.asm PROPERTY OBJECT_DEPENDS BAR.mac BAZ.mac) #any list of dependencies here As an alternative to set_property(), you can use the weaker, but shorthand setter set_source_files_properties() (which can set it for multiple files at once). If they're somehow processed with a custom command/target (i.e. via add_custom_command() or add_custom_target() instead of library/executable), you can use that command's DEPENDS argument. Petr On Tue, Feb 4, 2014 at 7:57 PM, Phil Smith p...@voltage.com wrote: This is surely something basic, but I'm far from a CMake guru and would rather not spend weeks digging to solve something that **seems** like it'll be simple. We have assembler modules in a project. These use macros, as assembler modules are wont to do. So if module FOO.asm uses macro BAR.mac, and we change BAR, a CMake should rebuild FOO. We recognize that we're going to have to define these dependencies manually, but I'm assuming/hoping that there's a way to do that in a CMakeLists. Unfortunately words like dependency make lousy search terms! Can someone point me? Or, even better, give me an example of how to say FOO.asm depends on macro BAR.mac? Thanks... -- ...phsiii Phil Smith III -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
[CMake] VERBOSE environment variable
Hello, I can't find the description of VERBOSE environment variable effect on compilation. Experiment has shown me that: - exporting VERBOSE (without setting the value), implies that Dependee ... is newer than depender ... messages are shown - exporting VERBOSE=1 (or whatever the value, even 0 in fact!) implies that all compilation commands are shown Can you confirm this behaviour? Is it the expected behaviour? Shouldn't it be documented here? http://www.cmake.org/cmake/help/v2.8.12/cmake.html I find it disturbing that exporting the variable (without setting the value) turns on some verbose messages. And even more disturbing that VERBOSE=0 turns on verbose mode as well as VERBOSE=1. NB: The reason for these questions is that Buildroot currently always export VERBOSE variable (even when the value is not set), which produces some unwanted Dependee ... is newer than depender ... messages. I'd like to report the problem to Buildroot dev team, but first I need to understand the exact expected behaviour of Cmake. Thank you...-- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] OS-X app bundle - executable name vs bundle name
Hi James On 29 Jan 2014, at 15:12, James Turner james.tur...@kdab.commailto:james.tur...@kdab.com wrote: I’m experimenting with using Cmake’s bundle support on OS-X for a project. (Up until now I have assembled the bundle by hand using a separate script which also creates the DMG). I have the situation, that I need the executable name to be different to the bundle name. MACOSX_BUNDLE_BUNDLE_NAME lets met set the name that appears in the CFBundleName key of the Info.plist, but the generated bundle still has the name of the target. sorry, don't know about that, would be good to find out though! You can change the bundle display name using a plist file but this won't change the actual bundle's folder name. One more thing, is there a standard way to install other components inside the bundle? I have seen some examples on the web which hardcode the bundle name as the destination path, which feels a bit ugly. (I’m thinking about helper applications and dylibs here, as well as the .icns file) I'm sure you can write lots of cmake commands to copy stuff across. We've resorted to using a python script which is called at the end of the build. It'll copy a lot of the things like icns files, the osg and qt plugins, some gdal data files, etc. This python script is run though cmake's CONFIGURE command to resolve lots of the build time paths and version numbers… This produces a complete bundle but it's no relocatable as is. We use a bash script (also processed via CONFIGURE) which runs a combination of qt's macdeployqt (for the qt frameworks), dylibbundler (from macport) and install_name_tool to make sure all the bundle is completely relocatable. It'll will also codesign the whole lot and create a nice dmg for the install :-) Mike -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] VERBOSE environment variable
On 5 February 2014 08:25, hjuvi hjuvi-cm...@yahoo.fr wrote: Hello, I can't find the description of VERBOSE environment variable effect on compilation. Experiment has shown me that: - exporting VERBOSE (without setting the value), implies that Dependee ... is newer than depender ... messages are shown - exporting VERBOSE=1 (or whatever the value, even 0 in fact!) implies that all compilation commands are shown Can you confirm this behaviour? Is it the expected behaviour? Shouldn't it be documented here? http://www.cmake.org/cmake/help/v2.8.12/cmake.html I find it disturbing that exporting the variable (without setting the value) turns on some verbose messages. And even more disturbing that VERBOSE=0 turns on verbose mode as well as VERBOSE=1. http://www.cmake.org/Bug/view.php?id=3378 Best regards, -- Mateusz Łoskot, http://mateusz.loskot.net -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
[CMake] How to manage dependencies between projects in Visual Studio
I'm working with Visual Studio and I need to create the CMakeLists files for the following scenario. I have a project A, which contains the sources for a library. This project has its own CMakeLists and generates a lib (add_library). I have a second project B, which contains the sources from an executable and uses the library generated by A. I would like to setup its CMakeLists in such a way that: -The Visual Studio solution generated from the CMakeLists of B includes the projects for A and B -The project A should be just a link to the project generated with the CMakeLists of A. In other words I would like to avoid duplications of compilation files. I would like that the file generated for A by a compilation started from the solution of A were stored in the same path of the file generated for A by a compilation started from the solution of B. Is that possible? I know it is possible to do it with visual studio, but I don't know how to do it with CMake. Thanks in advance. -- Luca Gherardi, PhD Postdoc at ETH Zurich Institute for Dynamic Systems and Control Room ML K 34 Sonneggstrasse 3 - 8092 Zurich SWITZERLAND Office: +41 44 632 73 55 Mobile: +41 788 833 174 Home: http://www.lucagherardi.it http://www.lucagherardi.it -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] CMake and shared|static/release|debug?
Hi, On Tuesday, 4. February 2014, 23:41:55, Littlefield, Tyler wrote: I've tried this a few different ways and ran into issues. If someone wouldn't mind pointing out where I'm going wrong, I would appreciate it. (for example if there's a better way to do what I'm trying). It would help if you also included a textual description of the thing you want to achieve and your issues. Since the cmake compiler does not do what you want it to do, it is quite plausible that the people on this list having a good understanding of cmake will misinterpret your cmake code... That aside, as Jakub pointed out, it seems that you try to reimplement the CMAKE_BUILD_TYPE support on your own. As to the shared library stuff: CMake can already build shared and static libraries in the same build: set( MYLIB_SRCS mylibsource1.cxx mylibsource2.cxx) add_library( mylib-static STATIC ${MYLIB_SRCS}) add_library( mylib-static SHARED ${MYLIB_SRCS}) If you want to make it a choice, you could do it like this: set( BUILD_LIBTYPE SHARED CACHE STRING SHARED or STATIC ) # enforce string in the gui: set_property(CACHE BUILD_LIBTYPE PROPERTY STRINGS SHARED STATIC) if ( NOT BUILD_LIBTYPE STREQUAL STATIC ) set ( BUILD_LIBTYPE SHARED CACHE STRING FORCE) endif() add_library( mylib-static ${BUILD_LIBTYPE} ${MYLIB_SRCS}) HTH, Johannes -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] How to manage dependencies between projects in Visual Studio
Hi Luca. You could look into the CMake command include_external_msproject(), or into the ExternalProject module. Petr On Wed, Feb 5, 2014 at 12:19 PM, Luca Gherardi luca.ghera...@unibg.itwrote: I'm working with Visual Studio and I need to create the CMakeLists files for the following scenario. I have a project A, which contains the sources for a library. This project has its own CMakeLists and generates a lib (add_library). I have a second project B, which contains the sources from an executable and uses the library generated by A. I would like to setup its CMakeLists in such a way that: -The Visual Studio solution generated from the CMakeLists of B includes the projects for A and B -The project A should be just a link to the project generated with the CMakeLists of A. In other words I would like to avoid duplications of compilation files. I would like that the file generated for A by a compilation started from the solution of A were stored in the same path of the file generated for A by a compilation started from the solution of B. Is that possible? I know it is possible to do it with visual studio, but I don't know how to do it with CMake. Thanks in advance. -- Luca Gherardi, PhD Postdoc at ETH Zurich Institute for Dynamic Systems and Control Room ML K 34 Sonneggstrasse 3 - 8092 Zurich SWITZERLAND Office: +41 44 632 73 55 Mobile: +41 788 833 174 Home: http://www.lucagherardi.it -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] VERBOSE environment variable
http://www.cmake.org/Bug/view.php?id=3378 Thank you, I had not searched in the buglist... The problem is that VERBOSE= is also verbose (with dependee... messages). In my case, VERBOSE= is not given in make arguments, it is an exported environment variable (export VERBOSE). The detection of this env variable is not made in plain makefiles as stated in the bug, but in Cmake itself. The verbose status is checked in this file (to display dependee...): Source/cmLocalUnixMakefileGenerator3.cxx The verbose status is set in this file: Source/cmake.cxx bool verbose = ((cmSystemTools::GetEnv(VERBOSE) != 0) (cmSystemTools::GetEnv(CMAKE_NO_VERBOSE) == 0)); GetEnv != 0 checks that the variable is defined, whatever the value (including empty). -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] How to manage dependencies between projects in Visual Studio
Hi Peter, I tried to use the include_external_msproject(PROJECT_NAME PATH_TO_VCXPROJ) The project is included in the solution, however when I try to build the solution VS returns the following error: The operation could not be completed. The parameter is incorrect No other information. Any idea? Thanks, Luca From: Petr Kmoch [mailto:petr.km...@gmail.com] Sent: mercoledì 5 febbraio 2014 12:34 To: Luca Gherardi Cc: cmake@cmake.org Subject: Re: [CMake] How to manage dependencies between projects in Visual Studio Hi Luca. You could look into the CMake command include_external_msproject(), or into the ExternalProject module. Petr On Wed, Feb 5, 2014 at 12:19 PM, Luca Gherardi luca.ghera...@unibg.it mailto:luca.ghera...@unibg.it wrote: Im working with Visual Studio and I need to create the CMakeLists files for the following scenario. I have a project A, which contains the sources for a library. This project has its own CMakeLists and generates a lib (add_library). I have a second project B, which contains the sources from an executable and uses the library generated by A. I would like to setup its CMakeLists in such a way that: -The Visual Studio solution generated from the CMakeLists of B includes the projects for A and B -The project A should be just a link to the project generated with the CMakeLists of A. In other words I would like to avoid duplications of compilation files. I would like that the file generated for A by a compilation started from the solution of A were stored in the same path of the file generated for A by a compilation started from the solution of B. Is that possible? I know it is possible to do it with visual studio, but I dont know how to do it with CMake. Thanks in advance. -- Luca Gherardi, PhD Postdoc at ETH Zurich Institute for Dynamic Systems and Control Room ML K 34 Sonneggstrasse 3 - 8092 Zurich SWITZERLAND Office: +41 44 632 73 55 tel:%2B41%2044%20632%2073%2055 Mobile: +41 788 833 174 tel:%2B41%20788%20833%20174 Home: http://www.lucagherardi.it -- Powered by www.kitware.com http://www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] How to manage dependencies between projects in Visual Studio
Sorry, I've never used either functionality myself. I just wanted to point out what exists. Petr On Wed, Feb 5, 2014 at 2:04 PM, Luca Gherardi luca.ghera...@unibg.itwrote: Hi Peter, I tried to use the include_external_msproject(PROJECT_NAME PATH_TO_VCXPROJ) The project is included in the solution, however when I try to build the solution VS returns the following error: The operation could not be completed. The parameter is incorrect No other information. Any idea? Thanks, Luca *From:* Petr Kmoch [mailto:petr.km...@gmail.com] *Sent:* mercoledì 5 febbraio 2014 12:34 *To:* Luca Gherardi *Cc:* cmake@cmake.org *Subject:* Re: [CMake] How to manage dependencies between projects in Visual Studio Hi Luca. You could look into the CMake command include_external_msproject(), or into the ExternalProject module. Petr On Wed, Feb 5, 2014 at 12:19 PM, Luca Gherardi luca.ghera...@unibg.it wrote: I'm working with Visual Studio and I need to create the CMakeLists files for the following scenario. I have a project A, which contains the sources for a library. This project has its own CMakeLists and generates a lib (add_library). I have a second project B, which contains the sources from an executable and uses the library generated by A. I would like to setup its CMakeLists in such a way that: -The Visual Studio solution generated from the CMakeLists of B includes the projects for A and B -The project A should be just a link to the project generated with the CMakeLists of A. In other words I would like to avoid duplications of compilation files. I would like that the file generated for A by a compilation started from the solution of A were stored in the same path of the file generated for A by a compilation started from the solution of B. Is that possible? I know it is possible to do it with visual studio, but I don't know how to do it with CMake. Thanks in advance. -- Luca Gherardi, PhD Postdoc at ETH Zurich Institute for Dynamic Systems and Control Room ML K 34 Sonneggstrasse 3 - 8092 Zurich SWITZERLAND Office: +41 44 632 73 55 Mobile: +41 788 833 174 Home: http://www.lucagherardi.it -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] How to manage dependencies between projects in Visual Studio
Actually a solution for this is using add_subdirectory(). The problem is that I use two out-of-source build directories, one for building A and one for B. If I use some directory the files generated during the compilation of A will be stored: - in the out-of-source build folder of solution A when the compilation is launched from the solution A, - in the out-of-source build folder of solution B when the compilation is launched from the solution B, In this way there is a duplication of files, which I would like to avoid. A solution could be use the binary_dir option and specify that the project A has to be built in the out-of-source build folder of solution A also when the compilation is launched from B. This would be the folder organization: Root - A - CMakeLists.txt - src - B - CMakeLists.txt - src - BUILD_A - BUILD_B And the CMakeLists of be would contain the following line: Add_subdirectory(ABSOLUT_PATH_TO_A BUILD_A) Does it make sense? Thanks! From: Petr Kmoch [mailto:petr.km...@gmail.com] Sent: mercoledì 5 febbraio 2014 14:15 To: Luca Gherardi Cc: cmake@cmake.org Subject: Re: [CMake] How to manage dependencies between projects in Visual Studio Sorry, I've never used either functionality myself. I just wanted to point out what exists. Petr On Wed, Feb 5, 2014 at 2:04 PM, Luca Gherardi luca.ghera...@unibg.it mailto:luca.ghera...@unibg.it wrote: Hi Peter, I tried to use the include_external_msproject(PROJECT_NAME PATH_TO_VCXPROJ) The project is included in the solution, however when I try to build the solution VS returns the following error: The operation could not be completed. The parameter is incorrect No other information. Any idea? Thanks, Luca From: Petr Kmoch [mailto:petr.km...@gmail.com mailto:petr.km...@gmail.com ] Sent: mercoledì 5 febbraio 2014 12:34 To: Luca Gherardi Cc: cmake@cmake.org mailto:cmake@cmake.org Subject: Re: [CMake] How to manage dependencies between projects in Visual Studio Hi Luca. You could look into the CMake command include_external_msproject(), or into the ExternalProject module. Petr On Wed, Feb 5, 2014 at 12:19 PM, Luca Gherardi luca.ghera...@unibg.it mailto:luca.ghera...@unibg.it wrote: Im working with Visual Studio and I need to create the CMakeLists files for the following scenario. I have a project A, which contains the sources for a library. This project has its own CMakeLists and generates a lib (add_library). I have a second project B, which contains the sources from an executable and uses the library generated by A. I would like to setup its CMakeLists in such a way that: -The Visual Studio solution generated from the CMakeLists of B includes the projects for A and B -The project A should be just a link to the project generated with the CMakeLists of A. In other words I would like to avoid duplications of compilation files. I would like that the file generated for A by a compilation started from the solution of A were stored in the same path of the file generated for A by a compilation started from the solution of B. Is that possible? I know it is possible to do it with visual studio, but I dont know how to do it with CMake. Thanks in advance. -- Luca Gherardi, PhD Postdoc at ETH Zurich Institute for Dynamic Systems and Control Room ML K 34 Sonneggstrasse 3 - 8092 Zurich SWITZERLAND Office: +41 44 632 73 55 tel:%2B41%2044%20632%2073%2055 Mobile: +41 788 833 174 tel:%2B41%20788%20833%20174 Home: http://www.lucagherardi.it -- Powered by www.kitware.com http://www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
[CMake] Linked Resources in Eclipse Generator
Hey Guys, one litte question. We are using the Eclipse CDT4 Generator and some plugins can't work with the generated linked resources. Setting the variable CMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES=FALSE shortens the entry in the .project file, but it still exists. Is there any way to really avoid the linked resource section? Looking in the CMake sourcecode I found the posibillity to set the eclipse version to a very old one less 3.6 . Has this step other negativ effects, beside disabling the linked resources and the gmake error parser, I missed? Regards Toni -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] Dependencies
I might also add that the set_property() approach has an additional advantage over the set_source_files_properties(): The APPEND and APPEND_STRING options allow you to add properties like dependencies without overwriting the values which already exist. Hi Phil. If your FOO.asm is used as a source file (i.e. it's listed in an add_executable() or add_library() command), then you can use the source file property OBJECT_DEPENDS for that: add_executable(myexe FOO.asm other.file one.more) set_property(SOURCE FOO.asm PROPERTY OBJECT_DEPENDS BAR.mac BAZ.mac) #any list of dependencies here As an alternative to set_property(), you can use the weaker, but shorthand setter set_source_files_properties() (which can set it for multiple files at once). If they're somehow processed with a custom command/target (i.e. via add_custom_command() or add_custom_target() instead of library/executable), you can use that command's DEPENDS argument. Petr On Tue, Feb 4, 2014 at 7:57 PM, Phil Smith p...@voltage.com wrote: This is surely something basic, but I'm far from a CMake guru and would rather not spend weeks digging to solve something that **seems** like it'll be simple. We have assembler modules in a project. These use macros, as assembler modules are wont to do. So if module FOO.asm uses macro BAR.mac, and we change BAR, a CMake should rebuild FOO. We recognize that we're going to have to define these dependencies manually, but I'm assuming/hoping that there's a way to do that in a CMakeLists. Unfortunately words like dependency make lousy search terms! Can someone point me? Or, even better, give me an example of how to say FOO.asm depends on macro BAR.mac? Thanks... -- ...phsiii Phil Smith III Izaak Beekman === (301)244-9367 Princeton University Doctoral Candidate Mechanical and Aerospace Engineering ibeek...@princeton.edu UMD-CP Visiting Graduate Student Aerospace Engineering ibeek...@umiacs.umd.edu ibeek...@umd.edu -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] Dependencies
Thanks, Petr. This sounds like what we need, but I must be missing something. I have: SET( ZFPE_FILES FOO.asm ) (and of course many more files in that variable). Then later: add_library(zfpe ${ZFPE_FILES}) set_property(SOURCE FOO.asm PROPERTY OBJECT_DEPENDS BAR.mac) (all files have explicit paths on them). When I do a cmake, it builds the world. Then I change BAR.mac and do a cmake and a make and it doesn't reassemble FOO. This is all complicated somewhat by the additional plumbing I have wrapped around it (we're cross-compiling with a two-phase compiler, and so there's some other stuff in there), but the cmake and make are both definitely being invoked. One (of many) things I'm not understanding is where the check for changes to BAR takes place. I notice that BAR does not appear in the MakeFile at all. I tried adding a few MESSAGEs and it's doing the set_property as expected (i.e., that code didn't somehow get bypassed). From: Petr Kmoch [mailto:petr.km...@gmail.com] Sent: Wednesday, February 05, 2014 3:08 AM To: Phil Smith Cc: cmake@cmake.org Subject: Re: [CMake] Dependencies Hi Phil. If your FOO.asm is used as a source file (i.e. it's listed in an add_executable() or add_library() command), then you can use the source file property OBJECT_DEPENDS for that: add_executable(myexe FOO.asm other.file one.more) set_property(SOURCE FOO.asm PROPERTY OBJECT_DEPENDS BAR.mac BAZ.mac) #any list of dependencies here As an alternative to set_property(), you can use the weaker, but shorthand setter set_source_files_properties() (which can set it for multiple files at once). If they're somehow processed with a custom command/target (i.e. via add_custom_command() or add_custom_target() instead of library/executable), you can use that command's DEPENDS argument. Petr On Tue, Feb 4, 2014 at 7:57 PM, Phil Smith p...@voltage.commailto:p...@voltage.com wrote: This is surely something basic, but I'm far from a CMake guru and would rather not spend weeks digging to solve something that *seems* like it'll be simple. We have assembler modules in a project. These use macros, as assembler modules are wont to do. So if module FOO.asm uses macro BAR.mac, and we change BAR, a CMake should rebuild FOO. We recognize that we're going to have to define these dependencies manually, but I'm assuming/hoping that there's a way to do that in a CMakeLists. Unfortunately words like dependency make lousy search terms! Can someone point me? Or, even better, give me an example of how to say FOO.asm depends on macro BAR.mac? Thanks... -- ...phsiii Phil Smith III -- Powered by www.kitware.comhttp://www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
[CMake] Setting Xcode Properties
Hello CMake List, I have inherited a cross-platform project, and have the challenge of bringing it up to par … How do I set an Xcode Property, like STRIP_STYLE = non-global in CMake? I have searched the web and apparently things changed between version 2.8.4 and 2.8.5 I have tried set (STRIP_STYLE non-global) XCODE_ATTRIBUTE_STRIP_STYLE=non-global set_xcode_property ($whatIThoughtToBeTheTargetName STRIP_STYLE non-global) all to no success. I would like to set this for all the targets which I am building. Any help is appreciated. Let me know if I can provide more info Thanks Alex -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] Linked Resources in Eclipse Generator
On Wednesday, February 05, 2014 03:19:19 PM a.gri...@erhardt-leimer.com wrote: Hey Guys, one litte question. We are using the Eclipse CDT4 Generator and some plugins can't work with the generated linked resources. Setting the variable CMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES=FALSE shortens the entry in the .project file, but it still exists. Is there any way to really avoid the linked resource section? which plugins have what kind of problems with the generated files in detail ? Looking in the CMake sourcecode I found the posibillity to set the eclipse version to a very old one less 3.6 . Has this step other negativ effects, beside disabling the linked resources and the gmake error parser, I missed? No, it just disables these settings since they didn't exist back then. Alex -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] How to read and compile dynamically-generated list of cpp files
On 2014-02-03 11:44, gimmeamilk gimmeamilk wrote: I have a custom tool that processes a given list of IDL files and produces a number of .cpp and .h files as output. I want to add those files to the list of things to compile in my CMakeLists, and also model the dependencies those files have on the IDL. To keep things simple, I will state that any change to any of the IDL files should trigger a regeneration of all cpp/h. I have a custom command that takes care of running the generator tool and listing all the IDL files as dependencies. My issue is getting the subsequent list of cpp/h files into cmake at build-time. It is not possible to infer from the name of the IDL files what cpp files will be generated. My generator tool will, however, output the list of generated files to a text file. My usual approach to problems like these is to figure out a way to compute the list of output files *without* actually generating them (ideally by the generation tool having a mode to do that), and to then arrange (1) for that to happen at configure time, and (2) for configuration to depend on the input file(s). (For example, generating Python bindings with Shiboken is a similar problem.) Alternatively, you can create an external project that you configure and build as part of your build step. (This might work strangely on e.g. MSVC, however.) -- Matthew -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
[CMake] Using a toplevel CMakeList.txt to build all sub projects at once.
Hello, I'm PCMan, one of the developers of LXDE desktop (now LxQt after merged with Razor-qt project). http://lxde.org/ and http://razor-qt.org/ We're migrating from gtk+ to Qt and autotools to CMake and encountered some issues. There are many small modules or components in our project. Each of them has their own CMakeLists.txt and can be built separately. However, it's hard to build so many projects manually. So we'd like to create a toplevel CMakeLists.txt to build them all at once. However, the small projects depend on each other. For example, our project layout look like this: libqtxdg - a base lib required by others liblxqt - a library depends on libqtxdg lxqt-config - a tool depends on liblxqt and libqtxdg. To build lxqt-config, liblxqt and libqtxdg need to be installed first. So simply adding them using add_subdirectoyy() won't work. When configuring lxqt-config, liblxqt needs to be installed first. To configure and compile liblxqt, cmake modules and headers from libqtxdg are required so libqtxdg needs to be installed first. Is it possible to use CMake to build them all at once since one component requires that the other is installed first. Even worse, two of our components are still automake-based. The cmake ExternalProject_Add() command did not solve the problem that some of them needs to be installed first before others can be compiled. I tried to google and read the existing docs but remain clueless. We're stuck! Any help is really appreciated. Thank you very much! -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
[CMake] Antwort: Re: Linked Resources in Eclipse Generator
Hey Mister Neundorf, thanks for the quick reply. Problems apear not with the generated files explicit, but with the linked resources in general. In our case the GDB Hardware Debugging and the Subversive Plugin seem to throw cryptic exceptions, just because of the linked resources. If they are generated or set by hand doesn't matter. So it's no CMake related Problem. Just one last question remaining: Why does this flag, CMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES, not completely disables linked resources as it sound the name? Regards, Toni CMake cmake-boun...@cmake.org schrieb am 05.02.2014 21:01:25: Von: Alexander Neundorf a.neundorf-w...@gmx.net An: cmake@cmake.org, Datum: 05.02.2014 21:01 Betreff: Re: [CMake] Linked Resources in Eclipse Generator Gesendet von: CMake cmake-boun...@cmake.org On Wednesday, February 05, 2014 03:19:19 PM a.gri...@erhardt-leimer.com wrote: Hey Guys, one litte question. We are using the Eclipse CDT4 Generator and some plugins can't work with the generated linked resources. Setting the variable CMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES=FALSE shortens the entry in the .project file, but it still exists. Is there any way to really avoid the linked resource section? which plugins have what kind of problems with the generated files in detail ? Looking in the CMake sourcecode I found the posibillity to set the eclipse version to a very old one less 3.6 . Has this step other negativ effects, beside disabling the linked resources and the gmake error parser, I missed? No, it just disables these settings since they didn't exist back then. Alex -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http:// www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/ opensource/opensource.html Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
[Cmake-commits] CMake branch, next, updated. v2.8.12.2-7426-gd5b3a28
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 d5b3a2843b4222e26579c46c8d064107cbdabe9e (commit) via 58d284d01cd4eff7f148cd2df6abd8ad54208627 (commit) from 76f39c1886b24a5beed89b6abc22c98c8eec90bd (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=d5b3a2843b4222e26579c46c8d064107cbdabe9e commit d5b3a2843b4222e26579c46c8d064107cbdabe9e Merge: 76f39c1 58d284d Author: Nils Gladitz nilsglad...@gmail.com AuthorDate: Wed Feb 5 03:12:39 2014 -0500 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Wed Feb 5 03:12:39 2014 -0500 Merge topic 'gcc-ipo' into next 58d284d0 IPO: gcc 4.7 is required for -fno-fat-lto-objects http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=58d284d01cd4eff7f148cd2df6abd8ad54208627 commit 58d284d01cd4eff7f148cd2df6abd8ad54208627 Author: Nils Gladitz nilsglad...@gmail.com AuthorDate: Wed Feb 5 09:06:29 2014 +0100 Commit: Nils Gladitz nilsglad...@gmail.com CommitDate: Wed Feb 5 09:06:29 2014 +0100 IPO: gcc 4.7 is required for -fno-fat-lto-objects diff --git a/Modules/Compiler/GNU.cmake b/Modules/Compiler/GNU.cmake index 6bd0ba0..2208a06 100644 --- a/Modules/Compiler/GNU.cmake +++ b/Modules/Compiler/GNU.cmake @@ -77,21 +77,33 @@ macro(__compiler_gnu lang) if(CMAKE_GCC_AR AND CMAKE_GCC_RANLIB) if(NOT DEFINED CMAKE_${lang}_HAS_COLLECT_LTO_WRAPPER) - execute_process(COMMAND ${CMAKE_${lang}_COMPILER} ${CMAKE_${lang}_VERBOSE_FLAG} + execute_process( +COMMAND ${CMAKE_${lang}_COMPILER} ${CMAKE_${lang}_VERBOSE_FLAG} RESULT_VARIABLE __result ERROR_VARIABLE __output OUTPUT_QUIET ) set(__lto_found FALSE) - if(${__result} STREQUAL 0 AND ${__output} MATCHES COLLECT_LTO_WRAPPER) + if(${__result} STREQUAL 0 AND +${__output} MATCHES COLLECT_LTO_WRAPPER) + set(__lto_found TRUE) endif() - set(CMAKE_${lang}_HAS_COLLECT_LTO_WRAPPER ${__lto_found} CACHE INTERNAL ) + + set(CMAKE_${lang}_HAS_COLLECT_LTO_WRAPPER +${__lto_found} CACHE INTERNAL +If the output of gcc -v contains COLLECT_LTO_WRAPPER) endif() if(CMAKE_${lang}_HAS_COLLECT_LTO_WRAPPER) - set(CMAKE_${lang}_COMPILE_OPTIONS_IPO -flto -fno-fat-lto-objects) + set(__lto_flags -flto) + + if(NOT CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 4.7) +list(APPEND __lto_flags -fno-fat-lto-objects) + endif() + + set(CMAKE_${lang}_COMPILE_OPTIONS_IPO ${__lto_flags}) set(CMAKE_${lang}_ARCHIVE_CREATE_IPO ${CMAKE_GCC_AR} cr TARGET LINK_FLAGS OBJECTS --- Summary of changes: Modules/Compiler/GNU.cmake | 20 1 file changed, 16 insertions(+), 4 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.12.2-7428-g0efeabc
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 0efeabcbbf7707c267f544a14ec306e619dc0632 (commit) via bc37c2d860827f5ffbf55686dcedafc1854c1a00 (commit) from d5b3a2843b4222e26579c46c8d064107cbdabe9e (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=0efeabcbbf7707c267f544a14ec306e619dc0632 commit 0efeabcbbf7707c267f544a14ec306e619dc0632 Merge: d5b3a28 bc37c2d Author: Nils Gladitz nilsglad...@gmail.com AuthorDate: Wed Feb 5 03:13:55 2014 -0500 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Wed Feb 5 03:13:55 2014 -0500 Merge topic 'gcc-ipo' into next bc37c2d8 IPO: implemented INTERPROCEDURAL_OPTIMIZATION for gcc (-flto) http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=bc37c2d860827f5ffbf55686dcedafc1854c1a00 commit bc37c2d860827f5ffbf55686dcedafc1854c1a00 Author: Nils Gladitz nilsglad...@gmail.com AuthorDate: Fri Jan 31 23:56:40 2014 +0100 Commit: Nils Gladitz nilsglad...@gmail.com CommitDate: Wed Feb 5 09:13:39 2014 +0100 IPO: implemented INTERPROCEDURAL_OPTIMIZATION for gcc (-flto) Using the IPO specific rule variables in the Ninja generator should fix intel IPO as well. diff --git a/Modules/Compiler/GNU.cmake b/Modules/Compiler/GNU.cmake index f01255c..2208a06 100644 --- a/Modules/Compiler/GNU.cmake +++ b/Modules/Compiler/GNU.cmake @@ -55,4 +55,67 @@ macro(__compiler_gnu lang) if(NOT APPLE) set(CMAKE_INCLUDE_SYSTEM_FLAG_${lang} -isystem ) endif() + + # LTO/IPO + if(NOT CMAKE_GCC_AR OR NOT CMAKE_GCC_RANLIB) +if(IS_ABSOLUTE ${CMAKE_${lang}_COMPILER}) + string(REGEX MATCH ^([0-9]+.[0-9]+) _version +${CMAKE_${lang}_COMPILER_VERSION}) + get_filename_component(_dir ${CMAKE_${lang}_COMPILER} DIRECTORY) + + find_program(CMAKE_GCC_AR NAMES +${_CMAKE_TOOLCHAIN_PREFIX}gcc-ar +${_CMAKE_TOOLCHAIN_PREFIX}gcc-ar-${_version} + ) + + find_program(CMAKE_GCC_RANLIB NAMES +${_CMAKE_TOOLCHAIN_PREFIX}gcc-ranlib +${_CMAKE_TOOLCHAIN_PREFIX}gcc-ranlib-${_version} + ) +endif() + endif() + + if(CMAKE_GCC_AR AND CMAKE_GCC_RANLIB) +if(NOT DEFINED CMAKE_${lang}_HAS_COLLECT_LTO_WRAPPER) + execute_process( +COMMAND ${CMAKE_${lang}_COMPILER} ${CMAKE_${lang}_VERBOSE_FLAG} +RESULT_VARIABLE __result +ERROR_VARIABLE __output +OUTPUT_QUIET + ) + + set(__lto_found FALSE) + if(${__result} STREQUAL 0 AND +${__output} MATCHES COLLECT_LTO_WRAPPER) + +set(__lto_found TRUE) + endif() + + set(CMAKE_${lang}_HAS_COLLECT_LTO_WRAPPER +${__lto_found} CACHE INTERNAL +If the output of gcc -v contains COLLECT_LTO_WRAPPER) +endif() + +if(CMAKE_${lang}_HAS_COLLECT_LTO_WRAPPER) + set(__lto_flags -flto) + + if(NOT CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 4.7) +list(APPEND __lto_flags -fno-fat-lto-objects) + endif() + + set(CMAKE_${lang}_COMPILE_OPTIONS_IPO ${__lto_flags}) + + set(CMAKE_${lang}_ARCHIVE_CREATE_IPO +${CMAKE_GCC_AR} cr TARGET LINK_FLAGS OBJECTS + ) + + set(CMAKE_${lang}_ARCHIVE_APPEND_IPO +${CMAKE_GCC_AR} r TARGET LINK_FLAGS OBJECTS + ) + + set(CMAKE_${lang}_ARCHIVE_FINISH_IPO +${CMAKE_GCC_RANLIB} TARGET + ) +endif() + endif() endmacro() diff --git a/Source/cmMakefileLibraryTargetGenerator.cxx b/Source/cmMakefileLibraryTargetGenerator.cxx index d6a0cd4..38d3c3c 100644 --- a/Source/cmMakefileLibraryTargetGenerator.cxx +++ b/Source/cmMakefileLibraryTargetGenerator.cxx @@ -140,11 +140,7 @@ void cmMakefileLibraryTargetGenerator::WriteStaticLibraryRules() } linkRuleVar += _CREATE_STATIC_LIBRARY; - if(this-GetFeatureAsBool(INTERPROCEDURAL_OPTIMIZATION) - this-Makefile-GetDefinition((linkRuleVar+_IPO).c_str())) -{ -linkRuleVar += _IPO; -} + linkRuleVar = this-GetFeatureSpecificLinkRuleVariable(linkRuleVar); std::string extraFlags; this-LocalGenerator-GetStaticLibraryFlags(extraFlags, @@ -494,6 +490,7 @@ void cmMakefileLibraryTargetGenerator::WriteLibraryRules std::string arCreateVar = CMAKE_; arCreateVar += linkLanguage; arCreateVar += _ARCHIVE_CREATE; +arCreateVar = this-GetFeatureSpecificLinkRuleVariable(arCreateVar); if(const char* rule = this-Makefile-GetDefinition(arCreateVar.c_str())) { cmSystemTools::ExpandListArgument(rule, archiveCreateCommands); @@ -501,6 +498,7 @@ void cmMakefileLibraryTargetGenerator::WriteLibraryRules std::string arAppendVar = CMAKE_; arAppendVar += linkLanguage; arAppendVar +=
[Cmake-commits] CMake branch, next, updated. v2.8.12.2-7430-ga542ffe
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 a542ffea3e34a9f62d7d73722b324483ff1ec263 (commit) via 8f8edeb09bef3065c0a344bfa00f20a843cf1a32 (commit) from 0efeabcbbf7707c267f544a14ec306e619dc0632 (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=a542ffea3e34a9f62d7d73722b324483ff1ec263 commit a542ffea3e34a9f62d7d73722b324483ff1ec263 Merge: 0efeabc 8f8edeb Author: Stephen Kelly steve...@gmail.com AuthorDate: Wed Feb 5 04:14:01 2014 -0500 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Wed Feb 5 04:14:01 2014 -0500 Merge topic 'fix-Qt-autogen' into next 8f8edeb0 QtAutogen: Only add source files to the target if AUTORCC is ON. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=8f8edeb09bef3065c0a344bfa00f20a843cf1a32 commit 8f8edeb09bef3065c0a344bfa00f20a843cf1a32 Author: Stephen Kelly steve...@gmail.com AuthorDate: Wed Feb 5 09:55:51 2014 +0100 Commit: Stephen Kelly steve...@gmail.com CommitDate: Wed Feb 5 10:13:39 2014 +0100 QtAutogen: Only add source files to the target if AUTORCC is ON. The qtx_add_resources() macro adds the resource file to the output list to maintain file-level dependencies. Having the qrc file in a target sources is a precondition for AUTORCC to function. When processing the source files of a target, only add the generated qrc_file.cpp to the target sources if AUTORCC is ON. This avoids pre-porting conflict with the macro. Reported-by: Micha Hergarden diff --git a/Source/cmQtAutoGenerators.cxx b/Source/cmQtAutoGenerators.cxx index 7e44c26..ab194c3 100644 --- a/Source/cmQtAutoGenerators.cxx +++ b/Source/cmQtAutoGenerators.cxx @@ -487,19 +487,23 @@ void cmQtAutoGenerators::SetupSourceFiles(cmTarget const* target) } std::string ext = sf-GetExtension(); -if (ext == qrc - !cmSystemTools::IsOn(sf-GetPropertyForUser(SKIP_AUTORCC))) + +if (target-GetPropertyAsBool(AUTORCC)) { - std::string basename = cmsys::SystemTools:: -GetFilenameWithoutLastExtension(absFile); - - std::string rcc_output_file = makefile-GetCurrentOutputDirectory(); - rcc_output_file += /qrc_ + basename + .cpp; - makefile-AppendProperty(ADDITIONAL_MAKE_CLEAN_FILES, - rcc_output_file.c_str(), false); - cmSourceFile* rccCppSource - = makefile-GetOrCreateSource(rcc_output_file.c_str(), true); - newRccFiles.push_back(rccCppSource); + if (ext == qrc + !cmSystemTools::IsOn(sf-GetPropertyForUser(SKIP_AUTORCC))) +{ +std::string basename = cmsys::SystemTools:: + GetFilenameWithoutLastExtension(absFile); + +std::string rcc_output_file = makefile-GetCurrentOutputDirectory(); +rcc_output_file += /qrc_ + basename + .cpp; +makefile-AppendProperty(ADDITIONAL_MAKE_CLEAN_FILES, +rcc_output_file.c_str(), false); +cmSourceFile* rccCppSource += makefile-GetOrCreateSource(rcc_output_file.c_str(), true); +newRccFiles.push_back(rccCppSource); +} } if (!generated) diff --git a/Tests/QtAutogen/CMakeLists.txt b/Tests/QtAutogen/CMakeLists.txt index 546ed02..4da125f 100644 --- a/Tests/QtAutogen/CMakeLists.txt +++ b/Tests/QtAutogen/CMakeLists.txt @@ -82,7 +82,13 @@ target_link_libraries(libC LINK_PUBLIC libB) target_link_libraries(QtAutogen codeeditorLib ${QT_LIBRARIES} libC) -add_library(empty STATIC empty.cpp) +# Add not_generated_file.qrc to the source list to get the file-level +# dependency, but don't generate a c++ file from it. Disable the AUTORCC +# feature for this target. This tests that qrc files in the sources don't +# have an effect on generation if AUTORCC is off. +add_library(empty STATIC empty.cpp not_generated_file.qrc) +set_target_properties(empty PROPERTIES AUTORCC OFF) + set_target_properties(empty PROPERTIES AUTOMOC TRUE) target_link_libraries(empty no_link_language) add_library(no_link_language STATIC empty.h) diff --git a/Tests/QtAutogen/not_generated_file.qrc b/Tests/QtAutogen/not_generated_file.qrc new file mode 100644 index 000..c769834 --- /dev/null +++ b/Tests/QtAutogen/not_generated_file.qrc @@ -0,0 +1,5 @@ +!DOCTYPE RCCRCC version=1.0 +qresource +fileabc.cpp/file +/qresource +/RCC --- Summary of changes: Source/cmQtAutoGenerators.cxx | 28 +++- Tests/QtAutogen/CMakeLists.txt
[Cmake-commits] CMake branch, next, updated. v2.8.12.2-7432-g0f7f9cd
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 0f7f9cd00d8fe47a5e39709132b74ad68436e9ee (commit) via f7e1ab1fc66f94489adfcf7dae90adffa038564e (commit) from a542ffea3e34a9f62d7d73722b324483ff1ec263 (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=0f7f9cd00d8fe47a5e39709132b74ad68436e9ee commit 0f7f9cd00d8fe47a5e39709132b74ad68436e9ee Merge: a542ffe f7e1ab1 Author: Brad King brad.k...@kitware.com AuthorDate: Wed Feb 5 09:23:42 2014 -0500 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Wed Feb 5 09:23:42 2014 -0500 Merge topic 'doc-version-components' into next f7e1ab1f Help: Refine wording of CMAKE_VERSION docs http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f7e1ab1fc66f94489adfcf7dae90adffa038564e commit f7e1ab1fc66f94489adfcf7dae90adffa038564e Author: Brad King brad.k...@kitware.com AuthorDate: Wed Feb 5 09:23:27 2014 -0500 Commit: Brad King brad.k...@kitware.com CommitDate: Wed Feb 5 09:23:42 2014 -0500 Help: Refine wording of CMAKE_VERSION docs Add a note about how to compare values. diff --git a/Help/variable/CMAKE_VERSION.rst b/Help/variable/CMAKE_VERSION.rst index 6f27706..6184f08 100644 --- a/Help/variable/CMAKE_VERSION.rst +++ b/Help/variable/CMAKE_VERSION.rst @@ -1,10 +1,10 @@ CMAKE_VERSION - -The full version of CMake as up to four non-negative integer components -separated by periods. The first three components represent the feature -level and the fourth component represents either a bug-fix level or -development date. +The CMake version string as up to four non-negative integer components +separated by ``.`` and possibly followed by ``-`` and other information. +The first three components represent the feature level and the fourth +component represents either a bug-fix level or development date. Release versions and release candidate versions of CMake use the format:: @@ -27,6 +27,12 @@ Individual component values are also available in variables: * :variable:`CMAKE_PATCH_VERSION` * :variable:`CMAKE_TWEAK_VERSION` +Use the :command:`if` command ``VERSION_LESS``, ``VERSION_EQUAL``, or +``VERSION_GREATER`` operators to compare version string values against +``CMAKE_VERSION`` using a component-wise test. Version component +values may be 10 or larger so do not attempt to compare version +strings as floating-point numbers. + .. note:: CMake versions prior to 2.8.2 used three components for the --- Summary of changes: Help/variable/CMAKE_VERSION.rst | 14 ++ 1 file changed, 10 insertions(+), 4 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, master, updated. v2.8.12.2-1350-g4e4104c
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 4e4104c4dd6b7b1f2568b3bde79f9226d49d248b (commit) via 101057b50090412bdb13b2313053b6c151d15071 (commit) from 0bae76b43959e9f96f19101dd673ac6d72736e84 (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=4e4104c4dd6b7b1f2568b3bde79f9226d49d248b commit 4e4104c4dd6b7b1f2568b3bde79f9226d49d248b Merge: 0bae76b 101057b Author: Brad King brad.k...@kitware.com AuthorDate: Wed Feb 5 09:34:34 2014 -0500 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Wed Feb 5 09:34:34 2014 -0500 Merge topic 'no-policy-tweak-version' 101057b5 Drop tweak version component from CMake Policies --- Summary of changes: Source/cmPolicies.cxx | 123 ++--- Source/cmPolicies.h |1 - 2 files changed, 54 insertions(+), 70 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.12.2-7434-g05c754e
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 05c754e69e5b54008b3bf4ac61ea473b522a9dfe (commit) via 52e7beb6ab6465a1f7ab185f2020d85efc9049b8 (commit) from 0f7f9cd00d8fe47a5e39709132b74ad68436e9ee (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=05c754e69e5b54008b3bf4ac61ea473b522a9dfe commit 05c754e69e5b54008b3bf4ac61ea473b522a9dfe Merge: 0f7f9cd 52e7beb Author: Brad King brad.k...@kitware.com AuthorDate: Wed Feb 5 09:34:10 2014 -0500 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Wed Feb 5 09:34:10 2014 -0500 Merge topic 'doc-version-components' into next 52e7beb6 Help: Expand documentation of CMAKE_VERSION and related variables http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=52e7beb6ab6465a1f7ab185f2020d85efc9049b8 commit 52e7beb6ab6465a1f7ab185f2020d85efc9049b8 Author: Brad King brad.k...@kitware.com AuthorDate: Tue Feb 4 15:51:11 2014 -0500 Commit: Brad King brad.k...@kitware.com CommitDate: Wed Feb 5 09:24:41 2014 -0500 Help: Expand documentation of CMAKE_VERSION and related variables Describe the meaning of each version component in more detail in the documentation of CMAKE_VERSION. Simplify the per-component version variable documentation by referencing the main variable. Include information about how to compare version strings. Also add an historical note about the version scheme used prior to commit v2.8.2~105^2~4 (New version scheme to support branchy workflow, 2010-04-23). diff --git a/Help/variable/CMAKE_MAJOR_VERSION.rst b/Help/variable/CMAKE_MAJOR_VERSION.rst index 7dd24e5..079ad70 100644 --- a/Help/variable/CMAKE_MAJOR_VERSION.rst +++ b/Help/variable/CMAKE_MAJOR_VERSION.rst @@ -1,6 +1,5 @@ CMAKE_MAJOR_VERSION --- -The Major version of cmake (i.e. the 2 in 2.X.X) - -This specifies the major version of the CMake executable being run. +First version number component of the :variable:`CMAKE_VERSION` +variable. diff --git a/Help/variable/CMAKE_MINOR_VERSION.rst b/Help/variable/CMAKE_MINOR_VERSION.rst index bbc1073..f67cfb9 100644 --- a/Help/variable/CMAKE_MINOR_VERSION.rst +++ b/Help/variable/CMAKE_MINOR_VERSION.rst @@ -1,6 +1,5 @@ CMAKE_MINOR_VERSION --- -The Minor version of cmake (i.e. the 4 in X.4.X). - -This specifies the minor version of the CMake executable being run. +Second version number component of the :variable:`CMAKE_VERSION` +variable. diff --git a/Help/variable/CMAKE_PATCH_VERSION.rst b/Help/variable/CMAKE_PATCH_VERSION.rst index fe68bf2..991ae76 100644 --- a/Help/variable/CMAKE_PATCH_VERSION.rst +++ b/Help/variable/CMAKE_PATCH_VERSION.rst @@ -1,6 +1,5 @@ CMAKE_PATCH_VERSION --- -The patch version of cmake (i.e. the 3 in X.X.3). - -This specifies the patch version of the CMake executable being run. +Third version number component of the :variable:`CMAKE_VERSION` +variable. diff --git a/Help/variable/CMAKE_TWEAK_VERSION.rst b/Help/variable/CMAKE_TWEAK_VERSION.rst index 56270aa..a2c8f35 100644 --- a/Help/variable/CMAKE_TWEAK_VERSION.rst +++ b/Help/variable/CMAKE_TWEAK_VERSION.rst @@ -1,8 +1,5 @@ CMAKE_TWEAK_VERSION --- -The tweak version of cmake (i.e. the 1 in X.X.X.1). - -This specifies the tweak version of the CMake executable being run. -Releases use tweak 2000 and development versions use the date -format CCYYMMDD for the tweak level. +Fourth version number component of the :variable:`CMAKE_VERSION` +variable. diff --git a/Help/variable/CMAKE_VERSION.rst b/Help/variable/CMAKE_VERSION.rst index 4ccc491..6184f08 100644 --- a/Help/variable/CMAKE_VERSION.rst +++ b/Help/variable/CMAKE_VERSION.rst @@ -1,10 +1,46 @@ CMAKE_VERSION - -The full version of cmake in major.minor.patch[.tweak[-id]] format. +The CMake version string as up to four non-negative integer components +separated by ``.`` and possibly followed by ``-`` and other information. +The first three components represent the feature level and the fourth +component represents either a bug-fix level or development date. -This specifies the full version of the CMake executable being run. -This variable is defined by versions 2.6.3 and higher. See variables -CMAKE_MAJOR_VERSION, CMAKE_MINOR_VERSION, CMAKE_PATCH_VERSION, and -CMAKE_TWEAK_VERSION for individual version components. The [-id] -component appears in non-release versions and may be arbitrary text. +Release versions and release candidate versions of CMake use the format:: + + major.minor.patch[.tweak][-rcn] + +where the ``tweak`` component is less than
[Cmake-commits] CMake branch, master, updated. v2.8.12.2-1342-g43a78f5
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 43a78f5b295fb68012e41ebe32b8d78fca63261f (commit) via a6971f6510e532b10f6548f0b77592f41faba38f (commit) from 2233ddf5ae7c178528def572e8f6040ebcec4c36 (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=43a78f5b295fb68012e41ebe32b8d78fca63261f commit 43a78f5b295fb68012e41ebe32b8d78fca63261f Merge: 2233ddf a6971f6 Author: Brad King brad.k...@kitware.com AuthorDate: Wed Feb 5 09:34:23 2014 -0500 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Wed Feb 5 09:34:23 2014 -0500 Merge topic 'FeatureSummary-no-transitive' a6971f65 FeatureSummary: Don't list transitive package dependencies --- Summary of changes: Modules/CMakeFindDependencyMacro.cmake |9 + Modules/FeatureSummary.cmake |6 ++ Source/cmFindPackageCommand.cxx|6 ++ 3 files changed, 21 insertions(+) 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, master, updated. v2.8.12.2-1344-gc475b42
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 c475b42a66ba5a35e7a84273aca118d5037dd54d (commit) via 635e96dde29e7f76e66870dbebfc332360e1ddca (commit) from 43a78f5b295fb68012e41ebe32b8d78fca63261f (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=c475b42a66ba5a35e7a84273aca118d5037dd54d commit c475b42a66ba5a35e7a84273aca118d5037dd54d Merge: 43a78f5 635e96d Author: Brad King brad.k...@kitware.com AuthorDate: Wed Feb 5 09:34:27 2014 -0500 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Wed Feb 5 09:34:27 2014 -0500 Merge topic 'AUTOMOC-docs' 635e96dd Help: Be clearer about which header files are considered for AUTOMOC --- Summary of changes: Help/prop_tgt/AUTOMOC.rst |7 +-- 1 file changed, 5 insertions(+), 2 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, master, updated. v2.8.12.2-1348-g0bae76b
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 0bae76b43959e9f96f19101dd673ac6d72736e84 (commit) via ccc8704777a42a00dcb4a7d62fcbfa79702a8923 (commit) via 70309e7083fa1428d429f4b1fba9441e8765588f (commit) via 34ea1f1520a290fbe19d0f9fbe413f50157120a9 (commit) from c475b42a66ba5a35e7a84273aca118d5037dd54d (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=0bae76b43959e9f96f19101dd673ac6d72736e84 commit 0bae76b43959e9f96f19101dd673ac6d72736e84 Merge: c475b42 ccc8704 Author: Brad King brad.k...@kitware.com AuthorDate: Wed Feb 5 09:34:30 2014 -0500 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Wed Feb 5 09:34:30 2014 -0500 Merge topic 'release-notes' ccc87047 Help: Add documents to collect notes between releases 70309e70 Help: Add documents for release notes 34ea1f15 Utilities/Sphinx: Add option to build 'text' format --- Summary of changes: Help/index.rst | 10 ++ Help/release/dev.txt| 16 Help/release/dev/0-sample-topic.rst |7 +++ Help/release/index.rst | 14 ++ Utilities/Sphinx/CMakeLists.txt |8 +++- 5 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 Help/release/dev.txt create mode 100644 Help/release/dev/0-sample-topic.rst create mode 100644 Help/release/index.rst 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, master, updated. v2.8.12.2-1352-gfed3f88
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 fed3f88f8c5bf2ec5de0b8e406ef5c1e39781833 (commit) via 52e7beb6ab6465a1f7ab185f2020d85efc9049b8 (commit) from 4e4104c4dd6b7b1f2568b3bde79f9226d49d248b (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=fed3f88f8c5bf2ec5de0b8e406ef5c1e39781833 commit fed3f88f8c5bf2ec5de0b8e406ef5c1e39781833 Merge: 4e4104c 52e7beb Author: Brad King brad.k...@kitware.com AuthorDate: Wed Feb 5 09:34:37 2014 -0500 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Wed Feb 5 09:34:37 2014 -0500 Merge topic 'doc-version-components' 52e7beb6 Help: Expand documentation of CMAKE_VERSION and related variables --- Summary of changes: Help/variable/CMAKE_MAJOR_VERSION.rst |5 ++-- Help/variable/CMAKE_MINOR_VERSION.rst |5 ++-- Help/variable/CMAKE_PATCH_VERSION.rst |5 ++-- Help/variable/CMAKE_TWEAK_VERSION.rst |7 ++--- Help/variable/CMAKE_VERSION.rst | 48 - 5 files changed, 50 insertions(+), 20 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.12.2-7441-gb02d915
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 b02d915d28c000a4fa69ee7465d17bf4c9f13239 (commit) via fed3f88f8c5bf2ec5de0b8e406ef5c1e39781833 (commit) via 4e4104c4dd6b7b1f2568b3bde79f9226d49d248b (commit) via 0bae76b43959e9f96f19101dd673ac6d72736e84 (commit) via c475b42a66ba5a35e7a84273aca118d5037dd54d (commit) via 43a78f5b295fb68012e41ebe32b8d78fca63261f (commit) via 2233ddf5ae7c178528def572e8f6040ebcec4c36 (commit) from 05c754e69e5b54008b3bf4ac61ea473b522a9dfe (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=b02d915d28c000a4fa69ee7465d17bf4c9f13239 commit b02d915d28c000a4fa69ee7465d17bf4c9f13239 Merge: 05c754e fed3f88 Author: Brad King brad.k...@kitware.com AuthorDate: Wed Feb 5 09:35:31 2014 -0500 Commit: Brad King brad.k...@kitware.com CommitDate: Wed Feb 5 09:35:31 2014 -0500 Merge branch 'master' into next --- Summary of changes: Source/CMakeVersion.cmake |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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.12.2-7455-gbdbcbc2
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 bdbcbc240c697eb7a5b02f6e6ae54c24d53821b8 (commit) via 0f5dfd10ba430fc9377654ca8cf3f636901aa223 (commit) from a31f1a20e4b50c1ba741e4875b9eb331553834de (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=bdbcbc240c697eb7a5b02f6e6ae54c24d53821b8 commit bdbcbc240c697eb7a5b02f6e6ae54c24d53821b8 Merge: a31f1a2 0f5dfd1 Author: Stephen Kelly steve...@gmail.com AuthorDate: Wed Feb 5 10:06:26 2014 -0500 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Wed Feb 5 10:06:26 2014 -0500 Merge topic 'Qt4-WIN32-doc' into next 0f5dfd10 Help: Specify that qtmain.lib is only used for WIN32 executables. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0f5dfd10ba430fc9377654ca8cf3f636901aa223 commit 0f5dfd10ba430fc9377654ca8cf3f636901aa223 Author: Stephen Kelly steve...@gmail.com AuthorDate: Thu Jan 30 17:29:50 2014 +0100 Commit: Stephen Kelly steve...@gmail.com CommitDate: Wed Feb 5 16:05:16 2014 +0100 Help: Specify that qtmain.lib is only used for WIN32 executables. diff --git a/Modules/FindQt4.cmake b/Modules/FindQt4.cmake index 9ea77d4..e188c62 100644 --- a/Modules/FindQt4.cmake +++ b/Modules/FindQt4.cmake @@ -23,7 +23,8 @@ # .. note:: # # When using :prop_tgt:`IMPORTED` targets, the qtmain.lib static library is -# automatically linked on Windows. To disable that globally, set the +# automatically linked on Windows for :variable:`WIN32 WIN32_EXECUTABLE` +# executables. To disable that globally, set the # ``QT4_NO_LINK_QTMAIN`` variable before finding Qt4. To disable that # for a particular executable, set the ``QT4_NO_LINK_QTMAIN`` target # property to ``TRUE`` on the executable. --- Summary of changes: Modules/FindQt4.cmake |3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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.12.2-7457-ga549825
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 a5498254c7675145a248c68bedd636af767270f2 (commit) via 12d6eb639d3fc7dd9b9a1280d462a47c5f123120 (commit) from bdbcbc240c697eb7a5b02f6e6ae54c24d53821b8 (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=a5498254c7675145a248c68bedd636af767270f2 commit a5498254c7675145a248c68bedd636af767270f2 Merge: bdbcbc2 12d6eb6 Author: Brad King brad.k...@kitware.com AuthorDate: Wed Feb 5 12:28:29 2014 -0500 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Wed Feb 5 12:28:29 2014 -0500 Merge topic 'FindOpenSSL-root-dir' into next 12d6eb63 FindOpenSSL: Honor OPENSSL_ROOT_DIR everywhere (#14735) http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=12d6eb639d3fc7dd9b9a1280d462a47c5f123120 commit 12d6eb639d3fc7dd9b9a1280d462a47c5f123120 Author: Ho Cheung hocheun...@gmail.com AuthorDate: Tue Feb 4 18:13:59 2014 -0600 Commit: Brad King brad.k...@kitware.com CommitDate: Wed Feb 5 12:28:36 2014 -0500 FindOpenSSL: Honor OPENSSL_ROOT_DIR everywhere (#14735) In commit v2.8.5~176^2~2 (FindOpenSSL: We should only use hints to find OpenSSL, 2011-03-28) values for HINTS and PATHS of find_* calls were computed everywhere but only used on Windows. Use them everywhere. diff --git a/Modules/FindOpenSSL.cmake b/Modules/FindOpenSSL.cmake index 6bf2aad..cb99f7a 100644 --- a/Modules/FindOpenSSL.cmake +++ b/Modules/FindOpenSSL.cmake @@ -59,10 +59,6 @@ if (WIN32) C:/OpenSSL-Win64/ ) unset(_programfiles) - set(_OPENSSL_ROOT_HINTS_AND_PATHS -HINTS ${_OPENSSL_ROOT_HINTS} -PATHS ${_OPENSSL_ROOT_PATHS} -) else () set(_OPENSSL_ROOT_HINTS ${OPENSSL_ROOT_DIR} @@ -70,6 +66,11 @@ else () ) endif () +set(_OPENSSL_ROOT_HINTS_AND_PATHS +HINTS ${_OPENSSL_ROOT_HINTS} +PATHS ${_OPENSSL_ROOT_PATHS} +) + find_path(OPENSSL_INCLUDE_DIR NAMES openssl/ssl.h --- Summary of changes: Modules/FindOpenSSL.cmake |9 + 1 file changed, 5 insertions(+), 4 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.12.2-7459-gdbd4d5f
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 dbd4d5f55534234bffd88fa021c1da8ba5162713 (commit) via 4bb7615dabf0d1d00e61c3f91f08e8adcb68c2e4 (commit) from a5498254c7675145a248c68bedd636af767270f2 (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=dbd4d5f55534234bffd88fa021c1da8ba5162713 commit dbd4d5f55534234bffd88fa021c1da8ba5162713 Merge: a549825 4bb7615 Author: Stephen Kelly steve...@gmail.com AuthorDate: Wed Feb 5 17:28:19 2014 -0500 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Wed Feb 5 17:28:19 2014 -0500 Merge topic 'update-buildsystem-docs' into next 4bb7615d Add note about commands for defines and includes. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=4bb7615dabf0d1d00e61c3f91f08e8adcb68c2e4 commit 4bb7615dabf0d1d00e61c3f91f08e8adcb68c2e4 Author: Stephen Kelly steve...@gmail.com AuthorDate: Wed Feb 5 23:27:40 2014 +0100 Commit: Stephen Kelly steve...@gmail.com CommitDate: Wed Feb 5 23:27:40 2014 +0100 Add note about commands for defines and includes. diff --git a/Help/command/target_compile_options.rst b/Help/command/target_compile_options.rst index eb1d874..0fdeba6 100644 --- a/Help/command/target_compile_options.rst +++ b/Help/command/target_compile_options.rst @@ -15,6 +15,14 @@ named ``target`` must have been created by a command such as :prop_tgt:`IMPORTED Target`. If ``BEFORE`` is specified, the content will be prepended to the property instead of being appended. +This command can be used to add any options, but +alternative commands exist to add preprocessor definitions +(:command:`target_compile_definitions` and :command:`add_definitions`) or +include directories (:command:`target_include_directories` and +:command:`include_directories`). See documentation of the +:prop_tgt:`directory COMPILE_OPTIONS` and +:prop_tgt:` target COMPILE_OPTIONS` ``COMPILE_OPTIONS`` properties. + The ``INTERFACE``, ``PUBLIC`` and ``PRIVATE`` keywords are required to specify the scope of the following arguments. ``PRIVATE`` and ``PUBLIC`` items will populate the :prop_tgt:`COMPILE_OPTIONS` property of --- Summary of changes: Help/command/target_compile_options.rst |8 1 file changed, 8 insertions(+) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits