[cmake-developers] No next-master merge this week?
Hi guys, There was no next-master merge this week? Is there any issue? -- Erk Le gouvernement représentatif n'est pas la démocratie -- http://www.le-message.org -- 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] Two pull requests
On 2/29/2012 4:58 PM, Yury G. Kudryashov wrote: Brad King wrote: Our style checker limits .h and .cxx files to 79 columns. Some of the updated comments exceed this limit. Please reformat them. Where can I find the style checker sources? I'll run it to pre-commit hook then. The CMAKE_USE_KWSTYLE option enables it but you need to build the KWStyle tool. Our dashboard also runs it on the repository to catch post-commit failures. However, the *only* check it currently performs is the column limit AFAIK. Someday I may get around to adding the check in our pre-commit hook. -Brad -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] Two pull requests
On 2/29/2012 5:34 PM, Yury G. Kudryashov wrote: Our style checker limits .h and .cxx files to 79 columns. Some of the updated comments exceed this limit. Please Force-pushed. Thanks. It conflicts with the add-const-qualifiers topic in cmPropertyDefinition::IsChained. I merged that into this topic to resolve it. Then I merged to 'next' for testing. BTW, what is the policy for const MyClass* vs MyClass const*? I personally prefer the latter except for const char* because it is in such common use. We don't have a strict requirement. Which parts of STL are allowed in sources that are needed for bootstrap? There is no special restriction for bootstrap v. main build that I remember. Any of the basic containers are allowed. We tend to avoid the algorithms beyond any already in use because many older STL implementations where CMake builds are limited. -Brad -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] Nightly Binary not building on windows
The Linux nightly fails the same way: CMake Error at CMakeLists.txt:55 (message): ImageMagick_FOUND is set but no version number is defined Call Stack (most recent call first): CMakeLists.txt:65 (check_version_string) I have removed the requirement for ImageMagick version string since it also breaks e.g. on slicer.orl. Eike signature.asc Description: This is a digitally signed message part. -- 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] Two pull requests
2012/3/1 Brad King brad.k...@kitware.com: On 3/1/2012 10:47 AM, Eric Noulard wrote: Last time I tried to enable KWStyle hooks following this: http://www.cmake.org/Wiki/Git/Hooks#Setup That page is generic for many of Kitware's projects and is not specific to CMake. The same hooks are also used for ITK. For a while the kwstyle and uncrustify hooks were added and used by ITK. Later they were moved over to ITK proper and are now invoked through the generic hooks' chaining feature. They no longer exist in the generic hooks outright. I removed the discussion of them from the wiki page. I'm not a big fan of automatic code formatting and layout tools. There are almost always exceptions and special cases. I'd rather cover that during code review. Yes I agree with that but may be using them as pre-commit warning on changed files may be interesting. Nevertheless checking for no more than 79 column style certainly does not require such tool. -- Erk Le gouvernement représentatif n'est pas la démocratie -- http://www.le-message.org -- 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 0013008]: CFLAGs set in toolchain file are overwritten
The following issue has been SUBMITTED. == http://www.cmake.org/Bug/view.php?id=13008 == Reported By:David Coles Assigned To: == Project:CMake Issue ID: 13008 Category: CMake Reproducibility:always Severity: minor Priority: normal Status: new == Date Submitted: 2012-03-01 21:27 EST Last Modified: 2012-03-01 21:27 EST == Summary:CFLAGs set in toolchain file are overwritten Description: It's possible to set common CMAKE variables in a toolchain file with the assumption that they'll be used in external builds. This would be the ideal location for toolchain specific compiler flags, but unfortunately these are overwritten after the toolchain testing is complete. A workaround[1] is to set the CFLAGS to the CMAKE Cache using something like `SET(CMAKE_C_FLAGS -Wall CACHE STRING Toolchain)` but this breaks the use of CFLAGS environment variable. [1] http://www.mail-archive.com/cmake@cmake.org/msg40214.html Steps to Reproduce: # Toolchain.cmake # === set(CMAKE_SYSTEM_NAME Linux) set(CMAKE_SYSTEM_VERSION 1) set( CLANG True ) # Set the cross compiler set(CMAKE_C_COMPILER clang) set(CMAKE_CXX_COMPILER clang++) set(CMAKE_C_FLAGS -Wextra) #set(CMAKE_C_FLAGS -Wextra CACHE STRING Toolchain) set(MY_C_FLAGS -Wextra) MESSAGE(STATUS Toolchain CMAKE_C_FLAGS: ${CMAKE_C_FLAGS}) MESSAGE(STATUS Toolchain MY_C_FLAGS: ${MY_C_FLAGS}) # CMakeLists.txt # == PROJECT (Test) CMAKE_MINIMUM_REQUIRED (VERSION 2.8) # Expect that toolchain variables are still set MESSAGE (STATUS CMAKE_C_FLAGS: ${CMAKE_C_FLAGS}) MESSAGE (STATUS MY_C_FLAGS: ${MY_C_FLAGS}) # Command Line # $ rm CMakeCache.txt; cmake -DCMAKE_TOOLCHAIN_FILE=Toolchain.cmake . == Issue History Date ModifiedUsername FieldChange == 2012-03-01 21:27 David ColesNew 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] How to include the generated header file?
Thanks. Speaking of bugs, there's one more in the generated header file: #ifdef machine_side-msvc-32bit_EXPORTS /* We are building this library */ # define HostlinkPP_EXPORT __declspec(dllexport) #else /* We are using this library */ # define HostlinkPP_EXPORT __declspec(dllimport) #endif The inserted comments breaks the line and invokes a warning in VC++. A better way is like this : #ifdef machine_side-msvc-32bit_EXPORTS # define HostlinkPP_EXPORT __declspec(dllexport)/* We are building this library */ #else # define HostlinkPP_EXPORT __declspec(dllimport)/* We are using this library */ #endif -Original Message- From: cmake-boun...@cmake.org [mailto:cmake-boun...@cmake.org] On Behalf Of Michael Wild Sent: Thursday, March 01, 2012 3:33 PM To: cmake@cmake.org Subject: Re: [CMake] How to include the generated header file? On 03/01/2012 07:21 AM, Tan, Tom (Shanghai) wrote: According to the doc, generate_export_header(somelib) generates a file in the ${CMAKE_CURRENT_BUILD_DIR} called somelib_export.h. What's the recommended way to include this somelib_export.h. #include somelib_export.h does not work. And ${CMAKE_CURRENT_BUILD_DIR} is empty too. I am using v2.8.7. The header file does get generated, only the doc is not very helpful on how to include it. include_directories(${CMAKE_CURRENT_BINARY_DIR}) That's a bug in the documentation, the variable CMAKE_CURRENT_BUILD_DIR does not exist (notice the difference is between BUILD and BINARY)... Michael -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] Visual Studio 10 - GenerateDebugInformation always false
Are you using CMake 2.8.7? If not, please upgrade and try with that version. If there's still a problem after that, let us know. On Mar 1, 2012, at 12:24 AM, Johannes Sasongko sason...@gmail.com wrote: Is anyone having the problem where CMake creates VS10 project files with GenerateDebugInformation set to false for all (including Debug RelWithDebInfo) targets? If I remember correctly, this did not happen when using the VS9 generator, but I don't have VS9 handy to test. -- Johannes -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
[CMake] New platform which did not deserve upstream: how to avoid warning?
Hi, I'm working on a research platform for which I wrote a toolchain file. Let's say this platform is called Blah how do I avoid the System is unknown to cmake, create: Platform/Blah to use this system, please send your config file to cm...@www.cmake.org so it can be added to cmake Besides that all is OK (because the C compiler is GCC based). So I wonder how I can do to avoid the warning. There is no benefit to put this platform in upstream CMake so I can write a dummy Blah.cmake platform? Putting the file in a local (to my project) Platform/ directory seems ok if I modify the CMAKE_MODULE_PATH before project() command but is this the correct way of work? -- Erk Le gouvernement représentatif n'est pas la démocratie -- http://www.le-message.org -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] Visual Studio 10 - GenerateDebugInformation always false
On 3/1/2012 9:00 AM, David Cole wrote: Are you using CMake 2.8.7? If not, please upgrade and try with that version. If there's still a problem after that, let us know. It might also be flags that you are setting in your project or cache that is doing this. Do you set CMAKE_CXX_FLAGS? -Bill -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] Visual Studio 10 - GenerateDebugInformation always false
Are you using CMake 2.8.7? If not, please upgrade and try with that version. If there's still a problem after that, let us know. Yes, I'm using 2.8.7. I've tested it on a very simple project (essentially just a Hello World with one lib and one exe), from an empty cache/build dir, and am still seeing the problem. -- Johannes -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] Visual Studio 10 - GenerateDebugInformation always false
Can you attach that project? I'll test it out under similar conditions. Are you using the free version of visual studio? Aaron Meadows -Original Message- From: cmake-boun...@cmake.org [mailto:cmake-boun...@cmake.org] On Behalf Of Johannes Sasongko Sent: Thursday, March 01, 2012 9:01 AM To: cmake@cmake.org Subject: Re: [CMake] Visual Studio 10 - GenerateDebugInformation always false Are you using CMake 2.8.7? If not, please upgrade and try with that version. If there's still a problem after that, let us know. Yes, I'm using 2.8.7. I've tested it on a very simple project (essentially just a Hello World with one lib and one exe), from an empty cache/build dir, and am still seeing the problem. -- Johannes -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake This email was sent to you by Thomson Reuters, the global news and information company. Any views expressed in this message are those of the individual sender, except where the sender specifically states them to be the views of Thomson Reuters. -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] Visual Studio 10 - GenerateDebugInformation always false
On Thu, Mar 1, 2012 at 10:01 AM, Johannes Sasongko sason...@gmail.com wrote: Are you using CMake 2.8.7? If not, please upgrade and try with that version. If there's still a problem after that, let us know. Yes, I'm using 2.8.7. I've tested it on a very simple project (essentially just a Hello World with one lib and one exe), from an empty cache/build dir, and am still seeing the problem. I am not seeing this at all on Windows 7, Windows 2008 with 2.8.7 and Visual Studio 2010 or Visual Studio 2008. Can you make a small example? John -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
[CMake] Fortran 90 Module Issues in CMake
Hi, back converting another software distribution to a CMake-based build system. This one has a heavy reliance on Fortran 90 modules, and I noticed CMake has some issues with Fortran 90 modules. In particular, I have noticed that CMake cannot do module dependency scanning outside of the current directory/subdirectories. For example, if /topdir/dir1/src/ has a Fortran file with a dependency on a module built in /topdir/dir2/mod/, CMake will not instruct the module in /dir2/mod/ to be built before the Fortran file in /dir1/src/. This is not necessarily an issue as I can simply instruct CMake to build the /dir2/mod directory before the /dir1/src/ directory via add_subdirectory ordering. According to previous mailing list entries found via Google, CMake does have functioning dependency scanning within the same directory or subdirectories. However, when attempting to build Fortran 90 files in a directory, I have encountered the following error: *** No rule to make target `dir/CMakeFiles/target.a.dir/foo2.mod.stamp', needed by `dir/foo.tmp.f'. Stop. where both foo and foo2 are Fortran 90 files and independently preprocessed by /lib/cpp in a custom_command (hence the extension renamed to .tmp.f). It appears CMake recognizes that the module built from foo2.f90 is needed for foo.f90 (.mod.stamp file), but instead of then building the dependent module, gnumake fails. It seems that maybe a solution here would be for CMake to place its .mod.stamp files in the /CMakefiles directories during configuration time. This method would allow the dependency scanning to find necessary modules in other directories because of the already present .mod.stamp files and build their Fortran 90 files first. Also, it would hopefully avoid the error I have found where a Fortran 90 file is dependent upon a module built from another Fortran 90 file in the same directory. Another potentially great feature which I had requested earlier (but hopefully mentioning again helps) is to separate the include_directories function from the module paths, since non-GNUFortran compilers (e.g. ABSoft) may have different flags for module paths and CMake currently doubles all includes and module paths as each other. Thanks for any feedback and/or assistance. Using CMake 2.8.6. -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] Functions inherit parent variables?
No, the print statement is not missing. In fact it prints just fine (function test() is able to obtain the value for variable SOME_TEST). This isn't exactly the same as C++. In C++, a function does not have access to the calling function's local declarations. In order for the function to get access to these, they must be passed in as parameters. - Robert Dailey On Wed, Feb 29, 2012 at 9:54 PM, Michael Hertling mhertl...@online.dewrote: On 03/01/2012 01:38 AM, Robert Dailey wrote: I ran a quick test: function( test ) message( SOME_TEST: ${SOME_TEST} ) endfunction() function( start ) set( SOME_TEST HELLO WORLD ) test() endfunction() start() Seems like a function has access to the calling scope's defined variables. I thought because functions created a new scope, that excluded access to variables defined in the outer scope (i.e. calling scope) Can someone explain? The line SOME_TEST: HELLO WORLD is missing, I guess? As usual with scoping mechanisms, there is access to the outer scope from within the inner scope: Read access via ordinary dereferencing and write access via PARENT_SCOPE. It's quite the same as in C/C++ with the { and } tokens; see also the C++ :: operator. Regards, Michael -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] Fortran 90 Module Issues in CMake
On 3/1/2012 11:21 AM, Matthew Schuchard wrote: In particular, I have noticed that CMake cannot do module dependency scanning outside of the current directory/subdirectories. For example, if /topdir/dir1/src/ has a Fortran file with a dependency on a module built in /topdir/dir2/mod/, CMake will not instruct the module in /dir2/mod/ to be built before the Fortran file in /dir1/src/. This is not necessarily an issue as I can simply instruct CMake to build the /dir2/mod directory before the /dir1/src/ directory via add_subdirectory ordering. When scanning dependencies of sources in a given target CMake looks at targets to which that target links to find possible module providers. If a target uses a module provided by another target but does not link to it then the link will fail. It does not matter whether the targets are in the same directory or different directories so long as they are all handled during a single CMake configuration. The case is even covered in the test suite: http://cmake.org/gitweb?p=cmake.git;a=blob;f=Tests/Fortran/Library/CMakeLists.txt;hb=v2.8.7 http://cmake.org/gitweb?p=cmake.git;a=blob;f=Tests/Fortran/Library/a.f90;hb=v2.8.7 http://cmake.org/gitweb?p=cmake.git;a=blob;f=Tests/Fortran/Library/b.f90;hb=v2.8.7 http://cmake.org/gitweb?p=cmake.git;a=blob;f=Tests/Fortran/Executable/CMakeLists.txt;hb=v2.8.7 http://cmake.org/gitweb?p=cmake.git;a=blob;f=Tests/Fortran/Executable/main.f90;hb=v2.8.7 -Brad -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] Fortran 90 Module Issues in CMake
I did see those links on the bug report for Fortran 90 module dependency in subdirectories, but I am having some kind of XML schema error preventing me from viewing them in Firefox. If I understand you correctly, you are saying that to generate the module dependencies in my example case, I would need to do: /topdir/dir1/src/CMakeLists.txt add_library(dir1src foo1.f90) target_link_libraries(dir1src dir2mod) /topdir/dir2/mod/CMakeLists.txt add_library(dir2mod foo2.f90) but this seems odd to me so I am not sure if I am interpreting it correctly. Also, this seems to suggest that for my same directory dependency generation error I would need to do: add_library(thefoo foo.f90 foo2.f90 foo3.f90) target_link_libraries(thefoo thefoo) which also seems awkward and has not fixed my error in same directory Fortran 90 module dependency checks. On 3/1/2012 11:21 AM, Matthew Schuchard wrote: / In particular, I have noticed that CMake cannot do module dependency scanning outside of the current directory/subdirectories. // // For example, if /topdir/dir1/src/ has a Fortran file with a dependency on a module built in /topdir/dir2/mod/, CMake will not instruct the module in /dir2/mod/ to be built before the Fortran file in /dir1/src/. This is not necessarily an issue as I can simply instruct CMake to build the /dir2/mod // directory before the /dir1/src/ directory via add_subdirectory ordering. / When scanning dependencies of sources in a given target CMake looks at targets to which that target links to find possible module providers. If a target uses a module provided by another target but does not link to it then the link will fail. It does not matter whether the targets are in the same directory or different directories so long as they are all handled during a single CMake configuration. The case is even covered in the test suite: http://cmake.org/gitweb?p=cmake.git;a=blob;f=Tests/Fortran/Library/CMakeLists.txt;hb=v2.8.7 http://cmake.org/gitweb?p=cmake.git;a=blob;f=Tests/Fortran/Library/a.f90;hb=v2.8.7 http://cmake.org/gitweb?p=cmake.git;a=blob;f=Tests/Fortran/Library/b.f90;hb=v2.8.7 http://cmake.org/gitweb?p=cmake.git;a=blob;f=Tests/Fortran/Executable/CMakeLists.txt;hb=v2.8.7 http://cmake.org/gitweb?p=cmake.git;a=blob;f=Tests/Fortran/Executable/main.f90;hb=v2.8.7 -Brad -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] New platform which did not deserve upstream: how to avoid warning?
On Thursday 01 March 2012, Eric Noulard wrote: Hi, I'm working on a research platform for which I wrote a toolchain file. Let's say this platform is called Blah how do I avoid the System is unknown to cmake, create: Platform/Blah to use this system, please send your config file to cm...@www.cmake.org so it can be added to cmake Besides that all is OK (because the C compiler is GCC based). So I wonder how I can do to avoid the warning. There is no benefit to put this platform in upstream CMake so I can write a dummy Blah.cmake platform? Putting the file in a local (to my project) Platform/ directory seems ok if I modify the CMAKE_MODULE_PATH before project() command but is this the correct way of work? I'd say so. What kind of platform is it ? Something small embedded ? Alex -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] Fortran 90 Module Issues in CMake
On 3/1/2012 2:38 PM, Matthew Schuchard wrote: I did see those links on the bug report for Fortran 90 module dependency in subdirectories, but I am having some kind of XML schema error preventing me from viewing them in Firefox. To what bug report do you refer, and to what links? If I understand you correctly, you are saying that to generate the module dependencies in my example case, I must not understand your example case correctly. Please post a sample source tree tarball to reproduce it with CMakeLists.txt files and the Fortran90 sources. Thanks, -Brad -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] New platform which did not deserve upstream: how to avoid warning?
2012/3/1 Alexander Neundorf a.neundorf-w...@gmx.net: On Thursday 01 March 2012, Eric Noulard wrote: Hi, I'm working on a research platform for which I wrote a toolchain file. Let's say this platform is called Blah how do I avoid the System is unknown to cmake, create: Platform/Blah to use this system, please send your config file to cm...@www.cmake.org so it can be added to cmake Besides that all is OK (because the C compiler is GCC based). So I wonder how I can do to avoid the warning. There is no benefit to put this platform in upstream CMake so I can write a dummy Blah.cmake platform? Putting the file in a local (to my project) Platform/ directory seems ok if I modify the CMAKE_MODULE_PATH before project() command but is this the correct way of work? I'd say so. What kind of platform is it ? Intel SCC: http://techresearch.intel.com/ProjectDetails.aspx?Id=1 Something small embedded ? Not so small and not embbedable in a foreseen future. -- Erk Le gouvernement représentatif n'est pas la démocratie -- http://www.le-message.org -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
[CMake] Fortran 90 Module Issues in CMake
On 3/1/2012 2:38 PM, Matthew Schuchard wrote: / I did see those links on the bug report for Fortran 90 module dependency in subdirectories, // but I am having some kind of XML schema error preventing me from viewing them in Firefox. / To what bug report do you refer, and to what links? I cannot find it anymore, but it was from 2010/2011 and somebody had supplied a patch, but then you replied by saying you were in the middle of developing a fix yourself. Later on you provided the same links you provided in the previous message as an example of it functioning now. It was to fix Fortran 90 module dependency generation in subdirectories. / If I understand you correctly, you are saying that to generate the module dependencies in my example case, / I must not understand your example case correctly. Please post a sample source tree tarball to reproduce it with CMakeLists.txt files and the Fortran90 sources. Thanks, -Brad Unfortunately, this software is also proprietary, but I have found that this person: http://www.cmake.org/pipermail/cmake/2010-November/040832.html had a very similar problem. About fifteen messages down, it appears your suggestion was to manually add dependencies with add_dependencies because of the build time Fortran 90 module dependency determination. The problem is I need a Fortran 90 file to be built using a module from another Fortran 90 file in the same directory and target, and I need this often. So I need some global method. I am guessing that Fortran 90 module dependency generation is not possible during configuration time? Fortran and Ada making everything difficult. Thanks for the assistance thus far. -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] Code and API review request for Qt5 CMake files
On Thursday 01 March 2012, Michael Hertling wrote: On 02/28/2012 10:03 PM, Alexander Neundorf wrote: ...will reply later in detail. Could you please go through the existing find-modules shipped with cmake which support COMPONENTS and make a summary of how they handle them ? At least FindQt4.cmake be default searches all components. Thanks Alex The following CMakeLists.txt can be used to systematically investigate the results of the component-aware find modules currently shipped with CMake, these are Find{Boost,GTK2,HDF5,ImageMagick,Java,OpenSceneGraph, Qt4,wxWidgets,XMLRPC}: CMAKE_MINIMUM_REQUIRED(VERSION 2.8 FATAL_ERROR) PROJECT(FINDRESULTVARIABLES C CXX) SET(CMAKE_VERBOSE_MAKEFILE ON) FUNCTION(FindResultVariables pkg) SET(prefix ${pkg}) IF(DEFINED ARGV1) SET(prefix ${ARGV1}) ENDIF() UNSET(REQUIRED) IF(${pkg}_REQUIRED) SET(REQUIRED REQUIRED) ENDIF() FIND_PACKAGE(${pkg} COMPONENTS ${${pkg}_COMPONENTS} ${REQUIRED}) MESSAGE(Begin: ${pkg} result variables) GET_DIRECTORY_PROPERTY(v VARIABLES) FOREACH(i IN LISTS v) IF(i MATCHES ^${prefix}.*_FOUND$) MESSAGE(${i}=${${i}}) ENDIF() ENDFOREACH() MESSAGE(${prefix}_LIBRARIES: ${${prefix}_LIBRARIES}) MESSAGE(End: ${pkg} result variables) ENDFUNCTION() FindResultVariables(Boost) FindResultVariables(GTK2) FindResultVariables(HDF5) FindResultVariables(ImageMagick) FindResultVariables(Java) FindResultVariables(OpenSceneGraph) FindResultVariables(Qt4 QT) FindResultVariables(wxWidgets) FindResultVariables(XMLRPC) Thanks :-) HDF5, OpenSceneGraph and XMLRPC aren't installed on my system; my preliminary findings for the remaining packages are as follows: Maybe you can have a look at the code of those ? (1) Searching unrequested components: Qt4: Yes. GTK2,ImageMagick: Partially. wxWidgets: All components if none are requested. The remaining modules don't search unrequested components. (2) Assigning *_*_FOUND variables: Qt4: Only for modules which are known and found. ImageMagick: Also for requested but unknown components. wxWidgets: No *_*_FOUND variables at all but forwards unknown components to *_LIBRARIES variable without an error. The remaining modules assign only to *_*_FOUND variables for components which they know and which have been requested. (3) Respecting the REQUIRED flag: wxWidgets: REQUIRED ignored completely. This is clearly a bug. Boost: SEND_ERROR instead of FATAL_ERROR. This is somewhere between acceptable and bug. GTK2,Java: Bail out on unknown components even if not REQUIRED. Depending on how unknown components should be handled, this is either ok or not. I'm leaning towards supporting only known components, so the find-module or config file knows what it is doing. In this case this would be correct behaviour, the programmer would see this error, not the user. The remaining modules bail out on unavailable requested components. (4) Assinging the package-related *_FOUND variable: Java: No *_FOUND variable at all although it's documented. Bug. wxWidgets: TRUE even if requested components aren't found, see above. The remaining modules return FALSE if a requested component isn't found. My comments on these, say, multifarious findings are: ;-) Ad.(1): In general, automatically searching unrequested components does not mean a harm, but it is also not beneficial at all events: - No guarantee to catch all components - consider a component added later to the package - so no guarantee that all later *_*_FOUND variables have been assigned a definite value by FIND_PACKAGE(). - Complicates find modules / config files due to REQUIRED/QUIET. - Potentially higher costs due to unneeded search operations. For the latter loint, there is a not-so-uncommon use case: Suppose a find module wants to check whether a library matches its header. Putting away cross-compiling issues for the moment, this requires building and running a test program. If it is to be performed for each Qt4 module, e.g., a FIND_PACKAGE(Qt4) invocation would most certainly be quite expensive. For these reasons, I usually advice to search only requested components, request all components going to be used and refer only to components having been requested. In general this is not done in cmake, and also in general not recommened. Find-modules should simply use find_path(), find_library() etc. Ad.(2): Due to my guiding principle - refer only to FOUND variables which have been assigned a definite value by FIND_PACKAGE() - I do consider as important that a *_*_FOUND variable is assigned to for each requested component. FindImageMagick.cmake does it right, but the other modules - except for FindwxWidgets.cmake - have me check *_*_FOUND variables without a definite value for requested but un- known components. Again: The latters might become known one
Re: [CMake] Fortran 90 Module Issues in CMake
On 3/1/2012 3:50 PM, Matthew Schuchard wrote: I must not understand your example case correctly. Please post a sample source tree tarball to reproduce it with CMakeLists.txt files and the Fortran90 sources. Unfortunately, this software is also proprietary, Perhaps you can construct a minimal sanitized example? but I have found that this person: http://www.cmake.org/pipermail/cmake/2010-November/040832.html had a very similar problem. This one? http://thread.gmane.org/gmane.comp.programming.tools.cmake.user/32850/focus=32893 The problem is I need a Fortran 90 file to be built using a module from another Fortran 90 file in the same directory and target, and I need this often. This is expected to work. If one Fortran 90 source file in a single target provides a module and another one uses it then CMake will detect this and add the proper make dependencies to build them in the right order (and rebuild). OTOH if one source in a library target, say a.f90 in libA provides a module and another source in another target, say b.f90 in libB requires the module, CMake will detect it *if* libB links to libA (target_link_libraries). This is reasonable because libB couldn't possibly link without getting symbols from libA since it uses A's module and makes calls to it. Directories don't matter. -Brad -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
[CMake] Need help with X11 issue: Xxf86vm video mode extensions
Hi, on my system X11 comes with the X video mode extensions, consisting of a header xf86vmode.h and a library libXxf86vm.so. Question is: are there (older, proprietary) systems, where this header exists, but there is no libXxf86vm.so ? To check, you can run cmake on the attached CMakeLists.txt. If it says that it found the header, but not the library, please let me know. Thanks Alex cmake_minimum_required(VERSION 2.8) find_path(X11_xf86vmode_INCLUDE_PATH X11/extensions/xf86vmode.h ) find_library(X11_Xxf86vm_LIB Xxf86vm) message(STATUS inc dir: ${X11_xf86vmode_INCLUDE_PATH} lib: ${X11_Xxf86vm_LIB}) if (X11_xf86vmode_INCLUDE_PATH AND NOT X11_Xxf86vm_LIB) message(FATAL_ERROR Include dir found but no library found !) endif() -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] Code and API review request for Qt5 CMake files
On 03/01/2012 10:08 PM, Alexander Neundorf wrote: On Thursday 01 March 2012, Michael Hertling wrote: On 02/28/2012 10:03 PM, Alexander Neundorf wrote: ...will reply later in detail. Could you please go through the existing find-modules shipped with cmake which support COMPONENTS and make a summary of how they handle them ? At least FindQt4.cmake be default searches all components. Thanks Alex The following CMakeLists.txt can be used to systematically investigate the results of the component-aware find modules currently shipped with CMake, these are Find{Boost,GTK2,HDF5,ImageMagick,Java,OpenSceneGraph, Qt4,wxWidgets,XMLRPC}: CMAKE_MINIMUM_REQUIRED(VERSION 2.8 FATAL_ERROR) PROJECT(FINDRESULTVARIABLES C CXX) SET(CMAKE_VERBOSE_MAKEFILE ON) FUNCTION(FindResultVariables pkg) SET(prefix ${pkg}) IF(DEFINED ARGV1) SET(prefix ${ARGV1}) ENDIF() UNSET(REQUIRED) IF(${pkg}_REQUIRED) SET(REQUIRED REQUIRED) ENDIF() FIND_PACKAGE(${pkg} COMPONENTS ${${pkg}_COMPONENTS} ${REQUIRED}) MESSAGE(Begin: ${pkg} result variables) GET_DIRECTORY_PROPERTY(v VARIABLES) FOREACH(i IN LISTS v) IF(i MATCHES ^${prefix}.*_FOUND$) MESSAGE(${i}=${${i}}) ENDIF() ENDFOREACH() MESSAGE(${prefix}_LIBRARIES: ${${prefix}_LIBRARIES}) MESSAGE(End: ${pkg} result variables) ENDFUNCTION() FindResultVariables(Boost) FindResultVariables(GTK2) FindResultVariables(HDF5) FindResultVariables(ImageMagick) FindResultVariables(Java) FindResultVariables(OpenSceneGraph) FindResultVariables(Qt4 QT) FindResultVariables(wxWidgets) FindResultVariables(XMLRPC) Thanks :-) HDF5, OpenSceneGraph and XMLRPC aren't installed on my system; my preliminary findings for the remaining packages are as follows: Maybe you can have a look at the code of those ? Perhaps, someone who has these packages already installed can take a look at them in the meantime and run the above-noted CMakeLists.txt. Probably, this will provide for faster results. (1) Searching unrequested components: Qt4: Yes. GTK2,ImageMagick: Partially. wxWidgets: All components if none are requested. The remaining modules don't search unrequested components. (2) Assigning *_*_FOUND variables: Qt4: Only for modules which are known and found. ImageMagick: Also for requested but unknown components. wxWidgets: No *_*_FOUND variables at all but forwards unknown components to *_LIBRARIES variable without an error. The remaining modules assign only to *_*_FOUND variables for components which they know and which have been requested. (3) Respecting the REQUIRED flag: wxWidgets: REQUIRED ignored completely. This is clearly a bug. Boost: SEND_ERROR instead of FATAL_ERROR. This is somewhere between acceptable and bug. GTK2,Java: Bail out on unknown components even if not REQUIRED. Depending on how unknown components should be handled, this is either ok or not. I'm leaning towards supporting only known components, so the find-module or config file knows what it is doing. In this case this would be correct behaviour, the programmer would see this error, not the user. Please recall the use case of Qt5 with config file and a module XYZ added in a later release. A FIND_PACKAGE(Qt5 COMPONENTS XYZ) against a later Qt5 installation works flawlessly, but against an early one, it faces Qt5Config.cmake with an unknown component XYZ, and this is perfectly legal. How should one use the XYZ module optionally - i.e. if available - given that Qt5Config.cmake bails out on a missing XYZ although REQUIRED isn't flagged? IMO, without REQUIRED, config files / find modules should handle requested but unknown components grace- fully by just assigning FALSE to the respective *_*_FOUND variable. What's your opinion about the above-mentioned use case? The remaining modules bail out on unavailable requested components. (4) Assinging the package-related *_FOUND variable: Java: No *_FOUND variable at all although it's documented. Bug. wxWidgets: TRUE even if requested components aren't found, see above. The remaining modules return FALSE if a requested component isn't found. My comments on these, say, multifarious findings are: ;-) Ad.(1): In general, automatically searching unrequested components does not mean a harm, but it is also not beneficial at all events: - No guarantee to catch all components - consider a component added later to the package - so no guarantee that all later *_*_FOUND variables have been assigned a definite value by FIND_PACKAGE(). - Complicates find modules / config files due to REQUIRED/QUIET. - Potentially higher costs due to unneeded search operations. For the latter loint, there is a not-so-uncommon use case: Suppose a find module wants to check whether a library matches its header. Putting away cross-compiling issues for the moment, this requires building and running a test
Re: [CMake] Visual Studio 10 - GenerateDebugInformation always false
Can you attach that project? I'll test it out under similar conditions. An even simpler project that gives me the same problem: == CMakeLists.txt == project (cmaketest) cmake_minimum_required (VERSION 2.8) add_executable (cmaketest test.c) == test.c == int main() { return 0; } Attached is the vcxproj file generated by CMake. Are you using the free version of visual studio? I'm using the Professional edition; I don't think it would affect the generator, though. -- Johannes cmaketest.vcxproj.gz Description: GNU Zip compressed data -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
[Cmake-commits] CMake branch, next, updated. v2.8.7-2974-g90ab2fb
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 90ab2fb96596c9a17ff92fe60c683eca5c919317 (commit) via 0bce6f497a1c2b172c7b1bc8e9dd1d686778abfb (commit) from 62bb3fb93b8077a3bdee8566f3d63177bbe088c6 (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=90ab2fb96596c9a17ff92fe60c683eca5c919317 commit 90ab2fb96596c9a17ff92fe60c683eca5c919317 Merge: 62bb3fb 0bce6f4 Author: Brad King brad.k...@kitware.com AuthorDate: Thu Mar 1 10:08:40 2012 -0500 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Thu Mar 1 10:08:40 2012 -0500 Merge topic 'bootstrap-msys-paths' into next 0bce6f4 bootstrap: Fix MSYS-Windows path conversion http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0bce6f497a1c2b172c7b1bc8e9dd1d686778abfb commit 0bce6f497a1c2b172c7b1bc8e9dd1d686778abfb Author: Brad King brad.k...@kitware.com AuthorDate: Thu Mar 1 10:06:19 2012 -0500 Commit: Brad King brad.k...@kitware.com CommitDate: Thu Mar 1 10:06:19 2012 -0500 bootstrap: Fix MSYS-Windows path conversion Some MSYS bash implementations leave trailing space on the command line to 'cmd /c echo ...' after quoting the message. Fix the sed expression that strips quotes to handle trailing spaces. diff --git a/bootstrap b/bootstrap index c67c28e..665c6c5 100755 --- a/bootstrap +++ b/bootstrap @@ -131,7 +131,7 @@ case ${cmake_system} in *MINGW*) cmake_fix_slashes() { -cmd //c echo $(echo $1 | sed 's/\\/\//g') | sed 's/^//;s/$//' +cmd //c echo $(echo $1 | sed 's/\\/\//g') | sed 's/^//;s/ *$//' } ;; *) --- Summary of changes: bootstrap |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v2.8.7-2976-g28743fa
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 28743fa6c3ac16b303803661d0d05253b3efc0ac (commit) via 5cd879c4e75405ab404a2e6c4e77caa36877baf1 (commit) from 90ab2fb96596c9a17ff92fe60c683eca5c919317 (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=28743fa6c3ac16b303803661d0d05253b3efc0ac commit 28743fa6c3ac16b303803661d0d05253b3efc0ac Merge: 90ab2fb 5cd879c Author: Brad King brad.k...@kitware.com AuthorDate: Thu Mar 1 10:12:20 2012 -0500 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Thu Mar 1 10:12:20 2012 -0500 Merge topic 'bootstrap-msys-paths' into next 5cd879c bootstrap: Convert MSYS paths to Windows format (#13001) http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=5cd879c4e75405ab404a2e6c4e77caa36877baf1 commit 5cd879c4e75405ab404a2e6c4e77caa36877baf1 Author: Brad King brad.k...@kitware.com AuthorDate: Wed Feb 29 14:29:16 2012 -0500 Commit: Brad King brad.k...@kitware.com CommitDate: Thu Mar 1 10:09:05 2012 -0500 bootstrap: Convert MSYS paths to Windows format (#13001) We set CMAKE_PREFIX_PATH from the --prefix= option. The calling shell might not translate /c/... to c:/... paths but we need to store Windows paths in CMake cache variables. Pass the specified path through the MSYS shell in a form it will convert to a Windows path using the MSYS fstab. Some MSYS bash implementations leave trailing space on the command line to 'cmd /c echo ...' after quoting the message. The Windows echo tool preserves both the quotes and the trailing space. Use a sed expression that strips quotes and trailing spaces after the end quote. diff --git a/bootstrap b/bootstrap index f5eacbd..665c6c5 100755 --- a/bootstrap +++ b/bootstrap @@ -127,10 +127,20 @@ fi cmake_bootstrap_dir=${cmake_binary_dir}/Bootstrap${_cmk} # Helper function to fix windows paths. -cmake_fix_slashes () -{ - echo $1 | sed 's/\\/\//g' -} +case ${cmake_system} in +*MINGW*) + cmake_fix_slashes() + { +cmd //c echo $(echo $1 | sed 's/\\/\//g') | sed 's/^//;s/ *$//' + } + ;; +*) + cmake_fix_slashes() + { +echo $1 | sed 's/\\/\//g' + } + ;; +esac # Choose the default install prefix. if ${cmake_system_mingw}; then --- Summary of changes: 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.7-2986-g6ccd825
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 6ccd8254f1c1de685cea1525421f76755f837bcb (commit) via 09ff226e4c5489188a4e568df06a4f8e373ce5cd (commit) via 31ab25c0c9298aa833edd118752e97f15f7d8e2a (commit) via 486033aef302d122938e6f52fd1c7ad29a5e75a5 (commit) via 937bb4bebf560fddeb2a1438939fd50d177ae2bf (commit) via 477459010f78d0d6d563080466a63490b6b99eb9 (commit) via 4a48be323bfc9e7e3089bd1bef3141cd1b397f7f (commit) via 1e5b971ed0346849243ecbcd05443404ebf7a3cb (commit) via 54ab11c0d23fcd015ec2e5686524ac9c746ed0ca (commit) via 80072d4ebfd2bc431649298618e040e1eba5822f (commit) from 28743fa6c3ac16b303803661d0d05253b3efc0ac (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=6ccd8254f1c1de685cea1525421f76755f837bcb commit 6ccd8254f1c1de685cea1525421f76755f837bcb Merge: 28743fa 09ff226 Author: Brad King brad.k...@kitware.com AuthorDate: Thu Mar 1 10:42:19 2012 -0500 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Thu Mar 1 10:42:19 2012 -0500 Merge topic 'doxygen-fixes' into next 09ff226 Merge branch 'add-const-qualifiers' into doxygen-fixes 31ab25c doxygen: MathCommand is not about string operators 486033a doxygen: review cmake.h 937bb4b doxygen: remove a few comments 4774590 doxygen: fix some comments in cmPolicies.h 4a48be3 doxygen: Small fixes in cmake.h apidocs 1e5b971 doxygen: Use proper syntax to document enum 54ab11c doxygen: Improve API docs of GetRealDependency 80072d4 doxygen: cmPropertyDefinition http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=09ff226e4c5489188a4e568df06a4f8e373ce5cd commit 09ff226e4c5489188a4e568df06a4f8e373ce5cd Merge: 31ab25c 737c49a Author: Brad King brad.k...@kitware.com AuthorDate: Thu Mar 1 10:40:21 2012 -0500 Commit: Brad King brad.k...@kitware.com CommitDate: Thu Mar 1 10:40:21 2012 -0500 Merge branch 'add-const-qualifiers' into doxygen-fixes Conflicts: Source/cmPropertyDefinition.h diff --cc Source/cmPropertyDefinition.h index 4a3c887,58d1472..16bd148 --- a/Source/cmPropertyDefinition.h +++ b/Source/cmPropertyDefinition.h @@@ -33,20 -24,20 +33,20 @@@ public const char *DocumentationSection, bool chained); - // get the documentation string + /// Get the documentation string cmDocumentationEntry GetDocumentation() const; - // basic constructor + /// Default constructor cmPropertyDefinition() { this-Chained = false; }; - // is it chained? + /// Is the property chained? - bool IsChained() {return this-Chained; }; + bool IsChained() const { return this-Chained; }; - // Get the section if any + /// Get the section if any const std::string GetDocumentationSection() const { return this-DocumentationSection; }; - - // get the scope + + /// Get the scope cmProperty::ScopeType GetScope() const { return this-Scope; }; http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=31ab25c0c9298aa833edd118752e97f15f7d8e2a commit 31ab25c0c9298aa833edd118752e97f15f7d8e2a Author: Yury G. Kudryashov urkud.ur...@gmail.com AuthorDate: Wed Feb 29 17:34:17 2012 +0400 Commit: Yury G. Kudryashov urkud.ur...@gmail.com CommitDate: Thu Mar 1 02:33:13 2012 +0400 doxygen: MathCommand is not about string operators diff --git a/Source/cmMathCommand.h b/Source/cmMathCommand.h index d31f34b..d45e4fc 100644 --- a/Source/cmMathCommand.h +++ b/Source/cmMathCommand.h @@ -14,10 +14,7 @@ #include cmCommand.h -/** \class cmMathCommand - * \brief Common string operations - * - */ +/// Mathematical expressions: math(EXPR ...) command. class cmMathCommand : public cmCommand { public: http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=486033aef302d122938e6f52fd1c7ad29a5e75a5 commit 486033aef302d122938e6f52fd1c7ad29a5e75a5 Author: Yury G. Kudryashov urkud.ur...@gmail.com AuthorDate: Tue Feb 28 16:44:54 2012 +0400 Commit: Yury G. Kudryashov urkud.ur...@gmail.com CommitDate: Thu Mar 1 02:33:13 2012 +0400 doxygen: review cmake.h * Move top-level comment to class apidocs * Remove misleading comment diff --git a/Source/cmake.h b/Source/cmake.h index 3558374..161e656 100644 --- a/Source/cmake.h +++ b/Source/cmake.h @@ -9,28 +9,6 @@ implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. */ -// This class represents a cmake invocation. It is the top level class
[Cmake-commits] CMake branch, hooks, updated. 5ebbe2daccbb2fc20aa8a43bf872dd2a722156b6
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, hooks has been updated via 5ebbe2daccbb2fc20aa8a43bf872dd2a722156b6 (commit) via b966ceb43755028720f56948e45db0c3bdcda500 (commit) from ad08c2091c710f886c2d8a827bb3c90d8b8a9d03 (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=5ebbe2daccbb2fc20aa8a43bf872dd2a722156b6 commit 5ebbe2daccbb2fc20aa8a43bf872dd2a722156b6 Author: Brad King brad.k...@kitware.com AuthorDate: Wed Feb 29 16:26:33 2012 -0500 Commit: Brad King brad.k...@kitware.com CommitDate: Wed Feb 29 16:32:01 2012 -0500 Set GIT_DIR if not already set Although it seems reasonable to expect GIT_DIR to be set when hooks are invoked, the git help hooks documentation does not guarantee it. On msysGit 1.7.8 (and perhaps others) git gui runs prepare-commit-msg without setting GIT_DIR. Set GIT_DIR at the beginning of each commit hook if it is not already set. diff --git a/commit-msg b/commit-msg index 8c0562e..8570266 100755 --- a/commit-msg +++ b/commit-msg @@ -1,6 +1,6 @@ #!/usr/bin/env bash #= -# Copyright 2010-2011 Kitware, Inc. +# Copyright 2010-2012 Kitware, Inc. # # Licensed under the Apache License, Version 2.0 (the License); # you may not use this file except in compliance with the License. @@ -15,6 +15,8 @@ # limitations under the License. #= +. ${BASH_SOURCE%/*}/hooks-config.bash + # Prepare a copy of the message: # - strip comment lines # - stop at diff --git (git commit -v) @@ -35,8 +37,6 @@ die() { exit 1 } -. $GIT_DIR/hooks/hooks-config.bash - #- # Check the commit message layout with a simple state machine. diff --git a/hooks-config.bash b/hooks-config.bash index a25d7d1..a12ad96 100644 --- a/hooks-config.bash +++ b/hooks-config.bash @@ -1,5 +1,5 @@ #= -# Copyright 2010-2011 Kitware, Inc. +# Copyright 2010-2012 Kitware, Inc. # # Licensed under the Apache License, Version 2.0 (the License); # you may not use this file except in compliance with the License. @@ -14,6 +14,11 @@ # limitations under the License. #= +# Make sure GIT_DIR is set. +if test -z $GIT_DIR; then + export GIT_DIR=$(git rev-parse --git-dir) +fi + # Load hooks configuration from source tree. config=.hooks-config.bash test -r $config . $config diff --git a/pre-commit b/pre-commit index b2cfe2d..834c3fe 100755 --- a/pre-commit +++ b/pre-commit @@ -1,6 +1,6 @@ #!/usr/bin/env bash #= -# Copyright 2010-2011 Kitware, Inc. +# Copyright 2010-2012 Kitware, Inc. # # Licensed under the Apache License, Version 2.0 (the License); # you may not use this file except in compliance with the License. @@ -15,6 +15,8 @@ # limitations under the License. #= +. ${BASH_SOURCE%/*}/hooks-config.bash + die() { echo 'pre-commit hook failure' 12 echo '---' 12 @@ -23,8 +25,6 @@ die() { exit 1 } -. $GIT_DIR/hooks/hooks-config.bash - zero='' #- diff --git a/prepare-commit-msg b/prepare-commit-msg index aa86d6d..035677f 100755 --- a/prepare-commit-msg +++ b/prepare-commit-msg @@ -15,7 +15,7 @@ # limitations under the License. #= -. $GIT_DIR/hooks/hooks-config.bash +. ${BASH_SOURCE%/*}/hooks-config.bash # Invoke the Gerrit Change-Id hook here for git merge because # it does not run the normal commit-msg hook. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b966ceb43755028720f56948e45db0c3bdcda500 commit b966ceb43755028720f56948e45db0c3bdcda500 Author: Brad King brad.k...@kitware.com AuthorDate: Mon Feb 6 14:39:18 2012 -0500 Commit: Brad King brad.k...@kitware.com CommitDate: Mon Feb 6 14:39:18 2012 -0500 prepare-commit-msg: Add Gerrit Change-Id to merges The git merge command generates its own commit message and does not invoke the commit-msg hook. Fortunately it invokes prepare-commit-msg so teach it to call the gerrit/commit-msg hook for merges. Suggested-by: Chris
[Cmake-commits] CMake branch, next, updated. v2.8.7-2988-g6804cf7
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 6804cf7b60653d5c3e5c339e2674233789498610 (commit) via bd56e015d6c04853ade95019305e845583ac8fab (commit) from 6ccd8254f1c1de685cea1525421f76755f837bcb (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=6804cf7b60653d5c3e5c339e2674233789498610 commit 6804cf7b60653d5c3e5c339e2674233789498610 Merge: 6ccd825 bd56e01 Author: Rolf Eike Beer e...@sf-mail.de AuthorDate: Thu Mar 1 12:11:20 2012 -0500 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Thu Mar 1 12:11:20 2012 -0500 Merge topic 'allfindmodules-versions' into next bd56e01 do not require ImageMagick version http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=bd56e015d6c04853ade95019305e845583ac8fab commit bd56e015d6c04853ade95019305e845583ac8fab Author: Rolf Eike Beer e...@sf-mail.de AuthorDate: Thu Mar 1 18:10:52 2012 +0100 Commit: Rolf Eike Beer e...@sf-mail.de CommitDate: Thu Mar 1 18:10:52 2012 +0100 do not require ImageMagick version diff --git a/Tests/CMakeOnly/AllFindModules/CMakeLists.txt b/Tests/CMakeOnly/AllFindModules/CMakeLists.txt index ee25c5a..e6e4c74 100644 --- a/Tests/CMakeOnly/AllFindModules/CMakeLists.txt +++ b/Tests/CMakeOnly/AllFindModules/CMakeLists.txt @@ -61,7 +61,7 @@ endmacro(check_version_string) # reported. foreach(VTEST ALSA ARMADILLO BZIP2 CUPS CURL EXPAT FREETYPE GETTEXT GIT HSPELL -ImageMagick JASPER LIBXML2 LIBXSLT PERL PostgreSQL TCLSH TIFF ZLIB) +JASPER LIBXML2 LIBXSLT PERL PostgreSQL TCLSH TIFF ZLIB) check_version_string(${VTEST} ${VTEST}_VERSION_STRING) endforeach(VTEST) --- Summary of changes: Tests/CMakeOnly/AllFindModules/CMakeLists.txt |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v2.8.7-2990-gdd6710e
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 dd6710e8d11bae9f595162c7583a81c97afdbe5e (commit) via 9271d2f6975c2f4cca81d4306c49e96089e88910 (commit) from 6804cf7b60653d5c3e5c339e2674233789498610 (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=dd6710e8d11bae9f595162c7583a81c97afdbe5e commit dd6710e8d11bae9f595162c7583a81c97afdbe5e Merge: 6804cf7 9271d2f Author: Rolf Eike Beer e...@sf-mail.de AuthorDate: Thu Mar 1 12:12:08 2012 -0500 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Thu Mar 1 12:12:08 2012 -0500 Merge topic 'allfindmodules-versions' into next 9271d2f AllFindModules test: once again expand version checking http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=9271d2f6975c2f4cca81d4306c49e96089e88910 commit 9271d2f6975c2f4cca81d4306c49e96089e88910 Author: Rolf Eike Beer e...@sf-mail.de AuthorDate: Fri Feb 24 20:35:42 2012 +0100 Commit: Rolf Eike Beer e...@sf-mail.de CommitDate: Thu Mar 1 18:11:52 2012 +0100 AllFindModules test: once again expand version checking diff --git a/Tests/CMakeOnly/AllFindModules/CMakeLists.txt b/Tests/CMakeOnly/AllFindModules/CMakeLists.txt index 9257fcc..e6e4c74 100644 --- a/Tests/CMakeOnly/AllFindModules/CMakeLists.txt +++ b/Tests/CMakeOnly/AllFindModules/CMakeLists.txt @@ -45,25 +45,31 @@ if (NOT QT4_FOUND) endforeach(FIND_MODULE) endif (NOT QT4_FOUND) -# If any of these modules reported that it was found a version number should have been -# reported. -set(VERSIONS_REQUIRED -ALSA BISON BZIP2 CUPS CURL DOXYGEN EXPAT FLEX FREETYPE GETTEXT GIF GIT -ImageMagick JASPER LibArchive LIBXML2 LIBXSLT PERL PKG_CONFIG PostgreSQL -SWIG TIFF ZLIB) - -foreach(VTEST ${VERSIONS_REQUIRED}) -if (${VTEST}_FOUND) -if (DEFINED ${VTEST}_VERSION_STRING) -if (NOT ${VTEST}_VERSION_STRING MATCHES ^[0-9][0-9\\.]*[A-Za-z_]*[0-9\\.]*$) -message(SEND_ERROR ${VTEST}_VERSION_STRING has unexpected content ${${VTEST}_VERSION_STRING}) -endif() -elseif (DEFINED ${VTEST}_VERSION) -if (NOT ${VTEST}_VERSION MATCHES ^[0-9][0-9\\.]*[A-Za-z_]*[0-9\\.]*$) -message(SEND_ERROR ${VTEST}_VERSION has unexpected content ${${VTEST}_VERSION}) +macro(check_version_string MODULE_NAME VERSION_VAR) +if (${MODULE_NAME}_FOUND) +if (DEFINED ${VERSION_VAR}) +if (NOT ${VERSION_VAR} MATCHES ^[0-9][0-9\\.]*[-A-Za-z_\\+]*[0-9\\.]*$) +message(SEND_ERROR ${VERSION_VAR} has unexpected content ${${VERSION_VAR}}) endif() else() -message(SEND_ERROR ${VTEST}_FOUND is set but no version number is defined) +message(SEND_ERROR ${MODULE_NAME}_FOUND is set but no version number is defined) endif() -endif(${VTEST}_FOUND) +endif () +endmacro(check_version_string) + +# If any of these modules reported that it was found a version number should have been +# reported. + +foreach(VTEST ALSA ARMADILLO BZIP2 CUPS CURL EXPAT FREETYPE GETTEXT GIT HSPELL +JASPER LIBXML2 LIBXSLT PERL PostgreSQL TCLSH TIFF ZLIB) +check_version_string(${VTEST} ${VTEST}_VERSION_STRING) endforeach(VTEST) + +foreach(VTEST BISON Boost CUDA DOXYGEN FLEX GIF GTK2 LibArchive OPENSCENEGRAPH +RUBY SWIG) +check_version_string(${VTEST} ${VTEST}_VERSION) +endforeach(VTEST) + +check_version_string(PYTHONINTERP PYTHON_VERSION_STRING) +check_version_string(SUBVERSION Subversion_VERSION_SVN) +check_version_string(PKGCONFIG PKG_CONFIG_VERSION_STRING) --- Summary of changes: 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.7-2994-g0ea9866
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 0ea9866815c7b9e8fc9665c696c69b39f1f3c6b5 (commit) via 944b90be60ab7888a76d76acbb0200f511db3d60 (commit) via f605b92dec414311936ff62afb0ab7847f08974e (commit) via 3d8028841d6a257d0bd33b71518ae8800a716ffb (commit) from dd6710e8d11bae9f595162c7583a81c97afdbe5e (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=0ea9866815c7b9e8fc9665c696c69b39f1f3c6b5 commit 0ea9866815c7b9e8fc9665c696c69b39f1f3c6b5 Merge: dd6710e 944b90b Author: Rolf Eike Beer e...@sf-mail.de AuthorDate: Thu Mar 1 15:49:53 2012 -0500 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Thu Mar 1 15:49:53 2012 -0500 Merge topic 'while-testing' into next 944b90b add testcases for while()/endwhile() errors f605b92 improve error message on a stray endwhile() 3d80288 KWSys Nightly Date Stamp http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=944b90be60ab7888a76d76acbb0200f511db3d60 commit 944b90be60ab7888a76d76acbb0200f511db3d60 Author: Rolf Eike Beer e...@sf-mail.de AuthorDate: Thu Mar 1 21:12:55 2012 +0100 Commit: Rolf Eike Beer e...@sf-mail.de CommitDate: Thu Mar 1 21:20:49 2012 +0100 add testcases for while()/endwhile() errors diff --git a/Tests/CMakeTests/CMakeLists.txt b/Tests/CMakeTests/CMakeLists.txt index fc1426e..aa4d52e 100644 --- a/Tests/CMakeTests/CMakeLists.txt +++ b/Tests/CMakeTests/CMakeLists.txt @@ -29,6 +29,7 @@ AddCMakeTest(CMakeMinimumRequired ) AddCMakeTest(CompilerIdVendor ) AddCMakeTest(ProcessorCount ) AddCMakeTest(PushCheckState ) +AddCMakeTest(While ) AddCMakeTest(FileDownload ) set_property(TEST CMake.FileDownload PROPERTY diff --git a/Tests/CMakeTests/While-Endwhile-Alone-Args.cmake b/Tests/CMakeTests/While-Endwhile-Alone-Args.cmake new file mode 100644 index 000..886d98c --- /dev/null +++ b/Tests/CMakeTests/While-Endwhile-Alone-Args.cmake @@ -0,0 +1 @@ +endwhile(a) diff --git a/Tests/CMakeTests/While-Endwhile-Alone.cmake b/Tests/CMakeTests/While-Endwhile-Alone.cmake new file mode 100644 index 000..82c09a0 --- /dev/null +++ b/Tests/CMakeTests/While-Endwhile-Alone.cmake @@ -0,0 +1 @@ +endwhile() diff --git a/Tests/CMakeTests/While-Endwhile-Mismatch.cmake b/Tests/CMakeTests/While-Endwhile-Mismatch.cmake new file mode 100644 index 000..5c338d6 --- /dev/null +++ b/Tests/CMakeTests/While-Endwhile-Mismatch.cmake @@ -0,0 +1,2 @@ +while(a) +endwhile(b) diff --git a/Tests/CMakeTests/While-Missing-Argument.cmake b/Tests/CMakeTests/While-Missing-Argument.cmake new file mode 100644 index 000..32eaa26 --- /dev/null +++ b/Tests/CMakeTests/While-Missing-Argument.cmake @@ -0,0 +1 @@ +while() diff --git a/Tests/CMakeTests/While-Missing-Endwhile.cmake b/Tests/CMakeTests/While-Missing-Endwhile.cmake new file mode 100644 index 000..1abaaaf --- /dev/null +++ b/Tests/CMakeTests/While-Missing-Endwhile.cmake @@ -0,0 +1 @@ +while(a) diff --git a/Tests/CMakeTests/WhileTest.cmake.in b/Tests/CMakeTests/WhileTest.cmake.in new file mode 100644 index 000..4693f2d --- /dev/null +++ b/Tests/CMakeTests/WhileTest.cmake.in @@ -0,0 +1,53 @@ +set(NUMBERS ) +set(COUNT 0) + +while(COUNT LESS 200) +set(NUMBERS ${NUMBERS} ${COUNT}) +set(COUNT 2${COUNT}) + +set(NCOUNT 3) +while(NCOUNT LESS 31) +set(NUMBERS ${NUMBERS} ${NCOUNT}) +set(NCOUNT ${NCOUNT}0) +endwhile() +endwhile(COUNT LESS 200) + +if(NOT NUMBERS STREQUAL 0 3 30 20 3 30) +message(SEND_ERROR while loop nesting error, result: '${NUMBERS}') +endif() + +set(Missing-Argument-RESULT 1) +set(Missing-Argument-STDERR .*CMake Error at (@CMAKE_CURRENT_SOURCE_DIR@/)?While-Missing-Argument.cmake:1 \\(while\\):.*while called with incorrect number of arguments.*) + +include(@CMAKE_CURRENT_SOURCE_DIR@/CheckCMakeTest.cmake) +check_cmake_test(While + Missing-Argument +) + +set(Missing-Endwhile-RESULT 1) +set(Missing-Endwhile-STDERR .*CMake Error in (@CMAKE_CURRENT_SOURCE_DIR@/)?While-Missing-Endwhile.cmake:.*A logical block opening on the line.*(@CMAKE_CURRENT_SOURCE_DIR@/)?While-Missing-Endwhile.cmake:1 \\(while\\).*is not closed\\..*) + +check_cmake_test(While + Missing-Endwhile +) + +set(Endwhile-Mismatch-RESULT 0) +set(Endwhile-Mismatch-STDERR .*CMake Warning \\(dev\\) in (@CMAKE_CURRENT_SOURCE_DIR@/)?While-Endwhile-Mismatch.cmake:.*A logical block opening on the line.*(@CMAKE_CURRENT_SOURCE_DIR@/)?While-Endwhile-Mismatch.cmake:1 \\(while\\).*with mis-matching arguments\\..*) + +check_cmake_test(While + Endwhile-Mismatch +) + +set(Endwhile-Alone-RESULT 1) +set(Endwhile-Alone-STDERR .*CMake Error at