Re: [cmake-developers] Bug fix requests for the *next* release of CMake...
Hi David, I've got one more, one that I just entered in Mantis. #11410 - Result of IF(LIST) is inconsistent Regards, Marcel Loose. ___ cmake-developers mailing list cmake-developers@cmake.org http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [CMake] call already made makefile
On 11/05/2010 02:09 AM, Alan W. Irwin wrote: On 2010-11-04 16:29-0700 SK wrote: On Sat, Oct 30, 2010 at 8:31 AM, Alan W. Irwin ir...@beluga.phys.uvic.ca wrote: On 2010-10-29 20:50-0700 mina adel wrote: Hi All I have an open source code that I use in my project. This open source code already has Makefile coded for it. I want to use cmake so that before it compile my project it first call the cmake of these open source code, which will compile it to .la library. ..make? Then using this library, it compile my code. I assume from the context you mean make rather than cmake above. To run make (or any command) at run-time, use the combination of add_custom_command and add_custom_target. Basically, add_custom_command creates an OUTPUT file (say your library) at run time, and add_custom_target file-depends on that file and creates a CMake target corresponding to the custom command which you can add as a dependency of your application target. This insures make will be run (if the library is not up to date) before your application is built. No, this does not work when the external command is a make process. The problem is that the output of add_custom_command() is a target with it's own dependencies. I don't understand your remark since the OUTPUT of add_custom_command must refer to a file not a target, and there is a big distinction between those two concepts in CMake. That's why I emphasize when a file is indicated and when a target is indicated below. The external make process must always run in order catch dependencies that only the external make knows about. The only way to make sure the make process always runs is to use add_custom_target(), but alas, add_custom_target does allow us to specify an output. See this thread from a few days ago: add_custom_command depends on output from add_custom_target. As far as I know, there is no satisfactory way to do use external makefiles with CMake. I'm all ears if anyone has suggestions. In the past I have been able to use an external set of Makefiles with no problems. However, I eventually took my own advice and replaced that method with one that used cmake. So I don't have any current good examples, and my remarks below are from memory. However, I think it should be completely straightforward to do what you like if you read the cmake documentation for add_custom_command and add_custom_target carefully. Here is schematically what you have to do: add_custom_command( OUTPUT full_path_to_generated_library COMMAND make WORKING_DIRECTORY full_path to where Makefile is located ) add_custom_target( extern_lib DEPENDS full_path_to_generated_library ) add_executable(myexecutable myexcutable.c) target_link_libraries(myexecutable full_path_to_generated_library) add_dependencies(myexecutable extern_lib) In sum, target_link_libraries tells how to link the executable file associated with the myexecutable target to the library _file_ full_path_to_generated_library, add_dependencies makes sure the _custom target_ extern_lib is built before the _target_ myexecutable is built, and the _file_ DEPENDS of add_custom_target makes sure the custom make command is run every time there is an attempt to build the myexecutable (and therefore extern_lib) target. Please check my memory of the correct way to do this by using the touch command. For example, if you touch one of the source files for the external library, then I believe with the above scenario if you subsequently run make myexecutable, then the custom make command should always be run (since it has no DEPENDS option), and therefore the external library will automatically be rebuilt (assuming those external Makefiles had done their dependencies properly), and myexecutable relinked. AFAIK, this can be simplified by dropping the custom command: add_custom_target( extern_lib COMMAND make WORKING_DIRECTORY full_path to where Makefile is located ) add_executable(myexecutable myexcutable.c) target_link_libraries(myexecutable full_path_to_generated_library) add_dependencies(myexecutable extern_lib) As the custom target is always out of date, make is invoked each time, and due to ADD_DEPENDENCIES(), it is invoked before the executable is examined for being out of date. If that results in a renewed external library the executable gets relinked. Additionally, the question if a custom command without DEPENDS clause does always run is avoided. Regards, Michael Of course, use make VERBOSE=1 to follow exactly what commands are being run when testing file dependencies and associated target dependencies with the touch command. Also, I believe it ultimately would be a good idea to replace all builds of external libraries with CMake-based builds since that gives you the most control of your library organization. Alan __ Alan W. Irwin Astronomical research affiliation with
Re: [CMake] call already made makefile
On 11/05/2010 05:23 AM, SK wrote: On Thu, Nov 4, 2010 at 6:09 PM, Alan W. Irwin ir...@beluga.phys.uvic.ca wrote: then the custom make command should always be run (since it has no DEPENDS option), Alan, you are absolutely right!! I missed this since the external makefile I need actually does have a dependency to create the makefile itself. So, the custom command only ran when the single explicit dependency was out of date. I can solve that some other way and I appreciate all your effort to straighten this out. I wish the document would have explicitly stated that the command always runs without a dependency, though that is the intuitive course of action. AFAIK, a custom command without dependencies doesn't run if its OUTPUT exists; see the following CMakeLists.txt and the generated Makefiles: CMAKE_MINIMUM_REQUIRED(VERSION 2.8 FATAL_ERROR) PROJECT(INDEPENDCUSTOMCOMMAND C) ADD_CUSTOM_COMMAND( OUTPUT ${CMAKE_BINARY_DIR}/main.h COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_BINARY_DIR}/main.h) FILE(WRITE ${CMAKE_BINARY_DIR}/main.c #include \main.h\ int main(void){return 0;} ) ADD_EXECUTABLE(main main.c main.h) The sole possibility to (re)run the custom command is to delete main.h; if main.h exists the command never runs. You might even have a foreign main.h: Try cmake path/to/source followed by touch main.h from within an empty build directory, and you won't see the custom command run. In ${CMAKE_BINARY_DIR}/CMakeFiles/main.dir/build.make, the related lines are: main.h: ... .../cmake -E touch .../main.h So, the commands associated with make's main.h target aren't executed if make detects that main.h is already present. Thus, a dependency-less custom command doesn't run each time; rather, it runs only if its output doesn't exist. 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
[CMake] Bug fix requests for the *next* release of CMake...
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hi David, Replies requested. CMake is already pretty awesome from my POV, but since you ask... Replies on this thread should just be a collector for bug numbers. Afraid I don't have a bug number, but I can explain quickly. If you have a particular issue that you think should be fixed for inclusion in 2.8.4, please bring it up now. Could you guys have a chat with the Boost guys and fix the future safety of FindBoost.cmake somehow? Fiddling with ADDITIONAL_VERSIONS is really a pain on a build farm. Oh, and include Mateusz Loskot's FindODBC.cmake in the release? Thanks, Adam J Richardson -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.10 (GNU/Linux) iEYEARECAAYFAkzT3GwACgkQSUH6dLOqvqlyOQCfaC2+BL+jkULzetoh3bduWoHU tmMAniddpSiMW4KpeRjpS0me9C+3RNjm =4TE7 -END PGP SIGNATURE- ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] call already made makefile
On Fri, Nov 5, 2010 at 5:17 AM, Michael Hertling mhertl...@online.dewrote: On 11/05/2010 05:23 AM, SK wrote: On Thu, Nov 4, 2010 at 6:09 PM, Alan W. Irwin ir...@beluga.phys.uvic.ca wrote: then the custom make command should always be run (since it has no DEPENDS option), Alan, you are absolutely right!! I missed this since the external makefile I need actually does have a dependency to create the makefile itself. So, the custom command only ran when the single explicit dependency was out of date. I can solve that some other way and I appreciate all your effort to straighten this out. I wish the document would have explicitly stated that the command always runs without a dependency, though that is the intuitive course of action. AFAIK, a custom command without dependencies doesn't run if its OUTPUT exists; see the following CMakeLists.txt and the generated Makefiles: CMAKE_MINIMUM_REQUIRED(VERSION 2.8 FATAL_ERROR) PROJECT(INDEPENDCUSTOMCOMMAND C) ADD_CUSTOM_COMMAND( OUTPUT ${CMAKE_BINARY_DIR}/main.h COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_BINARY_DIR}/main.h) FILE(WRITE ${CMAKE_BINARY_DIR}/main.c #include \main.h\ int main(void){return 0;} ) ADD_EXECUTABLE(main main.c main.h) The sole possibility to (re)run the custom command is to delete main.h; if main.h exists the command never runs. You might even have a foreign main.h: Try cmake path/to/source followed by touch main.h from within an empty build directory, and you won't see the custom command run. In ${CMAKE_BINARY_DIR}/CMakeFiles/main.dir/build.make, the related lines are: main.h: ... .../cmake -E touch .../main.h So, the commands associated with make's main.h target aren't executed if make detects that main.h is already present. Thus, a dependency-less custom command doesn't run each time; rather, it runs only if its output doesn't exist. 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 In addition to all that has been discussed in this thread already, consider using CMake's ExternalProject module to drive the external make. It should be as simple as something like (or at least very similar to): include(ExternalProject) ExternalProject_Add(extern_lib SOURCE_DIR ${dir_of_Makefile} BUILD_IN_SOURCE 1 BUILD_COMMAND $(MAKE) ) You may also need: DOWNLOAD_COMMAND UPDATE_COMMAND CONFIGURE_COMMAND INSTALL_COMMAND (to avoid built-in defaults for those build steps...) In the ExternalProject module, we use a technique to run a custom command always: - Name an output for the custom command that never exists on disk, mark that source file with the SYMBOLIC property, and then make sure that the custom command never actually produces the named output file... It's documented like this in the add_custom_command docs: If the output of the custom command is not actually created as a file on disk it should be marked as SYMBOLIC with SET_SOURCE_FILES_PROPERTIES. See also: http://cmake.org/cmake/help/cmake-2-8-docs.html#command:add_custom_command http://cmake.org/cmake/help/cmake-2-8-docs.html#prop_sf:SYMBOLIC HTH, David ___ 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] Using gcov/lcov and valgrind with cmake
Thanks for your answer. I also made some progress meanwhile. One reason why coverage didn't work was ccache :-( Now it basically works, but only when settings the CFLAGS and LDFLAGS manually in the CMakeLists.txt. I expected this would be done automatically when using NightlyCoverage... I prepared a new tutorial with my current state of work and uploaded it to g...@github.com:gergap/helloworld.git Maybe we can complete this together so that everybody who starts with cmake/ctest/cpack has a complete but simple example. What do you think? What I would like to integrate are the following features: * Compilation on Windows/Linux, maybe Mac (I can't test that) * Unit test execution - with optional coverage analysis integrated lcov html output generation would be great - optional valgrind/purify memchecks * Doxygen API generation * Package generation for windows (NSIS) and Linux(STGZ, RPM, DEB, ...) * Automatic build using a git hook - Integration with buildbot - or with CDash Am 04.11.2010 19:28, schrieb Ben Boeckel: Gerhard Gappmeier gerhard.gappme...@ascolab.com wrote: Hi all, I'm trying to figure out how to use gcov and maybe also lcov with cmake. I know it works using ctest, I've seen that in several wiki entries, but I could not find one single example on how to use it. The wiki only shows the commandline args for GCC, but no cmake examples. I attached a simple hello world project with two tests (ADD_TEST) which work. I tried to add the ctest_coverage and ctest_memcheck commands but I can't get them working. Maybe somebody can complete this example. IMO a new section about gcov and valgrind should be added to http://www.cmake.org/cmake/help/cmake_tutorial.html This would help a lot of people. Hi, I have a setup for doing something that you might be looking for. In the top-level CMakeLists.txt[1], I add some options to build with coverage. I also have a couple of macros[2] which make generating testing targets much nicer[3]. These macros do not assume CTest is enabled nor conflict with it. AFAIK they are gcov-specific, but another option could be added to use lcov instead. Similar with valgrind. If you have any questions or suggestions, feel free to ask. --Ben [1]http://git.benboeckel.net/?p=chasmd.git;a=blob;f=CMakeLists.txt [2]http://git.benboeckel.net/?p=chasmd.git;a=blob;f=cmake/test.cmake [3]http://git.benboeckel.net/?p=chasmd.git;a=blob;f=test/libchasm/CMakeLists.txt ___ 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 -- mit freundlichen Grüßen / best regards *Gerhard Gappmeier* ascolab GmbH - automation systems communication laboratory Tel.: +49 9131 691 123 Fax: +49 9131 691 128 Web: http://www.ascolab.com GPG-Key: http://www.ascolab.com/gpg/gg.asc -- *ascolab GmbH* Geschäftsführer: Gerhard Gappmeier, Matthias Damm, Uwe Steinkrauß Sitz der Gesellschaft: Am Weichselgarten 7 • 91058 Erlangen • Germany Registernummer: HRB 9360 Registergericht: Amtsgericht Fürth ___ 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] Linking Boost on Linux on 64bit host and 32bit target
On Thu, Nov 4, 2010 at 12:31 PM, Michael Jackson mike.jack...@bluequartz.net wrote: Clean out your build folder first. export BOOST_ROOT=/home/kknox/sdk/boost_1_44_0 == that needs to be an actual installation, a staged area will probably NOT work to find boost as FindBoost is looking for a very specific path within BOOST_ROOT and if that path is NOT found then it will probably fall back on the system paths. FindBoost.cmake in CMake 2.8.3 supports a new option to prevent searching the system paths. You should enable it if you are 100% sure that you will never want to find something outside of BOOST_ROOT, CMAKE_PREFIX_PATH, etc. Boost_NO_SYSTEM_PATHS There was a bug related to not finding Boost libraries in a staging area. I believe this works now. Also, take a moment and set this new variable appropriately (nearly all users will want it to be OFF) Boost_USE_STATIC_RUNTIME -- Philip Lowman ___ 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] Using gcov/lcov and valgrind with cmake
Try adding these (with proper paths) to your CMakeLists.txt file: CMAKE_BUILD_TYPE:STRING=Debug COVERAGE_COMMAND:FILEPATH=/usr/bin/gcov CMAKE_C_FLAGS:STRING=-g -O0 -fprofile-arcs -ftest-coverage CMAKE_CXX_FLAGS:STRING=-g -O0 -fprofile-arcs -ftest-coverage CTEST_MEMORYCHECK_COMMAND:FILEPATH=/usr/bin/valgrind) CTEST_MEMORYCHECK_COMMAND_OPTIONS:STRING=--trace-children=yes --quiet --tool=memcheck --leak-check=yes --show-reachable=yes --num-callers=100 --verbose --demangle=yes On Wed, Nov 3, 2010 at 9:11 AM, Gerhard Gappmeier gerhard.gappme...@ascolab.com wrote: Hi all, I'm trying to figure out how to use gcov and maybe also lcov with cmake. I know it works using ctest, I've seen that in several wiki entries, but I could not find one single example on how to use it. The wiki only shows the commandline args for GCC, but no cmake examples. I attached a simple hello world project with two tests (ADD_TEST) which work. I tried to add the ctest_coverage and ctest_memcheck commands but I can't get them working. Maybe somebody can complete this example. IMO a new section about gcov and valgrind should be added to http://www.cmake.org/cmake/help/cmake_tutorial.html This would help a lot of people. -- mit freundlichen Grüßen / best regards *Gerhard Gappmeier* ascolab GmbH - automation systems communication laboratory Tel.: +49 9131 691 123 Fax: +49 9131 691 128 Web: http://www.ascolab.com GPG Key Id: 5AAC50C4 GPG Fingerprint: 967A 15F1 2788 164D CCA3 6C46 07CD 6F82 5AAC 50C4 -- *ascolab GmbH* Geschäftsführer: Gerhard Gappmeier, Matthias Damm, Uwe Steinkrauß Sitz der Gesellschaft: Am Weichselgarten 7 . 91058 Erlangen . Germany Registernummer: HRB 9360 Registergericht: Amtsgericht Fürth ___ 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] Using gcov/lcov and valgrind with cmake
Bill means your CMakeCache.txt file, not your CMakeLists.txt file. (Pretty sure...) :-) On Fri, Nov 5, 2010 at 8:30 AM, Bill Lorensen bill.loren...@gmail.com wrote: Try adding these (with proper paths) to your CMakeLists.txt file: CMAKE_BUILD_TYPE:STRING=Debug COVERAGE_COMMAND:FILEPATH=/usr/bin/gcov CMAKE_C_FLAGS:STRING=-g -O0 -fprofile-arcs -ftest-coverage CMAKE_CXX_FLAGS:STRING=-g -O0 -fprofile-arcs -ftest-coverage CTEST_MEMORYCHECK_COMMAND:FILEPATH=/usr/bin/valgrind) CTEST_MEMORYCHECK_COMMAND_OPTIONS:STRING=--trace-children=yes --quiet --tool=memcheck --leak-check=yes --show-reachable=yes --num-callers=100 --verbose --demangle=yes On Wed, Nov 3, 2010 at 9:11 AM, Gerhard Gappmeier gerhard.gappme...@ascolab.com wrote: Hi all, I'm trying to figure out how to use gcov and maybe also lcov with cmake. I know it works using ctest, I've seen that in several wiki entries, but I could not find one single example on how to use it. The wiki only shows the commandline args for GCC, but no cmake examples. I attached a simple hello world project with two tests (ADD_TEST) which work. I tried to add the ctest_coverage and ctest_memcheck commands but I can't get them working. Maybe somebody can complete this example. IMO a new section about gcov and valgrind should be added to http://www.cmake.org/cmake/help/cmake_tutorial.html This would help a lot of people. -- mit freundlichen Grüßen / best regards *Gerhard Gappmeier* ascolab GmbH - automation systems communication laboratory Tel.: +49 9131 691 123 Fax: +49 9131 691 128 Web: http://www.ascolab.com GPG Key Id: 5AAC50C4 GPG Fingerprint: 967A 15F1 2788 164D CCA3 6C46 07CD 6F82 5AAC 50C4 -- *ascolab GmbH* Geschäftsführer: Gerhard Gappmeier, Matthias Damm, Uwe Steinkrauß Sitz der Gesellschaft: Am Weichselgarten 7 . 91058 Erlangen . Germany Registernummer: HRB 9360 Registergericht: Amtsgericht Fürth ___ 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 ___ 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] Bug fix requests for the *next* release of CMake...
I have an idea for a feature that might help resolve some of the Find*** issues. I would like to see CMake implement some sort of Software Update mechanism where you could tell CMake to check a central server for any updated FindXXX.cmake files and then download them into the cmake installation directory. This would alleviate some issues (cough ** FindBoost.cmake *** cough) where a critical fix gets implemented but a user has to either compile from HEAD or wait for the *next* release, which might be 3 months away. I would venture to guess that most of the tweaks to the FindXXX.cmake files are CMake Major version independent. This would be a nice way to push out small updates that don't actually require a full recompile or newer version of CMake to be installed. Just my thoughts for this friday morning. ___ Mike Jackson www.bluequartz.net Principal Software Engineer mike.jack...@bluequartz.net BlueQuartz Software Dayton, Ohio On Nov 4, 2010, at 3:34 PM, David Cole wrote: Hi all, Now that we have released CMake 2.8.3, *now* would be a great time to prioritize bug fixes for the next release of CMake. Replies requested. Read on. Just a short reply with bug numbers or links to the bugs is all we need here. Please move specific discussions into the bugs themselves or start a new thread to talk about it... Replies on this thread should just be a collector for bug numbers. We are aiming for quarterly releases from now on, scheduling them every 3 or 4 months. That would make the next release of CMake version 2.8.4 and scheduled to have an rc1 release candidate in approximately mid-January, 2011, target date: Wed. 1/12/2011. If you have a particular issue that you think should be fixed for inclusion in 2.8.4, please bring it up now. Ideally, each issue will be discussed as needed on the mailing list to come to any consensus about what should be done to fix it, and then an entry in the bug tracker may be used to keep it on the radar screen, and to track activity related to it. Patches are always welcome. Patches that include testing of any new features, or tests that prove a bug is really fixed on the dashboards, basically any patch with testing is preferred over a patch with no testing. Also, if you are *adding* code, then you also probably need to add *tests* of that code, so that the coverage percentage stays as is or rises. Please discuss issues here as needed, and add notes to existing issues in the bug tracker that you are interested in seeing fixed for 2.8.4 -- we will be looking at the mailing list and activity in the bug tracker to help prioritize the bug fixes that will occur in the next several weeks. Thanks, David Cole Kitware, Inc. P.S. - as a nice summary of what we've accomplished in the CMake 2.8.3 release, see here: http://public.kitware.com/Bug/changelog_page.php -- it lists 89 issues that we resolved: nice job, everybody! (About 45 of those were specifically addressed because somebody brought it up in response to my similar email from just after 2.8.2... Don't be shy!) ___ 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] Using gcov/lcov and valgrind with cmake
Hi David and Cole, I don't understand how it should help to add this to CMakeCache.txt. This file is only temp file and is not checked in the repo. Can the MEMORY_CHECK options also be set in the CMakeLists.txt? I have the coverage test working at the moment using this construct in the CMakeLists.txt: # enable coverage analysis using GCC and GCOV IF (CMAKE_COMPILER_IS_GNUCC) SET(CMAKE_C_FLAGS -g -O0 -Wall -fprofile-arcs -ftest-coverage) SET(CMAKE_CXX_FLAGS -g -O0 -Wall -fprofile-arcs -ftest-coverage) SET(CMAKE_EXE_LINKER_FLAGS ${CMAKE_EXE_LINKER_FLAGS} -fprofile-arcs -ftest-coverage -lgcov) ENDIF() It works, but I'm not sure if this is the right Cmake way to do that. You can checkout the complete example using git clone git://github.com/gergap/helloworld.git Any help is appreciated to complete this helloworld cmake tutorial. Am 05.11.2010 13:39, schrieb David Cole: Bill means your CMakeCache.txt file, not your CMakeLists.txt file. (Pretty sure...) :-) On Fri, Nov 5, 2010 at 8:30 AM, Bill Lorensen bill.loren...@gmail.com wrote: Try adding these (with proper paths) to your CMakeLists.txt file: CMAKE_BUILD_TYPE:STRING=Debug COVERAGE_COMMAND:FILEPATH=/usr/bin/gcov CMAKE_C_FLAGS:STRING=-g -O0 -fprofile-arcs -ftest-coverage CMAKE_CXX_FLAGS:STRING=-g -O0 -fprofile-arcs -ftest-coverage CTEST_MEMORYCHECK_COMMAND:FILEPATH=/usr/bin/valgrind) CTEST_MEMORYCHECK_COMMAND_OPTIONS:STRING=--trace-children=yes --quiet --tool=memcheck --leak-check=yes --show-reachable=yes --num-callers=100 --verbose --demangle=yes On Wed, Nov 3, 2010 at 9:11 AM, Gerhard Gappmeier gerhard.gappme...@ascolab.com wrote: Hi all, I'm trying to figure out how to use gcov and maybe also lcov with cmake. I know it works using ctest, I've seen that in several wiki entries, but I could not find one single example on how to use it. The wiki only shows the commandline args for GCC, but no cmake examples. I attached a simple hello world project with two tests (ADD_TEST) which work. I tried to add the ctest_coverage and ctest_memcheck commands but I can't get them working. Maybe somebody can complete this example. IMO a new section about gcov and valgrind should be added to http://www.cmake.org/cmake/help/cmake_tutorial.html This would help a lot of people. -- mit freundlichen Grüßen / best regards *Gerhard Gappmeier* ascolab GmbH - automation systems communication laboratory Tel.: +49 9131 691 123 Fax: +49 9131 691 128 Web: http://www.ascolab.com GPG Key Id: 5AAC50C4 GPG Fingerprint: 967A 15F1 2788 164D CCA3 6C46 07CD 6F82 5AAC 50C4 -- *ascolab GmbH* Geschäftsführer: Gerhard Gappmeier, Matthias Damm, Uwe Steinkrauß Sitz der Gesellschaft: Am Weichselgarten 7 . 91058 Erlangen . Germany Registernummer: HRB 9360 Registergericht: Amtsgericht Fürth ___ 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 -- mit freundlichen Grüßen / best regards *Gerhard Gappmeier* ascolab GmbH - automation systems communication laboratory Tel.: +49 9131 691 123 Fax: +49 9131 691 128 Web: http://www.ascolab.com GPG-Key: http://www.ascolab.com/gpg/gg.asc -- *ascolab GmbH* Geschäftsführer: Gerhard Gappmeier, Matthias Damm, Uwe Steinkrauß Sitz der Gesellschaft: Am Weichselgarten 7 • 91058 Erlangen • Germany Registernummer: HRB 9360 Registergericht: Amtsgericht Fürth ___ 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] Bug fix requests for the *next* release of CMake...
On 05.11.10 09:36:39, Michael Jackson wrote: I have an idea for a feature that might help resolve some of the Find*** issues. I would like to see CMake implement some sort of Software Update mechanism where you could tell CMake to check a central server for any updated FindXXX.cmake files and then download them into the cmake installation directory. This would alleviate some issues (cough ** FindBoost.cmake *** cough) where a critical fix gets implemented but a user has to either compile from HEAD or wait for the *next* release, which might be 3 months away. I would venture to guess that most of the tweaks to the FindXXX.cmake files are CMake Major version independent. This would be a nice way to push out small updates that don't actually require a full recompile or newer version of CMake to be installed. But it'll only work on Windows and/or MacOSX. On Linux the average user won't have write access to the location of the modules. So in addition cmake will have to implement a way to also look into the users home-folder or something like that. Andreas -- People are beginning to notice you. Try dressing before you leave the house. ___ 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] Bug fix requests for the *next* release of CMake...
___ Mike Jackson www.bluequartz.net Principal Software Engineer mike.jack...@bluequartz.net BlueQuartz Software Dayton, Ohio On Nov 5, 2010, at 10:06 AM, Andreas Pakulat wrote: On 05.11.10 09:36:39, Michael Jackson wrote: I have an idea for a feature that might help resolve some of the Find*** issues. I would like to see CMake implement some sort of Software Update mechanism where you could tell CMake to check a central server for any updated FindXXX.cmake files and then download them into the cmake installation directory. This would alleviate some issues (cough ** FindBoost.cmake *** cough) where a critical fix gets implemented but a user has to either compile from HEAD or wait for the *next* release, which might be 3 months away. I would venture to guess that most of the tweaks to the FindXXX.cmake files are CMake Major version independent. This would be a nice way to push out small updates that don't actually require a full recompile or newer version of CMake to be installed. But it'll only work on Windows and/or MacOSX. On Linux the average user won't have write access to the location of the modules. So in addition cmake will have to implement a way to also look into the users home- folder or something like that. Andreas I just thought of that myself after I hit sent. There are definitely issues to be resolved but I don't think it is anything insurmountable. For OS X and Windows each Operating System has specific Application Support folders where these things can be stored in. For Linux the usual .cmake type of folder could be used. Anyways, if we want to discuss this further I should open a bug instead of hijacking this thread. Thanks for the feedback -- Mike Jackson ___ 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] Using gcov/lcov and valgrind with cmake
Sorry, I meant David and Bill ;-) Am 05.11.2010 13:39, schrieb David Cole: Bill means your CMakeCache.txt file, not your CMakeLists.txt file. (Pretty sure...) :-) On Fri, Nov 5, 2010 at 8:30 AM, Bill Lorensen bill.loren...@gmail.com wrote: Try adding these (with proper paths) to your CMakeLists.txt file: CMAKE_BUILD_TYPE:STRING=Debug COVERAGE_COMMAND:FILEPATH=/usr/bin/gcov CMAKE_C_FLAGS:STRING=-g -O0 -fprofile-arcs -ftest-coverage CMAKE_CXX_FLAGS:STRING=-g -O0 -fprofile-arcs -ftest-coverage CTEST_MEMORYCHECK_COMMAND:FILEPATH=/usr/bin/valgrind) CTEST_MEMORYCHECK_COMMAND_OPTIONS:STRING=--trace-children=yes --quiet --tool=memcheck --leak-check=yes --show-reachable=yes --num-callers=100 --verbose --demangle=yes On Wed, Nov 3, 2010 at 9:11 AM, Gerhard Gappmeier gerhard.gappme...@ascolab.com wrote: Hi all, I'm trying to figure out how to use gcov and maybe also lcov with cmake. I know it works using ctest, I've seen that in several wiki entries, but I could not find one single example on how to use it. The wiki only shows the commandline args for GCC, but no cmake examples. I attached a simple hello world project with two tests (ADD_TEST) which work. I tried to add the ctest_coverage and ctest_memcheck commands but I can't get them working. Maybe somebody can complete this example. IMO a new section about gcov and valgrind should be added to http://www.cmake.org/cmake/help/cmake_tutorial.html This would help a lot of people. -- mit freundlichen Grüßen / best regards *Gerhard Gappmeier* ascolab GmbH - automation systems communication laboratory Tel.: +49 9131 691 123 Fax: +49 9131 691 128 Web: http://www.ascolab.com GPG Key Id: 5AAC50C4 GPG Fingerprint: 967A 15F1 2788 164D CCA3 6C46 07CD 6F82 5AAC 50C4 -- *ascolab GmbH* Geschäftsführer: Gerhard Gappmeier, Matthias Damm, Uwe Steinkrauß Sitz der Gesellschaft: Am Weichselgarten 7 . 91058 Erlangen . Germany Registernummer: HRB 9360 Registergericht: Amtsgericht Fürth ___ 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 -- mit freundlichen Grüßen / best regards *Gerhard Gappmeier* ascolab GmbH - automation systems communication laboratory Tel.: +49 9131 691 123 Fax: +49 9131 691 128 Web: http://www.ascolab.com GPG-Key: http://www.ascolab.com/gpg/gg.asc -- *ascolab GmbH* Geschäftsführer: Gerhard Gappmeier, Matthias Damm, Uwe Steinkrauß Sitz der Gesellschaft: Am Weichselgarten 7 • 91058 Erlangen • Germany Registernummer: HRB 9360 Registergericht: Amtsgericht Fürth ___ 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] EXECUTABLE_OUTPUT_PATH is empty in Nightly target
Hi when you checkout the tutorial you'll see that the NightlyMemcheck target does not work. (git clone git://github.com/gergap/helloworld.git) All tests fail because I'm using the EXECUTABLE_OUTPUT_PATH variable to find the test executable. e.g. ADD_TEST(SimpleTest ${EXECUTABLE_OUTPUT_PATH}/helloworld 5 3) This variable seems to be empty in Nightly and Experimental targets, though. So valgrind fails with an error that /helloworld cannot be found. Any ideas why EXECUTABLE_OUTPUT_PATH is empty and how to fix that? Am 05.11.2010 13:39, schrieb David Cole: Bill means your CMakeCache.txt file, not your CMakeLists.txt file. (Pretty sure...) :-) On Fri, Nov 5, 2010 at 8:30 AM, Bill Lorensen bill.loren...@gmail.com wrote: Try adding these (with proper paths) to your CMakeLists.txt file: CMAKE_BUILD_TYPE:STRING=Debug COVERAGE_COMMAND:FILEPATH=/usr/bin/gcov CMAKE_C_FLAGS:STRING=-g -O0 -fprofile-arcs -ftest-coverage CMAKE_CXX_FLAGS:STRING=-g -O0 -fprofile-arcs -ftest-coverage CTEST_MEMORYCHECK_COMMAND:FILEPATH=/usr/bin/valgrind) CTEST_MEMORYCHECK_COMMAND_OPTIONS:STRING=--trace-children=yes --quiet --tool=memcheck --leak-check=yes --show-reachable=yes --num-callers=100 --verbose --demangle=yes On Wed, Nov 3, 2010 at 9:11 AM, Gerhard Gappmeier gerhard.gappme...@ascolab.com wrote: Hi all, I'm trying to figure out how to use gcov and maybe also lcov with cmake. I know it works using ctest, I've seen that in several wiki entries, but I could not find one single example on how to use it. The wiki only shows the commandline args for GCC, but no cmake examples. I attached a simple hello world project with two tests (ADD_TEST) which work. I tried to add the ctest_coverage and ctest_memcheck commands but I can't get them working. Maybe somebody can complete this example. IMO a new section about gcov and valgrind should be added to http://www.cmake.org/cmake/help/cmake_tutorial.html This would help a lot of people. -- mit freundlichen Grüßen / best regards *Gerhard Gappmeier* ascolab GmbH - automation systems communication laboratory Tel.: +49 9131 691 123 Fax: +49 9131 691 128 Web: http://www.ascolab.com GPG Key Id: 5AAC50C4 GPG Fingerprint: 967A 15F1 2788 164D CCA3 6C46 07CD 6F82 5AAC 50C4 -- *ascolab GmbH* Geschäftsführer: Gerhard Gappmeier, Matthias Damm, Uwe Steinkrauß Sitz der Gesellschaft: Am Weichselgarten 7 . 91058 Erlangen . Germany Registernummer: HRB 9360 Registergericht: Amtsgericht Fürth ___ 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 -- mit freundlichen Grüßen / best regards *Gerhard Gappmeier* ascolab GmbH - automation systems communication laboratory Tel.: +49 9131 691 123 Fax: +49 9131 691 128 Web: http://www.ascolab.com GPG-Key: http://www.ascolab.com/gpg/gg.asc -- *ascolab GmbH* Geschäftsführer: Gerhard Gappmeier, Matthias Damm, Uwe Steinkrauß Sitz der Gesellschaft: Am Weichselgarten 7 • 91058 Erlangen • Germany Registernummer: HRB 9360 Registergericht: Amtsgericht Fürth ___ 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] EXECUTABLE_OUTPUT_PATH is empty in Nightly target
David, Thanks, I did mean CMakeCache.txt. Bill On Fri, Nov 5, 2010 at 10:38 AM, Gerhard Gappmeier gerhard.gappme...@ascolab.com wrote: Hi when you checkout the tutorial you'll see that the NightlyMemcheck target does not work. (git clone git://github.com/gergap/helloworld.git) All tests fail because I'm using the EXECUTABLE_OUTPUT_PATH variable to find the test executable. e.g. ADD_TEST(SimpleTest ${EXECUTABLE_OUTPUT_PATH}/helloworld 5 3) This variable seems to be empty in Nightly and Experimental targets, though. So valgrind fails with an error that /helloworld cannot be found. Any ideas why EXECUTABLE_OUTPUT_PATH is empty and how to fix that? Am 05.11.2010 13:39, schrieb David Cole: Bill means your CMakeCache.txt file, not your CMakeLists.txt file. (Pretty sure...) :-) On Fri, Nov 5, 2010 at 8:30 AM, Bill Lorensen bill.loren...@gmail.com wrote: Try adding these (with proper paths) to your CMakeLists.txt file: CMAKE_BUILD_TYPE:STRING=Debug COVERAGE_COMMAND:FILEPATH=/usr/bin/gcov CMAKE_C_FLAGS:STRING=-g -O0 -fprofile-arcs -ftest-coverage CMAKE_CXX_FLAGS:STRING=-g -O0 -fprofile-arcs -ftest-coverage CTEST_MEMORYCHECK_COMMAND:FILEPATH=/usr/bin/valgrind) CTEST_MEMORYCHECK_COMMAND_OPTIONS:STRING=--trace-children=yes --quiet --tool=memcheck --leak-check=yes --show-reachable=yes --num-callers=100 --verbose --demangle=yes On Wed, Nov 3, 2010 at 9:11 AM, Gerhard Gappmeier gerhard.gappme...@ascolab.com wrote: Hi all, I'm trying to figure out how to use gcov and maybe also lcov with cmake. I know it works using ctest, I've seen that in several wiki entries, but I could not find one single example on how to use it. The wiki only shows the commandline args for GCC, but no cmake examples. I attached a simple hello world project with two tests (ADD_TEST) which work. I tried to add the ctest_coverage and ctest_memcheck commands but I can't get them working. Maybe somebody can complete this example. IMO a new section about gcov and valgrind should be added to http://www.cmake.org/cmake/help/cmake_tutorial.html This would help a lot of people. -- mit freundlichen Grüßen / best regards *Gerhard Gappmeier* ascolab GmbH - automation systems communication laboratory Tel.: +49 9131 691 123 Fax: +49 9131 691 128 Web: http://www.ascolab.com GPG Key Id: 5AAC50C4 GPG Fingerprint: 967A 15F1 2788 164D CCA3 6C46 07CD 6F82 5AAC 50C4 -- *ascolab GmbH* Geschäftsführer: Gerhard Gappmeier, Matthias Damm, Uwe Steinkrauß Sitz der Gesellschaft: Am Weichselgarten 7 . 91058 Erlangen . Germany Registernummer: HRB 9360 Registergericht: Amtsgericht Fürth ___ 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 -- mit freundlichen Grüßen / best regards *Gerhard Gappmeier* ascolab GmbH - automation systems communication laboratory Tel.: +49 9131 691 123 Fax: +49 9131 691 128 Web: http://www.ascolab.com GPG-Key: http://www.ascolab.com/gpg/gg.asc -- *ascolab GmbH* Geschäftsführer: Gerhard Gappmeier, Matthias Damm, Uwe Steinkrauß Sitz der Gesellschaft: Am Weichselgarten 7 • 91058 Erlangen • Germany Registernummer: HRB 9360 Registergericht: Amtsgericht Fürth ___ 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] Bug fix requests for the *next* release of CMake...
Am Donnerstag, 4. November 2010 schrieb David Cole: Hi all, Now that we have released CMake 2.8.3, *now* would be a great time to prioritize bug fixes for the next release of CMake. Replies requested. Read on. *Just a short reply with bug numbers* or links to the bugs is all we need here. Please move specific discussions into the bugs themselves or start a new thread to talk about it... Replies on this thread should just be a collector for bug numbers. #11362 Tests should be able to be called from a given working directory (has patch testcase) #11332 No dependency from ADD_CUSTOM_COMMAND to external project #11333 FindThreads incorrectly adds -pthread to linker options #11329 No system information on QNX (has patch) #11326: FindBISON breaks on localized systems (already in next, only needs merge into master) #11404: VS2010 generator broken by: set_source_files_properties(file.h PROPERTIES LANGUAGE C) (has patch) Without bug report as I only looked into the code: See thread with subject Suspicious CPU speed calculation on Mac on this list, the 3rd mail has a patch. We are aiming for quarterly releases from now on, scheduling them every 3 or 4 months. That would make the next release of CMake version 2.8.4 and scheduled to have an rc1 release candidate in approximately mid-January, 2011, target date: Wed. 1/12/2011. Any chance to just do a splashdash release by just collecting some already finished or rather minimal bugfixes and going into rc1 in like 2 weeks to see a 2.8.4 with fixes only in half of the time? There are already some fixes around and doing the rest of development for the then 2.8.5 in next for some more weeks shouldn't hurt. 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://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] EXECUTABLE_OUTPUT_PATH is empty in Nightly target
Am Freitag, 5. November 2010 schrieb Gerhard Gappmeier: Hi What relationship does this question have to the mail you are quoting below? Don't top-post. Start new threads for new discussions. Otherwise it is a pain to follow discussions. when you checkout the tutorial you'll see that the NightlyMemcheck target does not work. (git clone git://github.com/gergap/helloworld.git) All tests fail because I'm using the EXECUTABLE_OUTPUT_PATH variable to find the test executable. e.g. ADD_TEST(SimpleTest ${EXECUTABLE_OUTPUT_PATH}/helloworld 5 3) This variable seems to be empty in Nightly and Experimental targets, though. So valgrind fails with an error that /helloworld cannot be found. Any ideas why EXECUTABLE_OUTPUT_PATH is empty and how to fix that? ADD_TEST(NAME SimpleTest COMMAND helloworld 5 3) 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://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] Bug fix requests for the *next* release of CMake...
Hi David, Since you asked, I would really like the following issues to be addressed: #11368 - Let CTest return with an error status when compiler errors occur #10335 - FIND_XXX problem with symlinks when using ENV # 8466 - Provide finer control than pass/fail for a test program CTest Best regards, Marcel Loose. ___ 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] Bug fix requests for the *next* release of CMake...
On 04/11/2010 21.48, Kalev Lember wrote: Hi, I would love to have support for CFBundle (.plugin) on Mac. http://www.vtk.org/Bug/view.php?id=11295 Me too, +1 for this bug also, for using the same project (FireBreath) +1 for FindBoost support to CMakeified version of Boost at http://gitorious.org/~denisarnaud/boost/denisarnauds-zeuners-boost-cmake/commits/1.44.0-denis: Thanks Luigi ___ 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] Bug fix requests for the *next* release of CMake...
Am Freitag, 5. November 2010 schrieb Marcel Loose: Hi David, # 8466 - Provide finer control than pass/fail for a test program CTest +1 from me for this one 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://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] [cmake-developers] Bug fix requests for the *next* release of CMake...
Hi David, I've got one more, one that I just entered in Mantis. #11410 - Result of IF(LIST) is inconsistent Regards, Marcel Loose. ___ 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] cmake gfortran project question
Greetings, I have a little learning progect using cmake with gfortran. SOURCE files: .f, .f xxx.f and .f .y I want to do the following:- a) create a shared library libFFF.so and a static one libFFF.a (from say xxx.f and yyy.f) b) find installed fortran librar(ies)say libOLD.a libOLD.so and link libOLD.so to libFFF.so c) when creating libFFF.a tell compiler to compile in libOLD.a d) compile .f, .f into executible AAA to link in libFFF.so e) compile .finto executible BBB and compile in libFFF.a I am a novice at cmake and some helo with a)-e) would be appreciated. sincerely ___ 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] findAtlas cmake
On Thursday 04 November 2010 16:00:05 Michael Wild wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 11/04/2010 05:10 PM, luxInteg wrote: On Wednesday 03 November 2010 05:37:45 Michael Wild wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hi On 11/03/2010 12:48 AM, luxInteg wrote: Greetings, I am a novice at cmake and attempting to compile lapack-3.2.2 on a computer with these:- ---cpu amd64 2 cores ---BLAS: atlas3.9.26 in /usr/local/atlas ---gcc-4.2.2/gfortran cmake-2.8 here is a list of algebra stuff in /usr/local/atlas/lib root [ ~ ]# ls /usr/local/atlas/lib libacml_mp.so libatlas.a libcblas.a libf77blas.alibptcblas.a libptf77blas.a libacml_mv.so libatlas.so libcblas.so libf77blas.so libptcblas.so libptf77blas.so root [ ~ ]# There is a FindBLAS module in ~share/cmake-2.8/modules but no search paths are set for linux. That's not necessary, since CMake searches the common locations on its own. Now, /usr/local would be common, but not /usr/local/atlas. And as a complete ignoramous I cannot see anywhere one could poke one. Set the environment variable CMAKE_PREFIX_PATH to /usr/local/atlas before you run CMake. This tells CMake to first go look in /usr/local/atlas, and only then consider all the other default locations. Thanks a lot. I set CMAKE_PREFIX_PATH and 'BLAS was fuind. HOWEVER I have the foollowing in /usr/local/atlas/lib. rt [ ~ ]$ ls /usr/local/atlas/lib libacml_mp.so libatlas.a libcblas.a libf77blas.alibptcblas.a libptf77blas.a libacml_mv.so libatlas.so libcblas.so libf77blas.so libptcblas.so libptf77blas.so rt [ ~ ]$ Do you (or others on list know if ALL of these are 'found' by FindBLAS.cmake? I am asking this as I have applications downstream that require linking to -latlas -lf77blas and -lptf77blas while others the cblas(es). A related question also IS:- does one need to set the LDFLAGS envar to be able to set target_lib_libraries( -lxxx -lyyy ) or are those invoked by a successful application fo FindBLAS.cmake ? If you do it like this set(BLA_VENDOR ATLAS) find_package(BLAS REQUIRED) you tell FindBLAS.cmake to only look for atlas. Then the variable BLAS_LIBRARIES will also contain also libatlas.a. However, linking against both, libf77blas.a and libptf77blas.a at the same time is bogus. The linker will only use functions from libf77blas.a, the threaded implementations in libptf77blas.a will be ignored. If you happen to use shared libraries instead, this would be a linking error. Unfortunately, FindBLAS.cmake is currently not able to find the threaded libraries. There seem to be other things wrong with it too, because it tries to find cblas_dgemm with a Fortran compiler which is almost certainly going to fail (due to Fortran name-mangling). At least on my Ubuntu box FindBLAS.cmake is completely broken when it comes to ATLAS. thanks for the info ___ 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] Bug fix requests for the *next* release of CMake...
On 11/5/2010 10:48 AM, Rolf Eike Beer wrote: We are aiming for quarterly releases from now on, scheduling them every 3 or 4 months. That would make the next release of CMake version 2.8.4 and scheduled to have an rc1 release candidate in approximately mid-January, 2011, target date: Wed. 1/12/2011. Any chance to just do a splashdash release by just collecting some already finished or rather minimal bugfixes and going into rc1 in like 2 weeks to see a 2.8.4 with fixes only in half of the time? There are already some fixes around and doing the rest of development for the then 2.8.5 in next for some more weeks shouldn't hurt. No, no chance of that. You will have to wait for January for additional fixes. We just can not be in release mode too long. We have to move back into to development mode. For each quick bug fix, we are likely to introduce one or more new bugs or backwards compatibility issues. We are on a rapid release schedule of one each quarter, so now is the time to make sure your issues get fixed. As David mentioned, fixes that come with tests and patches are quicker to be integrated. -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] call already made makefile
On Thu, Nov 4, 2010 at 9:23 PM, SK s...@metrokings.com wrote: On Thu, Nov 4, 2010 at 6:09 PM, Alan W. Irwin ir...@beluga.phys.uvic.ca wrote: then the custom make command should always be run (since it has no DEPENDS option), Alan, you are absolutely right!! No, sorry. Only if the add_custom_command output does not exist as other have mentioned too. My build is so ridiculously complex I'm fooling myself right and left. Here's a small test case to show this. Hopefully other suggestions on this thread will work. cat external_makefile bar : foo touch bar cat CMakeLists.txt CMAKE_MINIMUM_REQUIRED(VERSION 2.8) PROJECT( makefile_test ) ADD_CUSTOM_COMMAND( OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/bar COMMAND make -f ${CMAKE_CURRENT_SOURCE_DIR}/external_makefile COMMENT Running external makefile ) ADD_CUSTOM_TARGET( external_target ALL DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/bar ) After running cmake, we see make [ 0%] Running external makefile === Builds bar fine first time [100%] Built target external_target touch foo make [100%] Built target external_target === DOES NOT BUILD BAR!! rm bar make [ 0%] Running external makefile === Builds bar only after delete [100%] Built target external_target ___ 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] call already made makefile
On Fri, Nov 5, 2010 at 2:00 PM, SK s...@metrokings.com wrote: On Thu, Nov 4, 2010 at 9:23 PM, SK s...@metrokings.com wrote: On Thu, Nov 4, 2010 at 6:09 PM, Alan W. Irwin ir...@beluga.phys.uvic.ca wrote: then the custom make command should always be run (since it has no DEPENDS option), Alan, you are absolutely right!! No, sorry. Only if the add_custom_command output does not exist as other have mentioned too. My build is so ridiculously complex I'm fooling myself right and left. Here's a small test case to show this. Hopefully other suggestions on this thread will work. cat external_makefile bar : foo touch bar cat CMakeLists.txt CMAKE_MINIMUM_REQUIRED(VERSION 2.8) PROJECT( makefile_test ) ADD_CUSTOM_COMMAND( OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/bar COMMAND make -f ${CMAKE_CURRENT_SOURCE_DIR}/external_makefile COMMENT Running external makefile ) ADD_CUSTOM_TARGET( external_target ALL DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/bar ) After running cmake, we see make [ 0%] Running external makefile === Builds bar fine first time [100%] Built target external_target touch foo make [100%] Built target external_target === DOES NOT BUILD BAR!! rm bar make [ 0%] Running external makefile === Builds bar only after delete [100%] Built target external_target ___ 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 Change it to this: ADD_CUSTOM_COMMAND( OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/NO_SUCH_FILE_AS_bar ... ADD_CUSTOM_TARGET( external_target ALL DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/NO_SUCH_FILE_AS_bar Now, because NO_SUCH_FILE_AS_bar NEVER exists, ever... the command will always run, because the custom target is always out of date. Then, when your makefile actually runs, *it* will decide (hopefully correctly) whether or not it needs to build 'bar'. Non-obvious, I know. I struggled with this over and over while developing ExternalProject... But it does work. Good luck, David ___ 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] call already made makefile
On 2010-11-05 11:00-0700 SK wrote: On Thu, Nov 4, 2010 at 9:23 PM, SK s...@metrokings.com wrote: On Thu, Nov 4, 2010 at 6:09 PM, Alan W. Irwin ir...@beluga.phys.uvic.ca wrote: then the custom make command should always be run (since it has no DEPENDS option), Alan, you are absolutely right!! No, sorry. Only if the add_custom_command output does not exist as other have mentioned too. My build is so ridiculously complex I'm fooling myself right and left. Here's a small test case to show this. Hopefully other suggestions on this thread will work. cat external_makefile bar : foo touch bar cat CMakeLists.txt CMAKE_MINIMUM_REQUIRED(VERSION 2.8) PROJECT( makefile_test ) ADD_CUSTOM_COMMAND( OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/bar COMMAND make -f ${CMAKE_CURRENT_SOURCE_DIR}/external_makefile COMMENT Running external makefile ) ADD_CUSTOM_TARGET( external_target ALL DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/bar ) I confirm your conclusion. So much for my memory of how to do this. :-) However, I found this even simpler test case works fine for me: ir...@raven cat CMakeLists.txt CMAKE_MINIMUM_REQUIRED(VERSION 2.8) PROJECT( makefile_test NONE) ADD_CUSTOM_TARGET( external_target ALL COMMAND make -f ${CMAKE_CURRENT_SOURCE_DIR}/external_makefile WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} ) (I have used WORKING_DIRECTORY because I tested this with a separate build directory). Note also, the external make command complains (at least on my Debian testing system) unless foo exists in WORKING_DIRECTORY. The external make command is run every time you run make VERBOSE=1 and does the right thing. If foo exists in the WORKING_DIRECTORY it touches bar the first time in WORKING_DIRECTORY. After that first try it doesn't touch bar unless you touch foo in the WORKING_DIRECTORY. I think you have previously rejected this simple scenario because it didn't work for you. If the above test works for you (as it should), then probably your previous test of using add_custom_target without a corresponding add_custom_command was obfuscated by some other error. Of course, if you use this simple scenario to build an external library, then you will need independent knowledge of full_path_to_external_library and the correct working directory for the external make command, but you needed that knowledge in any case for my previous scenario with separate add_custom_command. Alan __ Alan W. Irwin Astronomical research affiliation with Department of Physics and Astronomy, University of Victoria (astrowww.phys.uvic.ca). Programming affiliations with the FreeEOS equation-of-state implementation for stellar interiors (freeeos.sf.net); PLplot scientific plotting software package (plplot.org); the libLASi project (unifont.org/lasi); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __ Linux-powered Science __ ___ 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] call already made makefile
On 2010-11-05 14:12-0400 David Cole wrote: On Fri, Nov 5, 2010 at 2:00 PM, SK s...@metrokings.com wrote: On Thu, Nov 4, 2010 at 9:23 PM, SK s...@metrokings.com wrote: On Thu, Nov 4, 2010 at 6:09 PM, Alan W. Irwin ir...@beluga.phys.uvic.ca wrote: then the custom make command should always be run (since it has no DEPENDS option), Alan, you are absolutely right!! No, sorry. Only if the add_custom_command output does not exist as other have mentioned too. My build is so ridiculously complex I'm fooling myself right and left. Here's a small test case to show this. Hopefully other suggestions on this thread will work. cat external_makefile bar : foo touch bar cat CMakeLists.txt CMAKE_MINIMUM_REQUIRED(VERSION 2.8) PROJECT( makefile_test ) ADD_CUSTOM_COMMAND( OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/bar COMMAND make -f ${CMAKE_CURRENT_SOURCE_DIR}/external_makefile COMMENT Running external makefile ) ADD_CUSTOM_TARGET( external_target ALL DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/bar ) After running cmake, we see make [ 0%] Running external makefile === Builds bar fine first time [100%] Built target external_target touch foo make [100%] Built target external_target === DOES NOT BUILD BAR!! rm bar make [ 0%] Running external makefile === Builds bar only after delete [100%] Built target external_target ___ 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 Change it to this: ADD_CUSTOM_COMMAND( OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/NO_SUCH_FILE_AS_bar ... ADD_CUSTOM_TARGET( external_target ALL DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/NO_SUCH_FILE_AS_bar Now, because NO_SUCH_FILE_AS_bar NEVER exists, ever... the command will always run, because the custom target is always out of date. Then, when your makefile actually runs, *it* will decide (hopefully correctly) whether or not it needs to build 'bar'. Non-obvious, I know. I struggled with this over and over while developing ExternalProject... But it does work. I agree the above idea should work, but dropping add_custom_command completely and moving the COMMAND to add_custom_target instead (and dropping all file DEPENDS for the custom target) is even a simpler way to insure COMMAND gets executed every time the custom target is built. This situation is summarized in the documentation. add_custom_target Add a target with no output so it will always be built. Alan __ Alan W. Irwin Astronomical research affiliation with Department of Physics and Astronomy, University of Victoria (astrowww.phys.uvic.ca). Programming affiliations with the FreeEOS equation-of-state implementation for stellar interiors (freeeos.sf.net); PLplot scientific plotting software package (plplot.org); the libLASi project (unifont.org/lasi); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __ Linux-powered Science __ ___ 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] Using gcov/lcov and valgrind with cmake
It should be done in the CMakeCache.txt file. In most projects, with multiple developers and multiple platforms, you would not want to perform coverage on every build. Look at VTK: http://www.cdash.org/CDash/index.php?project=VTK or ITK: http://www.cdash.org/CDash/index.php?project=Insight These toolkits try to build on many different platforms with many different combinations of builds (debug, release, coverage, valgrind...). I suppose, if you have a small development community, with a small number of supported platforms, then including in the CMakeLists.txt is an option. But that means you cannot build an efficient release build. Still, I would recommend doing this in the CMakeCache.txt (which can be done with a ctest script). On Fri, Nov 5, 2010 at 9:42 AM, Gerhard Gappmeier gerhard.gappme...@ascolab.com wrote: Hi David and Cole, I don't understand how it should help to add this to CMakeCache.txt. This file is only temp file and is not checked in the repo. Can the MEMORY_CHECK options also be set in the CMakeLists.txt? I have the coverage test working at the moment using this construct in the CMakeLists.txt: # enable coverage analysis using GCC and GCOV IF (CMAKE_COMPILER_IS_GNUCC) SET(CMAKE_C_FLAGS -g -O0 -Wall -fprofile-arcs -ftest-coverage) SET(CMAKE_CXX_FLAGS -g -O0 -Wall -fprofile-arcs -ftest-coverage) SET(CMAKE_EXE_LINKER_FLAGS ${CMAKE_EXE_LINKER_FLAGS} -fprofile-arcs -ftest-coverage -lgcov) ENDIF() It works, but I'm not sure if this is the right Cmake way to do that. You can checkout the complete example using git clone git://github.com/gergap/helloworld.git Any help is appreciated to complete this helloworld cmake tutorial. Am 05.11.2010 13:39, schrieb David Cole: Bill means your CMakeCache.txt file, not your CMakeLists.txt file. (Pretty sure...) :-) On Fri, Nov 5, 2010 at 8:30 AM, Bill Lorensen bill.loren...@gmail.com wrote: Try adding these (with proper paths) to your CMakeLists.txt file: CMAKE_BUILD_TYPE:STRING=Debug COVERAGE_COMMAND:FILEPATH=/usr/bin/gcov CMAKE_C_FLAGS:STRING=-g -O0 -fprofile-arcs -ftest-coverage CMAKE_CXX_FLAGS:STRING=-g -O0 -fprofile-arcs -ftest-coverage CTEST_MEMORYCHECK_COMMAND:FILEPATH=/usr/bin/valgrind) CTEST_MEMORYCHECK_COMMAND_OPTIONS:STRING=--trace-children=yes --quiet --tool=memcheck --leak-check=yes --show-reachable=yes --num-callers=100 --verbose --demangle=yes On Wed, Nov 3, 2010 at 9:11 AM, Gerhard Gappmeier gerhard.gappme...@ascolab.com wrote: Hi all, I'm trying to figure out how to use gcov and maybe also lcov with cmake. I know it works using ctest, I've seen that in several wiki entries, but I could not find one single example on how to use it. The wiki only shows the commandline args for GCC, but no cmake examples. I attached a simple hello world project with two tests (ADD_TEST) which work. I tried to add the ctest_coverage and ctest_memcheck commands but I can't get them working. Maybe somebody can complete this example. IMO a new section about gcov and valgrind should be added to http://www.cmake.org/cmake/help/cmake_tutorial.html This would help a lot of people. -- mit freundlichen Grüßen / best regards *Gerhard Gappmeier* ascolab GmbH - automation systems communication laboratory Tel.: +49 9131 691 123 Fax: +49 9131 691 128 Web: http://www.ascolab.com GPG Key Id: 5AAC50C4 GPG Fingerprint: 967A 15F1 2788 164D CCA3 6C46 07CD 6F82 5AAC 50C4 -- *ascolab GmbH* Geschäftsführer: Gerhard Gappmeier, Matthias Damm, Uwe Steinkrauß Sitz der Gesellschaft: Am Weichselgarten 7 . 91058 Erlangen . Germany Registernummer: HRB 9360 Registergericht: Amtsgericht Fürth ___ 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 -- mit freundlichen Grüßen / best regards *Gerhard Gappmeier* ascolab GmbH - automation systems communication laboratory Tel.: +49 9131 691 123 Fax: +49 9131 691 128 Web: http://www.ascolab.com GPG-Key: http://www.ascolab.com/gpg/gg.asc -- *ascolab GmbH* Geschäftsführer: Gerhard Gappmeier, Matthias Damm, Uwe Steinkrauß Sitz der Gesellschaft: Am Weichselgarten 7 • 91058 Erlangen • Germany Registernummer: HRB 9360 Registergericht: Amtsgericht Fürth ___ Powered by www.kitware.com Visit other Kitware open-source projects at
Re: [CMake] header files with visual studio
Michael Jackson said the following on 11/4/2010 12:34 PM: Like, others have stated: You MUST include them in the add_executable or add_library call. The macro I give above can help keep those files organized in the Project/Solution file if you want the organization to mimic the file system for instance. Otherwise CMake will create the project will all the files in a single Source folder. HTH Thanks for the detailed response, Michael :) I guess I wasn't quite clear enough in the OP, I was really hoping it could be done automatically, perhaps through the dependency generator. Our project is fairly complex (it's a distributed client-server-server system with multiple distributed server processes each with their own project). A little over 5000 header files. And, never mind lines of code, there are 108,425 #include statements in our source tree. So, the question is actually: Is there a way to have CMake automatically add included headers to visual studio project files or do you need to use a dependency system to generate the lists by hand? - Oliver ___ 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] header files with visual studio
So, the question is actually: Is there a way to have CMake automatically add included headers to visual studio project files or do you need to use a dependency system to generate the lists by hand? Take a look at this: http://stackoverflow.com/questions/1167154/listing-header-files-in-visual-studio-c-project-generated-by-cmake 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
Re: [CMake] call already made makefile
On Fri, Nov 5, 2010 at 1:04 PM, Alan W. Irwin ir...@beluga.phys.uvic.ca wrote: I agree the above idea should work, but dropping add_custom_command completely and moving the COMMAND to add_custom_target instead (and dropping all file DEPENDS for the custom target) is even a simpler way to insure COMMAND gets executed every time the custom target is built. Yes it always runs, but there is no output from add_custom_target. When the external makefile produces an output needed by some larger dependency chain, then add_custom_command is the only way. ___ 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.3-540-gc96b596
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 c96b596c6e8ff4e31ac11fb4be3d115ba9289e68 (commit) via 80edcc6a86d7b5e00073c5cd2584383f971b7645 (commit) from 49babd96b1179c8077432a87334071fd1cdb0379 (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=c96b596c6e8ff4e31ac11fb4be3d115ba9289e68 commit c96b596c6e8ff4e31ac11fb4be3d115ba9289e68 Merge: 49babd9 80edcc6 Author: Brad King brad.k...@kitware.com AuthorDate: Fri Nov 5 08:10:14 2010 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Fri Nov 5 08:10:14 2010 -0400 Merge topic 'document-custom-command-no-DEPENDS' into next 80edcc6 Document custom command behavior without DEPENDS (#11407) http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=80edcc6a86d7b5e00073c5cd2584383f971b7645 commit 80edcc6a86d7b5e00073c5cd2584383f971b7645 Author: Brad King brad.k...@kitware.com AuthorDate: Fri Nov 5 08:08:37 2010 -0400 Commit: Brad King brad.k...@kitware.com CommitDate: Fri Nov 5 08:08:37 2010 -0400 Document custom command behavior without DEPENDS (#11407) The behavior of add_custom_command when no DEPENDS option is specified matches that of standard Make behavior, but it does not hurt to describe it explicitly. diff --git a/Source/cmAddCustomCommandCommand.h b/Source/cmAddCustomCommandCommand.h index c67caa5..6c5e1af 100644 --- a/Source/cmAddCustomCommandCommand.h +++ b/Source/cmAddCustomCommandCommand.h @@ -152,6 +152,9 @@ public: If any dependency is an OUTPUT of another custom command in the same directory (CMakeLists.txt file) CMake automatically brings the other custom command into the target in which this command is built. + If DEPENDS is not specified the command will run whenever the OUTPUT + is missing; if the command does not actually create the OUTPUT then + the rule will always run. If DEPENDS specifies any target (created by an ADD_* command) a target-level dependency is created to make sure the target is built before any target using this custom command. Additionally, --- Summary of changes: Source/cmAddCustomCommandCommand.h |3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v2.8.3-542-gc12ea6d
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 c12ea6d54a09c1c87ee36a17ec02c55bfbee2277 (commit) via b12df8e1048065fb26c850d4ee7d37501886260f (commit) from c96b596c6e8ff4e31ac11fb4be3d115ba9289e68 (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=c12ea6d54a09c1c87ee36a17ec02c55bfbee2277 commit c12ea6d54a09c1c87ee36a17ec02c55bfbee2277 Merge: c96b596 b12df8e Author: David Cole david.c...@kitware.com AuthorDate: Fri Nov 5 09:04:16 2010 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Fri Nov 5 09:04:16 2010 -0400 Merge topic 'add-ProcessorCount-module' into next b12df8e Add module ProcessorCount.cmake (#11302) http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b12df8e1048065fb26c850d4ee7d37501886260f commit b12df8e1048065fb26c850d4ee7d37501886260f Author: Michael Wild them...@users.sourceforge.net AuthorDate: Fri Oct 8 09:16:04 2010 +0200 Commit: David Cole david.c...@kitware.com CommitDate: Fri Nov 5 08:55:31 2010 -0400 Add module ProcessorCount.cmake (#11302) Credit goes to David Cole ( http://www.kitware.com/blog/home/post/63 ). Also add a script-based test of the new module. Signed-off-by: Michael Wild them...@users.sourceforge.net diff --git a/Modules/ProcessorCount.cmake b/Modules/ProcessorCount.cmake new file mode 100644 index 000..e4aea19 --- /dev/null +++ b/Modules/ProcessorCount.cmake @@ -0,0 +1,60 @@ +# - ProcessorCount(var) +# Determine the number of processors/cores and save value in ${var} +# +# Sets the variable named ${var} to the number of physical cores available on +# the machine if the information can be determined. Otherwise it is set to 0. +# Currently this functionality is only implemented for Windows, Mac OS X and +# Unix systems providing getconf or the /proc/cpuinfo interface (e.g. Linux). + +# A more reliable way might be to compile a small C program that uses the CPUID +# instruction, but that again requires compiler support or compiling assembler +# code. + +#= +# Copyright 2002-2009 Kitware, Inc. +# +# Distributed under the OSI-approved BSD License (the License); +# see accompanying file Copyright.txt for details. +# +# This software is distributed WITHOUT ANY WARRANTY; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the License for more information. +#= +# (To distributed this file outside of CMake, substitute the full +# License text for the above reference.) + +function(ProcessorCount var) + # Unknown: + set(count 0) + + if(WIN32) +# Windows: +set(count $ENV{NUMBER_OF_PROCESSORS}) + elseif(APPLE) +# Mac: +find_program(ProcessorCount_cmd_sysctl sysctl + PATHS /usr/sbin) +if(ProcessorCount_cmd_sysctl) + execute_process(COMMAND ${ProcessorCount_cmd_sysctl} -n hw.ncpu +OUTPUT_STRIP_TRAILING_WHITESPACE +OUTPUT_VARIABLE count) +endif() + else() +find_program(ProcessorCount_cmd_getconf getconf) +if(ProcessorCount_cmd_getconf) + # Linux and other systems with getconf: + execute_process(COMMAND ${ProcessorCount_cmd_getconf} _NPROCESSORS_ONLN +OUTPUT_STRIP_TRAILING_WHITESPACE +OUTPUT_VARIABLE count) +else() + # Linux and other systems with /proc/cpuinfo: + set(cpuinfo_file /proc/cpuinfo) + if(EXISTS ${cpuinfo_file}) +file(STRINGS ${cpuinfo_file} procs REGEX ^processor.: [0-9]+$) +list(LENGTH procs count) + endif() +endif() + endif() + + set(${var} ${count} PARENT_SCOPE) +endfunction() diff --git a/Tests/CMakeTests/CMakeLists.txt b/Tests/CMakeTests/CMakeLists.txt index 8fd52df..9664872 100644 --- a/Tests/CMakeTests/CMakeLists.txt +++ b/Tests/CMakeTests/CMakeLists.txt @@ -27,6 +27,7 @@ AddCMakeTest(String ) AddCMakeTest(Math ) AddCMakeTest(CMakeMinimumRequired ) AddCMakeTest(CompilerIdVendor ) +AddCMakeTest(ProcessorCount ) AddCMakeTest(FileDownload ) set_property(TEST CMake.FileDownload PROPERTY diff --git a/Tests/CMakeTests/ProcessorCountTest.cmake.in b/Tests/CMakeTests/ProcessorCountTest.cmake.in new file mode 100644 index 000..0815fd8 --- /dev/null +++ b/Tests/CMakeTests/ProcessorCountTest.cmake.in @@ -0,0 +1,9 @@ +include(ProcessorCount) + +ProcessorCount(processor_count) +message(processor_count='${processor_count}') + +if(processor_count EQUAL 0) + message(FATAL_ERROR could not determine number of processors +- Additional code needed in
[Cmake-commits] CMake branch, next, updated. v2.8.3-545-g103a6ce
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 103a6ce0a0ff91ba760c0b4e847b98104ba3b77e (commit) via 95f149e61f1ad8c8cadd74f2dbe36a2613815cc2 (commit) via 07cfa57ec5f9f906e075512646100719a0a615aa (commit) from c12ea6d54a09c1c87ee36a17ec02c55bfbee2277 (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=103a6ce0a0ff91ba760c0b4e847b98104ba3b77e commit 103a6ce0a0ff91ba760c0b4e847b98104ba3b77e Merge: c12ea6d 95f149e Author: Brad King brad.k...@kitware.com AuthorDate: Fri Nov 5 09:20:08 2010 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Fri Nov 5 09:20:08 2010 -0400 Merge topic 'external-link-depends' into next 95f149e Define LINK_DEPENDS target property (#11406) 07cfa57 Consolidate duplicate link rule make dependency code http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=95f149e61f1ad8c8cadd74f2dbe36a2613815cc2 commit 95f149e61f1ad8c8cadd74f2dbe36a2613815cc2 Author: Brad King brad.k...@kitware.com AuthorDate: Fri Nov 5 09:05:08 2010 -0400 Commit: Brad King brad.k...@kitware.com CommitDate: Fri Nov 5 09:05:08 2010 -0400 Define LINK_DEPENDS target property (#11406) Custom Makefile link rules may need to depend on linker scripts. Define this property to allow user-specified link-time dependencies. diff --git a/Source/cmMakefileTargetGenerator.cxx b/Source/cmMakefileTargetGenerator.cxx index 0c150df..9153f3a 100644 --- a/Source/cmMakefileTargetGenerator.cxx +++ b/Source/cmMakefileTargetGenerator.cxx @@ -1534,6 +1534,13 @@ void cmMakefileTargetGenerator { depends.push_back(*obj); } + + // Add user-specified dependencies. + if(const char* linkDepends = + this-Target-GetProperty(LINK_DEPENDS)) +{ +cmSystemTools::ExpandListArgument(linkDepends, depends); +} } // diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx index 5380257..ca61b1f 100644 --- a/Source/cmTarget.cxx +++ b/Source/cmTarget.cxx @@ -532,6 +532,18 @@ void cmTarget::DefineProperties(cmake *cm) configurations explicitly.); cm-DefineProperty +(LINK_DEPENDS, cmProperty::TARGET, + Additional files on which a target binary depends for linking., + Specifies a semicolon-separated list of full-paths to files on which + the link rule for this target depends. + The target binary will be linked if any of the named files is newer + than it. + \n + This property is ignored by non-Makefile generators. + It is intended to specify dependencies on \linker scripts\ for + custom Makefile link rules.); + + cm-DefineProperty (LINK_INTERFACE_LIBRARIES, cmProperty::TARGET, List public interface libraries for a shared library or executable., By default linking to a shared library target transitively diff --git a/Tests/BuildDepends/CMakeLists.txt b/Tests/BuildDepends/CMakeLists.txt index 8714640..31392b5 100644 --- a/Tests/BuildDepends/CMakeLists.txt +++ b/Tests/BuildDepends/CMakeLists.txt @@ -34,6 +34,12 @@ if(WIN32 AND ${CMAKE_CXX_COMPILER_ID} MATCHES Intel) set(_cmake_options -DCMAKE_EXE_LINKER_FLAGS=) endif() +if(${CMAKE_GENERATOR} MATCHES Make) + set(TEST_LINK_DEPENDS ${BuildDepends_BINARY_DIR}/Project/linkdep.txt) + file(WRITE ${TEST_LINK_DEPENDS} 1) +endif() +list(APPEND _cmake_options -DTEST_LINK_DEPENDS=${TEST_LINK_DEPENDS}) + file(MAKE_DIRECTORY ${BuildDepends_BINARY_DIR}/Project) message(Creating Project/foo.cxx) write_file(${BuildDepends_BINARY_DIR}/Project/foo.cxx @@ -131,6 +137,10 @@ file(WRITE ${BuildDepends_BINARY_DIR}/Project/zot_macro_dir.hxx file(WRITE ${BuildDepends_BINARY_DIR}/Project/zot_macro_tgt.hxx static const char* zot_macro_tgt = \zot_macro_tgt changed\;\n) +if(TEST_LINK_DEPENDS) + file(WRITE ${TEST_LINK_DEPENDS} 2) +endif() + help_xcode_depends() message(Building project second time) @@ -194,3 +204,16 @@ if(${out} STREQUAL ${VALUE_CHANGED}) else(${out} STREQUAL ${VALUE_CHANGED}) message(SEND_ERROR Project did not rebuild properly!) endif(${out} STREQUAL ${VALUE_CHANGED}) + +if(TEST_LINK_DEPENDS) + set(linkdep ${BuildDepends_BINARY_DIR}/Project/linkdep${CMAKE_EXECUTABLE_SUFFIX}) + if(${linkdep} IS_NEWER_THAN ${TEST_LINK_DEPENDS}) +message(LINK_DEPENDS worked) + else() +message(SEND_ERROR LINK_DEPENDS failed. Executable + ${linkdep} +is not newer than dependency + ${TEST_LINK_DEPENDS} +) + endif() +endif() diff --git a/Tests/BuildDepends/Project/CMakeLists.txt b/Tests/BuildDepends/Project/CMakeLists.txt index e9d1296..70a2f37
[Cmake-commits] CMake branch, next, updated. v2.8.3-547-g7d43643
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 7d4364315d71729b2031a0a9e98c1866f994faeb (commit) via 6332687e490b48cb4153b0a87a62c34f5cf673a5 (commit) from 103a6ce0a0ff91ba760c0b4e847b98104ba3b77e (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=7d4364315d71729b2031a0a9e98c1866f994faeb commit 7d4364315d71729b2031a0a9e98c1866f994faeb Merge: 103a6ce 6332687 Author: David Cole david.c...@kitware.com AuthorDate: Fri Nov 5 09:23:28 2010 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Fri Nov 5 09:23:28 2010 -0400 Merge topic 'add-ProcessorCount-module' into next 6332687 Add correct module notice header. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6332687e490b48cb4153b0a87a62c34f5cf673a5 commit 6332687e490b48cb4153b0a87a62c34f5cf673a5 Author: David Cole david.c...@kitware.com AuthorDate: Fri Nov 5 09:21:51 2010 -0400 Commit: David Cole david.c...@kitware.com CommitDate: Fri Nov 5 09:21:51 2010 -0400 Add correct module notice header. Fixes failing ModuleNotices test. diff --git a/Modules/ProcessorCount.cmake b/Modules/ProcessorCount.cmake index e4aea19..b46a012 100644 --- a/Modules/ProcessorCount.cmake +++ b/Modules/ProcessorCount.cmake @@ -11,7 +11,7 @@ # code. #= -# Copyright 2002-2009 Kitware, Inc. +# Copyright 2010 Kitware, Inc. # # Distributed under the OSI-approved BSD License (the License); # see accompanying file Copyright.txt for details. @@ -20,7 +20,7 @@ # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # See the License for more information. #= -# (To distributed this file outside of CMake, substitute the full +# (To distribute this file outside of CMake, substitute the full # License text for the above reference.) function(ProcessorCount var) --- Summary of changes: Modules/ProcessorCount.cmake |4 ++-- 1 files changed, 2 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, next, updated. v2.8.3-549-g25be1b0
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 25be1b070297dea7def03bf95009c752426c54ab (commit) via 1f5644e1142a39440e5914ed6d817bf0ae23173a (commit) from 7d4364315d71729b2031a0a9e98c1866f994faeb (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=25be1b070297dea7def03bf95009c752426c54ab commit 25be1b070297dea7def03bf95009c752426c54ab Merge: 7d43643 1f5644e Author: David Cole david.c...@kitware.com AuthorDate: Fri Nov 5 16:03:42 2010 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Fri Nov 5 16:03:42 2010 -0400 Merge topic 'add-ProcessorCount-module' into next 1f5644e If getconf returns empty output, try cpuinfo. (#11302) http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=1f5644e1142a39440e5914ed6d817bf0ae23173a commit 1f5644e1142a39440e5914ed6d817bf0ae23173a Author: David Cole david.c...@kitware.com AuthorDate: Fri Nov 5 15:57:21 2010 -0400 Commit: David Cole david.c...@kitware.com CommitDate: Fri Nov 5 16:00:57 2010 -0400 If getconf returns empty output, try cpuinfo. (#11302) Also, add message output (temporarily) for gathering data on all the dashboard machines. After the test runs on the overnight dashboards tonight, I'll comment out the message output and commit/push again. diff --git a/Modules/ProcessorCount.cmake b/Modules/ProcessorCount.cmake index b46a012..5ccfbff 100644 --- a/Modules/ProcessorCount.cmake +++ b/Modules/ProcessorCount.cmake @@ -30,6 +30,7 @@ function(ProcessorCount var) if(WIN32) # Windows: set(count $ENV{NUMBER_OF_PROCESSORS}) +message(ProcessorCount: using environment variable) elseif(APPLE) # Mac: find_program(ProcessorCount_cmd_sysctl sysctl @@ -38,21 +39,29 @@ function(ProcessorCount var) execute_process(COMMAND ${ProcessorCount_cmd_sysctl} -n hw.ncpu OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE count) + message(ProcessorCount: using sysctl '${ProcessorCount_cmd_sysctl}') endif() else() +# Linux (and other systems with getconf): find_program(ProcessorCount_cmd_getconf getconf) if(ProcessorCount_cmd_getconf) - # Linux and other systems with getconf: execute_process(COMMAND ${ProcessorCount_cmd_getconf} _NPROCESSORS_ONLN OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE count) -else() - # Linux and other systems with /proc/cpuinfo: - set(cpuinfo_file /proc/cpuinfo) - if(EXISTS ${cpuinfo_file}) -file(STRINGS ${cpuinfo_file} procs REGEX ^processor.: [0-9]+$) -list(LENGTH procs count) - endif() + message(ProcessorCount: using getconf '${ProcessorCount_cmd_getconf}') +endif() + endif() + + # Execute this code when there is no 'sysctl' or 'getconf' or + # when previously executed methods return empty output: + # + if(NOT count) +# Systems with /proc/cpuinfo: +set(cpuinfo_file /proc/cpuinfo) +if(EXISTS ${cpuinfo_file}) + file(STRINGS ${cpuinfo_file} procs REGEX ^processor.: [0-9]+$) + list(LENGTH procs count) + message(ProcessorCount: using cpuinfo '${cpuinfo_file}') endif() endif() --- Summary of changes: Modules/ProcessorCount.cmake | 25 + 1 files changed, 17 insertions(+), 8 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.3-4-gc5a47ad
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 c5a47ad148a7a470eaebd350917ea0e036e77ac9 (commit) from 947de96030723fa231ed1ddc9d94d755f3d68d0b (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=c5a47ad148a7a470eaebd350917ea0e036e77ac9 commit c5a47ad148a7a470eaebd350917ea0e036e77ac9 Author: KWSys Robot kwro...@kitware.com AuthorDate: Sat Nov 6 00:01:12 2010 -0400 Commit: KWSys Robot kwro...@kitware.com CommitDate: Sat Nov 6 00:10:10 2010 -0400 KWSys Nightly Date Stamp diff --git a/Source/kwsys/kwsysDateStamp.cmake b/Source/kwsys/kwsysDateStamp.cmake index f94e212..eaee778 100644 --- a/Source/kwsys/kwsysDateStamp.cmake +++ b/Source/kwsys/kwsysDateStamp.cmake @@ -18,4 +18,4 @@ SET(KWSYS_DATE_STAMP_YEAR 2010) SET(KWSYS_DATE_STAMP_MONTH 11) # KWSys version date day component. Format is DD. -SET(KWSYS_DATE_STAMP_DAY 05) +SET(KWSYS_DATE_STAMP_DAY 06) --- Summary of changes: Source/kwsys/kwsysDateStamp.cmake |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits