Re: [CMake] Anyone gotten OpenSSL to build as an external project?
On Fri, Jan 14, 2011 at 3:43 PM, Pau Garcia i Quiles pgqui...@elpauer.orgwrote: Hi, I'm trying to get this working on Windows using a self-contained build environment that does NOT have Perl in path. It's a .bat file which downloads CMake and Perl and then fires a CMakeLists.txt with the ExternalProject_Add to build zlib (no problem after the patches I sent yesterday) and OpenSSL. One problem I've found is the PATH environment variable. ExternalProject_Add does not allow to set it, which forces me to use CMake in command mode + set (ENV{PATH} ... ) + execute_process. Ugly. Features I'm missing in ExternalProject_Add and I just realized thanks to OpenSSL: - Add a PATH parameter to ExternalProject_Add, ExternalProject_Add_Step and execute_process. It should override the default path. Adding new directories to the path would be possible by doing PATH $ENV{PATH}:/my/new/dir/in/path Good suggestion. Actually, we've wanted to add a feature to specify environment variables to arbitrary calls to add_custom_command for quite a while, but there are some subtle details behind it, and we haven't found the time and funding to get that done yet. This would be an easy pass-through from ExternalProject to such a feature as soon as the underlying feature exists in add_custom_command. - Define variables for SOURCE_DIR, BINARY_DIR, etc even if EP_PREFIX and EP_BASE are not set Not sure what you mean here? If you got a ExternalProject_Get_Property(${proj} source_dir) immediately after an ExternalProject_Add call you can retrieve the value of its source dir regardless of if you have EP_PREFIX or EP_BASE set, right? Those only control some of the default layouts that we had come up with when trying to organize things. - Allow for multiple CONFIGURE_COMMAND steps (I know, I can add my custom step, but it's much more complex) How many would you like? Why not just run a script as the single configure command, and then have your script do the multiple steps needed? Another more issue I'm seeing with ExternalProject_Add is tarballs with symlinks on Windows. The OpenSSL contains symlinks, which leads to a broken source dir because CMake is unable to create some files. Maybe CMake should pass libarchive some parameter? (if I extract the OpenSSL tarball with WinRAR, it does not fail) What does WinRAR give you? Symlinks because the Windows you're using supports them? Or copies of the linked-to files in place of symlinks? Or something else? On Fri, Jan 7, 2011 at 9:34 PM, kent williams nkwmailingli...@gmail.com wrote: This shouldn't be a big deal -- something like this should work: ExternalProject_add(OpenSSL URL http://www.openssl.org/source/openssl-1.0.0c.tar.gz; URL_MD5 ff8fb85610aef328315a9decbb2712e4 CONFIGURE_COMMAND ./config --prefix=${CMAKE_CURRENT_BINARY_DIR}/OpenSSL BUILD_IN_SOURCE 1 INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR}/OpenSSL ) set(OPENSSL_INCLUDE_DIR ${CMAKE_CURRENT_BINARY_DIR}/OpenSSL/include) link_directories(${CMAKE_CURRENT_BINARY_DIR}/OpenSSL/libs) set(OPENSSL_LIBRARIES ssl ssleay32 ssleay32MD) The problem is that OpenSSL doesn't handle configuration scripts in the usual way -- the configure script wants you to specify your platform/compiler string. They provide an 'automatic' script instead called config, so config --prefix=... Does mostly what you want, but they make you handle the OS X 64-bit case manually -- it wants you to run configure and tell it explicitly about the platform: ./Configure darwin64-x86_64-cc This is kind of crazy, but OK, whatever. So I need to try and figure out at configure time if it's an OS X build and if it's a 64 bit build. I can use if(APPLE) to detect an Mac platform, but there's no way I can figure out to determine if the currently selected build type is 64 bits. And I think that the stock OpenSSL distribution would completely lose its mind if you tried to configure a Universal Binary build! Any suggestions? ___ 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 -- Pau Garcia i Quiles http://www.elpauer.org (Due to my workload, I may need 10 days to answer) ___ 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
Re: [CMake] problem getting defines quoted properly
On Fri, Jan 14, 2011 at 4:35 PM, SF Markus Elfring elfr...@users.sourceforge.net wrote: The VS6 IDE does not support definition values with spaces... By the way: How do you think about the bug report rc.exe error in 2.8.4-rc1 if ADD_DEFINITITIONS contains definition with space by Vladislav Vaintroub? http://public.kitware.com/Bug/view.php?id=11695 Regards, Markus We're working on it. It's brand new because preprocessor definitions in rc files were not working right before this with VS10 because of http://public.kitware.com/Bug/view.php?id=11460 ___ 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] Anyone gotten OpenSSL to build as an external project?
On Fri, Jan 14, 2011 at 4:41 PM, Pau Garcia i Quiles pgqui...@elpauer.orgwrote: On Fri, Jan 14, 2011 at 9:52 PM, David Cole david.c...@kitware.com wrote: - Add a PATH parameter to ExternalProject_Add, ExternalProject_Add_Step and execute_process. It should override the default path. Adding new directories to the path would be possible by doing PATH $ENV{PATH}:/my/new/dir/in/path Good suggestion. Actually, we've wanted to add a feature to specify environment variables to arbitrary calls to add_custom_command for quite a while, but there are some subtle details behind it, and we haven't found the time and funding to get that done yet. This would be an easy pass-through from ExternalProject to such a feature as soon as the underlying feature exists in add_custom_command. What are those subtle details? I don't have them written down... every time Brad and I discuss this topic, though, we go down the rabbit hole and find them again. Next time, I'll try to write them down somewhere so that I can answer this succinctly. (Sorry, I know this is a lame cop-out, but it's Friday afternoon...) - Define variables for SOURCE_DIR, BINARY_DIR, etc even if EP_PREFIX and EP_BASE are not set Not sure what you mean here? If you got a ExternalProject_Get_Property(${proj} source_dir) immediately after an ExternalProject_Add call you can retrieve the value of its source dir regardless of if you have EP_PREFIX or EP_BASE set, right? Those only control some of the default layouts that we had come up with when trying to organize things. For OpenSSL, I need to know ExternalProject_Get_Property(${proj} source_dir) *while* I am still in ExternalProject_Add. This is still work in progress but here is what I am doing now: ExternalProject_Add( openssl DEPENDS zlib DOWNLOAD_DIR ${PROJECT_SOURCE_DIR}/downloads URL http://openssl.org/source/openssl-1.0.0c.tar.gz PATCH_COMMAND ${PROJECT_SOURCE_DIR}/bin/patch.exe -p1 ${PROJECT_SOURCE_DIR}/downloads/openssl-1.0.0c.patch CONFIGURE_COMMAND BUILD_COMMAND ${CMAKE_COMMAND} -DWINST_DIR=${PROJECT_SOURCE_DIR} -DOPENSSL_SOURCE_DIR=${PROJECT_BINARY_DIR}/openssl-prefix/src/openssl/ -DOPENSSL_GENASM_COMMAND=${OPENSSL_GENASM_COMMAND} -DOPENSSL_CONFIGURE_COMMAND=${OPENSSL_CONFIGURE_COMMAND} -DOPENSSL_BUILD_COMMAND=${OPENSSL_BUILD_COMMAND} -DOPENSSL_INSTALL_COMMAND=${OPENSSL_BUILD_COMMAND} install -P ${PROJECT_SOURCE_DIR}/configure-openssl.cmake BUILD_IN_SOURCE 1 ) Where configure-openssl.cmake is generates the assembly code, runs perl Configure, nmake and nmake install. The relevant part here is -DOPENSSL_SOURCE_DIR=${PROJECT_BINARY_DIR}/openssl-prefix/src/openssl/ in BUILD_COMMAND. OpenSSL must be built in-tree, which means you need to know where the source tree is while in the ExternalProject_Add call. So... just use SOURCE_DIR as part of a command, and it should substitute it for you... See http://cmake.org/cmake/help/cmake-2-8-docs.html#module:ExternalProject -- specifically this section: The command line, comment, and working directory of every standard and custom step is processed to replace tokens SOURCE_DIR, BINARY_DIR, INSTALL_DIR, and TMP_DIR with corresponding property values. - Allow for multiple CONFIGURE_COMMAND steps (I know, I can add my custom step, but it's much more complex) How many would you like? Why not just run a script as the single configure command, and then have your script do the multiple steps needed? That's what I'm currently doing, which is why I have the problem above: I need to know the source directory, the build directory, etc of that ExternalProject. That means you need to pass variables, set PATH, etc. It'd be easier if an arbitrary number of CONFIGURE_COMMAND would be run in order before the BUILD_COMMAND. I'll think about it, but it's hard to see how an abitrary number of steps (that are not simply custom defined steps with their own names) would be readable in the ExternalProject_Add interface. It's very useful, but it's already, at its young age, quite crowded with parameters. ... Planting reminder seed deep into brain tissue. Water, nourish, and check back later. ... Another more issue I'm seeing with ExternalProject_Add is tarballs with symlinks on Windows. The OpenSSL contains symlinks, which leads to a broken source dir because CMake is unable to create some files. Maybe CMake should pass libarchive some parameter? (if I extract the OpenSSL tarball with WinRAR, it does not fail) What does WinRAR give you? Symlinks because the Windows you're using supports them? Or copies of the linked-to files in place of symlinks? Or something else? Copies of the linked-to files in place of symlinks. Thanks for the info. -- Pau Garcia i Quiles http://www.elpauer.org (Due to my workload, I may need 10 days to answer) ___ Powered by www.kitware.com Visit other
Re: [CMake] Customize dependencies scanned by CMake
See this command: http://cmake.org/cmake/help/cmake-2-8-docs.html#command:include_regular_expression If you can match many of the header files that rarely, if ever, change with a regular expression based on directory and file name patterns, then you can reduce the number of entries in the generated makefiles significantly. HTH, David On Sat, Jan 15, 2011 at 7:57 AM, Dieter Oberkofler doberkofler.li...@gmail.com wrote: I'm using CMake 2.8.3 using makefiles for the OSX and Windows platform. I very much like CMake but unfortunately the build performance consistently causes some problems. And the main performance problem is the absolutely correct but painfully slow dependency checking. In a large (Qt/C++) project a single source file has over 1500 include dependencies summing up to a depend.make file with several million lines. Almost all (typically 99%) of the include dependencies are not needed in real life because they come from Qt or other static frameworks but dramatically slow down the build process. I do know that CMake offers the /fast option but this removes all dependencies and although it is 3-5 times faster, manually optimizing the content of depend.make makes the build up to 20 times faster. Why is the /fast option not (at least) as fast as a manually optimized depend.make? Is there a way to: - customize what includes should be parsed? - exclude dependency trees? - limit the recursion level? or any other option to solve this problem? Thank you! ___ 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] How to assign version numbers from a source header to CMake variables?
Markus, Please discuss things on the CMake mailing list and wait (sometimes a few days are necessary for a discussion to evolve and resolve itself into a conclusion) until there is a consensus about a course of action among the people discussing it on the mailing list before you bring things up in the CMake bug tracker. The bug tracker is meant to help us track what bugs are going to be fixed in the upcoming releases of CMake. It is not good as a general discussion mechanism because only a handful of CMake developers actually peruse the new issues in there. Whereas hundreds (and even thousands) of people read the CMake mailing list regularly. If there is a specific problem with CMake's actual functionality, then it belongs in the bug tracker as an issue. Thanks for your help to make CMake better, David Cole Kitware, Inc. On Mon, Jan 17, 2011 at 11:30 AM, SF Markus Elfring elfr...@users.sourceforge.net wrote: Here is the code: I have found and implemented a solution that can extract data from a header file with the help from evaluation of regular expressions. file(STRINGS ${CPPCHECK_SOURCE_DIR}/lib/library_version.h CPPCHECK_BUILD_SPECIFICATION REGEX ^[ \t]*#define[ \t]+CPPCHECK_LIBRARY_VERSION_[A-Z]+[ \t]+[0-9]+.*$) if(CPPCHECK_BUILD_SPECIFICATION) message(STATUS ${CPPCHECK_BUILD_SPECIFICATION}) foreach(item IN ITEMS MAJOR MINOR PATCH) string(REGEX REPLACE .*#define[ \t]+CPPCHECK_LIBRARY_VERSION_${item}[ \t]+([0-9]+).* \\1 XYZ ${CPPCHECK_BUILD_SPECIFICATION}) set(CPPCHECK_BUILD_VERSION_${item} ${XYZ} CACHE STRING Version number for the build of the Cppcheck software) endforeach() else() message(FATAL_ERROR Data were not found for the required build specification.) endif() How do you think about any optimisation opportunities like it is mentioned in the feature request Directly reading data from a file into variables? http://public.kitware.com/Bug/view.php?id=11714 Regards, Markus ___ 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] xcode project and static library dependencies
On Mon, Jan 17, 2011 at 9:02 PM, Nick Kledzik kled...@apple.com wrote: On Jan 13, 2011, at 1:57 PM, Bill Hoffman wrote: On 1/13/2011 4:49 PM, Nick Kledzik wrote: On Jan 13, 2011, at 12:41 PM, Bill Hoffman wrote: This is because Xcode provides no way to order static libraries as far as I can tell, or to repeat them. Also, no way to depend on a static library or a file directly, forcing the makefile usage. This may have changed, so, if you can so native Xcode projects that can do the following we can change cmake: - have a static library show up more than once on a link line This is unnecessary. Unlike most unix linkers, the Xcode linker repeatedly iterators over all archives on the command line. You never need to add the same archive more than once on the command line. That was not true when I implemented this the first time. We have a test in CMake that counts on library ordering and it failed. - be able to specify the order of static libraries on the link line The order that the libraries appear in the PBXFrameworksBuildPhase is the order that they are passed to the linker. OK, sounds good... - be able to relink an executable when a static library that it depends on is rebuilt. This is normal behavior for the Xccde build system. If one target depends on the product of another target, the build system follows the chain and builds everything needed for the target requested to be built. If you can get all the CMake tests to pass with these changes, I would be very happy to get rid of the extra stuff. It may have changed, but when I first did the implementation, it was required to do it the way it is. That said, I have not revisited this stuff since Xcode 1.5, so things may have changed for the better. I have changes that cause cmake to produce an Xcode project in which the targets do not have the extra phases, and the dependencies are set up such that incremental builds work efficiently! But I'm having some impedance mismatches between where Xcode want the build results to be and where cmake wants them. Xcode (like many makefiles) has the concept of a normal build and an install build. But when cmake runs it builds some test programs using the xcodebuild command line, but does not specify the install action but then expects to find the resulting executable in the install location. I'm sure I could change TryCompileCode() to add install to the xcodebuild line, but it seems like lots of other cmake scripts will have the same expectations. I playing with trying to get Xcode to always do an install. I tried creating xcode projects with the initial (not install) locations being where cmake wants them, but xcode seems to not do the internal dependency analysis properly when the intermediate results are not within BUILD_PRODUCTS_DIR. What is the cmake model for where the results of a build go? Putting the results where the native tool expects them is fine. CMake makes no guarantees about where build products go. If a native tool has no expectations, we try to hide build results underneath the CMakeFiles/ directories in the build tree to avoid cluttering a developer's view of the build tree with stuff they mostly don't need to see... I don't think there are any hard requirements w.r.t. build products locations. Although where libraries and executables end up is important for the CMake generated install rules to work. Feel free to change things around experimentally if that makes it easy to work with newer Xcode versions. The test suite will very likely tell us if things have gone awry. Thanks for your effort on this, David Cole Kitware, Inc. -Nick ___ 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] targetname_BINARY_DIR?
There is nothing like that... Unless the target has had its directory property *set* before you make the get_property call. Why do you need this? What's your use case where the name of a target is known, but the name of its containing project is unknown (presumably)...? On Mon, Jan 17, 2011 at 9:47 PM, Pau Garcia i Quiles pgqui...@elpauer.orgwrote: Hello, If I use: project( blah ) that creates variables blah_SOURCE_DIR and blah_BINARY_DIR. Does anything like that exist for a *target* ? I've managed to emulate targetname_SOURCE_DIR with: get_target_property(${name}_SOURCEFILES ${name} SOURCES) list(GET ${name}_SOURCEFILES 0 ${name}_FIRST_SOURCEFILE ) get_source_file_property(${name}_SUBDIR_FULLPATH ${${name}_FIRST_SOURCEFILE} LOCATION) string(REPLACE ${WT_SOURCE_DIR}/examples/ ${name}_SUBDIRANDSOURCE ${${name}_SUBDIR_FULLPATH}) string(REPLACE /${${name}_FIRST_SOURCEFILE} ${name}_SUBDIR ${${name}_SUBDIRANDSOURCE}) However, I don't know how to emulate targetname_BINARY_DIR. I tried with: get_target_property(${name}_RUNTIME_OUTPUT_DIRECTORY ${name} RUNTIME_OUTPUT_DIRECTORY) But I get NOTFOUND :-( Thank you -- Pau Garcia i Quiles http://www.elpauer.org (Due to my workload, I may need 10 days to answer) ___ 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] xcode project and static library dependencies
Clarification: I was referring to intermediate build product files, not final libraries and executables. For the most part, nobody should care where their intermediate files are as long as everything works. Sorry for the mis-communication. On Tue, Jan 18, 2011 at 8:30 AM, Bill Hoffman bill.hoff...@kitware.comwrote: I have changes that cause cmake to produce an Xcode project in which the targets do not have the extra phases, and the dependencies are set up such that incremental builds work efficiently! But I'm having some impedance mismatches between where Xcode want the build results to be and where cmake wants them. Xcode (like many makefiles) has the concept of a normal build and an install build. But when cmake runs it builds some test programs using the xcodebuild command line, but does not specify the install action but then expects to find the resulting executable in the install location. I'm sure I could change TryCompileCode() to add install to the xcodebuild line, but it seems like lots of other cmake scripts will have the same expectations. I playing with trying to get Xcode to always do an install. I tried creating xcode projects with the initial (not install) locations being where cmake wants them, but xcode seems to not do the internal dependency analysis properly when the intermediate results are not within BUILD_PRODUCTS_DIR. What is the cmake model for where the results of a build go? Putting the results where the native tool expects them is fine. CMake makes no guarantees about where build products go. If a native tool has no expectations, we try to hide build results underneath the CMakeFiles/ directories in the build tree to avoid cluttering a developer's view of the build tree with stuff they mostly don't need to see... I don't think there are any hard requirements w.r.t. build products locations. Although where libraries and executables end up is important for the CMake generated install rules to work. Feel free to change things around experimentally if that makes it easy to work with newer Xcode versions. The test suite will very likely tell us if things have gone awry. That is not entirely true Things like EXECUTABLE_OUTPUT_PATH and target location properties have to work without an extra install step. What do you mean CMake expects to find things in install locations? CMake does need to be able to find executables after the build is run. It also needs to be able to place them via location properties. -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] MSVC 2010
From cmake 2.8.4-rc1 --help output (on a Windows machine) : Generators The following generators are available on this platform: ... NMake Makefiles = Generates NMake makefiles. NMake Makefiles JOM = Generates JOM makefiles. Unix Makefiles = Generates standard UNIX makefiles. Visual Studio 10= Generates Visual Studio 10 project files. Visual Studio 10 Win64 = Generates Visual Studio 10 Win64 project ... The same should be in CMake 2.8.3. I would recommend that you try CMake 2.8.4-rc1, as several VS10 related issues have been addressed in the 2.8.4 release. Thanks, David On Tue, Jan 18, 2011 at 11:09 AM, Dominik Szczerba domi...@itis.ethz.chwrote: I mean the option -G to specify the target build system. In my cmake 2.8.3 there is only MSVC 2008. Or d oyou refer to the latest development version of cmake? Dominik On Tue, Jan 18, 2011 at 4:39 PM, Pau Garcia i Quiles pgqui...@elpauer.org wrote: On Tue, Jan 18, 2011 at 4:35 PM, Dominik Szczerba domi...@itis.ethz.ch wrote: Hi, I am wondering if generator output support for Visual Studio 2010 is planned any time in the future? Currently only 2008 is supported (cmake 2.8.3) but the conversion offered by MSVC 2010 itself does not do its job correctly converting 2008 cmake outputs. MSVC2010 works fine. I've been using it for a long time. Or do you mean some special feature is not working? -- Pau Garcia i Quiles http://www.elpauer.org (Due to my workload, I may need 10 days to answer) ___ 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] MSVC 2010
Your confusion is that you are looking for a 2010 -- there isn't one -- there is Visual Studio 10 On Tue, Jan 18, 2011 at 11:14 AM, John Drescher dresche...@gmail.comwrote: I mean the option -G to specify the target build system. In my cmake 2.8.3 there is only MSVC 2008. Or d oyou refer to the latest development version of cmake? That supports VC2010 as well. 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 ___ 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] MSVC 2010
Maybe / maybe not. We're re-working it now... On Tue, Jan 18, 2011 at 11:53 AM, Andrea Galeazzi galea...@korg.it wrote: What about http://public.kitware.com/Bug/view.php?id=11258 ? Do you think it'll be fixed in 2.8.4 final release? Cheers David Cole ha scritto: Your confusion is that you are looking for a 2010 -- there isn't one -- there is Visual Studio 10 On Tue, Jan 18, 2011 at 11:14 AM, John Drescher dresche...@gmail.comwrote: I mean the option -G to specify the target build system. In my cmake 2.8.3 there is only MSVC 2008. Or d oyou refer to the latest development version of cmake? That supports VC2010 as well. 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 -- ___ 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 __ Informazioni da ESET NOD32 Antivirus, versione del database delle firme digitali 5787 (20110114) __ Il messaggio è stato controllato da ESET NOD32 Antivirus. www.nod32.it ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake ___ 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] ctest crashes with HTTPS drop method
Did you build ctest yourself, or are you using Kitware's pre-built binaries? The Kitware pre-built binaries do not have OpenSSL linked in. Therefore, you cannot submit via https with the pre-built binaries. If you built it yourself, you need to make sure the CMAKE_USE_OPENSSL option is ON. It's OFF by default. HTH, David On Tue, Jan 18, 2011 at 12:04 PM, Gerhard Gappmeier gerhard.gappme...@ascolab.com wrote: Hi I tried to change the drop method from HTTP to HTTPS today, because I want to secure my server before I make it world accessible. However ctest crashes with segmentation fault. The apache server uses a self-signed certificate, maybe this causes the problem. How can I add this to the trust list? Does ctest have a trust list somewhere? I tried to add add it to /etc/ssl/certs, but this seems not to work. The coredump does not help a lot without debug symbols, but at least it shows the function that crashes: Core was generated by `ctest -D Experimental -VV'. Program terminated with signal 11, Segmentation fault. #0 0xb71ab900 in engine_unlocked_finish ()---Type return to continue, or q return to quit--- (gdb) bt #0 0xb71ab900 in engine_unlocked_finish () from /usr/lib/libcrypto.so.1.0.0 The output using -VV looks like this if it helps: ... Close file: CoverageLog-0.xml Covered LOC: 2154 Not covered LOC: 2823 Total LOC: 4977 Percentage Coverage: 43.28% UpdateCTestConfiguration from :/home/gergap/work/buildbot/sidusttng/build/DartConfiguration.tcl Parse Config file:/home/gergap/work/buildbot/sidusttng/build/DartConfiguration.tcl Submit files (using https) Using HTTP submit method Drop site:https://cdash.ascolab.com/CDash/submit.php?project=sidusttng Upload file: /home/gergap/work/buildbot/sidusttng/build/Testing/20110118-1644/Build.xml to https://cdash.ascolab.com/CDash/submit.php?project=sidusttngFileName=ws-gergap___Linux-c%2B%2B___20110118-1644-Experimental___XML___Build.xmlMD5=e27e48db416631db7f44d7e91e5f174fSize: 963 Segmentation fault (core dumped) Some version infos: gergap@ws-gergap ~ $ ctest --version ctest version 2.8.3 gergap@ws-gergap ~ $ eix -I -c openssl [I] dev-libs/openssl (1.0.0c@12/07/2010): full-strength general purpose cryptography library (including SSL v2/v3 and TLS v1) gergap@ws-gergap ~ $ uname -a Linux ws-gergap 2.6.36-gentoo-r1 #1 SMP PREEMPT Wed Dec 8 09:41:17 CET 2010 i686 Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz GenuineIntel GNU/Linux -- 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] MSVC 2010
On Tue, Jan 18, 2011 at 1:02 PM, Hendrik Sattler p...@hendrik-sattler.dewrote: Am Dienstag 18 Januar 2011, 18:05:50 schrieb Mateusz Loskot: On 18/01/11 16:15, David Cole wrote: Your confusion is that you are looking for a 2010 -- there isn't one -- there is Visual Studio 10 David, This is indeed a mess in CMake. There is no such product as Visual Studio 10. Also, there is no Microsoft product named Visual Studio .NET 2005. 10.4 million google hits, some on microsoft.com (although I wouldn't take that page as proper history indication), tell something different. I don' think all those authors invented the same name by accident. HS ___ 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 Obviously, practically speaking, they are one and the same. The GUI and splash screen and about dialog all say Visual Studio 2010 ..., but the installation directory is C:\Program Files (x86)\Microsoft Visual Studio 10.0. I think the problem is... these strings are used as -G arguments to CMake. So... we cannot take away the -G strings that already work. But I suppose if we wanted to make things consistent someday within CMake, we could keep all the existing -G strings and keep them working the same as they do now, but then make the new and improved version have all consistent strings, referenced in a good order and with good phrasing. Comments indicating what people think is good here would be most welcome in this bug entry: http://vtk.org/Bug/view.php?id=10158 Thanks a lot, 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] xcode project and static library dependencies
On Tue, Jan 18, 2011 at 2:12 PM, Nick Kledzik kled...@apple.com wrote: On Jan 18, 2011, at 5:30 AM, Bill Hoffman wrote: I have changes that cause cmake to produce an Xcode project in which the targets do not have the extra phases, and the dependencies are set up such that incremental builds work efficiently! But I'm having some impedance mismatches between where Xcode want the build results to be and where cmake wants them. Xcode (like many makefiles) has the concept of a normal build and an install build. But when cmake runs it builds some test programs using the xcodebuild command line, but does not specify the install action but then expects to find the resulting executable in the install location. I'm sure I could change TryCompileCode() to add install to the xcodebuild line, but it seems like lots of other cmake scripts will have the same expectations. I playing with trying to get Xcode to always do an install. I tried creating xcode projects with the initial (not install) locations being where cmake wants them, but xcode seems to not do the internal dependency analysis properly when the intermediate results are not within BUILD_PRODUCTS_DIR. What is the cmake model for where the results of a build go? Putting the results where the native tool expects them is fine. CMake makes no guarantees about where build products go. If a native tool has no expectations, we try to hide build results underneath the CMakeFiles/ directories in the build tree to avoid cluttering a developer's view of the build tree with stuff they mostly don't need to see... I don't think there are any hard requirements w.r.t. build products locations. Although where libraries and executables end up is important for the CMake generated install rules to work. Feel free to change things around experimentally if that makes it easy to work with newer Xcode versions. The test suite will very likely tell us if things have gone awry. That is not entirely true Things like EXECUTABLE_OUTPUT_PATH and target location properties have to work without an extra install step. What do you mean CMake expects to find things in install locations? CMake does need to be able to find executables after the build is run. It also needs to be able to place them via location properties. Take for example a simple test case that just builds one source file into an executable via ADD_EXECUTABLE(main main.c) When I use cmake to create a Makefile, the resulting main executable is placed in the build directory tree next to the Makefile. When I use cmake to create a xcode project, the resulting main executable is placed in a subdirectory named Debug of the build directory tree. The method cmCoreTryCompile::FindOutputFile() seems to know about this because it looks for executables in the build directory then in build directory/Debug and build directory/Release. None of these locations are the native location where Xcode would put a build result. So, I need to create xcode projects that place/copy the resulting executables somewhere that cmake universe expects. Now I am wondering if I should add a copy-files-phase in the executable target to copy the resulting binary to the build directory. That would make xcode output be like Makefile output. -Nick Where does the Xcode equivalent of add_executable(main main.c) naturally go? ___ 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] xcode project and static library dependencies
On Tue, Jan 18, 2011 at 2:30 PM, Nick Kledzik kled...@apple.com wrote: On Jan 18, 2011, at 11:23 AM, David Cole wrote: That is not entirely true Things like EXECUTABLE_OUTPUT_PATH and target location properties have to work without an extra install step. What do you mean CMake expects to find things in install locations? CMake does need to be able to find executables after the build is run. It also needs to be able to place them via location properties. Take for example a simple test case that just builds one source file into an executable via ADD_EXECUTABLE(main main.c) When I use cmake to create a Makefile, the resulting main executable is placed in the build directory tree next to the Makefile. When I use cmake to create a xcode project, the resulting main executable is placed in a subdirectory named Debug of the build directory tree. The method cmCoreTryCompile::FindOutputFile() seems to know about this because it looks for executables in the build directory then in build directory/Debug and build directory/Release. None of these locations are the native location where Xcode would put a build result. So, I need to create xcode projects that place/copy the resulting executables somewhere that cmake universe expects. Now I am wondering if I should add a copy-files-phase in the executable target to copy the resulting binary to the build directory. That would make xcode output be like Makefile output. -Nick Where does the Xcode equivalent of add_executable(main main.c) naturally go? It depends on some global xcode settings. Some users have a one location in which all projects put their final projects. Some users have a build/Debug and build/Release directory next to the xcode project file. That is why I'm thinking that if cmake's model is to have the final executable put into cmakes build directory, that I should just let xcode build it where the user wants, then copy it to where cmake wants. That way both models are happy. -Nick CMake, unless told otherwise, should produce an identical build tree to the native tool when possible. I think the way we do it now (by default) is a direct reflection of the fact that Xcode used to do it that way back in the day... when the Xcode generator was first produced. I don't think changing the default value of the output location is a problem for people. But we do have to honor EXECUTABLE_OUTPUT_PATH and the new CMAKE_RUNTIME_OUTPUT_DIRECTORY and all of the variants thereof that people might be setting in their CMakeLists files. ___ 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] Problems with MinGW + BundleUtilities
On Windows, you have to tell fixup_bundle where to find the Qt dll's (and the others) by passing in a list of directories as the last argument. Or, alternatively, simply add those directories to the PATH as well. HTH, David On Tue, Jan 18, 2011 at 4:34 PM, NoRulez noru...@me.com wrote: Hello, I build my Qt project successfully on linux/mac with the great BundleUtilities. On Windows the required Qt dll’s and also “libgcc_s_dw2-1.dll” and “mingwm10.dll” aren’t packaged. The dumpbin.exe is in the path and the dumpbin.exe is under C:\masm32\bin\dumpbin.exe How can I solve this? Thanks in advance Best Regards NoRulez ___ 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] Problems with MinGW + BundleUtilities
Providing code samples and/or copy/pasted output from doing your build would be more effective. I don't really know what you mean by give two destinations On Tue, Jan 18, 2011 at 5:51 PM, NoRulez noru...@me.com wrote: Thanks for the answer I already added ${QT_LIBRARY_DIR} and ${QT_BINARY_DIR}, but if I give two destinations, I get the error that it isn't a valid bundle. Best Regards NoRulez Am 18.01.2011 um 23:43 schrieb David Cole david.c...@kitware.com: On Windows, you have to tell fixup_bundle where to find the Qt dll's (and the others) by passing in a list of directories as the last argument. Or, alternatively, simply add those directories to the PATH as well. HTH, David On Tue, Jan 18, 2011 at 4:34 PM, NoRulez noru...@me.comnoru...@me.comwrote: Hello, I build my Qt project successfully on linux/mac with the great BundleUtilities. On Windows the required Qt dll’s and also “libgcc_s_dw2-1.dll” and “mingwm10.dll” aren’t packaged. The dumpbin.exe is in the path and the dumpbin.exe is under C:\masm32\bin\dumpbin.exe How can I solve this? Thanks in advance Best Regards NoRulez ___ Powered by http://www.kitware.comwww.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQhttp://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake 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] Problems with MinGW + BundleUtilities
And what is the value of DIRS? On Wed, Jan 19, 2011 at 3:40 AM, NoRulez noru...@me.com wrote: The code I use to create the bundle is as followed SET(DIRS ${QT_BINARY_DIR} ${QT_LIBRARY_DIR}) SET(APPS ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${PROJECT_NAME}.exe) # Not working (Also when trying this in the INSTALL(CODE # SET(APPS ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${PROJECT_NAME}.exe) # SET(APPS ${CMAKE_INSTALL_PREFIX}/${PROJECT_NAME}.exe) # SET(APPS \${CMAKE_INSTALL_PREFIX}/${PROJECT_NAME}.exe) SET(PLUGINS plugins) INSTALL(FILES ${QT_PLUGINS_DIR}/sqldrivers/qsqlited4.dllDESTINATION ${PLUGINS}/sqldrivers COMPONENT ${PROJECT_NAME}) INSTALL(CODE file(GLOB_RECURSE QTPLUGINS \${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${PLUGINS}/sqldrivers/* ${CMAKE_SHARED_LIBRARY_SUFFIX}\) include(BundleUtilities) fixup_bundle(\${APPS}\ \\${QTPLUGINS}\ \${DIRS}\) COMPONENT ${PROJECT_NAME}) The install command for the application is: INSTALL(TARGETS ${PROJECT_NAME} BUNDLE DESTINATION . COMPONENT ${PROJECT_NAME} RUNTIME DESTINATION . COMPONENT ${PROJECT_NAME}) Thanks in advance Best Regards NoRulez *Von:* David Cole [mailto:david.c...@kitware.com] *Gesendet:* Mittwoch, 19. Jänner 2011 00:26 *An:* NoRulez *Cc:* CMake MailingList *Betreff:* Re: [CMake] Problems with MinGW + BundleUtilities Providing code samples and/or copy/pasted output from doing your build would be more effective. I don't really know what you mean by give two destinations On Tue, Jan 18, 2011 at 5:51 PM, NoRulez noru...@me.com wrote: Thanks for the answer I already added ${QT_LIBRARY_DIR} and ${QT_BINARY_DIR}, but if I give two destinations, I get the error that it isn't a valid bundle. Best Regards NoRulez Am 18.01.2011 um 23:43 schrieb David Cole david.c...@kitware.com: On Windows, you have to tell fixup_bundle where to find the Qt dll's (and the others) by passing in a list of directories as the last argument. Or, alternatively, simply add those directories to the PATH as well. HTH, David On Tue, Jan 18, 2011 at 4:34 PM, NoRulez noru...@me.com wrote: Hello, I build my Qt project successfully on linux/mac with the great BundleUtilities. On Windows the required Qt dll’s and also “libgcc_s_dw2-1.dll” and “mingwm10.dll” aren’t packaged. The dumpbin.exe is in the path and the dumpbin.exe is under C:\masm32\bin\dumpbin.exe How can I solve this? Thanks in advance Best Regards NoRulez ___ 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 ___ 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] Problems with MinGW + BundleUtilities
Never mind. It's QT_BINARY_DIR and QT_LIBRARY_DIR, right there in the first line of code. So add to that variable the actual directories where all of your dlls live and it should work. i.e. -- what directories are the following files in? libgcc_s_dw2-1.dll mingwm10.dll They also need to be included in DIRS for fixup_bundle and get_prerequisites to find them. On Wed, Jan 19, 2011 at 5:21 AM, David Cole david.c...@kitware.com wrote: And what is the value of DIRS? On Wed, Jan 19, 2011 at 3:40 AM, NoRulez noru...@me.com wrote: The code I use to create the bundle is as followed SET(DIRS ${QT_BINARY_DIR} ${QT_LIBRARY_DIR}) SET(APPS ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${PROJECT_NAME}.exe) # Not working (Also when trying this in the INSTALL(CODE # SET(APPS ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${PROJECT_NAME}.exe) # SET(APPS ${CMAKE_INSTALL_PREFIX}/${PROJECT_NAME}.exe) # SET(APPS \${CMAKE_INSTALL_PREFIX}/${PROJECT_NAME}.exe) SET(PLUGINS plugins) INSTALL(FILES ${QT_PLUGINS_DIR}/sqldrivers/qsqlited4.dllDESTINATION ${PLUGINS}/sqldrivers COMPONENT ${PROJECT_NAME}) INSTALL(CODE file(GLOB_RECURSE QTPLUGINS \${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${PLUGINS}/sqldrivers/* ${CMAKE_SHARED_LIBRARY_SUFFIX}\) include(BundleUtilities) fixup_bundle(\${APPS}\ \\${QTPLUGINS}\ \${DIRS}\) COMPONENT ${PROJECT_NAME}) The install command for the application is: INSTALL(TARGETS ${PROJECT_NAME} BUNDLE DESTINATION . COMPONENT ${PROJECT_NAME} RUNTIME DESTINATION . COMPONENT ${PROJECT_NAME}) Thanks in advance Best Regards NoRulez *Von:* David Cole [mailto:david.c...@kitware.com] *Gesendet:* Mittwoch, 19. Jänner 2011 00:26 *An:* NoRulez *Cc:* CMake MailingList *Betreff:* Re: [CMake] Problems with MinGW + BundleUtilities Providing code samples and/or copy/pasted output from doing your build would be more effective. I don't really know what you mean by give two destinations On Tue, Jan 18, 2011 at 5:51 PM, NoRulez noru...@me.com wrote: Thanks for the answer I already added ${QT_LIBRARY_DIR} and ${QT_BINARY_DIR}, but if I give two destinations, I get the error that it isn't a valid bundle. Best Regards NoRulez Am 18.01.2011 um 23:43 schrieb David Cole david.c...@kitware.com: On Windows, you have to tell fixup_bundle where to find the Qt dll's (and the others) by passing in a list of directories as the last argument. Or, alternatively, simply add those directories to the PATH as well. HTH, David On Tue, Jan 18, 2011 at 4:34 PM, NoRulez noru...@me.com wrote: Hello, I build my Qt project successfully on linux/mac with the great BundleUtilities. On Windows the required Qt dll’s and also “libgcc_s_dw2-1.dll” and “mingwm10.dll” aren’t packaged. The dumpbin.exe is in the path and the dumpbin.exe is under C:\masm32\bin\dumpbin.exe How can I solve this? Thanks in advance Best Regards NoRulez ___ 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 ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] How to assign data from subexpressions of regular expressions to CMake variables?
On Thu, Jan 20, 2011 at 7:39 AM, Michael Wild them...@gmail.com wrote: On 01/20/2011 12:10 PM, SF Markus Elfring wrote: Thanks for your help to make CMake better, Is the command variant string(REGEX REPLACE ...) completely documented? Can multiple variables be specified that will receive the data from the evaluation of subexpressions in the passed regular expression? Regards, Markus AFAIK no, but you can misuse if(string|varname MATCHES pattern) for this. It stores the groups in CMAKE_MATCH_n where n is {0..9}. Match 0 is always the whole match of pattern and match 1 is the contains the first group. 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 I think it's the case that the CMAKE_MATCH_* variables are set after *any* regex matching operation, be it from an if(... MATCHES ...) or a string(REGEX or string(MATCH command. Let us know if you find that not to be true. From the bottom of ( http://cmake.org/cmake/help/cmake-2-8-docs.html#command:string ) : () Saves a matched subexpression, which can be referenced in the REGEX REPLACE operation. Additionally it is saved by all regular expression-related commands, including e.g. if( MATCHES ), in the variables CMAKE_MATCH_(0..9). 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] How to assign data from subexpressions of regular expressions to CMake variables?
On Thu, Jan 20, 2011 at 8:06 AM, Michael Wild them...@gmail.com wrote: On 01/20/2011 02:01 PM, David Cole wrote: On Thu, Jan 20, 2011 at 7:39 AM, Michael Wild them...@gmail.com wrote: On 01/20/2011 12:10 PM, SF Markus Elfring wrote: Thanks for your help to make CMake better, Is the command variant string(REGEX REPLACE ...) completely documented? Can multiple variables be specified that will receive the data from the evaluation of subexpressions in the passed regular expression? Regards, Markus AFAIK no, but you can misuse if(string|varname MATCHES pattern) for this. It stores the groups in CMAKE_MATCH_n where n is {0..9}. Match 0 is always the whole match of pattern and match 1 is the contains the first group. 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 I think it's the case that the CMAKE_MATCH_* variables are set after *any* regex matching operation, be it from an if(... MATCHES ...) or a string(REGEX or string(MATCH command. Let us know if you find that not to be true. From the bottom of ( http://cmake.org/cmake/help/cmake-2-8-docs.html#command:string ) : () Saves a matched subexpression, which can be referenced in the REGEX REPLACE operation. Additionally it is saved by all regular expression-related commands, including e.g. if( MATCHES ), in the variables CMAKE_MATCH_(0..9). HTH, David Ah, yes. I keep forgetting. Might I propose that the documentation about regular expressions be extracted into its own section and then be referenced from all commands that have a REGEX mode? Because, confusingly, the only documentation about regular expression is at the end of the string(REGEX REPLACE) command, but then uses if(... MATCHES ...) as an example. For the reader of the if( MATCHES ) documentation, this isn't very discoverable, it doesn't even refer him to the string(REGEX REPLACE) command. Michael Me too. I had to go searching for CMAKE_MATCH_ because I knew it was stated somewhere. Much to my surprise, there was only a single CMAKE_MATCH on our whole documentation page. It would make sense to document the variables CMAKE_MATCH_0 and friends explicitly. And cross-referencing left, right, north and south would also be good. You can propose all you want. I keep getting distracted by the real bugs on my plate... :-) ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] How to assign data from subexpressions of regular expressions to CMake variables?
On Thu, Jan 20, 2011 at 12:37 PM, Alexander Neundorf a.neundorf-w...@gmx.net wrote: On Thursday 20 January 2011, Michael Wild wrote: On 01/20/2011 02:14 PM, David Cole wrote: ... Me too. I had to go searching for CMAKE_MATCH_ because I knew it was stated somewhere. Much to my surprise, there was only a single CMAKE_MATCH on our whole documentation page. It would make sense to document the variables CMAKE_MATCH_0 and friends explicitly. And cross-referencing left, right, north and south would also be good. You can propose all you want. I keep getting distracted by the real bugs on my plate... :-) ;-) Right. Anyways, some newbie doing serious RTFM as he should will stumble across the string(REGEX REPLACE) documentation any ways and connect the dots :-P I think Dave meant Please write a patch which adds the documentation and put this in the bugtracker :-) Alexy Actually, I don't mean to be flippant. Hopefully nobody read my earlier emails that way. But I am serious. There are bigger fish to fry this week... And in lieu of *perfect* documentation, I am (and others are) perfectly willing to point to the hard to find nuggets of documentation when a direct question about something is asked. 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] VS2010 tries to compile a file with *.res extension when its copied
Is tha with 2.8.3 or 2.8.4-rc1? On Thursday, January 20, 2011, aaron_wri...@selinc.com wrote: I know I've asked this before, but now I've narrowed it down a bit and I have an example. This copies a *.res file to the binary directory where presumably the executable can find it. The executable has that file as a source file to hook up the dependency, and the copied file has the HEADER_FILE_ONLY property set. Yet, somehow VS2010 is still trying to compile en.res. I even tried setting the source and destination en.res files to HEADER_FILE_ONLY, but that didn't fix it. Removing the ADD_CUSTOM_COMMAND that does the copy fixes the problem. Why is this broken? FYI, it worked fine in VS2008. CMAKE_MINIMUM_REQUIRED(VERSION 2.8) PROJECT(cmake_res_bug) SET(RESOURCE_FILE ${PROJECT_SOURCE_DIR}/resources/en.res) GET_FILENAME_COMPONENT(RESOURCE_FILE_BASENAME ${RESOURCE_FILE} NAME) SET(LOCAL_RESOURCE_FILE ${PROJECT_BINARY_DIR}/resources/${RESOURCE_FILE_BASENAME}) ADD_CUSTOM_COMMAND( OUTPUT ${PROJECT_BINARY_DIR}/resources/${RESOURCE_FILE_BASENAME} COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/resources COMMAND ${CMAKE_COMMAND} -E copy ${RESOURCE_FILE} ${PROJECT_BINARY_DIR}/resources DEPENDS ${RESOURCE_FILE} COMMENT Localizing ${RESOURCE_FILE_BASENAME}) SET_SOURCE_FILES_PROPERTIES( ${LOCAL_RESOURCE_FILE} PROPERTIES HEADER_FILE_ONLY TRUE) INCLUDE_DIRECTORIES(${PROJECT_BINARY_DIR}) ADD_EXECUTABLE( ${PROJECT_NAME} ${PROJECT_SOURCE_DIR}/src/main.cpp ${LOCAL_RESOURCE_FILE}) --- Aaron Wright ___ 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] VS2010 tries to compile a file with *.res extension when its copied
This is similar in nature to http://public.kitware.com/Bug/view.php?id=11147and friends... The fix for that issue is ending up being obj file specific, though, because we have a special handler in place for files with obj extensions. Perhaps we need similar handling for res files. (They are really just obj files from the rc compiler...) Do you not have the rc file? Or are you compiling it as a custom command to avoid some other issue with rc files? This sounds like we need to add a test similar to our existing ExternalOBJ test, but with a pre-built res file. Thanks for the discussion -- seems like something needs to be fixed here. Let's track it down. David On Fri, Jan 21, 2011 at 10:57 AM, aaron_wri...@selinc.com wrote: This is with both 2.8.3 and 2.8.4-rc1. On a side note, VS2010 is not trying to compile the *.res file as part of the executable, because it is marked HEADER_FILE_ONLY, and in addition I can remove it entirely from the project. Instead, even when the *.res file appears no where in the solution explorer in VS2010 (except as a *.res.rule file), VS2010 is still trying to compile it. If I remove the *.res.rule file it stops trying to compile it. So basically its just something to do with the ADD_CUSTOM_COMMAND that copies the file. --- Aaron Wright From: David Cole david.c...@kitware.com To: aaron_wri...@selinc.com aaron_wri...@selinc.com Cc: cmake@cmake.org cmake@cmake.org Date: 01/20/2011 07:57 PM Subject: Re: [CMake] VS2010 tries to compile a file with *.res extension when its copied Sent by: cmake-boun...@cmake.org Is tha with 2.8.3 or 2.8.4-rc1? On Thursday, January 20, 2011, aaron_wri...@selinc.com wrote: I know I've asked this before, but now I've narrowed it down a bit and I have an example. This copies a *.res file to the binary directory where presumably the executable can find it. The executable has that file as a source file to hook up the dependency, and the copied file has the HEADER_FILE_ONLY property set. Yet, somehow VS2010 is still trying to compile en.res. I even tried setting the source and destination en.res files to HEADER_FILE_ONLY, but that didn't fix it. Removing the ADD_CUSTOM_COMMAND that does the copy fixes the problem. Why is this broken? FYI, it worked fine in VS2008. CMAKE_MINIMUM_REQUIRED(VERSION 2.8) PROJECT(cmake_res_bug) SET(RESOURCE_FILE ${PROJECT_SOURCE_DIR}/resources/en.res) GET_FILENAME_COMPONENT(RESOURCE_FILE_BASENAME ${RESOURCE_FILE} NAME) SET(LOCAL_RESOURCE_FILE ${PROJECT_BINARY_DIR}/resources/${RESOURCE_FILE_BASENAME}) ADD_CUSTOM_COMMAND( OUTPUT ${PROJECT_BINARY_DIR}/resources/${RESOURCE_FILE_BASENAME} COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/resources COMMAND ${CMAKE_COMMAND} -E copy ${RESOURCE_FILE} ${PROJECT_BINARY_DIR}/resources DEPENDS ${RESOURCE_FILE} COMMENT Localizing ${RESOURCE_FILE_BASENAME}) SET_SOURCE_FILES_PROPERTIES( ${LOCAL_RESOURCE_FILE} PROPERTIES HEADER_FILE_ONLY TRUE) INCLUDE_DIRECTORIES(${PROJECT_BINARY_DIR}) ADD_EXECUTABLE( ${PROJECT_NAME} ${PROJECT_SOURCE_DIR}/src/main.cpp ${LOCAL_RESOURCE_FILE}) --- Aaron Wright ___ 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 ___ 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] FILE( MAKE_DIRECTORY path) prepends source path to make directory path.
You don't need those backslashes there. Try: file( MAKE_DIRECTORY ${EXECUTABLE_OUTPUT_PATH}/${Release}/sqldrivers ) On Fri, Jan 21, 2011 at 11:21 AM, John Drescher dresche...@gmail.com wrote: I am getting a the following error: CREATING X:/32Bit/VC.90/Qt/StudyManager/bin/Debug/sqldrivers CMake Error at CMake/GetQtRuntime.cmake:21 (file): file problem creating directory: X:/CMakeBased/Qt/StudyManager/X:/32Bit/VC.90/Qt/StudyManager/bin/Debug/sqldrivers Call Stack (most recent call first): CMake/GetQtRuntime.cmake:42 (add_qt_sqldriver_file) CMakeLists.txt:165 (include) for the following two lines of code: message( STATUS CREATING ${EXECUTABLE_OUTPUT_PATH}/${Release}/sqldrivers) file( MAKE_DIRECTORY \${EXECUTABLE_OUTPUT_PATH}/${Release}/sqldrivers\ ) Why is the file command prepending the source path to the make directory command? BTW, this is 2.8.4_rc1 Thanks, John M. Drescher ___ 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] FILE( MAKE_DIRECTORY path) prepends source path to make directory path.
(That made it look like you were trying to create a directory with a literal in the name...) On Fri, Jan 21, 2011 at 11:33 AM, David Cole david.c...@kitware.com wrote: You don't need those backslashes there. Try: file( MAKE_DIRECTORY ${EXECUTABLE_OUTPUT_PATH}/${Release}/sqldrivers ) On Fri, Jan 21, 2011 at 11:21 AM, John Drescher dresche...@gmail.com wrote: I am getting a the following error: CREATING X:/32Bit/VC.90/Qt/StudyManager/bin/Debug/sqldrivers CMake Error at CMake/GetQtRuntime.cmake:21 (file): file problem creating directory: X:/CMakeBased/Qt/StudyManager/X:/32Bit/VC.90/Qt/StudyManager/bin/Debug/sqldrivers Call Stack (most recent call first): CMake/GetQtRuntime.cmake:42 (add_qt_sqldriver_file) CMakeLists.txt:165 (include) for the following two lines of code: message( STATUS CREATING ${EXECUTABLE_OUTPUT_PATH}/${Release}/sqldrivers) file( MAKE_DIRECTORY \${EXECUTABLE_OUTPUT_PATH}/${Release}/sqldrivers\ ) Why is the file command prepending the source path to the make directory command? BTW, this is 2.8.4_rc1 Thanks, John M. Drescher ___ 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] VS2010 tries to compile a file with *.res extension when its copied
I don't think it's stupid. No judgment here. :-) But can it be renamed, or does this logging library require .res as the file extension? On Fri, Jan 21, 2011 at 11:22 AM, aaron_wri...@selinc.com wrote: Well, you're probably going to think this is stupid, but the *.res file is not actually a resource file in the Microsoft sense of it. It's just a text file that happens to have the *.res extension. It's a string localization text file that our logging library knows how to read. It think it is just happen stance that the logging library expects the files to end in *.res. --- Aaron Wright From: David Cole david.c...@kitware.com To: aaron_wri...@selinc.com Cc: cmake@cmake.org cmake@cmake.org Date: 01/21/2011 08:10 AM Subject: Re: [CMake] VS2010 tries to compile a file with *.res extension when its copied This is similar in nature to http://public.kitware.com/Bug/view.php?id=11147 and friends... The fix for that issue is ending up being obj file specific, though, because we have a special handler in place for files with obj extensions. Perhaps we need similar handling for res files. (They are really just obj files from the rc compiler...) Do you not have the rc file? Or are you compiling it as a custom command to avoid some other issue with rc files? This sounds like we need to add a test similar to our existing ExternalOBJ test, but with a pre-built res file. Thanks for the discussion -- seems like something needs to be fixed here. Let's track it down. David On Fri, Jan 21, 2011 at 10:57 AM, aaron_wri...@selinc.com wrote: This is with both 2.8.3 and 2.8.4-rc1. On a side note, VS2010 is not trying to compile the *.res file as part of the executable, because it is marked HEADER_FILE_ONLY, and in addition I can remove it entirely from the project. Instead, even when the *.res file appears no where in the solution explorer in VS2010 (except as a *.res.rule file), VS2010 is still trying to compile it. If I remove the *.res.rule file it stops trying to compile it. So basically its just something to do with the ADD_CUSTOM_COMMAND that copies the file. --- Aaron Wright From: David Cole david.c...@kitware.com To: aaron_wri...@selinc.com aaron_wri...@selinc.com Cc: cmake@cmake.org cmake@cmake.org Date: 01/20/2011 07:57 PM Subject: Re: [CMake] VS2010 tries to compile a file with *.res extension when its copied Sent by: cmake-boun...@cmake.org Is tha with 2.8.3 or 2.8.4-rc1? On Thursday, January 20, 2011, aaron_wri...@selinc.com wrote: I know I've asked this before, but now I've narrowed it down a bit and I have an example. This copies a *.res file to the binary directory where presumably the executable can find it. The executable has that file as a source file to hook up the dependency, and the copied file has the HEADER_FILE_ONLY property set. Yet, somehow VS2010 is still trying to compile en.res. I even tried setting the source and destination en.res files to HEADER_FILE_ONLY, but that didn't fix it. Removing the ADD_CUSTOM_COMMAND that does the copy fixes the problem. Why is this broken? FYI, it worked fine in VS2008. CMAKE_MINIMUM_REQUIRED(VERSION 2.8) PROJECT(cmake_res_bug) SET(RESOURCE_FILE ${PROJECT_SOURCE_DIR}/resources/en.res) GET_FILENAME_COMPONENT(RESOURCE_FILE_BASENAME ${RESOURCE_FILE} NAME) SET(LOCAL_RESOURCE_FILE ${PROJECT_BINARY_DIR}/resources/${RESOURCE_FILE_BASENAME}) ADD_CUSTOM_COMMAND( OUTPUT ${PROJECT_BINARY_DIR}/resources/${RESOURCE_FILE_BASENAME} COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/resources COMMAND ${CMAKE_COMMAND} -E copy ${RESOURCE_FILE} ${PROJECT_BINARY_DIR}/resources DEPENDS ${RESOURCE_FILE} COMMENT Localizing ${RESOURCE_FILE_BASENAME}) SET_SOURCE_FILES_PROPERTIES( ${LOCAL_RESOURCE_FILE} PROPERTIES HEADER_FILE_ONLY TRUE) INCLUDE_DIRECTORIES(${PROJECT_BINARY_DIR}) ADD_EXECUTABLE( ${PROJECT_NAME} ${PROJECT_SOURCE_DIR}/src/main.cpp ${LOCAL_RESOURCE_FILE}) --- Aaron Wright ___ 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
Re: [CMake] VS2010 tries to compile a file with *.res extension when its copied
I'll take a look at the code you sent in your original post and try to see exactly why it's not working. I might not get to it until the end of the day, though. If it worked in VS2008, but not now in VS2010, then we're clearly doing something different in the generators. I'll find out if it's an important something or not and get back to you. Thanks, David On Fri, Jan 21, 2011 at 11:49 AM, aaron_wri...@selinc.com wrote: Ah, I new that would come up. Yeah, they could be renamed. There are only a dozen or so of them. I was just trying to migrate the build system to VS2010 in between projects here at work, and this is the only thing holding me back from a smooth transition. Changing the extension is certainly an option, but it wasn't my first. Sense this is working good in VS2008, I was hoping it was just a simple bug, or maybe something I was doing wrong with the ADD_CUSTOM_COMMAND. Do you think this is the way its supposed to work with VS2010? Should I make the extension change or work with CMake more? --- Aaron Wright From: David Cole david.c...@kitware.com To: aaron_wri...@selinc.com Cc: cmake@cmake.org cmake@cmake.org Date: 01/21/2011 08:36 AM Subject: Re: [CMake] VS2010 tries to compile a file with *.res extension when its copied Sent by: cmake-boun...@cmake.org I don't think it's stupid. No judgment here. :-) But can it be renamed, or does this logging library require .res as the file extension? On Fri, Jan 21, 2011 at 11:22 AM, aaron_wri...@selinc.com wrote: Well, you're probably going to think this is stupid, but the *.res file is not actually a resource file in the Microsoft sense of it. It's just a text file that happens to have the *.res extension. It's a string localization text file that our logging library knows how to read. It think it is just happen stance that the logging library expects the files to end in *.res. --- Aaron Wright From: David Cole david.c...@kitware.com To: aaron_wri...@selinc.com Cc: cmake@cmake.org cmake@cmake.org Date: 01/21/2011 08:10 AM Subject: Re: [CMake] VS2010 tries to compile a file with *.res extension when its copied This is similar in nature to http://public.kitware.com/Bug/view.php?id=11147 and friends... The fix for that issue is ending up being obj file specific, though, because we have a special handler in place for files with obj extensions. Perhaps we need similar handling for res files. (They are really just obj files from the rc compiler...) Do you not have the rc file? Or are you compiling it as a custom command to avoid some other issue with rc files? This sounds like we need to add a test similar to our existing ExternalOBJ test, but with a pre-built res file. Thanks for the discussion -- seems like something needs to be fixed here. Let's track it down. David On Fri, Jan 21, 2011 at 10:57 AM, aaron_wri...@selinc.com wrote: This is with both 2.8.3 and 2.8.4-rc1. On a side note, VS2010 is not trying to compile the *.res file as part of the executable, because it is marked HEADER_FILE_ONLY, and in addition I can remove it entirely from the project. Instead, even when the *.res file appears no where in the solution explorer in VS2010 (except as a *.res.rule file), VS2010 is still trying to compile it. If I remove the *.res.rule file it stops trying to compile it. So basically its just something to do with the ADD_CUSTOM_COMMAND that copies the file. --- Aaron Wright From: David Cole david.c...@kitware.com To: aaron_wri...@selinc.com aaron_wri...@selinc.com Cc: cmake@cmake.org cmake@cmake.org Date: 01/20/2011 07:57 PM Subject: Re: [CMake] VS2010 tries to compile a file with *.res extension when its copied Sent by: cmake-boun...@cmake.org Is tha with 2.8.3 or 2.8.4-rc1? On Thursday, January 20, 2011, aaron_wri...@selinc.com wrote: I know I've asked this before, but now I've narrowed it down a bit and I have an example. This copies a *.res file to the binary directory where presumably the executable can find it. The executable has that file as a source file to hook up the dependency, and the copied file has the HEADER_FILE_ONLY property set. Yet, somehow VS2010 is still trying to compile en.res. I even tried setting the source and destination en.res files to HEADER_FILE_ONLY, but that didn't fix it. Removing the ADD_CUSTOM_COMMAND that does the copy fixes the problem. Why is this broken? FYI, it worked fine in VS2008. CMAKE_MINIMUM_REQUIRED(VERSION 2.8) PROJECT(cmake_res_bug) SET(RESOURCE_FILE ${PROJECT_SOURCE_DIR}/resources/en.res) GET_FILENAME_COMPONENT(RESOURCE_FILE_BASENAME ${RESOURCE_FILE} NAME) SET(LOCAL_RESOURCE_FILE ${PROJECT_BINARY_DIR}/resources/${RESOURCE_FILE_BASENAME}) ADD_CUSTOM_COMMAND( OUTPUT ${PROJECT_BINARY_DIR}/resources/${RESOURCE_FILE_BASENAME} COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/resources COMMAND ${CMAKE_COMMAND} -E
Re: [CMake] ExternalProject_Add, race conditions, MSVC_IDE
On Sat, Jan 22, 2011 at 8:15 AM, Pau Garcia i Quiles pgqui...@elpauer.orgwrote: Hello, I've been using ExternalProject_Add and I have to say IMHO it's one of the best features added to CMake in the last years. It works great for me on Linux (makefiles), MSVC2010 (NMake Makefiles) and Mac (makefiles). Together with a small .sh (Unix) and a .bat (Windows), you can make your project full bootstrappable and only depend on the user having a C++ compiler (not even CMake, which has been the biggest argument against CMake by autotools fans) Now to the bad news: - I have experienced lots of race conditions on Windows, both with Cygwin and NMake What sort of race conditions? And how do you know they are race conditions? - I've tried to use it with MSVC solutions but if fails miserable with errors about cmd.exe. Is this by design or is it a bug? We do not intend to fail miserably, so I'm going to say that it's not by design... but if you are specifying commands that will not succeed, then perhaps it's by design on your side... :-) Can you send a small example project that fails miserably, or is it only the large complicated full project build that fails miserably? (Can you run the ExternalProject test from the CMake test suite and have it succeed in your environment?) Thanks, David I'm using the latest CMake snapshot. The project is here: http://gitorious.org/winstng See 'winst' and 'winst.bat' if you are interested in the boostrapping part. -- Pau Garcia i Quiles http://www.elpauer.org (Due to my workload, I may need 10 days to answer) ___ 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] Improvements for cross-referencing in the documentation?
On Mon, Jan 24, 2011 at 11:01 AM, SF Markus Elfring elfr...@users.sourceforge.net wrote: Much to my surprise, there was only a single CMAKE_MATCH on our whole documentation page. It would make sense to document the variables CMAKE_MATCH_0 and friends explicitly. And cross-referencing left, right, north and south would also be good. Does the current documentation format support detailed cross-referencing (with hyperlinks)? No, it does not. Any cross-references are mentioned in text only form and depend on the end user finding the cross-reference topic. Regards, Markus ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] How to retrieve the property list dynamically?
On Sat, Jan 22, 2011 at 5:00 PM, SF Markus Elfring elfr...@users.sourceforge.net wrote: Hello, Various properties can be queried by the command get_property. http://cmake.org/cmake/help/cmake-2-8-docs.html#section_Properties I am looking for a command in the corresponding programming interface which can return a list of property names which will be optionally filtered by a regular expression. Is such a functionality already available? No, there is presently no facility for retrieving a list of properties. Regards, Markus ___ 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] Improvements for cross-referencing in the documentation?
On Mon, Jan 24, 2011 at 11:10 AM, SF Markus Elfring elfr...@users.sourceforge.net wrote: No, it does not. Any cross-references are mentioned in text only form and depend on the end user finding the cross-reference topic. Would you like to change this situation? Regards, Markus I would, but it's a tall order that will take hours and hours of work on someone's behalf, and I cannot sign up for the task at the moment. We already have this bug filed to improve CTest and CPack documentation: http://public.kitware.com/Bug/view.php?id=10067 Perhaps if you have concrete suggestions for cross-referencing, appending notes to that bug would be a good idea. Thanks, 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] How to retrieve the property list dynamically?
On Mon, Jan 24, 2011 at 11:16 AM, SF Markus Elfring elfr...@users.sourceforge.net wrote: No, there is presently no facility for retrieving a list of properties. Is such a functionality also missing for variable names and their attributes? If you look at the top of this page: http://cmake.org/cmake/help/cmake-2-8-docs.html There are links to the well known by CMake properties that exist on various entities: global, directories, targets, tests, files, cache variables. There is also the command line: cmake --help-property-list However, the property mechanism allows project-specific extension of the set of properties on many of these entities. So these lists are incomplete. To see about variables and cache variables, see the cmake command: http://cmake.org/cmake/help/cmake-2-8-docs.html#command:get_cmake_property which, at present, can list for you: VARIABLES, CACHE_VARIABLES, COMMANDS, MACROS, and COMPONENTS Are more software developers interested to query settings only from a subset of items? I'm sure many are interested. Is there a concrete problem you are trying to solve by asking these questions? If you have a specific problem, perhaps there's a way to get something working for you without these additions to CMake. Can you tell us if you have a specific problem you're trying to solve? Regards, Markus ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] How to retrieve the property list dynamically?
On Mon, Jan 24, 2011 at 11:44 AM, SF Markus Elfring elfr...@users.sourceforge.net wrote: There are links to the well known by CMake properties that exist on various entities: global, directories, targets, tests, files, cache variables. I have not overlooked the description for them. I guess that these properties were extended during CMake history. I do not want to convert this part of the documentation into a separate data base for the support of enhanced queries. I would appreciate if the CMake programming interface can provide sophisticated introspection capabilities directly. However, the property mechanism allows project-specific extension of the set of properties on many of these entities. So these lists are incomplete. How can such extensions be dynamically listed? At present, they cannot be dynamically listed. Having that capability would be a good idea, but it's not there yet. Is there a concrete problem you are trying to solve by asking these questions? Yes, of course. - My feature request is mostly for debugging purposes. If there are problems or unexpected results for a target, I would like to know exactly which variables and properties were active in the affected situation. OK, great. Let us know if you do run into something specific. Lots of people here already have techniques that they use to solve specific problems.. Regards, Markus ___ 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] Produce only an object file (*.o) from a CMake build target
On Mon, Jan 24, 2011 at 2:33 PM, Andreas Pakulat ap...@gmx.de wrote: On 24.01.11 09:37:01, Helseth, Nicholas H wrote: I'm trying to build an object file using CMake, but I can't seem to get CMake to build something other than a complete executable. I'm basically looking for the result of the following compilation (the result will be loaded on a VxWorks target and linked then-it needs to be a *.o because of the way our build system works): You can't do this with cmake. But you can do anything you want with custom commands in CMake. It just might not be very easy or very cross-platform. Why do you need the *.o files individually? Could you instead build a static library with CMake, and then use a custom command to glob for the *.o files produced? ___ 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] CDash submissions show up as two entries, one row for update, one for build/test etc
On Mon, Jan 24, 2011 at 3:09 PM, Rolf Eike Beer e...@sf-mail.de wrote: I found the issue. I happened to put a trailing newline in CTEST_SITE, causing some error further down the line. I guess CDash could deal with it a bit better, but all in all it's a user error. (I utilized the hostname command to get the hostname, but forgot to use OUTPUT_STRIP_TRAILING_WHITESPACE) Uh-oh. That sounds familiar. The same thing happened to me once. And if you don't set CTEST_SITE you get one entry per step (i.e. update, configure, build, test). IMHO CTest should do a) abort with a clear error message if CTEST_SITE is not a valid hostname for any reason (i.e. spaces or newlines) and b) set it to the hostname of the machine if it is not set at all. Any opinions on this before I file a bug report? Eike ___ 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 Sounds like a reasonable bug report candidate to me. ___ 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] Cannot run/debug cmake project with MSVC 2010 which works well in Linux
Right click on textureBackProjection and choose Set as StartUp Project -- after that, F5 will launch the executable for that project. If you are receiving error messages at launch after doing that, then please send them along so we can help you get further along... HTH, David On Mon, Jan 24, 2011 at 8:36 PM, Srimal Jayawardena srim...@gmail.com wrote: Hi Thanks for the wonderful tool. I'm fairly new to cmake and had this problem. I'm using cmake 2.8.3 and my code builds and runs well in Linux but has the following problems in MS Visual Studio 2010 (Express) in Windows XP. I cant run/debug the project by pressing (F5) although it does build solution (F7) works without errors. When I try to run/debug it seems to try to run a program called 'ALL_BUILD) (which doesnt exisit). Also I see three projects in my solution : - 'ALL_BUILDS', - 'textureBackProjection' (this is the correct executable file mentioend in the CMakeLists.txt and - 'ZERO_CHECK' ALL_BUILDS is set as the start up project. If can change the start up project to 'textureBackProjection' by right clicking pressing F5 to run/debug complains of a whole load of missing PDB files for some windows dll files. However, the executable is built as textureBackProjection.exe and this runs OK when clicked outside of MSVC. Have I done something wrong that it won't run/debug inside Visual Studio 2010?. Here is my simple CMakeLists.txt file: # CMakeLists.txt - Uses Cmake to make cross platform builds # Srimal wrote this on 24/01/2011 cmake_minimum_required (VERSION 2.6) project (TEXMAP) INCLUDE (CheckIncludeFiles) #Set flags to include platform specific header files CHECK_INCLUDE_FILES (stdafx.h HAVE_STDAFX_H) CHECK_INCLUDE_FILES (windows.h HAVE_WINDOWS_H) CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h) #use OpenGL and GLUT find_package(OpenGL) find_package(GLUT) #specify executable with source files needed add_executable (textureBackprojection textureBackprojection.cpp glmimg.cpp Texture.cpp glm.cpp) # Link the executable to library. target_link_libraries (textureBackprojection glut) Am I missing something here? Thanks in advance Srimal. -- ~ Srimal Jayawardena BSc (Engineering), BIT, MIET PhD Candidate Research School of Information Sciences and Engineering College of Engineering and Computer Science Building 115, Corner of North and Daley Roads Australian National University T: +61 2 6125 1771 M: +61 422 684 854 F: +61 2 6125 8651 http://users.cecs.anu.edu.au/~srimalj/ http://srimal.sri-lankan.net/ http://srimal-techdiary.blogspot.com/ 'My religion consists of a humble admiration of the illimitable superior spirit who reveals himself in the slight details we are able to perceive with our frail and feeble mind.' - Albert Einstein ___ 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] Cannot run/debug cmake project with MSVC 2010 which works well in Linux
On Mon, Jan 24, 2011 at 10:03 PM, Srimal Jayawardena srim...@gmail.com wrote: Hi Thanks for the advise. You're welcome. Please include the CMake mailing list on all your replies so that: (1) others may jump in and help in case I can't reply to a particular email in a timely manner and (2) others may benefit from the archived replies. (Thanks...) I've done Right click on textureBackProjection and choose Set as StartUp Project -- after that, F5 will launch the executable for that project. But I get these errors. 'textureBackprojection.exe': Loaded 'C:\Documents and Settings\Administrator\Desktop\maptexture\buildwin32\Debug\textureBackprojection.exe', Symbols loaded. 'textureBackprojection.exe': Loaded 'C:\WINDOWS\system32\ntdll.dll', Cannot find or open the PDB file 'textureBackprojection.exe': Loaded 'C:\WINDOWS\system32\kernel32.dll', Cannot find or open the PDB file 'textureBackprojection.exe': Loaded 'C:\WINDOWS\system\glut32.dll', Binary was not built with debug information. 'textureBackprojection.exe': Loaded 'C:\WINDOWS\system32\user32.dll', Cannot find or open the PDB file 'textureBackprojection.exe': Loaded 'C:\WINDOWS\system32\gdi32.dll', Cannot find or open the PDB file 'textureBackprojection.exe': Loaded 'C:\WINDOWS\system32\winmm.dll', Cannot find or open the PDB file 'textureBackprojection.exe': Loaded 'C:\WINDOWS\system32\advapi32.dll', Cannot find or open the PDB file 'textureBackprojection.exe': Loaded 'C:\WINDOWS\system32\rpcrt4.dll', Cannot find or open the PDB file 'textureBackprojection.exe': Loaded 'C:\WINDOWS\system32\secur32.dll', Cannot find or open the PDB file 'textureBackprojection.exe': Loaded 'C:\WINDOWS\system32\glu32.dll', Cannot find or open the PDB file 'textureBackprojection.exe': Loaded 'C:\WINDOWS\system32\msvcrt.dll', Cannot find or open the PDB file 'textureBackprojection.exe': Loaded 'C:\WINDOWS\system32\opengl32.dll', Cannot find or open the PDB file 'textureBackprojection.exe': Loaded 'C:\WINDOWS\system32\ddraw.dll', Cannot find or open the PDB file 'textureBackprojection.exe': Loaded 'C:\WINDOWS\system32\dciman32.dll', Cannot find or open the PDB file 'textureBackprojection.exe': Loaded 'C:\WINDOWS\system32\msvcr100d.dll', Symbols loaded. 'textureBackprojection.exe': Loaded 'C:\WINDOWS\system32\imm32.dll', Cannot find or open the PDB file 'textureBackprojection.exe': Loaded 'C:\WINDOWS\system32\lpk.dll', Cannot find or open the PDB file 'textureBackprojection.exe': Loaded 'C:\WINDOWS\system32\usp10.dll', Cannot find or open the PDB file 'textureBackprojection.exe': Loaded 'C:\Program Files\Sophos\Sophos Anti-Virus\sophos_detoured.dll', Cannot find or open the PDB file 'textureBackprojection.exe': Loaded 'C:\WINDOWS\system32\psapi.dll', Cannot find or open the PDB file 'textureBackprojection.exe': Loaded 'C:\WINDOWS\system32\msctf.dll', Cannot find or open the PDB file 'textureBackprojection.exe': Loaded 'C:\WINDOWS\system32\version.dll', Cannot find or open the PDB file 'textureBackprojection.exe': Unloaded 'C:\WINDOWS\system32\version.dll' 'textureBackprojection.exe': Loaded 'C:\WINDOWS\system32\msctfime.ime', Cannot find or open the PDB file 'textureBackprojection.exe': Loaded 'C:\WINDOWS\system32\ole32.dll', Cannot find or open the PDB file 'textureBackprojection.exe': Loaded 'C:\WINDOWS\system32\atioglxx.dll', Cannot find or open the PDB file 'textureBackprojection.exe': Loaded 'C:\WINDOWS\system32\version.dll', Cannot find or open the PDB file 'textureBackprojection.exe': Loaded 'C:\WINDOWS\system32\ws2_32.dll', Cannot find or open the PDB file 'textureBackprojection.exe': Loaded 'C:\WINDOWS\system32\ws2help.dll', Cannot find or open the PDB file 'textureBackprojection.exe': Loaded 'C:\WINDOWS\system32\mcd32.dll', Cannot find or open the PDB file 'textureBackprojection.exe': Unloaded 'C:\WINDOWS\system32\mcd32.dll' These Cannot find or open the PDB file messages are just informational messages that tell you you don't have the debugging files for Windows itself installed. This is normal -- most people see this. You'll get used to this after a little while. (You could have figured this one out pretty easily just googling for the phrase Cannot find or open the PDB file) The program '[4940] textureBackprojection.exe: Native' has exited with code 1 (0x1). This line means your main returned 1 (or some code you called did an exit(1); ... ) (Btw can we set the startup project automatically by setting an option in the CMakeList.txt file?) No, net yet. People have asked for this feature, but we have not figured out a good way to do it yet. Thanks in advance You're welcome. Cheers, David Srimal On Tue, Jan 25, 2011 at 1:18 PM, David Cole david.c...@kitware.com wrote: Right click on textureBackProjection and choose Set as StartUp Project -- after that, F5 will launch the executable for that project. If you are receiving error messages at launch after doing
Re: [CMake] Problem with archive_write_finish_entry(): Can't update time...
From the libarchive source code, it looks like this message appears as a warning and returns ARCHIVE_WARN. CMake spits out an error message whenever a libarchive function returns anything other than ARCHIVE_OK. Perhaps we should detect ARCHIVE_WARN and only emit a CMake Warning message rather than a CMake Error. As to what could be causing it in the first place... perhaps there's a permissions problem of some sort? Do you have full write permissions in the directory where you are extracting? Do the files actually appear afterwards even though you're seeing these messages? Is it a deep path (long name)? If you untar the same archive.tgz file with another tar tool, do you get any warnings or errors from it? Just some things to try... David On Wed, Jan 26, 2011 at 7:15 AM, Daniel Pfeifer dan...@pfeifer-mail.de wrote: Hi, executing the command 'cmake -E tar xfz archive.tgz' can be really noisy. It works fine in Linux and also in Windows if I use the Qt GUI to CMake. In a Windows Terminal it reports CMake Error: Problem with archive_write_finish_entry(): Can't update time for %s for every single file in the archive. What is the problem here? I use CMake 2.8.3 on WindowsXP with a FAT32 filesystem. cheers, Daniel ___ 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] Out-of-source build and access to data
Send some code for us to look at. If the cwd is where your exe is, and there's a file at ./data/file1 then you should certainly be able to open and read that file with that file name. Maybe your cwd is not what you think it is. Maybe your code changes it somewhere between launching and attempting to open the file. I don't understand where you're using a filepath = ./data/file1 reference? In your source code? In a settings file of some sort? Certainly not in a CMakeLists.txt file since this is not cmake syntax... ?? David On Wed, Jan 26, 2011 at 9:54 AM, Benjamin Kurz benjamin.k...@bioskill.com wrote: Hello everyone, Currently I'm using cmake for building my c++/Qt project. The source directory structure looks like this: Project |_ src |_ include |_ data Currently I run cmake from the source directory, having an in-source-build. Now I want to be able to have a complete seperate build folder. It compiles fine and it runs ok, unless I need access to a file in the data folder. Currently I access files like this: filepath = ./data/file1 But data is of course not available in the build directory. So I copied the files during the cmake process, which also works fine. But when I run the program I get an exception because the file is not found. I tried a lot of possibilities: filepath = ../data/file1 filepath = data/file1 filepath = file1 but nothing seems to work. The executable is on the top directory in the build directory. The filepath is defined and used in a class in ./src directory. I am not sure how to fix this or which path to use?! Any advice is appreciated. Thanks Benjamin ___ 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] Problem with archive_write_finish_entry(): Can't update time...
Are the time stamps actually restored on extract (when extracting with CMake and ignoring the warning output)? Or do all files have time of extraction as their modified times? On Thu, Jan 27, 2011 at 11:37 AM, Daniel Pfeifer dan...@pfeifer-mail.de wrote: Hi David, Am Mittwoch, den 26.01.2011, 08:14 -0500 schrieb David Cole: From the libarchive source code, it looks like this message appears as a warning and returns ARCHIVE_WARN. CMake spits out an error message whenever a libarchive function returns anything other than ARCHIVE_OK. Perhaps we should detect ARCHIVE_WARN and only emit a CMake Warning message rather than a CMake Error. Yes, that would be better. As to what could be causing it in the first place... perhaps there's a permissions problem of some sort? Do you have full write permissions in the directory where you are extracting? Do the files actually appear afterwards even though you're seeing these messages? Is it a deep path (long name)? I am working with an administrator account on Windows, so I don't think that permissions cause the problem. The paths are quite shallow (direct subdirectory of 'C:\'). The files get extracted just fine. Maybe this warning can be safely ignored. It is just annoying that it produces so much output. If you untar the same archive.tgz file with another tar tool, do you get any warnings or errors from it? Works without any warnings. But maybe the warnings are just not displayed... cheers, Daniel ___ 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] ctest returns 255 after running ctest_test() if no tests are available
On Fri, Jan 28, 2011 at 1:29 AM, Rolf Eike Beer e...@sf-mail.de wrote: Error in read script: /satsop/build/kitt-cmake-based-addons-for-legacy-trunk/kitt.cmake This one I also see rather often. What does this mean? There was any warning or failure on test or build? Eike ___ 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 ctest returns non-zero when there is *any* sort of problem running a script. It could mean: - ctest_update had a problem updating the source tree - ctest_configure detected configure warnings or errors - ctest_build detected build warnings or errors - ctest_test detected tests not run or failed tests - ctest_submit had a problem submitting data to CDash - some other script command caused some other error condition Hopefully, in each of these cases, there is output of some sort indicating what the real underlying problem is. There is an outstanding bug report regarding ctest returning an error when executed with -D for running dashboards when build errors occur: http://public.kitware.com/Bug/view.php?id=11368 -- related, but not exactly the same thing... As to the original post in this thread: I think it would be a good idea to make ctest_test not induce an error just because there are no tests to run. We should also enable returning information like: total number of available tests, number of tests that match the INCLUDE/EXCLUDE conditions, number not run, number failed, number passed... 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] XCode compiler selection
On Fri, Jan 28, 2011 at 8:39 AM, Andrew Corrigan acorr...@lcp.nrl.navy.mil wrote: I use the latest released version of CMake When I set the compiler with CMake for the XCode generator my choice of compiler is completely ignored, and I have to manually select the compiler within XCode. In particular, I want to be able to select the Intel compilers, as opposed to Gcc-4.2. There is a discussion on this list [1] from last June which discusses the same problem, without any resolution . without any resolution. It seems to me that this is a bug. Are there any workarounds to this issue which are better than having to set the compiler manually every time I regenerate my XCode project? Thanks, Andrew Corrigan [1] http://www.cmake.org/pipermail/cmake/2010-June/037353.html ___ 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 The short answer is no -- there are no better workarounds at the moment. Unless you can set it via Xcode attributes somehow. (See http://public.kitware.com/Bug/view.php?id=9125 -- although because of the following long answer, this solution falls short and is incomplete.) The long answer is: it's complicated. Xcode and Visual Studio both support easy built-in ways to switch compilers within the same project file. But CMake generated projects need to use a single compiler for all try_compile operations, results of which may not be valid relative to some other compiler. There's this long-standing historical assumption that there's a single compiler per IDE, and that when you build with a given IDE you're intending to use the default compiler available in that IDE. (Hence the need, for example, for separate Visual Studio generators for regular and Win64 solution and project files.) To make what you want feasible in the long term is going to take some re-design, some thought and some effort. If you have any great ideas about how we can support this, but still keep try_compile results valid, let us know. Thanks, (hope this is helpful...) 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] Problem with archive_write_finish_entry(): Can't update time...
I can't reproduce your issue here. (I had to modify your code because CURRENT_BINARY_DIR was missing the CMAKE_ at its beginning. And since I modified it anyhow, I added SHOW_PROGRESS and made min req'd be 2.8.3...) Are you sure you're using 2.8.3 when you see the problem? Can you repro this on another windows machine? (Mine is a Windows 7 x64, up to date with updates, running VS 2010 and CMake 2.8.3 in a normal Windows command prompt... Maybe there's something in your ENV that triggers this...?) Thanks, David Here's a transcript of what I did (and the results, void of errors or warnings ... although it does show an interesting variation on the notion of progress ...): == C:\Users\davidcole\Dashboards\My Tests\b16mkdir b3 C:\Users\davidcole\Dashboards\My Tests\b16type CMakeLists.txt cmake_minimum_required(VERSION 2.8.3) set(url http://sourceforge.net/projects/docbook/files/docbook-xsl/1.75.2/docbook-xsl-1.75.2.tar.bz2/download ) set(archive ${CMAKE_CURRENT_BINARY_DIR}/archive.tar.bz2) file(DOWNLOAD ${url} ${archive} SHOW_PROGRESS EXPECTED_MD5 0c76a58a8e6cb5ab49f819e79917308f) execute_process(COMMAND ${CMAKE_COMMAND} -E tar xfz ${archive}) C:\Users\davidcole\Dashboards\My Tests\b16cd b3 C:\Users\davidcole\Dashboards\My Tests\b16\b3C:\Users\davidcole\Dashboards\Support\cmake-2.8.3\bin\cmake.exe --version cmake version 2.8.3 C:\Users\davidcole\Dashboards\My Tests\b16\b3C:\Users\davidcole\Dashboards\Support\cmake-2.8.3\bin\cmake.exe .. -- Building for: Visual Studio 10 -- Check for working C compiler using: Visual Studio 10 -- Check for working C compiler using: Visual Studio 10 -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working CXX compiler using: Visual Studio 10 -- Check for working CXX compiler using: Visual Studio 10 -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- [download 0% complete] -- [download 100% complete] -- [download 0% complete] -- [download 100% complete] -- Configuring done -- Generating done -- Build files have been written to: C:/Users/davidcole/Dashboards/My Tests/b16/b3 C:\Users\davidcole\Dashboards\My Tests\b16\b3dir docbook-xsl-1.75.2 Volume in drive C is OS Volume Serial Number is 9237-E092 Directory of C:\Users\davidcole\Dashboards\My Tests\b16\b3\docbook-xsl-1.75.2 01/28/2011 01:31 PMDIR . 01/28/2011 01:31 PMDIR .. 07/24/2007 01:40 PM 2,305 .CatalogManager.properties.example 07/21/2009 12:40 PM 1,693 .cshrc.incl 07/21/2009 12:40 PM 217 .emacs.el 07/21/2009 12:40 PM 1,818 .profile.incl 07/21/2009 12:40 PM54 .urilist 05/11/2008 05:27 PM 143 AUTHORS 07/24/2007 01:43 PM 578 BUGS 07/21/2009 12:40 PM 606 catalog.xml 01/28/2011 01:31 PMDIR common 05/22/2008 11:11 AM 1,960 COPYING 01/28/2011 01:31 PMDIR doc 07/21/2009 12:49 PM 2,236,416 DOCBOOK-BUILD.LOG 01/28/2011 01:31 PMDIR docsrc 01/28/2011 01:31 PMDIR eclipse 01/28/2011 01:31 PMDIR epub 01/28/2011 01:31 PMDIR extensions 01/28/2011 01:31 PMDIR fo 01/28/2011 01:31 PMDIR highlighting 01/28/2011 01:31 PMDIR html 01/28/2011 01:31 PMDIR htmlhelp 01/28/2011 01:31 PMDIR images 07/24/2007 01:43 PM 3,375 INSTALL 07/21/2009 12:40 PM28,701 install.sh 01/28/2011 01:31 PMDIR javahelp 01/28/2011 01:31 PMDIR lib 07/13/2009 03:18 PM 3,795 Makefile 01/28/2011 01:31 PMDIR manpages 07/21/2009 12:49 PM 3,809 NEWS 07/21/2009 12:49 PM11,475 NEWS.html 07/21/2009 12:48 PM 7,648 NEWS.xml 01/28/2011 01:31 PMDIR params 01/28/2011 01:31 PMDIR profiling 07/20/2009 08:12 PM 6,535 README 07/21/2009 12:49 PM 626,192 RELEASE-NOTES.html 07/21/2009 12:49 PM 290,510 RELEASE-NOTES.txt 07/21/2009 09:22 AM 487,507 RELEASE-NOTES.xml 01/28/2011 01:31 PMDIR roundtrip 01/28/2011 01:31 PMDIR slides 01/28/2011 01:31 PMDIR template 07/21/2009 12:40 PM76 test.sh 01/28/2011 01:31 PMDIR tests 07/24/2007 01:43 PM 679 TODO 01/28/2011 01:31 PMDIR tools 07/21/2009 12:40 PM 175 uninstall.sh 07/21/2009 09:05 AM 4,504 VERSION 01/28/2011 01:31 PMDIR website 01/28/2011 01:31 PMDIR xhtml 01/28/2011 01:31 PMDIR xhtml-1_1 24 File(s) 3,720,771 bytes 26 Dir(s) many, many bytes free On Thu, Jan 27, 2011 at 2:34 PM, Daniel Pfeifer dan...@pfeifer-mail.de wrote: Am Donnerstag, den 27.01.2011, 12:48 +0100 schrieb David Cole david.c
[CMake] CMake 2.8.4-rc2 ready for testing!
The CMake 2.8.4 release candidate stream continues! You can find the source and binaries here: http://www.cmake.org/files/v2.8/?C=M;O=D Since we switched to git, and a new workflow, we're expecting to do more frequent releases. Because of that, our release candidate phases will be shorter than they have been historically. So, if you want to test this out and ask for a fix, do it soon, or hold your peace till the next release! Following is the list of changes in this release. Since we switched to git, this list is now the 'git log' one line summary written by the named CMake developers. Please try this version of CMake on your projects and report any issues to the list or the bug tracker. Happy building! -Dave Changes in CMake 2.8.4-rc2 (since 2.8.4-rc1) Alex Neundorf (3): Make cmake build again with cmake 2.6.3 Strip trailing whitespace. Fix parsing of compiler name with a version number Ben Boeckel (86): ... 86 commit messages summarized as: Fix ADD_TEST regression when WORKING_DIRECTORY not given Add new strict-mode CMake variable checking Activate / avoid using new command line arguments: --warn-uninitialized --warn-unused-vars --no-warn-unused-cli --check-system-vars Bill Hoffman (3): For macros make sure the FilePath points to a valid pointer in the args. Add a warning when variables are used uninitialized. Make --strict-mode option, and integrate with cmake-gui Brad King (34): bootstrap: Granular system library selection (#11431) bootstrap: Clarify --init flag documentation (#11431) bootstrap: --verbose implies verbose Makefiles (#11708) Combine duplicate COMPILE_DEFINITIONS disclaimer Document COMPILE_DEFINITIONS known limitations (#11660, #11712) Document try_compile behavior more clearly (#11688) Document Check(C|CXX)SourceCompiles behavior more clearly (#11688) Fix get_(cmake|test)_property documentation (#11703) Reference get_property() from old get_*_property() commands Replace misleading example in the if() documentation (#10773) Clarify auto-dereference cases in if() command (#11701) Document CheckFunctionExists more clearly (#10044) Document CheckSymbolExists more clearly (#11685) Update CheckSymbolExists copyright year Report directory with missing source file (#11677) Test that missing source mentions directory (#11677) Teach Simple_Mingw_Linux2Win test to use windres Disable SubDirSpaces parens with GNU Make 3.82 (#11654) libarchive: Fix major() check for LSB 4.0 (#11648) Xcode: Make generation depend on all input directories Recognize SCO UnixWare C/C++ compilers (#11700) Factor SCO compiler info out of platform file (#11700) Honor CMAKE_TRY_COMPILE_CONFIGURATION in Makefile generators (#10809) Document CMAKE_TRY_COMPILE_CONFIGURATION variable Honor VS_SCC_* properties in Fortran targets (#10237) Normalize slashes in scanned #include lines (#10281) Improve try_compile and try_run error messages Use shortest extension to verify try_compile language (#11731) Modules: Include builtin FindPackageHandleStandardArgs directly Fix relative CMAKE_USER_MAKE_RULES_OVERRIDE (#11725) Clarify CMAKE_USER_MAKE_RULES_OVERRIDE documentation (#11724) Always place try_compile executables predictably (#11724) try_compile: Allow only languages loaded in caller (#11469) Fix ArgumentExpansion test expected results Clinton Stimpson (1): Replace exec_program with execute_process for qmake queries. David Cole (16): Update script with new machine name VS10: Fix problems with InstallRequiredSystemLibraries. Add CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS variable Add CPACK_NSIS_INSTALL_ROOT for CMake's own installer (#9148) Xcode: Disable implicit make rules in custom rules makefiles. Add freeglut as library name (#10031) Add new names for PNG and ZLIB libraries Avoid exceptions when ccmake terminal window is too small (#11668) VS10: Load projects with obj source files (#11147) VS10: Enable using devenv as CMAKE_MAKE_PROGRAM (#11459) Xcode: Fix crash: avoid strlen call on NULL char * CTestTest2: Avoid running purify unless requested VS10: Escape double quote chars in defines for rc files (#11695) Fix line too long KWStyle issue (#11695) Avoid space in rc /D values for VS6 and Cygwin (#11695) VSResource: Avoid windres /D with quoted spaces (#11695) Marcus D. Hanwell (1): Bug #11715 - generate header in the build tree. Nicolas Despres (1): bootstrap: Add --enable-ccache option (#11707) Changes in CMake 2.8.4-rc1 (since 2.8.3) Alex Neundorf (32): Add support for nasm assembler, patch by Peter Collingbourne
Re: [CMake] CMake 2.8.4-rc2 ready for testing!
On Tue, Feb 1, 2011 at 1:37 AM, Dongsheng Song dongsheng.s...@gmail.com wrote: On 2011-2-1 5:45, David Cole wrote: The CMake 2.8.4 release candidate stream continues! You can find the source and binaries here: http://www.cmake.org/files/v2.8/?C=M;O=D Since we switched to git, and a new workflow, we're expecting to do more frequent releases. Because of that, our release candidate phases will be shorter than they have been historically. So, if you want to test this out and ask for a fix, do it soon, or hold your peace till the next release! Following is the list of changes in this release. Since we switched to git, this list is now the 'git log' one line summary written by the named CMake developers. Please try this version of CMake on your projects and report any issues to the list or the bug tracker. Happy building! -Dave Is there any plan to fix the following one MSVC and three mingw issues ? CMake with msvc can not process CFLAGS and LDFLAGS correctly http://public.kitware.com/Bug/view.php?id=11755 Change default link order for mingw http://public.kitware.com/Bug/view.php?id=11760 Mingw target can not process .DEF files http://public.kitware.com/Bug/view.php?id=11768 CMake ignore .RC files when cross building http://public.kitware.com/Bug/view.php?id=11773 -- Dongsheng ___ 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 Bug fixes for these 4 bugs in particular, all of which were only reported within the last 7 days, will not be ready for CMake 2.8.4 -- we will keep them on the radar for possible fixing in a future version. Thanks, 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] CMake 2.8.4-rc2 ready for testing!
On Tue, Feb 1, 2011 at 1:30 AM, Dongsheng Song dongsheng.s...@gmail.com wrote: On 2011-2-1 5:45, David Cole wrote: The CMake 2.8.4 release candidate stream continues! You can find the source and binaries here: http://www.cmake.org/files/v2.8/?C=M;O=D Since we switched to git, and a new workflow, we're expecting to do more frequent releases. Because of that, our release candidate phases will be shorter than they have been historically. So, if you want to test this out and ask for a fix, do it soon, or hold your peace till the next release! Following is the list of changes in this release. Since we switched to git, this list is now the 'git log' one line summary written by the named CMake developers. Please try this version of CMake on your projects and report any issues to the list or the bug tracker. Happy building! -Dave When I use cmake 2.8.2 with Debian 6.0: $ cmake -G Unix Makefiles -DCMAKE_BUILD_TYPE=Release -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_C_COMPILER=i686-w64-mingw32-gcc -DCMAKE_RC_COMPILER=i686-w64-mingw32-windres -- The C compiler identification is GNU -- The CXX compiler identification is GNU -- Check for working C compiler: /home/oracle/gcc-4.6-windows_i686-linux/bin/i686-w64-mingw32-gcc -- Check for working C compiler: /home/oracle/gcc-4.6-windows_i686-linux/bin/i686-w64-mingw32-gcc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working CXX compiler: /home/oracle/gcc-4.6-windows_i686-linux/bin/i686-w64-mingw32-c++ -- Check for working CXX compiler: /home/oracle/gcc-4.6-windows_i686-linux/bin/i686-w64-mingw32-c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Configuring done -- Generating done -- Build files have been written to: /home/oracle/vcs/git/freetds But cmake 2.8.4rc2 failed: $ export PATH=~/tmp/cmake-2.8.4-rc2-Linux-i686/bin:$PATH $ cmake -G Unix Makefiles -DCMAKE_BUILD_TYPE=Release -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_C_COMPILER=i686-w64-mingw32-gcc -DCMAKE_RC_COMPILER=i686-w64-mingw32-windres -- Configuring done You have changed variables that require your cache to be deleted. Configure will be re-run and you may have to reset some variables. The following variables have changed: CMAKE_RC_COMPILER= i686-w64-mingw32-windres CMAKE_C_COMPILER= i686-w64-mingw32-gcc -- The C compiler identification is GNU -- The CXX compiler identification is GNU -- Check for working C compiler: /home/oracle/gcc-4.6-windows_i686-linux/bin/i686-w64-mingw32-gcc -- Check for working C compiler: /home/oracle/gcc-4.6-windows_i686-linux/bin/i686-w64-mingw32-gcc -- broken CMake Error at /home/oracle/tmp/cmake-2.8.4-rc2-Linux-i686/share/cmake-2.8/Modules/CMakeTestCCompiler.cmake:52 (MESSAGE): The C compiler /home/oracle/gcc-4.6-windows_i686-linux/bin/i686-w64-mingw32-gcc is not able to compile a simple test program. It fails with the following output: Change Dir: /home/oracle/vcs/git/freetds/CMakeFiles/CMakeTmp Run Build Command:/usr/bin/make cmTryCompileExec/fast /usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build make[1]: Entering directory `/home/oracle/vcs/git/freetds/CMakeFiles/CMakeTmp' /home/oracle/tmp/cmake-2.8.4-rc2-Linux-i686/bin/cmake -E cmake_progress_report /home/oracle/vcs/git/freetds/CMakeFiles/CMakeTmp/CMakeFiles 1 Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.obj /home/oracle/gcc-4.6-windows_i686-linux/bin/i686-w64-mingw32-gcc -o CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.obj -c /home/oracle/vcs/git/freetds/CMakeFiles/CMakeTmp/testCCompiler.c Linking C executable cmTryCompileExec /home/oracle/tmp/cmake-2.8.4-rc2-Linux-i686/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 /home/oracle/gcc-4.6-windows_i686-linux/bin/i686-w64-mingw32-gcc CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.obj -o cmTryCompileExec -rdynamic i686-w64-mingw32-gcc: error: unrecognized option '-rdynamic' make[1]: *** [cmTryCompileExec] Error 1 make[1]: Leaving directory `/home/oracle/vcs/git/freetds/CMakeFiles/CMakeTmp' make: *** [cmTryCompileExec/fast] Error 2 CMake will not be able to correctly generate this project. Call Stack (most recent call first): CMakeLists.txt:37 (PROJECT) -- Configuring incomplete, errors occurred! ___ 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 Did you have this cross-compiling scenario working with a previous version of CMake before trying CMake 2.8.4-rc2? Please let us know if this is a change in behavior in CMake
Re: [CMake] CMake 2.8.4-rc2 ready for testing!
On Tue, Feb 1, 2011 at 3:56 AM, Johan Björk p...@spotify.com wrote: Hey David, What is the intended behavior when upgrading CMake on a OSX Machine? It seems that currently, generated projects will keep a reference to the resolved symlink, ie /Applications/CMake\ VERSION/Contents/bin/..., causing confusing errors such as Johan-Bjorks-MacBook-Pro-2:build-Debug-normal phb$ cmake --build . No such file or directory CMake Error: Generator: execution of make failed. Make command was: /Applications/CMake\ 2.8-3.app/Contents/bin/cmakexbuild/cmakexbuild/cmakexbuild/cmakexbuild/cmakexbuild/cmakexbuild/cmakexbuild/cmakexbuild/cmakexbuild/cmakexbuild/cmakexbuild/cmakexbuild/cmakexbuild/cmakexbuild/cmakexbuild/cmakexbuild/cmakexbuild/cmakexbuild/cmakexbuild -project spcore.xcodeproj build -target ALL_BUILD -configuration Debug It seems only some of the variables in CMakeCache is updated to reflect the new cmake path CMAKE_COMMAND:INTERNAL=/Applications/CMake 2.8-4.app/Contents/bin/cmake CMAKE_CPACK_COMMAND:INTERNAL=/Applications/CMake 2.8-4.app/Contents/bin/cpack CMAKE_CTEST_COMMAND:INTERNAL=/Applications/CMake 2.8-4.app/Contents/bin/ctest CMAKE_ROOT:INTERNAL=/Applications/CMake 2.8-4.app/Contents/share/cmake-2.8 others are not CMAKE_MAKE_PROGRAM:FILEPATH=/Applications/CMake 2.8-3.app/Contents/bin/cmakexbuild/cmakexbuild/cmakexbuild/cmakexbuild/cmakexbuild/cmakexbuild/cmakexbuild/cmakexbuild/cmakexbuild/cmakexbuild/cmakexbuild/cmakexbuild/cmakexbuild/cmakexbuild/cmakexbuild/cmakexbuild/cmakexbuild/cmakexbuild/cmakexbuild/cmakexbuild MAKECOMMAND:STRING=/Applications/CMake\ 2.8-3.app/Contents/bin/cmakexbuild -project spcore.xcodeproj build -target ALL_BUILD -configuration ${CTEST_CONFIGURATION_TYPE} CMAKE_BUILD_TOOL:INTERNAL=/Applications/CMake 2.8-3.app/Contents/bin/cmakexbuild/cmakexbuild/cmakexbuild/cmakexbuild/cmakexbuild/cmakexbuild/cmakexbuild/cmakexbuild/cmakexbuild/cmakexbuild/cmakexbuild/cmakexbuild/cmakexbuild/cmakexbuild/cmakexbuild/cmakexbuild/cmakexbuild/cmakexbuild/cmakexbuild/cmakexbuild CMAKE_EDIT_COMMAND:INTERNAL=/Applications/CMake 2.8-3.app/Contents/bin/ccmake (No clue how it added all those copies of cmakexbuild, I ran my dashboard a few times before realizing what was wrong) /Johan /Johan The intended behavior is it depends. CMake always honors a pre-existing cache, and simply trusts that it is correct. Usually, updating CMake only adds possible cache entries, and does not frequently change existing cache entries, so it's usually safe to just run the new cmake and go. But... if there is stale stuff in a cache, the safest thing to do is to blow it away and start from scratch. Whenever I update CMake on any machine, I typically start with clean builds just to be safe. On Mac OSX, since we have the 3 digit version number in the name of the app, going from 2.8.3 to 2.8.4 changes paths, as you've observed. I would recommend starting from a clean build tree whenever changing versions of CMake. Hope this helps, 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] CMake 2.8.4-rc2 ready for testing!
On Tue, Feb 1, 2011 at 7:08 AM, Dongsheng Song dongsheng.s...@gmail.com wrote: On Tue, Feb 1, 2011 at 20:04, David Cole david.c...@kitware.com wrote: On Tue, Feb 1, 2011 at 1:30 AM, Dongsheng Song dongsheng.s...@gmail.com wrote: On 2011-2-1 5:45, David Cole wrote: The CMake 2.8.4 release candidate stream continues! You can find the source and binaries here: http://www.cmake.org/files/v2.8/?C=M;O=D Since we switched to git, and a new workflow, we're expecting to do more frequent releases. Because of that, our release candidate phases will be shorter than they have been historically. So, if you want to test this out and ask for a fix, do it soon, or hold your peace till the next release! Following is the list of changes in this release. Since we switched to git, this list is now the 'git log' one line summary written by the named CMake developers. Please try this version of CMake on your projects and report any issues to the list or the bug tracker. Happy building! -Dave When I use cmake 2.8.2 with Debian 6.0: $ cmake -G Unix Makefiles -DCMAKE_BUILD_TYPE=Release -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_C_COMPILER=i686-w64-mingw32-gcc -DCMAKE_RC_COMPILER=i686-w64-mingw32-windres -- The C compiler identification is GNU -- The CXX compiler identification is GNU -- Check for working C compiler: /home/oracle/gcc-4.6-windows_i686-linux/bin/i686-w64-mingw32-gcc -- Check for working C compiler: /home/oracle/gcc-4.6-windows_i686-linux/bin/i686-w64-mingw32-gcc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working CXX compiler: /home/oracle/gcc-4.6-windows_i686-linux/bin/i686-w64-mingw32-c++ -- Check for working CXX compiler: /home/oracle/gcc-4.6-windows_i686-linux/bin/i686-w64-mingw32-c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Configuring done -- Generating done -- Build files have been written to: /home/oracle/vcs/git/freetds But cmake 2.8.4rc2 failed: $ export PATH=~/tmp/cmake-2.8.4-rc2-Linux-i686/bin:$PATH $ cmake -G Unix Makefiles -DCMAKE_BUILD_TYPE=Release -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_C_COMPILER=i686-w64-mingw32-gcc -DCMAKE_RC_COMPILER=i686-w64-mingw32-windres -- Configuring done You have changed variables that require your cache to be deleted. Configure will be re-run and you may have to reset some variables. The following variables have changed: CMAKE_RC_COMPILER= i686-w64-mingw32-windres CMAKE_C_COMPILER= i686-w64-mingw32-gcc -- The C compiler identification is GNU -- The CXX compiler identification is GNU -- Check for working C compiler: /home/oracle/gcc-4.6-windows_i686-linux/bin/i686-w64-mingw32-gcc -- Check for working C compiler: /home/oracle/gcc-4.6-windows_i686-linux/bin/i686-w64-mingw32-gcc -- broken CMake Error at /home/oracle/tmp/cmake-2.8.4-rc2-Linux-i686/share/cmake-2.8/Modules/CMakeTestCCompiler.cmake:52 (MESSAGE): The C compiler /home/oracle/gcc-4.6-windows_i686-linux/bin/i686-w64-mingw32-gcc is not able to compile a simple test program. It fails with the following output: Change Dir: /home/oracle/vcs/git/freetds/CMakeFiles/CMakeTmp Run Build Command:/usr/bin/make cmTryCompileExec/fast /usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build make[1]: Entering directory `/home/oracle/vcs/git/freetds/CMakeFiles/CMakeTmp' /home/oracle/tmp/cmake-2.8.4-rc2-Linux-i686/bin/cmake -E cmake_progress_report /home/oracle/vcs/git/freetds/CMakeFiles/CMakeTmp/CMakeFiles 1 Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.obj /home/oracle/gcc-4.6-windows_i686-linux/bin/i686-w64-mingw32-gcc -o CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.obj -c /home/oracle/vcs/git/freetds/CMakeFiles/CMakeTmp/testCCompiler.c Linking C executable cmTryCompileExec /home/oracle/tmp/cmake-2.8.4-rc2-Linux-i686/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 /home/oracle/gcc-4.6-windows_i686-linux/bin/i686-w64-mingw32-gcc CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.obj -o cmTryCompileExec -rdynamic i686-w64-mingw32-gcc: error: unrecognized option '-rdynamic' make[1]: *** [cmTryCompileExec] Error 1 make[1]: Leaving directory `/home/oracle/vcs/git/freetds/CMakeFiles/CMakeTmp' make: *** [cmTryCompileExec/fast] Error 2 CMake will not be able to correctly generate this project. Call Stack (most recent call first): CMakeLists.txt:37 (PROJECT) -- Configuring incomplete, errors occurred! ___ 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 Did you have this cross-compiling
Re: [CMake] Help with fixup_bundle for Mac OS - @executable_path, @loader_path, @rpath
We only have exepath defined with which to make a replacement. BundleUtilities is strongly biased toward having everything be relative to the main bundle executable (or a similarly-pathed executable) because of that very line of code. We are using @executable_path occurrences to actually resolve to real files in order to make all the logic work well. We need to locate real files at fixup time in order to make sure the final bundle is truly stand-alone. This is a much more difficult task if you start throwing @loader_path references into files -- because BundleUtilities *cannot* know via static analysis what loader_path refers to when it is found in a file other than the one currently being analyzed. We only know what @executable_path is because we make the simplifying assumption that all executables will be located in the same relative location to the libraries they depend on. So: if your bundle consists of executables located in more than one path depth. BundleUtilities is not going to be sufficient, and you will have to use it simply as a guide for your own custom solution. Does that help? David On Tue, Feb 1, 2011 at 1:19 PM, Scott Fowler s.fow...@tecplot.com wrote: How well does @loader_path work with line 372 in BundleUtilities.cmake? It doesn't seem to make any allowances for @loader_path or @rpath. string(REPLACE @executable_path ${exepath} resolved_embedded_item ${embedded_item}) get_filename_component(resolved_embedded_item ${resolved_embedded_item} ABSOLUTE) Scott -Original Message- From: Sean McBride [mailto:s...@rogue-research.com] Sent: Tuesday, February 01, 2011 9:26 AM To: Scott Fowler; cmake@cmake.org Subject: Re: [CMake] Help with fixup_bundle for Mac OS - @executable_path, @loader_path, @rpath On Tue, 1 Feb 2011 08:39:08 -0800, Scott Fowler said: I have an application Foo which distributes a plugin for a separate application Bar. My plugin is dependent on libraries distributed with application Foo. When application Bar tries to load the plugin, the plugin will not load, as it cannot find the libraries distributed with Foo. As far as I can tell this boils down to the @executable_path reference which fixup_bundle inserts into my binaries. otool -L plugin.dylib @executable_path/../MacOS/libsomedependency.dylib @executable_path/../MacOS/libsomeotherdependency.dylib etc... When application Bar loads my plugin, I'm assuming that @executable_path resolves to the location of Bar, but the plugin's dependent libraries are in Foo.app/Contents/MacOS, not in Bar.app/ Contents/MacOS. All this leads me to believe that I should be using @loader_path or @rpath instead, but I don't see a way to do this using CMake as it appears that BundleUtilities.cmake and GetPrerequisites.cmake are hardcoded to use @executable_path. Install names are such a PITA. Here's a great overview: http://www.mikeash.com/pyblog/friday-qa-2009-11-06-linking-and-install- names.html @loader_path was added in 10.4, and assuming you don't need to support anything older, you should never use @executable_path because @loader_path is the same or better. Not sure if it will solve your problem though. -- Sean McBride, B. Eng s...@rogue-research.com Rogue Research www.rogue-research.com Mac Software Developer Montréal, Québec, Canada This e-mail and any files transmitted with it are confidential and are intended solely for the use of the individual or entity to whom they are addressed. If you are NOT the intended recipient or the person responsible for delivering the e-mail to the intended recipient, be advised that you have received this e-mail in error and that any use, dissemination, forwarding, printing or copying this e-mail is strictly prohibited. ___ 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] Help with fixup_bundle for Mac OS - @executable_path, @loader_path, @rpath
It sounds to me (since you're not able to use @executable_path) that stuff from your bundle is depending on being loaded into executables from more than one path. In which case, you are asking for subtle and hard-to-diagnose issues down the road (in my opinion)... I could be wrong ... What you're saying sounds reasonable, and as long as it works as expected, then everything should be just fine. Personally, if I were doing that, I would verify it: - on other machines, with none of the build products anywhere in sight (i.e. -- drag-n-drop it to a clean minimal machine and try it there) - use Activity Monitor to see what files are actually loaded at runtime by various run scenarios (run your app, with/without plugins, run other exes in your bundle, ...) Good luck, David On Tue, Feb 1, 2011 at 2:07 PM, Scott Fowler s.fow...@tecplot.com wrote: fixup_bundle is doing everything we need it to on Mac, except that the install_names are wrong. It seems that we might be able to just execute a script at install time to change @executable_path to @loader_path. This gets us 90% of the way. otool -L QtGui.framework/Version/4/QtGui Old: @executable_path/../Frameworks/QtCore.framework/Version/4/QtCore New: @loader_path/../Frameworks/QtCore.framework/Version/4/QtCore Just changing to @loader_path doesn't work for the Frameworks because they're now pointing to the wrong relative path. If our install time script can change @loader_path/.. to @loader_path/../../../../ (just for the Frameworks) we'd be golden. Does that sound like a reasonable solution, or am I just asking for pain later? Thanks for the input. -Original Message- From: David Cole [mailto:david.c...@kitware.com] Sent: Tuesday, February 01, 2011 10:49 AM To: Scott Fowler Cc: Sean McBride; cmake@cmake.org Subject: Re: [CMake] Help with fixup_bundle for Mac OS - @executable_path, @loader_path, @rpath We only have exepath defined with which to make a replacement. BundleUtilities is strongly biased toward having everything be relative to the main bundle executable (or a similarly-pathed executable) because of that very line of code. We are using @executable_path occurrences to actually resolve to real files in order to make all the logic work well. We need to locate real files at fixup time in order to make sure the final bundle is truly stand-alone. This is a much more difficult task if you start throwing @loader_path references into files -- because BundleUtilities *cannot* know via static analysis what loader_path refers to when it is found in a file other than the one currently being analyzed. We only know what @executable_path is because we make the simplifying assumption that all executables will be located in the same relative location to the libraries they depend on. So: if your bundle consists of executables located in more than one path depth. BundleUtilities is not going to be sufficient, and you will have to use it simply as a guide for your own custom solution. Does that help? David On Tue, Feb 1, 2011 at 1:19 PM, Scott Fowler s.fow...@tecplot.com wrote: How well does @loader_path work with line 372 in BundleUtilities.cmake? It doesn't seem to make any allowances for @loader_path or @rpath. string(REPLACE @executable_path ${exepath} resolved_embedded_item ${embedded_item}) get_filename_component(resolved_embedded_item ${resolved_embedded_item} ABSOLUTE) Scott -Original Message- From: Sean McBride [mailto:s...@rogue-research.com] Sent: Tuesday, February 01, 2011 9:26 AM To: Scott Fowler; cmake@cmake.org Subject: Re: [CMake] Help with fixup_bundle for Mac OS - @executable_path, @loader_path, @rpath On Tue, 1 Feb 2011 08:39:08 -0800, Scott Fowler said: I have an application Foo which distributes a plugin for a separate application Bar. My plugin is dependent on libraries distributed with application Foo. When application Bar tries to load the plugin, the plugin will not load, as it cannot find the libraries distributed with Foo. As far as I can tell this boils down to the @executable_path reference which fixup_bundle inserts into my binaries. otool -L plugin.dylib @executable_path/../MacOS/libsomedependency.dylib @executable_path/../MacOS/libsomeotherdependency.dylib etc... When application Bar loads my plugin, I'm assuming that @executable_path resolves to the location of Bar, but the plugin's dependent libraries are in Foo.app/Contents/MacOS, not in Bar.app/ Contents/MacOS. All this leads me to believe that I should be using @loader_path or @rpath instead, but I don't see a way to do this using CMake as it appears that BundleUtilities.cmake and GetPrerequisites.cmake are hardcoded to use @executable_path. Install names are such a PITA. Here's a great overview: http://www.mikeash.com/pyblog/friday-qa-2009-11-06-linking-and-install- names.html @loader_path was added in 10.4, and assuming you don't need to support anything
Re: [CMake] New warnings in CMake 2.8.4-rc2
On Wed, Feb 2, 2011 at 11:46 AM, Eric Noulard eric.noul...@gmail.com wrote: 2011/2/2 Bill Hoffman bill.hoff...@kitware.com: On 2/2/2011 11:14 AM, Emmanuel Blot wrote: Currently, there is no way to turn this off. Very, very bad news ;-( IMHO, this is a recurrent issue with CMake. It seems the I was wrong. Please read Brad King's posts on this, and then see if it answers your questions. I think nothing has been switch ON by default **but** the check of command line defined options, as Brad said: - User passes -DCMAKE_BIULD_TYPE on the command line and gets a warning because it is misspelled and therefore unused. This is ON by default but can be disabled with --no-warn-unused-cli, or by *gasp* not passing unused variables. Now frankly I still agree that the default should be to switch it OFF and put it ON using a new policy and/or switch it ON using --warn-unused-cli -- Erk Membre de l'April - « promouvoir et défendre le logiciel libre » - http://www.april.org ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake Normally, I would agree with you that new features should be OFF by default, and explicitly activated. But with this particular feature, it would be utterly useless if it was OFF by default. It's a *warning* about unused command line variables (and it's only a warning, people, feel free to ignore it if you like -- it does no harm, and changes no behavior -- ignore it if you're not willing to avoid it). There are 2 ways to avoid this new warning with CMake 2.8.4: - reference all variables passed in on the command line (after all, if it's not referenced, why pass it in?) - use the new --no-warn-unused-cli command line option to avoid the warning The other way to avoid the warning is to continue using CMake 2.8.3 or earlier. 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] cpack make package failure
Changing from Win XP to Win 7 means you have to get used to a more secure permissions model among other things. Do you have the problem if you run this in a run as administrator scenario? For the access is denied problem: do you have full permissions to the directory in question? If you go to its parent directory in a Windows explorer window, can you delete the directory and try again? Does it prompt you that it needs more credentials when you try to delete it? On Wed, Feb 2, 2011 at 3:13 PM, thehighhat thehighhat+...@gmail.com wrote: cmake config build ctest/cdash work. * but cpack broken. env: win 7 x64, cygwin, cmake 2.8.1, for unix makefiles console project... when type make package or cpack get this error messages: $ cpack --verbose CPack: Enable Verbse CPack Verbose: Read CPack config file: CPack Verbose: Read CPack configuration file: C:/path/to/build/dir/CPackConfig.cmake CPack Verbose: Specified generator: NSIS CPack Verbose: Test NSIS version: C:/Program Files (x86)/NSIS/makensis.exe /VERSION CPack Verbose: Use generator: cmCPackNSISGenerator CPack Verbose: For project: XYZ CPack: Create package using NSIS CPack Verbose: Read description file: C:/path/to/cmake-2.8.1-win32-x86/share/cmake-2.8/Templates/CPack.GenericDescription.txt CPack Verbose: Remove toplevel directory: C:/path/to/build/dir/_CPack_Packages/win32/NSIS CPack: Install projects CPack: - Run preinstall target for: Project CPack Error: Problem running install command: C:/path/to/make preinstall Please check C:/path/to/build/dir/_CPack_Packages/win32/NSIS/PreinstallOutput.log for errors CPack Error: Error when generating package: XYZ The PreinstallOutput.log has this: # Run command: C:/path/to/make preinstall # Directory: C:/path/to/build/dir # Output: Access is denied This used to work when the setup was Windows XP, and a different compiler. Everything else the same. Any ideas? ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
[CMake] The CMake bug tracker and the backlog of unresolved issues
Hello CMakers, The CMake issue tracker is located at: http://public.kitware.com/Bug All of the issues except for the most recent 15 or so have been assigned and looked at by at least one CMake developer at one point in each issue's history. However, not all issues that are assigned to developers are being actively worked on. Personally, I have just over 100 issues assigned to me, and I know it would take me on the order of months to work through all of them, even if I were able to work on them full time. I would like very much for us to introduce the notion of a backlog in the CMake bug tracker, where we can send bugs that are not being actively worked on, and we can review the backlog periodically for issues that should be brought forward into active development again. Since we do not have a status of backlog -- but we don't really use the status values of acknowledged or confirmed very much, I am thinking we could define backlog as: status=acknowledged AND assigned to= (empty string, none) As an exemplar, I just sent this one to the backlog by setting its status and de-assigning it: http://public.kitware.com/Bug/view.php?id=7867 Does this seem like a reasonable technique? Any comments or questions before we start sending more things to the backlog? When we send around the request (coming up soon, after the final 2.8.4 release is ready) to vote for your favorite issues... you'd still be able to vote for things in the backlog. And if we can find somebody willing to do the work, we'll assign it to them and set status=assigned again... Let me know what you think -- thanks for reading, 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] CPack/NSIS and launching the application after the installation completed
On Mon, Feb 7, 2011 at 3:16 PM, Clinton Stimpson clin...@elemtech.comwrote: On Monday, February 07, 2011 01:10:28 pm Crni Gorac wrote: Is it possible, on Windows and with NSIS back-end for CPack, to have small check-box on the last page of the installer that would, if checked, cause the installed application to be launched after the installation completed? I'm not sure if you can use the default NSIS template, but you should be able to with your own. If not, is it then possible somehow with CPack/NSIS to unconditionally launch the application after the installation completed? install(PROGRAMS ${myprog} DESTINATION bin) SET(CPACK_NSIS_EXTRA_INSTALL_COMMANDS ExecWait '\\\$INSTDIRbin${myprog}\\\') -- Clinton Stimpson Elemental Technologies, Inc Computational Simulation Software, LLC www.csimsoft.com ___ 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 The commit to fix this bug is in the 2.8.4-rc2 release candidate: http://public.kitware.com/Bug/view.php?id=11144 With it, you can set CPACK_NSIS_MUI_FINISHPAGE_RUN to an executable in your installation directory, and it will generate a page with a checkbox on it, giving the end user the choice of running or not running... ___ 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_INSTALL_PREFIX on Windows Machine
When you say It does not appear to be something specific to the GDCM CMakeLists.txt file do you mean that you see this behavior when configuring other projects with CMake? What do you get if you search for CMAKE_INSTALL_PREFIX in the GDCM source tree? On Mon, Feb 7, 2011 at 5:03 PM, Holmes, David R. III, Ph.D. [RO RM1-24] holmes.dav...@mayo.edu wrote: Colleagues- I believe that I have run in a bug with cmake, but being a novice, I cannot say. I would greatly appreciate any help. Here is the story: (1)I’m trying to build GDCM-2.0.17 and a Windows machine (same issue if I specify 32-bit or 64-bit build) using CMAKE-2.8.3 (2)This is how I have chosen to setup my environment: S: (or any drive) | + GDCM-2.0.17 | + SRC | -- [GDCM Source Tree] + BUILD | -- PC_NT_32 | | |-- [GDCM Build files for 32 bit] | -- PC_NT_64 | -- [GDCM Build files for 64 bit] + INSTALL | -- PC_NT_32 | | |-- [GDCM Installed files for 32 bit] | -- PC_NT_64 | -- [GDCM Installed files for 64 bit] (3)I have run both cmake.exe and cmake-gui.exe with the same result. (4)After the first configure, I change the CMAKE_INSTALL_PREFIX to “s:/GDCM-2.0.17/INSTALL/PC_NT_32” (5)I run configure again (6)It changes CMAKE_INSTALL_PREFIX to “s:/GDCM 2.0-2.0.17/PC_NT_32” (7)I change it back and it requires that I run configure again (8)Repeat from step (4) with no resolution I do not see this issue when I run on a linux machine. It does not appear to be something specific to the GDCM CMakeLists.txt file As I said, I would appreciate any thoughts. Thanks david David R Holmes III Biomedical Imaging Resource Core Facility Director Department of Physiology and Biomedical Engineering Mayo Clinic College of Medicine Ph: 507-266-4250 Fax: 507-284-1632 holmes.dav...@mayo.edu ___ 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] WG: Problems with MinGW + BundleUtilities
Copy the file C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/BundleUtilities.cmake and in your own copy replace all: message(STATUS with: message( Then reference that copied file directly from your install/CMakeLists.txt and run it again. -- i.e. -- instead of include(BundleUtilities) do include(${CMAKE_CURRENT_SOURCE_DIR}/BundleUtilities.cmake) After running it, if it doesn't give you enough information to diagnose the problem yourself, send that output to the list. HTH, David On Mon, Jan 31, 2011 at 5:06 PM, NoRulez noru...@me.com wrote: I had sent this email, but it wasn’t forwarded to the mailing list. Maybe the administrator could forward the email, because I had attached a tiny example (RAR archive). Best Regards *Von:* NoRulez [mailto:noru...@me.com] *Gesendet:* Freitag, 28. Jänner 2011 17:52 *An:* 'CMake MailingList' *Betreff:* AW: [CMake] Problems with MinGW + BundleUtilities I’ve added a tiny demo project which shows exactly the same error. Here is the output of the cpack command: C:\Users\norulez\Desktop\DemoProject\buildC:\Program Files (x86)\CMake 2.8\bin\cpack.exe CPack: Create package using NSIS CPack: Install projects CPack: - Run preinstall target for: DemoProject CPack: - Install project: DemoProject CPack: - Install component: DemoProject CMake Error at C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/BundleUtilities.cmake:657 (message): error: fixup_bundle: not a valid bundle Call Stack (most recent call first): C:/Users/norulez/Desktop/DemoProject/build/install/cmake_install.cmake:43 (fixup_bundle) C:/Users/norulez/Desktop/DemoProject/build/cmake_install.cmake:33 (INCLUDE) CPack Error: Error when generating package: DemoProject C:\Users\norulez\Desktop\DemoProject\build Thanks in advance Best Regards NoRulez *Von:* David Cole [mailto:david.c...@kitware.com] *Gesendet:* Mittwoch, 19. Jänner 2011 15:07 *An:* NoRulez *Cc:* CMake MailingList *Betreff:* Re: [CMake] Problems with MinGW + BundleUtilities Send us the full output of the call to fixup_bundle. Is the output different if you start from a clean build tree, and run fixup_bundle for the first time? On Wed, Jan 19, 2011 at 5:35 AM, NoRulez noru...@me.com wrote: The two files are also in the QT_BINARY_DIR The two directories (QT_BINARY_DIR and QT_LIBRARY_DIR ) are the directories where the dlls are stored. So, what should I do now to get it working? *Von:* David Cole [mailto:david.c...@kitware.com] *Gesendet:* Mittwoch, 19. Jänner 2011 11:23 *An:* NoRulez *Cc:* CMake MailingList *Betreff:* Re: [CMake] Problems with MinGW + BundleUtilities Never mind. It's QT_BINARY_DIR and QT_LIBRARY_DIR, right there in the first line of code. So add to that variable the actual directories where all of your dlls live and it should work. i.e. -- what directories are the following files in? libgcc_s_dw2-1.dll mingwm10.dll They also need to be included in DIRS for fixup_bundle and get_prerequisites to find them. On Wed, Jan 19, 2011 at 5:21 AM, David Cole david.c...@kitware.com wrote: And what is the value of DIRS? On Wed, Jan 19, 2011 at 3:40 AM, NoRulez noru...@me.com wrote: The code I use to create the bundle is as followed SET(DIRS ${QT_BINARY_DIR} ${QT_LIBRARY_DIR}) SET(APPS ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${PROJECT_NAME}.exe) # Not working (Also when trying this in the INSTALL(CODE # SET(APPS ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${PROJECT_NAME}.exe) # SET(APPS ${CMAKE_INSTALL_PREFIX}/${PROJECT_NAME}.exe) # SET(APPS \${CMAKE_INSTALL_PREFIX}/${PROJECT_NAME}.exe) SET(PLUGINS plugins) INSTALL(FILES ${QT_PLUGINS_DIR}/sqldrivers/qsqlited4.dllDESTINATION ${PLUGINS}/sqldrivers COMPONENT ${PROJECT_NAME}) INSTALL(CODE file(GLOB_RECURSE QTPLUGINS \${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${PLUGINS}/sqldrivers/* ${CMAKE_SHARED_LIBRARY_SUFFIX}\) include(BundleUtilities) fixup_bundle(\${APPS}\ \\${QTPLUGINS}\ \${DIRS}\) COMPONENT ${PROJECT_NAME}) The install command for the application is: INSTALL(TARGETS ${PROJECT_NAME} BUNDLE DESTINATION . COMPONENT ${PROJECT_NAME} RUNTIME DESTINATION . COMPONENT ${PROJECT_NAME}) Thanks in advance Best Regards NoRulez *Von:* David Cole [mailto:david.c...@kitware.com] *Gesendet:* Mittwoch, 19. Jänner 2011 00:26 *An:* NoRulez *Cc:* CMake MailingList *Betreff:* Re: [CMake] Problems with MinGW + BundleUtilities Providing code samples and/or copy/pasted output from doing your build would be more effective. I don't really know what you mean by give two destinations On Tue, Jan 18, 2011 at 5:51 PM, NoRulez noru...@me.com wrote: Thanks for the answer I already added ${QT_LIBRARY_DIR} and ${QT_BINARY_DIR}, but if I give two
Re: [CMake] CTest: Getting the PriorRevision with ctest_update?
Not directly. But if you analyze Update.xml after a ctest_update call, you can parse it out... On Wed, Feb 9, 2011 at 7:13 AM, Johan Björk p...@spotify.com wrote: Hi everyone, Does ctest expose a way to get the old (and new I guess) revision of a source tree? /Johan ___ 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] FindMKL.cmake
On Wed, Feb 9, 2011 at 8:20 AM, Robert Bielik robert.bie...@xponaut.sewrote: Michael Wild skrev 2011-02-09 14:07: that's what the CMAKE_MODULE_PATH variable is for. And there is a FindLAPACK.cmake should already find Intel MKL, however IMHO the whole module is rather broken... Thnx Michael, I found that seconds after pressing the send button :) Thanks for pointing to LAPACK, yeah it does seem rather broken. Won't fit my purpose unfortunately. Is there some way I can make file(GLOB_RECURSE... ) start at a directory of my choice (instead of the current CMakeLists.txt folder) ? file(GLOB_RECURSE ${dir}/*) Or make find_path search recursively ? None of the find_* commands do recursion... /Rob ___ 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] FindMKL.cmake
On Wed, Feb 9, 2011 at 9:15 AM, Robert Bielik robert.bie...@xponaut.sewrote: David Cole skrev 2011-02-09 14:31: Is there some way I can make file(GLOB_RECURSE... ) start at a directory of my choice (instead of the current CMakeLists.txt folder) ? file(GLOB_RECURSE ${dir}/*) Yes, and that will return file names. Would be nice to have a directive CMAKE_DIRECTORIES_ONLY to only return globbed paths... You can iterate the returned list something like this to accumulate just directory names: set(dirs ) foreach(f ${glob_results}) if(IS_DIRECTORY ${f}) set(dirs ${dirs} ${f}) endif() endforeach() None of the find_* commands do recursion... ...which then could be fed to find_* /Rob ___ 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] FindMKL.cmake
What does this return if you save it as glob.cmake and then run cmake -P glob.cmake ?? file(GLOB results /*) set(dirs ) foreach(f ${results}) if(IS_DIRECTORY ${f}) set(dirs ${dirs} ${f}) message(directory: '${f}') else() message(file: '${f}') endif() endforeach() message(dirs='${dirs}') I get this: C:\Users\davidcole\Dashboards\My Testscmake -P glob.cmake directory: '/$RECYCLE.BIN' file: '/.rnd' directory: '/Documents and Settings' directory: '/found.000' file: '/hiberfil.sys' directory: '/Intel' directory: '/K' file: '/mfg.sdr' directory: '/MinGW' directory: '/MSOCache' file: '/pagefile.sys' directory: '/Program Files' directory: '/Program Files (x86)' directory: '/ProgramData' directory: '/Public' directory: '/Python26' directory: '/Qt' directory: '/Share' directory: '/System Recovery' directory: '/System Volume Information' directory: '/Users' directory: '/Windows' directory: '/xampp' dirs='/$RECYCLE.BIN;/Documents and Settings;/found.000;/Intel;/K;/MinGW;/MSOCache;/Program Files;/Program Files (x86);/ProgramData;/Public;/Python26;/Qt;/Share;/System Recovery;/System Volume Information;/Users;/Windows;/xampp' On Wed, Feb 9, 2011 at 10:41 AM, Robert Bielik robert.bie...@xponaut.sewrote: David Cole skrev 2011-02-09 16:32: You can iterate the returned list something like this to accumulate just directory names: set(dirs ) foreach(f ${glob_results}) if(IS_DIRECTORY ${f}) set(dirs ${dirs} ${f}) endif() endforeach() Hmm... doesn't work. find(...) doesn't return directories, only files... :( /Rob ___ 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] FindMKL.cmake
Ah I know what it is. If you use GLOB_RECURSE you only get files because the directories are recursed into. You have to use GLOB alone and do the recursion manually if you want to descend into found directories... Painful. But still possible. On Wed, Feb 9, 2011 at 10:48 AM, David Cole david.c...@kitware.com wrote: What does this return if you save it as glob.cmake and then run cmake -P glob.cmake ?? file(GLOB results /*) set(dirs ) foreach(f ${results}) if(IS_DIRECTORY ${f}) set(dirs ${dirs} ${f}) message(directory: '${f}') else() message(file: '${f}') endif() endforeach() message(dirs='${dirs}') I get this: C:\Users\davidcole\Dashboards\My Testscmake -P glob.cmake directory: '/$RECYCLE.BIN' file: '/.rnd' directory: '/Documents and Settings' directory: '/found.000' file: '/hiberfil.sys' directory: '/Intel' directory: '/K' file: '/mfg.sdr' directory: '/MinGW' directory: '/MSOCache' file: '/pagefile.sys' directory: '/Program Files' directory: '/Program Files (x86)' directory: '/ProgramData' directory: '/Public' directory: '/Python26' directory: '/Qt' directory: '/Share' directory: '/System Recovery' directory: '/System Volume Information' directory: '/Users' directory: '/Windows' directory: '/xampp' dirs='/$RECYCLE.BIN;/Documents and Settings;/found.000;/Intel;/K;/MinGW;/MSOCache;/Program Files;/Program Files (x86);/ProgramData;/Public;/Python26;/Qt;/Share;/System Recovery;/System Volume Information;/Users;/Windows;/xampp' On Wed, Feb 9, 2011 at 10:41 AM, Robert Bielik robert.bie...@xponaut.sewrote: David Cole skrev 2011-02-09 16:32: You can iterate the returned list something like this to accumulate just directory names: set(dirs ) foreach(f ${glob_results}) if(IS_DIRECTORY ${f}) set(dirs ${dirs} ${f}) endif() endforeach() Hmm... doesn't work. find(...) doesn't return directories, only files... :( /Rob ___ 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] FindMKL.cmake
On Thu, Feb 10, 2011 at 2:50 AM, Robert Bielik robert.bie...@xponaut.sewrote: Michael Wild skrev 2011-02-09 16:48: what about this: file(GLOB_RECURSE glob_results /some/pattern*) set(dirs) foreach(f IN LISTS glob_results) get_filename_component(d ${f} PATH) list(APPEND dirs ${d}) endforeach() list(REMOVE_DUPLICATES dirs) Yeah, works fine but it seems to be a lot slower than using the nested file(GLOB...) macro approach, but I don't know why. Probably because there are thousands of files, but only tens of directories. Bang! 100x slower. /Rob ___ 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] FindMKL.cmake
On Thu, Feb 10, 2011 at 8:01 AM, Michael Wild them...@gmail.com wrote: On 02/10/2011 01:52 PM, David Cole wrote: On Thu, Feb 10, 2011 at 2:50 AM, Robert Bielik robert.bie...@xponaut.se wrote: Michael Wild skrev 2011-02-09 16:48: what about this: file(GLOB_RECURSE glob_results /some/pattern*) set(dirs) foreach(f IN LISTS glob_results) get_filename_component(d ${f} PATH) list(APPEND dirs ${d}) endforeach() list(REMOVE_DUPLICATES dirs) Yeah, works fine but it seems to be a lot slower than using the nested file(GLOB...) macro approach, but I don't know why. Probably because there are thousands of files, but only tens of directories. Bang! 100x slower. But the other macro also touches every file and directory and is even recursive. I think the real cost is in the list(REMOVE_DUPLICATES) call. Absolutely. But the number of elements in that list will be the number of files encountered in the full recursive glob, which is probably much larger than the number of elements conditionally added to the list involved in the macro approach. Michael ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] add_custom_target and output file dependencies
Show us the surrounding code (i.e. -- the actual copy command) On Thu, Feb 10, 2011 at 10:40 AM, Clifford Yapp cliffy...@gmail.com wrote: I'm seeing an extremely strange behavior with add_custom_command/add_custom_target, and I'm not sure what's causing it. Background: I'm trying to copy large numbers of files in batch lots during the make process, with a custom target that depends on a list of files and runs a single copy process (cmake -P file.cmake where file.cmake contains the list and the FILE(COPY command) to copy them all in one gulp if any of them changes. This works, but some of the copy processes do not terminate (i.e. multiple calls to make result in the copy happening each time, even though the files have already been copied.) The termination failures appear to be consistent, but for the life of me I can't figure out what is causing them. I have a list: SET(tclscripts_TCLSCRIPTS ami.tcl ampi.tcl cad_clrpick.tcl cad_dialog.tcl chkexterns.tcl fs_dialog.tk helpcomm.tcl helplib.tcl hoc.tcl html_library.tcl libdm.tcl menu_override.tcl mouse.tcl vmath.tcl ) This list fails every time to terminate. However, if I comment out either the first or the second entry (but NOT other entries, although my testing has not been exhaustive) it DOES terminate. There is nothing special about either of the two first files that I can discover. Also, if I comment out one of those two and add another file, the termination failure returns. It's not terribly critical, but it is rather disturbing that these copy commands keep getting run when I can't see any reason for it. Has anybody seen behavior like this? How would I check what is triggering the copy? I can try to cook up a more minimal test case if there is a need, but it's difficult to be sure I can reproduce it in a contained test because I don't know for sure what's happening. Any help appreciated. Thanks, CY ___ 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] add_custom_target and output file dependencies
Are you using make -j for parallel builds by any chance? Does it still happen if you use make without any -j flags...? Rather than: ADD_CUSTOM_COMMAND( OUTPUT ${outputlist} COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/${targetprefix}.cmake DEPENDS ${${datalist}} I would recommend changing to: ADD_CUSTOM_COMMAND( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${targetprefix}.sentinel COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/${targetprefix}.cmake COMMAND ${CMAKE_COMMAND} -E ${CMAKE_CURRENT_BINARY_DIR}/${targetprefix}.sentinel DEPENDS ${${datalist}} And then change anything that depends on ${outputlist} (if anything) to depend on the sentinel file instead... We use the single output sentinel file approach with the ExternalProject_Add custom commands, and it works very well. Perhaps multiple cmakes are trying to copy the same file at the same time because of parallel building and multiple outputs being specified for the add_custom_command call (Speculation) But if true, this might be a reasonable explanation. If not, it's a mystery then Do you see any error output...? What is the not terminating thing: is it that make never comes back, or that you have a zombie cmake process after running make...? On Thu, Feb 10, 2011 at 11:01 AM, Clifford Yapp cliffy...@gmail.com wrote: On Thu, Feb 10, 2011 at 10:48 AM, David Cole david.c...@kitware.com wrote: Show us the surrounding code (i.e. -- the actual copy command) nods - sorry, should have provided more detail. This is an example file that does the copying: SET(FILES_TO_COPY /home/user/brlcad/cmake/src/tclscripts/ami.tcl;/home/user/brlcad/cmake/src/tclscripts/ampi.tcl;/home/user/brlcad/cmake/src/tclscripts/cad_clrpick.tcl;/home/user/brlcad/cmake/src/tclscripts/cad_dialog.tcl;/home/user/brlcad/cmake/src/tclscripts/chkexterns.tcl;/home/user/brlcad/cmake/src/tclscripts/ fs_dialog.tk ;/home/user/brlcad/cmake/src/tclscripts/helpcomm.tcl;/home/user/brlcad/cmake/src/tclscripts/helplib.tcl;/home/user/brlcad/cmake/src/tclscripts/hoc.tcl;/home/user/brlcad/cmake/src/tclscripts/html_library.tcl;/home/user/brlcad/cmake/src/tclscripts/libdm.tcl;/home/user/brlcad/cmake/src/tclscripts/menu_override.tcl;/home/user/brlcad/cmake/src/tclscripts/mouse.tcl;/home/user/brlcad/cmake/src/tclscripts/vmath.tcl) FILE(COPY ${FILES_TO_COPY} DESTINATION /home/user/brlcad/cmake-build/share/brlcad/7.18.1/tclscripts) This is the subset of the macro that generates the files: SET(inputlist) FOREACH(filename ${${datalist}}) SET(inputlist ${inputlist} ${CMAKE_CURRENT_SOURCE_DIR}/${filename}) ENDFOREACH(filename ${${datalist}}) SET(${targetprefix}_cmake_contents SET(FILES_TO_COPY ${inputlist}) FILE(COPY \${FILES_TO_COPY} DESTINATION ${CMAKE_BINARY_DIR}/${DATA_DIR}/${targetdir}) ) FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/${targetprefix}.cmake ${${targetprefix}_cmake_contents}) SET(outputlist) FOREACH(filename ${${datalist}}) GET_FILENAME_COMPONENT(ITEM_NAME ${filename} NAME) SET(outputlist ${outputlist} ${CMAKE_BINARY_DIR}/${DATA_DIR}/${targetdir}/${ITEM_NAME}) ENDFOREACH(filename ${${datalist}}) ADD_CUSTOM_COMMAND( OUTPUT ${outputlist} COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/${targetprefix}.cmake DEPENDS ${${datalist}} ) ADD_CUSTOM_TARGET(${datalist}_cp ALL DEPENDS ${outputlist}) ___ 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] add_custom_target and output file dependencies
Sorry. Correction here... Make that: COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/${targetprefix}.sentinel (The touch is the rather important part of that command line) On Thu, Feb 10, 2011 at 11:19 AM, David Cole david.c...@kitware.com wrote: Are you using make -j for parallel builds by any chance? Does it still happen if you use make without any -j flags...? Rather than: ADD_CUSTOM_COMMAND( OUTPUT ${outputlist} COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/${targetprefix}.cmake DEPENDS ${${datalist}} I would recommend changing to: ADD_CUSTOM_COMMAND( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${targetprefix}.sentinel COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/${targetprefix}.cmake COMMAND ${CMAKE_COMMAND} -E ${CMAKE_CURRENT_BINARY_DIR}/${targetprefix}.sentinel DEPENDS ${${datalist}} And then change anything that depends on ${outputlist} (if anything) to depend on the sentinel file instead... We use the single output sentinel file approach with the ExternalProject_Add custom commands, and it works very well. Perhaps multiple cmakes are trying to copy the same file at the same time because of parallel building and multiple outputs being specified for the add_custom_command call (Speculation) But if true, this might be a reasonable explanation. If not, it's a mystery then Do you see any error output...? What is the not terminating thing: is it that make never comes back, or that you have a zombie cmake process after running make...? On Thu, Feb 10, 2011 at 11:01 AM, Clifford Yapp cliffy...@gmail.comwrote: On Thu, Feb 10, 2011 at 10:48 AM, David Cole david.c...@kitware.com wrote: Show us the surrounding code (i.e. -- the actual copy command) nods - sorry, should have provided more detail. This is an example file that does the copying: SET(FILES_TO_COPY /home/user/brlcad/cmake/src/tclscripts/ami.tcl;/home/user/brlcad/cmake/src/tclscripts/ampi.tcl;/home/user/brlcad/cmake/src/tclscripts/cad_clrpick.tcl;/home/user/brlcad/cmake/src/tclscripts/cad_dialog.tcl;/home/user/brlcad/cmake/src/tclscripts/chkexterns.tcl;/home/user/brlcad/cmake/src/tclscripts/ fs_dialog.tk ;/home/user/brlcad/cmake/src/tclscripts/helpcomm.tcl;/home/user/brlcad/cmake/src/tclscripts/helplib.tcl;/home/user/brlcad/cmake/src/tclscripts/hoc.tcl;/home/user/brlcad/cmake/src/tclscripts/html_library.tcl;/home/user/brlcad/cmake/src/tclscripts/libdm.tcl;/home/user/brlcad/cmake/src/tclscripts/menu_override.tcl;/home/user/brlcad/cmake/src/tclscripts/mouse.tcl;/home/user/brlcad/cmake/src/tclscripts/vmath.tcl) FILE(COPY ${FILES_TO_COPY} DESTINATION /home/user/brlcad/cmake-build/share/brlcad/7.18.1/tclscripts) This is the subset of the macro that generates the files: SET(inputlist) FOREACH(filename ${${datalist}}) SET(inputlist ${inputlist} ${CMAKE_CURRENT_SOURCE_DIR}/${filename}) ENDFOREACH(filename ${${datalist}}) SET(${targetprefix}_cmake_contents SET(FILES_TO_COPY ${inputlist}) FILE(COPY \${FILES_TO_COPY} DESTINATION ${CMAKE_BINARY_DIR}/${DATA_DIR}/${targetdir}) ) FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/${targetprefix}.cmake ${${targetprefix}_cmake_contents}) SET(outputlist) FOREACH(filename ${${datalist}}) GET_FILENAME_COMPONENT(ITEM_NAME ${filename} NAME) SET(outputlist ${outputlist} ${CMAKE_BINARY_DIR}/${DATA_DIR}/${targetdir}/${ITEM_NAME}) ENDFOREACH(filename ${${datalist}}) ADD_CUSTOM_COMMAND( OUTPUT ${outputlist} COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/${targetprefix}.cmake DEPENDS ${${datalist}} ) ADD_CUSTOM_TARGET(${datalist}_cp ALL DEPENDS ${outputlist}) ___ 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] OS X Application plist configuration questions
On Thu, Feb 10, 2011 at 1:51 PM, Bill Hoffman bill.hoff...@kitware.comwrote: On 2/10/2011 1:27 PM, Michael Jackson wrote: Bump? Did you try cmake --trace to see when it was configure... -- Mike Jacksonwww.bluequartz.net On Feb 8, 2011, at 5:36 PM, Michael Jackson wrote: At what point is the MacOSXBundleInfo.plist.in configured? I am setting all the relevant variables but they are not getting inserted into the plist. Here is some debug output from a CMake run of my project: -- MACOSX_BUNDLE_INFO_STRING: StatsGenerator_debug Version 2011.02.08, Copyright 2009 BlueQuartz Software. -- MACOSX_BUNDLE_ICON_FILE: StatsGenerator.icns -- MACOSX_BUNDLE_GUI_IDENTIFIER: StatsGenerator_debug -- MACOSX_BUNDLE_LONG_VERSION_STRING: StatsGenerator_debug Version 2011.02.08 -- MACOSX_BUNDLE_BUNDLE_NAME: StatsGenerator_debug -- MACOSX_BUNDLE_SHORT_VERSION_STRING: 2011.02.08 -- MACOSX_BUNDLE_BUNDLE_VERSION: 2011.02.08 -- MACOSX_BUNDLE_COPYRIGHT: Copyright 2011, BlueQuartz Software. All Rights Reserved. I set all those variables before and after the add_executable call but most of the values does not show up in the plist file. Probably something simple I am missing. Thanks. ___ Mike Jackson www.bluequartz.net Principal Software Engineer mike.jack...@bluequartz.net BlueQuartz Software Dayton, Ohio ___ 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 -- Bill Hoffman Kitware, Inc. 28 Corporate Drive Clifton Park, NY 12065 bill.hoff...@kitware.com http://www.kitware.com 518 881-4905 (Direct) 518 371-3971 x105 Fax (518) 371-4573 ___ 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 Does your add_executable call have the MACOSX_BUNDLE flag in it? You should definitely set those variables before calling add_executable, and they should definitely show up if you have MACOSX_BUNDLE turned on. What generator are you using? Xcode or Unix Makefiles or something else? ___ 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] OS X Application plist configuration questions
Can you share your source code so I can repro the issue here? Thx, David On Thu, Feb 10, 2011 at 2:25 PM, Michael Jackson mike.jack...@bluequartz.net wrote: On Feb 10, 2011, at 2:04 PM, David Cole wrote: On Thu, Feb 10, 2011 at 1:51 PM, Bill Hoffman bill.hoff...@kitware.com wrote: On 2/10/2011 1:27 PM, Michael Jackson wrote: Bump? Did you try cmake --trace to see when it was configure... -- Mike Jacksonwww.bluequartz.net On Feb 8, 2011, at 5:36 PM, Michael Jackson wrote: At what point is the MacOSXBundleInfo.plist.in configured? I am setting all the relevant variables but they are not getting inserted into the plist. Here is some debug output from a CMake run of my project: -- MACOSX_BUNDLE_INFO_STRING: StatsGenerator_debug Version 2011.02.08, Copyright 2009 BlueQuartz Software. -- MACOSX_BUNDLE_ICON_FILE: StatsGenerator.icns -- MACOSX_BUNDLE_GUI_IDENTIFIER: StatsGenerator_debug -- MACOSX_BUNDLE_LONG_VERSION_STRING: StatsGenerator_debug Version 2011.02.08 -- MACOSX_BUNDLE_BUNDLE_NAME: StatsGenerator_debug -- MACOSX_BUNDLE_SHORT_VERSION_STRING: 2011.02.08 -- MACOSX_BUNDLE_BUNDLE_VERSION: 2011.02.08 -- MACOSX_BUNDLE_COPYRIGHT: Copyright 2011, BlueQuartz Software. All Rights Reserved. I set all those variables before and after the add_executable call but most of the values does not show up in the plist file. Probably something simple I am missing. Thanks. ___ Mike Jackson www.bluequartz.net Principal Software Engineer mike.jack...@bluequartz.net BlueQuartz Software Dayton, Ohio Does your add_executable call have the MACOSX_BUNDLE flag in it? You should definitely set those variables before calling add_executable, and they should definitely show up if you have MACOSX_BUNDLE turned on. What generator are you using? Xcode or Unix Makefiles or something else? Using Makefiles generator. Correctly set MACOSX_BUNDLE in the add_executable() call. This is on OS X 10.6.6 with CMake 2.8.3 (self compiled) I tried the --trace but I don't really know what I should be looking for. There is a lot of output to look through. Tried from a clean build directory and still has the same thing. 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 ___ 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] cpack, debian and python virtualenvs:
Probably comes from here: cmCPackDebGenerator.cxx: this-SetOptionIfNotSet(CPACK_PACKAGING_INSTALL_PREFIX, /usr); Try setting that variable in your CMakeLists.txt file, too. HTH, David On Thu, Feb 10, 2011 at 4:44 PM, Nathan J. Mehl mem...@blank.org wrote: What I'm trying to do: use cpack to turn a directory of python and shell files into a debian package. The wrinkle: I want the package to install the python files into /usr/lib/python2.6/dist-packages/thingy and the shell scripts into /etc/sv/thingy, and I want to be able to run the entire build process without requiring superuser privileges. In order to do this, I'm using a python virtualenv (http://pypi.python.org/pypi/virtualenv) as the build destination. The problem: cpack keeps prepending '/usr' to the install paths in install_manifest.txt, and hence in the generated deb package. The cmake file, slightly edited for clarity: PROJECT(thingy) SET(VIRTUAL_ENV $ENV{VIRTUAL_ENV}) IF(VIRTUAL_ENV) MESSAGE(STATUS Detected a python virtualenv in use, setting install prefix to ${VIRTUAL_ENV}) SET(CMAKE_INSTALL_PREFIX ${VIRTUAL_ENV} ) ELSE(VIRTUAL_ENV) SET(CMAKE_INSTALL_PREFIX / ) ENDIF(VIRTUAL_ENV) EXEC_PROGRAM(python -c 'from sys import version; print version[:3]' OUTPUT_VARIABLE PYTHON_VERSION) SET(thingy_python_install_DIR usr/lib/python${PYTHON_VERSION}/dist-packages/herd) SET(thingy_python_SOURCES __init__.py main.py) SET(thingy_service_DIR rc ) INSTALL(FILES ${thingy_python_SOURCES} DESTINATION ${thingy_python_install_DIR}) INSTALL(DIRECTORY ${thingy_service_DIR} DESTINATION etc FILE_PERMISSIONS WORLD_EXECUTE WORLD_READ PATTERN supervise EXCLUDE ) # cpack comes at the end SET(CPACK_GENERATOR DEB) SET(CPACK_INCLUDE_TOPLEVEL_DIRECTORY 0) SET(CPACK_PACKAGE_NAME thingy) SET(CPACK_PACKAGE_CONTACT mem...@blank.org) SET(CPACK_PACKAGE_VENDOR blank.org) SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY Thingy Runner) SET(CPACK_PACKAGE_VERSION_MAJOR 0) SET(CPACK_PACKAGE_VERSION_MINOR 2) SET(CPACK_PACKAGE_INSTALL_DIRECTORY /) SET(CPACK_TOPLEVEL_TAG /) SET(CPACK_DEBIAN_PACKAGE_NAME thingy) SET(CPACK_DEBIAN_PACKAGE_ARCHITECTURE amd64) SET(CPACK_DEBIAN_PACKAGE_DEPENDS python) SET(CPACK_DEBIAN_PACKAGE_MAINTAINER mem...@blank.org) SET(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA ${CMAKE_CURRENT_SOURCE_DIR}/debian/postinst;${CMAKE_CURRENT_SOURCE_DIR}/debian/postrm; ) include(CPack) What this produces is a correct direct installation (the files end up in $VIRTUAL_ENV/usr/lib/python2.6), but a broken package: $ VIRTUAL_ENV=/home/memory/sandbox cmake .. [standard output elided] -- Detected a python virtualenv in use, setting install prefix to /home/memory/sandbox -- Configuring done -- Generating done -- Build files have been written to: /home/memory/thingy/build $ make install Install the project... -- Install configuration: -- Installing: /home/memory/sandbox/usr/lib/python2.6/dist-packages/thingy/__init__.py -- Installing: /home/memory/sandbox/usr/lib/python2.6/dist-packages/thingy/main.py -- Installing: /home/memory/sandbox/etc/rc -- Installing: /home/memory/sandbox/etc/rc/run $ make package Run CPack packaging tool... CPack: Create package using DEB CPack: Install projects CPack: - Run preinstall target for: thingy CPack: - Install project: thingy CPack: Compress package CPack: Finalize package CPack: Package /home/memory/thingy/build/thingy-0.2-Linux.deb generated. $ dpkg-deb -c thingy-0.2.0-Linux.deb drwxr-xr-x memory/memory 0 2011-02-10 21:23 ./usr/ drwxr-xr-x memory/memory 0 2011-02-10 21:23 ./usr/usr/ drwxr-xr-x memory/memory 0 2011-02-10 21:23 ./usr/usr/lib/ drwxr-xr-x memory/memory 0 2011-02-10 21:23 ./usr/usr/lib/python2.6/ drwxr-xr-x memory/memory 0 2011-02-10 21:23 ./usr/usr/lib/python2.6/dist-packages/ drwxr-xr-x memory/memory 0 2011-02-10 21:23 ./usr/usr/lib/python2.6/dist-packages/thingy/ -rw-r--r-- memory/memory 13054 2011-02-03 20:52 ./usr/usr/lib/python2.6/dist-packages/thingy/job.py -rw-r--r-- memory/memory22 2011-02-03 20:52 ./usr/usr/lib/python2.6/dist-packages/thingy/__init__.py -rw-r--r-- memory/memory 1063 2011-02-03 20:52 ./usr/usr/lib/python2.6/dist-packages/thingy/control.py -rw-r--r-- memory/memory 5347 2011-02-03 20:52 ./usr/usr/lib/python2.6/dist-packages/thingy/main.py -rw-r--r-- memory/memory 2971 2011-02-03 20:52 ./usr/usr/lib/python2.6/dist-packages/thingy/util.py drwxr-xr-x memory/memory 0 2011-02-10 21:23 ./usr/etc/ drwxr-xr-x memory/memory 0 2011-02-10 21:23 ./usr/etc/rc/ -r-xr-xr-x memory/memory 595 2011-02-10 01:15 ./usr/etc/rc/run Note the extra /usr prepended to all of the paths inside the debian package. If I build the package *without* $VIRTUAL_ENV being set, the same thing happens. I've trawled a bit through the various CPack module files, but can't see where that /usr is coming from. A helpful person on the cmake IRC channel suggested setting
Re: [CMake] --debug-trycompile causes false positives from check_function_exists
To use --debug-trycompile effectively, you have to: - run *without* --debug-trycompile all the way through once to establish all the cache settings - remove/delete the *single* cache entry whose try_compile result you are trying to debug - run again with --debug-trycompile The reasons are: - try_compile operations generate a project and a project build tree, and then clean up after themselves (delete the generated project source and build tree) - only one try_compile operation may be executed at a time because they all share the same source and build trees - clean up must occur in between runs so that each one is correct and independent of all the other ones - --debug-trycompile *leaves* *the* try_compile project source and build tree on disk so that you can inspect them, and presumably debug the problem So. given this view into the implementation details of try_compile, you cannot count on the results of --debug-trycompile to be accurate for more than one try_compile in a row. Leaving the build tree from a previous try_compile operation affects the results of subsequent try_compiler operations. Only one at a time may be debugged. (I realize this belongs in the documentation somewhere, but my question to you is: where would you have looked first for such documentation? If you can answer that, or several people answer approximately the same way, then I could add documentation for this in such a spot. -- Thanks.) Hope this helps, David On Fri, Feb 11, 2011 at 2:57 AM, Jack Poulson jack.poul...@gmail.comwrote: On Fri, Feb 11, 2011 at 1:47 AM, Michael Wild them...@gmail.com wrote: On 02/11/2011 04:30 AM, Jack Poulson wrote: This is occurring with CMake 2.8.3 on OSX for several different check_function_exists calls. Is this expected behavior? Jack Seriously, we're going to need some more information than just I get false positives... I did not give any more information because, well, it seems to _always_ give false positives with those settings. I don't really care if it's fixed because I can easily work around it, but I thought I'd give you guys a heads up. If it helps, this is the relevant snippet: include(CheckFunctionExists) set(CMAKE_REQUIRED_LIBRARIES ${MATH_LIBS}) check_function_exists(vdSin MKL) check_function_exists(vsin MASS) If I run without --debug-trycompile when I am not linking in the MKL or MASS libraries, the routines vdSin and vsin are not found. When I run with --debug-trycompile, they are found. That's all I have time to give. Use it or not. I'm not asking for help. Jack ___ 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] Ninja: a small build system closest in spirit to Make
On Fri, Feb 11, 2011 at 9:17 AM, Matt Williams li...@milliams.com wrote: On Thursday 10 Feb 2011 14:38:55 Nicolas Desprès wrote: Hi everyone, Probably some of you are already aware of this new open-source project coming from a Chrome developer at Google. Its goal was to improve the build system performance of the Chrome project. So it is designed to be a fast replacement for make. He speaks about it in its blog here: http://neugierig.org/software/chromium/notes/2011/02/ninja.html You can find the source code here: https://github.com/martine/ninja and the manual here: http://martine.github.com/ninja/manual.html As mentioned in the documentation the input file for ninja are not designed to be written by hand and should be generated. So it perfectly fits in CMake generator approach to build system. Maybe it worth adding a new generator for Ninja in CMake. I don't know about the maturity/stability of the project, though it is still very young (started in last October but still maintained today according to the git log). Also, if it is internally used at Google for the Chrome project, I think it is not going to die. I will try to find some time on my spare time to start writing a generator for it. Helps is welcome too :-) I would like to see if it really increases build time of project already using CMake, such as boost or KDE. I would be very interested to see this. I think we all now that in many ways 'make' is showing its age. Without tools like CMake supporting Ninja it will have a hard time catching on. I don't really have to time to devote to developing the generator but I would be very happy to test it on a number of CMake projects I'm involved with. Do we know if Ninja is supposed to be cross-platform (i.e. Windows) as well? Regards, Matt ___ 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 I tried compiling it on Windows yesterday with just the following CMakeLists.txt file, and there were a bunch of compile errors. It shouldn't be too hard to make it work on Windows, though, if Mr. Martin will accept some patches for it... :-) cmake_minimum_required(VERSION 2.8) project(ninja) set(ninja_lib_sources src/build.cc src/build_log.cc src/eval_env.cc src/graph.cc src/parsers.cc src/subprocess.cc src/util.cc src/ninja_jumble.cc ) add_library(ninjaLib STATIC ${ninja_lib_sources}) add_executable(ninja src/ninja.cc) target_link_libraries(ninja ninjaLib) Cheers, 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] multiple directories in one variable
On Fri, Feb 11, 2011 at 10:29 AM, John Drescher dresche...@gmail.comwrote: it is what I want. But how? How can I put all the directories in EXTERNAL_PRODUCT_INCLUDES from cmake command line? I do not know. Sorry. I did not see that you were trying to add these via the command line. I never use that mode of 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 You should be able to do: cmake -DEXTERNAL_PRODUCT_INCLUDES=/dir a;/dir b;/dirc/include ../source_directory And then, inside CMakeLists.txt: include_directories(${EXTERNAL_PRODUCT_INCLUDES}) Is there a problem you hit with that approach? ___ 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] 2.8.5 version
On Mon, Feb 14, 2011 at 4:14 AM, Andrea Galeazzi galea...@korg.it wrote: I'm very interested in the feature discussed here: http://www.mail-archive.com/cmake@cmake.org/msg34587.html but probably it won't enter into 2.8.4, so do you have any rough idea about when 2.8.5 will be released? Or better, do you have a periodic schedule planning the releases? ___ 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 You are correct. We will be releasing 2.8.4 very shortly... We are now aiming for quarterly releases of CMake, so I expect that 2.8.5 will be released in May, 2011. We'll probably schedule a release candidate 1 trial build for late April. 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] Copying plugins into a bundle
On Sat, Feb 12, 2011 at 12:41 PM, Peter Kümmel syntheti...@gmx.net wrote: On 12.02.2011 18:26, Peter Kümmel wrote: I wanna create a bundle on OSX with fixup_bundle but I have problems with plugins. The plugins are build with add_library(MODULE) into ${CMAKE_BINARY_DIR}/plugins. set(app ${CMAKE_BINARY_DIR}/bin/b.app) install(CODE file(GLOB_RECURSE plugins \\${CMAKE_BINARY_DIR}/plugins/*${CMAKE_SHARED_MODULE_SUFFIX}\) include(BundleUtilities) fixup_bundle(\${app}\ \\${plugins}\ \\) COMPONENT RUNTIME) Does not work, cmake says it does *NOT* copying the plugin. And what does it mean copying? from where to where? Is there a way to enable copying? Or Have I ti install them into the bundle before calling fixup. The examples do not handle shared libraries, too bad. Thanks, Peter ___ 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 See this bug and its related issues for details: http://public.kitware.com/Bug/view.php?id=9744 The gist of it is that, yes, you do have to copy/install your plugins into the bundle first before calling fixup_bundle. This is a change in behavior between CMake 2.8.2 and 2.8.3 as a result of the above bug fix. And to answer And what does it mean copying? from where to where?: Copying from outside the bundle somewhere to inside the bundle in its embedded location. As it does with the automatically-pulled-in prerequisite libraries. 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] Copying plugins into a bundle
On Mon, Feb 14, 2011 at 12:02 PM, Peter Kümmel syntheti...@gmx.net wrote: On 14.02.2011 17:23, David Cole wrote: On Sat, Feb 12, 2011 at 12:41 PM, Peter Kümmelsyntheti...@gmx.net wrote: On 12.02.2011 18:26, Peter Kümmel wrote: I wanna create a bundle on OSX with fixup_bundle but I have problems with plugins. The plugins are build with add_library(MODULE) into ${CMAKE_BINARY_DIR}/plugins. set(app ${CMAKE_BINARY_DIR}/bin/b.app) install(CODE file(GLOB_RECURSE plugins \\${CMAKE_BINARY_DIR}/plugins/*${CMAKE_SHARED_MODULE_SUFFIX}\) include(BundleUtilities) fixup_bundle(\${app}\ \\${plugins}\ \\) COMPONENT RUNTIME) Does not work, cmake says it does *NOT* copying the plugin. And what does it mean copying? from where to where? Is there a way to enable copying? Or Have I ti install them into the bundle before calling fixup. See this bug and its related issues for details: http://public.kitware.com/Bug/view.php?id=9744 The gist of it is that, yes, you do have to copy/install your plugins into the bundle first before calling fixup_bundle. This is a change in behavior between CMake 2.8.2 and 2.8.3 as a result of the above bug fix. OK, I've solved this by directly building into the bundle path by setting CMAKE_LIBRARY_OUTPUT_DIRECTORY and by installing Qt's plugins into the bundle dir which is below bin/. Is it a common practice to use 'install' just for copying files? It's not uncommon. So, yes. And to answer And what does it mean copying? from where to where?: Copying from outside the bundle somewhere to inside the bundle in its embedded location. As it does with the automatically-pulled-in prerequisite libraries. I assume on mac all files listed by otool -L? Not all files. But all non-system files that are not already in the bundle somewhere. (At least, that's the intent...) Many thanks, Peter ___ 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] Code coverage under Windows
On Mon, Feb 14, 2011 at 11:09 AM, felix.more...@gmail.com wrote: Hi, On the wiki, it is mentioned that code coverage is supported using gcov and Bullseye. However on the CMake dashboard, under the code coverage section, you can see that the build name for the dash22.kitware site is Win32-vs9-Release-Coverage. I wondered if this site is using Bulleye or if it uses the MSVC code coverage tools/informations. If using Bullseye, are there any plans on supporting MSVC code coverage informations on the way? If using MSVC code coverage, is there any piece of information on how we can achieve this using CTest/CDash? Regards, -Félix C. Morency ___ 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 dash22 uses Bullseye for its coverage data. What do you mean when you say MSVC code coverage -- where can we find out more about how to support it? I didn't even know there were any built-in code coverage tools in Visual Studio. ___ 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 Error: Cannot determine link language for target
Show us your code. On Tue, Feb 15, 2011 at 8:08 AM, Kiran Gopal Patil pati...@gmail.comwrote: Hi , I do get this error while build a application using CMAKE. Please help me in resolving this one. I tried to use the SET_TARGET_PROPERTIES but not successful. I do have mix of C and C++ static libs in my project. -- Thanks Regards, Kiran Patil ___ 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] Setting target destination and rpath per generator
You cannot do cmake-ish things in the CPACK_PROJECT_CONFIG_FILE. Neither install commands nor set_target_properties calls do anything in this context. On Tue, Feb 15, 2011 at 9:36 AM, Daryl N darylhouse2...@yahoo.com wrote: Sorry, don't know how to reply inline with this editor. Yes, cpack_config.cmake is my CPACK_PROJECT_CONFIG_FILE. For rpath, here is what I have in the cpack config file: if (${CPACK_GENERATOR} STREQUAL TGZ) set(CPACK_SET_DESTDIR OFF) set(CMAKE_INSTALL_RPATH .) set_target_properties(npManager PROPERTIES INSTALL_RPATH .) elseif (${CPACK_GENERATOR} STREQUAL DEB) set(CPACK_SET_DESTDIR ON) set(CMAKE_INSTALL_RPATH /usr/local/some folder) set_target_properties(npManager PROPERTIES INSTALL_RPATH /usr/local/some folder) endif () CMAKE_INSTALL_RPATH was initially set to /user/local/some folder in my main CMakeLists.txt file and it stays that way in TGZ even with the sets above. For the TGZ file I want to be able to unpack it and then just run it locally. If I use the bin/lib folder structure in the TGZ, then I would need to set rpath to ../lib for them to be found. And then that would be part of the rpath for the DEB package too. Sounds like 2 build cycles may be needed. Daryl* From:* Eric Noulard eric.noul...@gmail.com *To:* Daryl N darylhouse2...@yahoo.com *Cc:* cmake@cmake.org *Sent:* Tue, February 15, 2011 4:00:17 AM *Subject:* Re: [CMake] Setting target destination and rpath per generator 2011/2/15 Daryl N darylhouse2...@yahoo.com: Hi, I have a question on the use of CPack. I have CMake setup to generate binaries and shared libraries. Up until now I have only created a TGZ with rpath set to .. This has worked nicely, but now I would like to create a Debian package for proper installation. I have added DEB to CPACK_GENERATOR and I've created my own cpack_config.cmake file. My goal is: 1. Run cmake/make package once and create the tar.gz file with all exe/libs in the root folder of the tar.gz file with rpath set to .. 2. Create new .deb package with exes in /usr/local/bin and libs in /usr/local/lib. Alternatively, since files are private, all could be put in /usr/local/some folder. I've attempted this by creating my own cpack_config.cmake file to try to override some settings per generator. Some observations: 1. I've been unable to set the install(target DESTINATION) path per generator in my cpack_config.cmake file. Whatever the variable is set to when the install(...) is processed in the CMakeLists.txt file is what is used for all generators. Just want to confirm changing this isn't an option per generator. The above has prevented me from having my install lines like: install(target DESTINATION ${BIN_PATH}) install(target DESTINATION ${LIB_PATH}) and then setting BIN_PATH to bin and LIB_PATH to lib for DEB, but setting them to . for TGZ, since I can't change the variable in . I suppose cpack_config.cmake is your CPACK_PROJECT_CONFIG_FILE. As far as I know you cannot change install rules on CPack generator basis. install rules belongs to CMakeLists.txt and they are evaluated at CMake-time (not CPack-time). cpack_config.cmake is evaluated at CPack-time, i.e. when CPack runs. You can do CPack-generator specific actions in this file. (like setting CPACK_SET_DESTDIR OFF or ON or changing CPACK_PACKAGING_INSTALL_PREFIX etc...) I did not tried playing with rpath but may be you can if(CPACK_GENERATOR MATCHES TGZ) set(CMAKE_INSTALL_RPATH .) set(CPACK_SET_DESTDIR OFF) endif(CPACK_GENERATOR MATCHES TGZ) if(CPACK_GENERATOR MATCHES DEB) set(CPACK_PACKAGING_INSTALL_PREFIX /usr/local/somefolder) endif(CPACK_GENERATOR MATCHES DEB) 2. I would also like to set the rpath per generator. So the targets in the TGZ only look in . while the DEB installed targets only look in /usr/local/some folder. But I haven't been able to update the rpath per generator in cpack_config.cmake. I've tried both setting CMAKE_INSTALL_RPATH and using set_target_properties(... PROPERTIES INSTALL_RPATH). Again, I'm assuming this can't be changed at CPack time. I don't know whether if CMAKE_INSTALL_RPATH can be changed at CPack time (as I suggested in my previous example) you'll have to try and may be verify in the CMake source code in order to check when it is handled. Whatever the current status, I don't see why it couldn't be handled at CPack time (but I may be missing something). Do I need to run cpack separately changing the variables before hand? I suppose that would mean 2 builds cycles also, once for each generator. 2 build cycles will definitely work. However if you gives us more information on what's inside your cpack_config.cmake what works what does not work with it, may be we can see if it it can be done in a single build. I think the main issue
Re: [CMake] mixed compilation with two compilers
You should use ExternalProject, and possibly wrapper scripts to set environment variables for the projects that need to use the different compiler. (CC, CXX, FC env vars should be set during the configure stage, or you can pass them in as -D args to cmake) CMake does not support changing the compiler in a sub-portion of the build tree. On Tue, Feb 15, 2011 at 11:23 AM, Dominik Szczerba domi...@itis.ethz.chwrote: I need to compile a few subprojects (each is a subfolder with one library and a corresponding CMakeLists.txt) with the Intel compiler while the rest of the libraries (organized the same way), including the executable, using the system compiler (GNU on linux, VC on Windows). I tried two solutions to no avail: 1) In the subfolder's CMakeLists.txt do like: SET(CMAKE_CXX_COMPILER ${INTEL_CXX_COMPILER}) SET(CMAKE_CXX_FLAGS_DEBUG ${INTEL_CXX_FLAGS_DEBUG}) While this substitutes the CMAKE_CXX* variables correctly with INTEL_CXX* ones (confirmed by MESSAGE) the actual compilation still takes place using parent CMAKE_CXX_* variables. This is very surprising as many other CMake commands respect the subfolder scope. 2) Properties. There is a way to have ADDITIONAL compile flags, but not CUSTOM. There seems to be no property for the compiler itself. The compilation has to be mixed, and no post-processing (like some converting scripts) are allowed. Is this possible or this is a dead end? Best regards, Dominik ___ 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] 2.8.5 version
2011/2/15 Alexander Neundorf a.neundorf-w...@gmx.net On Monday 14 February 2011, David Cole wrote: On Mon, Feb 14, 2011 at 4:14 AM, Andrea Galeazzi galea...@korg.it wrote: I'm very interested in the feature discussed here: http://www.mail-archive.com/cmake@cmake.org/msg34587.html but probably it won't enter into 2.8.4, so do you have any rough idea about when 2.8.5 will be released? Or better, do you have a periodic schedule planning the releases? You are correct. We will be releasing 2.8.4 very shortly... We are now aiming for quarterly releases of CMake, so I expect that 2.8.5 will be released in May, 2011. We'll probably schedule a release candidate 1 trial build for late April. I have a local fix for the mentioned issue, but I thought I should not try to merge it now into next, since it is more like a feature and less like a bugfix. But I can do it you you#re ok with it. Alex You can push to the stage and merge to next whenever you like. That's one of the beauties of our new git workflow... ___ 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] Include-Dir order problem
On Wed, Feb 16, 2011 at 2:32 AM, Andreas Pakulat ap...@gmx.de wrote: On 16.02.11 03:48:03, Michael Hertling wrote: On 02/15/2011 07:36 PM, Andreas Pakulat wrote: On 15.02.11 17:54:29, Michael Hertling wrote: On 02/13/2011 01:27 AM, Andreas Pakulat wrote: Hi, I've got a somewhat tricky problem here with include directories. I'm building a couple of source files and for some of them I need to add an include-directory to the front of the list that cmake passes to the compiler. At the same time other source files in that directory need to not have that include-dir in front of the list. I can't see a way to do this, except by using COMPILE_FLAGS source file properties for each and every file to specify include-dirs and not use include_directories at all, as COMPILE_FLAGS always end up behind the includes. So, am I missing something here? If not I guess I'll have to find that bugreport about making include-dirs a source-file property and vote for it so it gets included into 2.8.5... Currently, AFAIK, it's not possible to set source-file-specific include directories unless one (mis)uses COMPILE_FLAGS which is accompanied by the shortcoming you've mentioned. Probably, the really clean solution ATM would be a reorganisation of the sources, but I doubt if the need for different include directories is an appropriate criterion for a project's directory layout. Well, all those sources need to be in the same target, so I can't quite see how moving some of the sources into subdirs wuld help with that. Look at the following CMakeLists.txt files: # CMakeLists.txt: CMAKE_MINIMUM_REQUIRED(VERSION 2.8 FATAL_ERROR) PROJECT(INCLUDEDIRECTORIES C) ADD_SUBDIRECTORY(subdir) INCLUDE_DIRECTORIES(abc) FILE(WRITE ${CMAKE_BINARY_DIR}/main.c int main(void){f();return 0;}\n) ADD_EXECUTABLE(main main.c) TARGET_LINK_LIBRARIES(main sub) # subdir/CMakeLists.txt: INCLUDE_DIRECTORIES(xyz) FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/f.c void f(void){}\n) ADD_LIBRARY(sub STATIC f.c) So, main.c and f.c are compiled with different include directories, but the main target is effectively composed from the same object files as if f.c had been explicitly mentioned among the source files for main. If you commute the ADD_SUBDIRECTORY() and INCLUDE_DIRECTORIES() commands in the top-level CMakeLists.txt, the include directories for main.c will also hold for f.c while the latter still has its own - additional - ones. Things become worse if the target to be built is a shared library. Exactly my case. Most probably, you don't want an additional libsub.so, so you would need to compile f.c at least with -fPIC as COMPILE_FLAGS to get further along with a static library. Alternatively, you might use a RULE_LAUNCH_LINK property in order to capture the object files from the subdirectory and incorporate them in the actual target, see [1]. However, then you would be restricted to a Makefile generator. IMO, none of these appoaches is really convincing why one should aim at an INCLUDE_DIRECTORIES source file and target property. Unfortunately it seems Brad is unwilling to implement this unless it can be done 'properly' for all generators. Which is sad, but for now I could solve this with local special header files which are used by those cpp files that would otherwise need the extra directory in front. In my opinion, this is not sad, but commendable. I *hate* the features of CMake that only work with generator a, b and c, but not the rest of them. Features of CMake that only work under *some* circumstances are frustrating to deal with at best. Andreas -- Your object is to save the world, while still leading a pleasant life. ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
[CMake] CMake 2.8.4 available for download
On behalf of myself, Ken, Bill, Brad, Alex, Zach, Ben and the rest of the CMake team, we are pleased to announce that CMake 2.8.4 is available for download at: http://www.cmake.org/files/v2.8/?C=M;O=D It is also available from the usual download links found on the CMake web site: http://www.cmake.org/cmake/resources/software.html This email is also viewable in blog form: http://www.kitware.com/blog/home/post/92 Here are the changes for CMake 2.8.4: Changes in CMake 2.8.4 (since 2.8.4-rc2) Alex Neundorf (1): Fix crash in GraphVizWriter when GRAPHVIZ_TARGET_IGNORE_REGEX is used Andreas Schneider (1): FindPerlLibs: Add notice of copyright Brad King (3): libarchive: Define major/minor/makedev only where needed (#11648) libarchive: Use OpenSSL only if CMAKE_USE_OPENSSL (#11815) Fix documentation of MSVC_VERSION (#11833) David Cole (1): Silence the may be used uninitialized warnings: initialize stuff. Eric NOULARD (2): CPack Tests the different ways of packaging components Avoid foreach IN LISTS syntax which is not supported by CMake 2.6 Changes in CMake 2.8.4-rc2 (since 2.8.4-rc1) Alex Neundorf (3): Make cmake build again with cmake 2.6.3 Strip trailing whitespace. Fix parsing of compiler name with a version number Ben Boeckel (86): ... 86 commit messages summarized as: Fix ADD_TEST regression when WORKING_DIRECTORY not given Add new strict-mode CMake variable checking Activate / avoid using new command line arguments: --warn-uninitialized --warn-unused-vars --no-warn-unused-cli --check-system-vars Bill Hoffman (3): For macros make sure the FilePath points to a valid pointer in the args. Add a warning when variables are used uninitialized. Make --strict-mode option, and integrate with cmake-gui Brad King (34): bootstrap: Granular system library selection (#11431) bootstrap: Clarify --init flag documentation (#11431) bootstrap: --verbose implies verbose Makefiles (#11708) Combine duplicate COMPILE_DEFINITIONS disclaimer Document COMPILE_DEFINITIONS known limitations (#11660, #11712) Document try_compile behavior more clearly (#11688) Document Check(C|CXX)SourceCompiles behavior more clearly (#11688) Fix get_(cmake|test)_property documentation (#11703) Reference get_property() from old get_*_property() commands Replace misleading example in the if() documentation (#10773) Clarify auto-dereference cases in if() command (#11701) Document CheckFunctionExists more clearly (#10044) Document CheckSymbolExists more clearly (#11685) Update CheckSymbolExists copyright year Report directory with missing source file (#11677) Test that missing source mentions directory (#11677) Teach Simple_Mingw_Linux2Win test to use windres Disable SubDirSpaces parens with GNU Make 3.82 (#11654) libarchive: Fix major() check for LSB 4.0 (#11648) Xcode: Make generation depend on all input directories Recognize SCO UnixWare C/C++ compilers (#11700) Factor SCO compiler info out of platform file (#11700) Honor CMAKE_TRY_COMPILE_CONFIGURATION in Makefile generators (#10809) Document CMAKE_TRY_COMPILE_CONFIGURATION variable Honor VS_SCC_* properties in Fortran targets (#10237) Normalize slashes in scanned #include lines (#10281) Improve try_compile and try_run error messages Use shortest extension to verify try_compile language (#11731) Modules: Include builtin FindPackageHandleStandardArgs directly Fix relative CMAKE_USER_MAKE_RULES_OVERRIDE (#11725) Clarify CMAKE_USER_MAKE_RULES_OVERRIDE documentation (#11724) Always place try_compile executables predictably (#11724) try_compile: Allow only languages loaded in caller (#11469) Fix ArgumentExpansion test expected results Clinton Stimpson (1): Replace exec_program with execute_process for qmake queries. David Cole (16): Update script with new machine name VS10: Fix problems with InstallRequiredSystemLibraries. Add CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS variable Add CPACK_NSIS_INSTALL_ROOT for CMake's own installer (#9148) Xcode: Disable implicit make rules in custom rules makefiles. Add freeglut as library name (#10031) Add new names for PNG and ZLIB libraries Avoid exceptions when ccmake terminal window is too small (#11668) VS10: Load projects with obj source files (#11147) VS10: Enable using devenv as CMAKE_MAKE_PROGRAM (#11459) Xcode: Fix crash: avoid strlen call on NULL char * CTestTest2: Avoid running purify unless requested VS10: Escape double quote chars in defines for rc files (#11695) Fix line too long KWStyle issue (#11695) Avoid space in rc /D
Re: [CMake] Expected boost path structure.
Are you escaping the \ characters, like this? set(BOOST_ROOT X:\\32bit\\VC ...) Or using the CMake convention / as a path separator character? set(BOOST_ROOT X:/32bit/VC ...) (this is the one you should be doing...) What version of CMake? On Thu, Feb 17, 2011 at 10:11 AM, John Drescher dresche...@gmail.com wrote: I am trying to get FIND_PACKAGE(BOOST REQUIRED) to work on windows. After building boost-1.45.0 on windows with the following command bjam --build-dir=X:\32Bit\VC.90\build\Libraries\boost-1.45.0 toolset=msvc-9.0 --prefix=X:\32bit\VC.90\Libraries\boost-1.45.0 --build-type=complete install and installing I have the following structure for the installed boost. X:\32bit\VC.90\Libraries\boost-1.45.0\include\boost-1_45\boost X:\32bit\VC.90\Libraries\boost-1.45.0\lib I tried to set BOOST_ROOT to X:\32bit\VC.90\Libraries\boost-1.45.0 but CMake does not find boost with that root. What is the expected path layout so that setting BOOST_ROOT will find boost-1.45.0 ? Thanks, John M. Drescher ___ 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] Expected boost path structure.
On Thu, Feb 17, 2011 at 11:25 AM, John Drescher dresche...@gmail.com wrote: On Thu, Feb 17, 2011 at 11:05 AM, David Cole david.c...@kitware.com wrote: Are you escaping the \ characters, like this? set(BOOST_ROOT X:\\32bit\\VC ...) Or using the CMake convention / as a path separator character? set(BOOST_ROOT X:/32bit/VC ...) (this is the one you should be doing...) I see. I set an BOOST_ROOT as an environment variable instead of a CMake variable. It works when I set BOOST_ROOT as a CMake variable. What version of CMake? 2.8.4 John According to FindBoost.cmake: if (NOT BOOST_ROOT AND NOT $ENV{BOOST_ROOT} STREQUAL ) set(BOOST_ROOT $ENV{BOOST_ROOT}) endif() So, it should work with an ENV var, too. But the way this is phrased, it would have to have forward slashes / and no spaces in it for it to work. ___ 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] Expected boost path structure.
On Thu, Feb 17, 2011 at 11:37 AM, John Drescher dresche...@gmail.com wrote: According to FindBoost.cmake: if (NOT BOOST_ROOT AND NOT $ENV{BOOST_ROOT} STREQUAL ) set(BOOST_ROOT $ENV{BOOST_ROOT}) endif() So, it should work with an ENV var, too. But the way this is phrased, it would have to have forward slashes / and no spaces in it for it to work. I launched cmake-gui from a Visual Studio 2008 32 bit command prompt with the BOOST_ROOT environment variable set in that command prompt. X:\Other\Libraries\boost_1_45_0set BOOST_ROOT BOOST_ROOT=X:/32bit/VC.90/Libraries/boost-1.45.0 Is there a way to have cmake-gui show its environment variables? John -- John M. Drescher Take away the quotes in the env var. They are actually embedded in the env var, so they'll end up in the CMake variable, too. If you print out the CMake variable that gets set based on that env value, then it will have double quotes in it. ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] Expected boost path structure.
On Thu, Feb 17, 2011 at 11:50 AM, John Drescher dresche...@gmail.com wrote: Take away the quotes in the env var. They are actually embedded in the env var, so they'll end up in the CMake variable, too. If you print out the CMake variable that gets set based on that env value, then it will have double quotes in it. Okay that worked. Thanks a lot. -- John M. Drescher You're welcome. Also, if you have to run it again, your message code should run before and after finding boost so you can see what it changed... ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] New warnings in CMake 2.8.4-rc2
On Thu, Feb 17, 2011 at 11:47 AM, Alexander Neundorf a.neundorf-w...@gmx.net wrote: On Wednesday 16 February 2011, you wrote: So what is the recommended way to suppress the warnings whatever the CMake 2.8.x release ? 2.8.4 has been released, the warnings seem to be enabled without a new policy setting ;-( Please post to the mailing list, I'm not really involved in these wanings. Alex ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake The only warning that is enabled by default is to warn you about misspelled -D options that you pass on the command line. (We think they *may* be misspelled because they are not referenced in the configure/generate steps... So it's just a warning.) You can suppress this by also passing --no-warn-unused-cli on the CMake command line. Or by avoiding passing in the unused variables in the first place. Or by sticking with CMake 2.8.3 that does not produce this warning. Those are your 3 options for avoiding this warning. 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] Expected boost path structure.
On Thu, Feb 17, 2011 at 12:46 PM, Verweij, Arjen verwe...@tass-safe.com wrote: Just to make sure: set BOOST_ROOT=X:\32bit\VC.90\Libraries\boost-1.45.0 Won't work? Or setting it to this value in the Computer Properties Environment variables section? I thought cmake worked fine with the path separator that is native to the OS. Would be strange if it didn't. Actually, it looks like that will work. Further down in FindBoost there's a TO_CMAKE_PATH call that transforms it to the expected CMake value. Arjen -Original Message- From: cmake-boun...@cmake.org [mailto:cmake-boun...@cmake.org] On Behalf Of David Cole Sent: donderdag 17 februari 2011 17:42 To: John Drescher Cc: CMake mailing list Subject: Re: [CMake] Expected boost path structure. On Thu, Feb 17, 2011 at 11:37 AM, John Drescher dresche...@gmail.com wrote: According to FindBoost.cmake: if (NOT BOOST_ROOT AND NOT $ENV{BOOST_ROOT} STREQUAL ) set(BOOST_ROOT $ENV{BOOST_ROOT}) endif() So, it should work with an ENV var, too. But the way this is phrased, it would have to have forward slashes / and no spaces in it for it to work. I launched cmake-gui from a Visual Studio 2008 32 bit command prompt with the BOOST_ROOT environment variable set in that command prompt. X:\Other\Libraries\boost_1_45_0set BOOST_ROOT BOOST_ROOT=X:/32bit/VC.90/Libraries/boost-1.45.0 Is there a way to have cmake-gui show its environment variables? John -- John M. Drescher Take away the quotes in the env var. They are actually embedded in the env var, so they'll end up in the CMake variable, too. If you print out the CMake variable that gets set based on that env value, then it will have double quotes in it. ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake ___ 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] Including an external object file (.o) into static shared library using MS Visual Studio generator
This was a known bug, and has been fixed in CMake 2.8.4. See here for details if you want: http://public.kitware.com/Bug/view.php?id=11459 Upgrade to CMake 2.8.4 and try again. Should work Cheers, David On Thu, Feb 17, 2011 at 12:59 PM, Chatterjee, Shash schatter...@camber.com wrote: Hi! I need to include a 3rd-party API, which comes without source, as an object (.o) file into a static library using CMake 2.8.3. I know it is possible to add the .o when executables are linked, but that is not the preferred method. I have simply defined the .o file in the ADD_LIBRARY command. This works under linux, and nmake (MS Visual Studio 10 /2010). If I look in the cmake-generated build.make, CMake correctly recognizes the .o as an external dependency and defines a libname_EXTERNAL_OBJECTS variable in there, and it is listed at the tail end of objects1.rsp. So far, so good! When using the “Visual Studio 10” generator, CMake adds the object file as a ClInclude Include=”…..”/ XML element under a ItemGroup element that also lists all the source files as ClCompile elements for the static library project. Of course the .o is not include in the lib when the project is built. I can manually go into the project properties, and add it as an “Additional Dependencies” dependency for the Librarian, and that works. Is there a way to get CMake to do this automatically? Thanks, Shash ___ 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] Including an external object file (.o) into static shared library using MS Visual Studio generator
Can you send your CMakeLists.txt file? Or at least copy/paste the relevant portion of it so we can see how you're adding the file? Actually, maybe you won't need to send us code... It needs to be a *.obj file to work with the Visual Studio generators. We use the file extension .obj to identify them as object files. If you copy it to a file name ending with .obj does it work? On Thu, Feb 17, 2011 at 2:18 PM, Chatterjee, Shash schatter...@camber.com wrote: Hi David, I truly appreciate your willingness to help, and your prompt response. Thanks a bunch! I just installed 2.8.4 and tried again. As far as I can tell, the behavior did not change (I deleted the CMake-2.8.3 generated build directory, as well as uninstalling CMake-2.8.3). I still see the ClInstall element for the .o file, and it does not get included in the library. Thanks, Shash -Original Message- From: David Cole [mailto:david.c...@kitware.com] Sent: Thursday, February 17, 2011 12:23 PM To: Chatterjee, Shash Cc: cmake@cmake.org Subject: Re: [CMake] Including an external object file (.o) into static shared library using MS Visual Studio generator This was a known bug, and has been fixed in CMake 2.8.4. See here for details if you want: http://public.kitware.com/Bug/view.php?id=11459 Upgrade to CMake 2.8.4 and try again. Should work Cheers, David On Thu, Feb 17, 2011 at 12:59 PM, Chatterjee, Shash schatter...@camber.com wrote: Hi! I need to include a 3rd-party API, which comes without source, as an object (.o) file into a static library using CMake 2.8.3. I know it is possible to add the .o when executables are linked, but that is not the preferred method. I have simply defined the .o file in the ADD_LIBRARY command. This works under linux, and nmake (MS Visual Studio 10 /2010). If I look in the cmake-generated build.make, CMake correctly recognizes the .o as an external dependency and defines a libname_EXTERNAL_OBJECTS variable in there, and it is listed at the tail end of objects1.rsp. So far, so good! When using the Visual Studio 10 generator, CMake adds the object file as a ClInclude Include=./ XML element under a ItemGroup element that also lists all the source files as ClCompile elements for the static library project. Of course the .o is not include in the lib when the project is built. I can manually go into the project properties, and add it as an Additional Dependencies dependency for the Librarian, and that works. Is there a way to get CMake to do this automatically? Thanks, Shash ___ 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] 2.8.4 order of tests
On Thu, Feb 17, 2011 at 3:57 PM, Allen D Byrne b...@hdfgroup.org wrote: I just installed 2.8.4 and on my fedora 14 linux box the ctest -D Experimental stage decided to run the tests in some unknown to me order. The previous versions always ran them in order of definition. Any thing I can do to get the ordering back? Allen ___ 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 Delete the file Testing/Temporary/CTestCostData.txt in your build tree. It saves run times from run to run and orders them as slowest first on subsequent runs. A clean build (no CostData file) without any parallel testing, and without any test COST properties defined should give you the top to bottom ordering that you're used to. Saving this data from run to run helps us schedule parallel testing jobs efficiently on subsequent runs. 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] 2.8.4 order of tests
On Thu, Feb 17, 2011 at 4:08 PM, David Cole david.c...@kitware.com wrote: On Thu, Feb 17, 2011 at 3:57 PM, Allen D Byrne b...@hdfgroup.org wrote: I just installed 2.8.4 and on my fedora 14 linux box the ctest -D Experimental stage decided to run the tests in some unknown to me order. The previous versions always ran them in order of definition. Any thing I can do to get the ordering back? Allen ___ 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 Delete the file Testing/Temporary/CTestCostData.txt in your build tree. It saves run times from run to run and orders them as slowest first on subsequent runs. A clean build (no CostData file) without any parallel testing, and without any test COST properties defined should give you the top to bottom ordering that you're used to. Saving this data from run to run helps us schedule parallel testing jobs efficiently on subsequent runs. HTH, David Having said all that: if your goal is to order certain tests with respect to each other, see the help for the test property DEPENDS: http://cmake.org/cmake/help/cmake-2-8-docs.html#prop_test:DEPENDS ___ 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] 2.8.4 order of tests
On Thu, Feb 17, 2011 at 4:20 PM, Allen D Byrne b...@hdfgroup.org wrote: This was from a clean build folder. And I just want the test to run in the order defined in the CMakeLists.txt files. Also never had set any COST properties. The surprise was that this never happened before. Allen On Thu, Feb 17, 2011 at 4:08 PM, David Cole david.c...@kitware.com wrote: On Thu, Feb 17, 2011 at 3:57 PM, Allen D Byrne b...@hdfgroup.org wrote: I just installed 2.8.4 and on my fedora 14 linux box the ctest -D Experimental stage decided to run the tests in some unknown to me order. The previous versions always ran them in order of definition. Any thing I can do to get the ordering back? Allen ___ 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 Delete the file Testing/Temporary/CTestCostData.txt in your build tree. It saves run times from run to run and orders them as slowest first on subsequent runs. A clean build (no CostData file) without any parallel testing, and without any test COST properties defined should give you the top to bottom ordering that you're used to. Saving this data from run to run helps us schedule parallel testing jobs efficiently on subsequent runs. HTH, David Having said all that: if your goal is to order certain tests with respect to each other, see the help for the test property DEPENDS: http://cmake.org/cmake/help/cmake-2-8-docs.html#prop_test:DEPENDS So there is no Testing/Temporary/CTestCostData.txt file at the time you call ctest -D Experimental? Can you point me to a source tree that I can build that demonstrates this behavior? If you are not running tests in parallel and you have no cost data (in the form of a cached file or properties set) then the tests should run in the same top-to-bottom order that they always have. Thx, 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] New warnings in CMake 2.8.4-rc2
On Thu, Feb 17, 2011 at 4:37 PM, Emmanuel Blot eblot...@gmail.com wrote: The only warning that is enabled by default is to warn you about misspelled -D options that you pass on the command line. (We think they *may* be misspelled because they are not referenced in the configure/generate steps... So it's just a warning.) You can suppress this by also passing --no-warn-unused-cli on the CMake command line. Or by avoiding passing in the unused variables in the first place. Or by sticking with CMake 2.8.3 that does not produce this warning. Those are your 3 options for avoiding this warning. The question is HOW do you stick with cmake 2.8.3 - or stick with cmake 2.8.4. This is the actual issue: there's no way to stick with a minor release of cmake when you distribute code, because you cannot enforce a minor release of cmake (a regular linux distribution will upgrade the minor version at some point, and this cannot be controlled). So at some point somewhere, building with cmake will throw new warnings, and there's no way to control this. As the --no-warn-unused-cli option would simply break the build with a previous minor release of CMake, this means that the script calling CMake needs to detect the version of cmake, and tweak the cmake command line accordingly. Dirty, at best. From my perspective - that I understand is not shared - it would have been great not introducing this kind of compatibility break between CMake minor release by default. It could have been enabled with a new POLICY or with an explicit option switch. Maybe I'm looking in the wrong direction: is there a way to specify these variable definitions without the -D option switch? - such as environment variables for example? Thanks. If a variable is not used, then simply do not define it on the cmake command line. If I do this: $ cmake -DNO_SUCH_VARIABLE=OFF . I get this: -- Configuring done -- Generating done CMake Warning: The variable, 'NO_SUCH_VARIABLE', specified manually, was not used during the generation. -- Build files have been written to: ... If I do this: $ cmake . -- Configuring done -- Generating done -- Build files have been written to: ... Voila. No warning. The other option is simply to ignore all of our was not used output. They are only warnings. They do not actually affect the generated build tree. I guess I don't understand your big picture here. It seems to me that it should be easy to resolve this one way or another, even if it's not pretty and elegant. 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] 2.8.4 order of tests
After building HDF5 v 1.8.6 on my Mac, I get this: $ ctest -N Test project /Users/davidcole/tmp/b6 Test #1: testhdf5 Test #2: accum Test #3: lheap Test #4: ohdr Test #5: stab Test #6: gheap Test #7: pool Test #8: hyperslab Test #9: istore Test #10: bittests Test #11: dt_arith Test #12: dtypes Test #13: dsets Test #14: cmpd_dset Test #15: extend Test #16: external Test #17: objcopy Test #18: links Test #19: unlink Test #20: big Test #21: mtime Test #22: fillval Test #23: mount Test #24: flush1 Test #25: flush2 Test #26: app_ref Test #27: enum Test #28: set_extent Test #29: getname Test #30: vfd Test #31: ntypes Test #32: dangle Test #33: dtransform Test #34: reserved Test #35: cross_read Test #36: freespace Test #37: mf Test #38: btree2 Test #39: fheap Test #40: error_test Test #41: err_compat Test #42: tcheck_version Test #43: testmeta Test #44: cache Test #45: cache_api Test #46: ttsafe Test #47: h5perf_serial Test #48: chunk Test #49: iopipe Test #50: overhead Test #51: perf_meta Test #52: zip_perf Total Tests: 52 I'm not familiar enough with HDF5 to know if this is correct or not. Is this the same order you're seeing? Or can you tell me your expected order? I'll try to analyze the source tree and figure out what's going on, but what you expect will tell me something, too. Thanks, David On Thu, Feb 17, 2011 at 5:10 PM, Allen D Byrne b...@hdfgroup.org wrote: Just using standard gcc/gfortran on the fedora distro. It is the 64bit version? You can grab one of our recent src tarballs from http://www.hdfgroup.org/ftp/HDF5/hdf5-1.8.6/; Allen PS. I will be out of touch for the next 36 hours On Thu, Feb 17, 2011 at 4:20 PM, Allen D Byrne b...@hdfgroup.org wrote: This was from a clean build folder. And I just want the test to run in the order defined in the CMakeLists.txt files. Also never had set any COST properties. The surprise was that this never happened before. Allen On Thu, Feb 17, 2011 at 4:08 PM, David Cole david.c...@kitware.com wrote: On Thu, Feb 17, 2011 at 3:57 PM, Allen D Byrne b...@hdfgroup.org wrote: I just installed 2.8.4 and on my fedora 14 linux box the ctest -D Experimental stage decided to run the tests in some unknown to me order. The previous versions always ran them in order of definition. Any thing I can do to get the ordering back? Allen ___ 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 Delete the file Testing/Temporary/CTestCostData.txt in your build tree. It saves run times from run to run and orders them as slowest first on subsequent runs. A clean build (no CostData file) without any parallel testing, and without any test COST properties defined should give you the top to bottom ordering that you're used to. Saving this data from run to run helps us schedule parallel testing jobs efficiently on subsequent runs. HTH, David Having said all that: if your goal is to order certain tests with respect to each other, see the help for the test property DEPENDS: http://cmake.org/cmake/help/cmake-2-8-docs.html#prop_test:DEPENDS So there is no Testing/Temporary/CTestCostData.txt file at the time you call ctest -D Experimental? Can you point me to a source tree that I can build that demonstrates this behavior? If you are not running tests in parallel and you have no cost data (in the form of a cached file or properties set) then the tests should run in the same top-to-bottom order that they always have. Thx, 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] 2.8.4 order of tests
On Thu, Feb 17, 2011 at 5:25 PM, Sean McBride s...@rogue-research.com wrote: On Thu, 17 Feb 2011 17:21:22 -0500, David Cole said: I'm not familiar enough with HDF5 to know if this is correct or not. Is this the same order you're seeing? Or can you tell me your expected order? I'll try to analyze the source tree and figure out what's going on, but what you expect will tell me something, too. Perhaps you guys are actually talking about this:??? http://public.kitware.com/Bug/view.php?id=11746 I doubt it because he's talking about doing a ctest -D Experimental which would not have any -j associated with it -- Sean McBride, B. Eng s...@rogue-research.com Rogue Research www.rogue-research.com Mac Software Developer Montréal, Québec, Canada ___ 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] 2.8.4 order of tests
#42: tcheck_version Test #43: testmeta Test #44: cache Test #45: cache_api Test #46: ttsafe Test #47: h5perf_serial Test #48: chunk Test #49: iopipe Test #50: overhead Test #51: perf_meta Test #52: zip_perf Total Tests: 52 I'm not familiar enough with HDF5 to know if this is correct or not. Is this the same order you're seeing? Or can you tell me your expected order? I'll try to analyze the source tree and figure out what's going on, but what you expect will tell me something, too. Thanks, David On Thu, Feb 17, 2011 at 5:10 PM, Allen D Byrne b...@hdfgroup.org wrote: Just using standard gcc/gfortran on the fedora distro. It is the 64bit version? You can grab one of our recent src tarballs from http://www.hdfgroup.org/ftp/HDF5/hdf5-1.8.6/; Allen PS. I will be out of touch for the next 36 hours On Thu, Feb 17, 2011 at 4:20 PM, Allen D Byrne b...@hdfgroup.org wrote: This was from a clean build folder. And I just want the test to run in the order defined in the CMakeLists.txt files. Also never had set any COST properties. The surprise was that this never happened before. Allen On Thu, Feb 17, 2011 at 4:08 PM, David Cole david.c...@kitware.com wrote: On Thu, Feb 17, 2011 at 3:57 PM, Allen D Byrne b...@hdfgroup.org wrote: I just installed 2.8.4 and on my fedora 14 linux box the ctest -D Experimental stage decided to run the tests in some unknown to me order. The previous versions always ran them in order of definition. Any thing I can do to get the ordering back? Allen ___ 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 Delete the file Testing/Temporary/CTestCostData.txt in your build tree. It saves run times from run to run and orders them as slowest first on subsequent runs. A clean build (no CostData file) without any parallel testing, and without any test COST properties defined should give you the top to bottom ordering that you're used to. Saving this data from run to run helps us schedule parallel testing jobs efficiently on subsequent runs. HTH, David Having said all that: if your goal is to order certain tests with respect to each other, see the help for the test property DEPENDS: http://cmake.org/cmake/help/cmake-2-8-docs.html#prop_test:DEPENDS So there is no Testing/Temporary/CTestCostData.txt file at the time you call ctest -D Experimental? Can you point me to a source tree that I can build that demonstrates this behavior? If you are not running tests in parallel and you have no cost data (in the form of a cached file or properties set) then the tests should run in the same top-to-bottom order that they always have. Thx, 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] 2.8.4 order of tests
Bug reported: http://public.kitware.com/Bug/view.php?id=11877 On Fri, Feb 18, 2011 at 10:30 AM, David Cole david.c...@kitware.com wrote: Yup. ctest -N and ctest without -N differ in test ordering. Congratulations! You've reported the first regression bug in CMake 2.8.4! :-) I suspect the change for this bug [ http://public.kitware.com/Bug/view.php?id=11561 ] has introduced this issue. I'll make a new issue that we can hopefully address fairly soon. Thanks, David P.S. === The same build tree with a non -N ctest run gives me this: $ ctest Test project /Users/davidcole/tmp/b6 Start 27: enum 1/52 Test #27: enum . Passed 0.01 sec Start 28: set_extent 2/52 Test #28: set_extent ... Passed 3.66 sec Start 29: getname 3/52 Test #29: getname .. Passed 0.06 sec Start 30: vfd 4/52 Test #30: vfd .. Passed 0.03 sec Start 31: ntypes 5/52 Test #31: ntypes ... Passed 0.17 sec Start 32: dangle 6/52 Test #32: dangle ... Passed 0.18 sec Start 33: dtransform 7/52 Test #33: dtransform ... Passed 0.02 sec Start 34: reserved 8/52 Test #34: reserved . Passed 0.00 sec Start 35: cross_read 9/52 Test #35: cross_read ... Passed 0.02 sec Start 36: freespace 10/52 Test #36: freespace Passed 0.03 sec Start 37: mf 11/52 Test #37: mf ... Passed 0.09 sec ... On Thu, Feb 17, 2011 at 10:41 PM, Allen D Byrne b...@hdfgroup.org wrote: David, I tried ctest -N it lies! Here is the beginning of the test.log showing the problem (peviously the tests were in test number order) : Start testing: Feb 17 21:13 CST -- 435/660 Testing: H5COPY-clear-ext-links 436/660 Testing: H5COPY-ext_link 437/660 Testing: H5COPY-ext_link_f 438/660 Testing: H5COPY-ext_dangle_noobj 439/660 Testing: H5COPY-DIFF_ext_dangle_noobj 440/660 Testing: H5COPY-ext_dangle_noobj_f 441/660 Testing: H5COPY-ext_dangle_nofile 442/660 Testing: H5COPY-DIFF_ext_dangle_nofile 443/660 Testing: H5COPY-ext_dangle_nofile_f 444/660 Testing: H5COPY-ext_link_group 445/660 Testing: H5COPY-ext_link_group_f 446/660 Testing: H5COPY-H5LS_h5copy_extlinks_src 447/660 Testing: H5STAT-h5stat_help1 448/660 Testing: H5STAT-h5stat_help2 449/660 Testing: H5STAT-h5stat_filters 450/660 Testing: H5STAT-h5stat_filters-file 451/660 Testing: H5STAT-h5stat_filters-F 452/660 Testing: H5STAT-h5stat_filters-d 453/660 Testing: H5STAT-h5stat_filters-g 454/660 Testing: H5STAT-h5stat_filters-dT 414/660 Testing: H5COPY-DIFF_grp_nested 415/660 Testing: H5COPY-simple_group 416/660 Testing: H5COPY-DIFF_simple_group 417/660 Testing: H5COPY-grp_rename 418/660 Testing: H5COPY-DIFF_grp_rename 419/660 Testing: H5COPY-grp_dsets_rename 420/660 Testing: H5COPY-DIFF_grp_dsets_rename 421/660 Testing: H5COPY-A_B1_simple 422/660 Testing: H5COPY-DIFF_A_B1_simple 423/660 Testing: H5COPY-A_B2_simple2 424/660 Testing: H5COPY-DIFF_A_B2_simple2 425/660 Testing: H5COPY-C_D_simple 426/660 Testing: H5COPY-DIFF_C_D_simple 427/660 Testing: H5COPY-E_F_grp_dsets 428/660 Testing: H5COPY-DIFF_E_F_grp_dsets 429/660 Testing: H5COPY-G_H_grp_nested 430/660 Testing: H5COPY-DIFF_G_H_grp_nested 431/660 Testing: H5COPY-H5LS_h5copytst 432/660 Testing: H5COPY-clear-refs 433/660 Testing: H5COPY-region_ref 434/660 Testing: H5COPY-H5LS_h5copy_ref 476/660 Testing: H5DUMP-thlink-4 477/660 Testing: H5DUMP-thlink-5 478/660 Testing: H5DUMP-tcomp-1 479/660 Testing: H5DUMP-tcomp-2 480/660 Testing: H5DUMP-tcomp-4 481/660 Testing: H5DUMP-tnestcomp-1 482/660 Testing: H5DUMP-tall-1 483/660 Testing: H5DUMP-tall-2 484/660 Testing: H5DUMP-tall-3 485/660 Testing: H5DUMP-tloop-1 486/660 Testing: H5DUMP-tstr-1 487/660 Testing: H5DUMP-tstr-2 488/660 Testing: H5DUMP-tsaf 489/660 Testing: H5DUMP-tvldtypes1 490/660 Testing: H5DUMP-tvldtypes2 491/660 Testing: H5DUMP-tvldtypes3 492/660 Testing: H5DUMP-tvldtypes4 493/660 Testing: H5DUMP-tvldtypes5 494/660 Testing: H5DUMP-tvlstr 495/660 Testing: H5DUMP-tarray1 455/660 Testing: H5STAT-h5stat_filters-UD 456/660 Testing: H5STAT-h5stat_filters-UT 457/660 Testing: H5STAT-h5stat_tsohm 458/660 Testing: H5STAT-h5stat_newgrat 459/660 Testing: H5STAT-h5stat_newgrat-UG 460/660 Testing: H5STAT-h5stat_newgrat-UA 461/660 Testing: H5DUMP-tgroup-1 462/660 Testing: H5DUMP-tgroup-2 463/660 Testing: H5DUMP-tdset-1 464/660 Testing: H5DUMP-tdset-2 465/660 Testing: H5DUMP-tattr-1 466/660 Testing: H5DUMP-tattr-2 467/660 Testing: H5DUMP-tattr-3 468/660 Testing: H5DUMP-tnamed_dtype_attr 469/660 Testing: H5DUMP-tslink-1
Re: [CMake] Gyp VS CMake
On Fri, Feb 18, 2011 at 2:42 PM, Troy Straszheim straszh...@willowgarage.com wrote: On Fri, Feb 18, 2011 at 8:16 AM, Michael Wild them...@gmail.com wrote: 2. Tcl (or other) scripting language, which has clearly defined variable scoping rules and well understood semantics. There are many pros for this idea, but a very important con: People will use it as a general purpose programming language (see what often happens to SCons projects). Even CMake has this problem to a lesser extent (IMHO mainly because it's a PITA to program ;-)). But I think some people at Kitware are/were experimenting with Python bindings... Really?!? I'm actually *generating* CMakeLists.txt files with python in an effort to work around the entire cmake language and integrate better with things that need to know about the build, but aren't the build system proper. No, not really. (At least not to the best of my knowledge...) There was an experiment a few years ago using Lua, but it was shelved and has not been revisited. Nothing in python that I know of. Cheers, 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 ___ 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