[cmake-developers] [CMake 0012450]: Xcode generator: removing dependency in Xcode crashes Xcode
The following issue has been SUBMITTED. == http://public.kitware.com/Bug/view.php?id=12450 == Reported By:Druon Assigned To: == Project:CMake Issue ID: 12450 Category: (No Category) Reproducibility:always Severity: minor Priority: normal Status: new == Date Submitted: 2011-09-09 08:03 EDT Last Modified: 2011-09-09 08:03 EDT == Summary:Xcode generator: removing dependency in Xcode crashes Xcode Description: Using a CMake-generated Xcode project file, it's not possible to remove a dependency without crashing Xcode. I'm not sure if this is a supported operation, but I came across it by accident while investigating a dependency issue. Steps to Reproduce: Use the following CMakeLists.txt file with empty bar.c and foo.c. Generate an Xcode project then try to remove dependency 'bar' from the 'foo' target in Xcode. cmake_minimum_required(VERSION 2.8) add_library(bar bar.c) add_executable(foo foo.c) target_link_libraries(foo bar) == Issue History Date ModifiedUsername FieldChange == 2011-09-09 08:03 Druon New Issue == ___ cmake-developers mailing list cmake-developers@cmake.org http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
[cmake-developers] [CMake 0012451]: MACOSX_BUNDLE path problem when building for iOS with Xcode
The following issue has been SUBMITTED. == http://public.kitware.com/Bug/view.php?id=12451 == Reported By:Druon Assigned To: == Project:CMake Issue ID: 12451 Category: CMake Reproducibility:always Severity: major Priority: normal Status: new == Date Submitted: 2011-09-09 09:32 EDT Last Modified: 2011-09-09 09:32 EDT == Summary:MACOSX_BUNDLE path problem when building for iOS with Xcode Description: I'm not sure if building for iOS is officially supported, but here goes... When building for iOS with MACOSX_BUNDLE specified on the target, this generates an XCODE_DEPEND_HELPER.make with Foo.app/Contents/MacOS/foo paths in it. However for iOS builds, Xcode places the executable 'foo' in Foo.app/foo. I couldn't find an option to change this behaviour. The result is that dependency checking does not work and a clean build is required every time the app is compiled. Steps to Reproduce: Set up an iOS project by setting CMAKE_OSX_SYSROOT, CMAKE_OSX_ARCHITECTURES and MACOSX_BUNDLE_GUI_IDENTIFIER. Specify MACOSX_BUNDLE for the target executable. Make a change in a dependency and rebuild the app. The app will not be updated. == Issue History Date ModifiedUsername FieldChange == 2011-09-09 09:32 Druon New Issue == ___ cmake-developers mailing list cmake-developers@cmake.org http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [CMake] FYI - From Ninja-build mailing list - Fwd: Proposal: restat rules
Am Donnerstag, 8. September 2011, 19:54:46 schrieb Peter Collingbourne: On Wed, Sep 07, 2011 at 11:04:42PM -0400, Jean-Christophe Fillion-Robin wrote: -- Forwarded message -- From: Peter Collingbourne pe...@pcc.me.uk Date: Wed, Sep 7, 2011 at 9:17 PM Subject: Proposal: restat rules To: ninja-bu...@googlegroups.com FWIW, the Ninja generator I have been working on is based on work by Nicolas Despres, and has been successfully used to compile a number of large open source projects, including CMake itself, LLVM/Clang, OpenCV and Bullet Physics. If you want something big try to build KDE stuff with it. There is a script called kdesrc-build that can be used to automate the building, I'm rather sure this can easily be changed to call Ninja instead of make. Eike signature.asc Description: This is a digitally signed message part. ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
[CMake] Howto disable printing the link command
The make option -s switches off printing the commands, but this seems not to be working for the CMake generated link command for shared libraries. Does anybody know how to avoid the printing of the link command? The reason I need this is because one of my large libraries produces a command line that is 120k bytes long and this completely screws up the performance of ctest_build(). See http://public.kitware.com/Bug/view.php?id=12381 - Pere Mato CERN, PH Department, CH 1211 Geneva 23, Switzerland e-mail: pere.m...@cern.ch tel: +41 22 76 78696 fax: +41 22 76 68792gsm: +41 76 48 70855 ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please 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] 64 bit flags
Hello everybody, I have a Fortran project that is currently built (using gfortran, g95 or ifort) on 32 bits machines but that might need quite soon to be built on 64 bit machines as well. Does cmake automatically detect the processor architecture and add the 64 bit flag at configuration time or do I have to declare those flags through, for example, a '-D option ? thanks Eric -- Eric Pellegrini Calcul Scientifique Institut Laue-Langevin Grenoble, France ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please 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] Fwd: 64 bit flags
I did forget the ML. -- Forwarded message -- From: Eric Noulard eric.noul...@gmail.com Date: 2011/9/9 Subject: Re: [CMake] 64 bit flags To: pellegrini pellegr...@ill.fr 2011/9/9 pellegrini pellegr...@ill.fr: Hello everybody, I have a Fortran project that is currently built (using gfortran, g95 or ifort) on 32 bits machines but that might need quite soon to be built on 64 bit machines as well. Does cmake automatically detect the processor architecture and add the 64 bit flag at configuration time or do I have to declare those flags through, for example, a '-D option ? CMake chose the default target architecture of your compiler so if the default target ofthe compiler is 64bits no need for special flags. To be more clear: If I compile some code on a 32bits host the compiler (C, Fortran or whatever) usually produce 32bits binaries If I compile some code on a 64 bits host the compiler (C, Fortran or whatever) usually produce 64bits binaries So CMake detect the compiler (C; Fortran, ...) and do not care about 32/64 bits issue. Now if YOUR code as 32/64 bits specific zone then you need an appropriate macro whose definition may be done by you (in CMakeLists.txt) by testing the value of CMAKE_SIZEOF_VOID_P. Now some platform like Mac OS support multi-arch binaries and if you crawl the mail archive you'll find discussion about that. -- Erk Membre de l'April - « promouvoir et défendre le logiciel libre » - http://www.april.org -- 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
Re: [CMake] Fwd: 64 bit flags
Thanks a lot Eric for the clear explanation. Eric Eric Noulard a écrit : I did forget the ML. -- Forwarded message -- From: Eric Noulard eric.noul...@gmail.com Date: 2011/9/9 Subject: Re: [CMake] 64 bit flags To: pellegrini pellegr...@ill.fr 2011/9/9 pellegrini pellegr...@ill.fr: Hello everybody, I have a Fortran project that is currently built (using gfortran, g95 or ifort) on 32 bits machines but that might need quite soon to be built on 64 bit machines as well. Does cmake automatically detect the processor architecture and add the 64 bit flag at configuration time or do I have to declare those flags through, for example, a '-D option ? CMake chose the default target architecture of your compiler so if the default target ofthe compiler is 64bits no need for special flags. To be more clear: If I compile some code on a 32bits host the compiler (C, Fortran or whatever) usually produce 32bits binaries If I compile some code on a 64 bits host the compiler (C, Fortran or whatever) usually produce 64bits binaries So CMake detect the compiler (C; Fortran, ...) and do not care about 32/64 bits issue. Now if YOUR code as 32/64 bits specific zone then you need an appropriate macro whose definition may be done by you (in CMakeLists.txt) by testing the value of CMAKE_SIZEOF_VOID_P. Now some platform like Mac OS support multi-arch binaries and if you crawl the mail archive you'll find discussion about that. -- Erk Membre de l'April - « promouvoir et défendre le logiciel libre » - http://www.april.org -- Eric Pellegrini Calcul Scientifique Institut Laue-Langevin Grenoble, France ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please 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] Adding a custom line to CMake's makefiles?
I can finally give a good concrete case where I might need to do this (or need some other very clever solution). I have created a distcheck command for BRL-CAD that has a lot of responsibilities, including doing a complete configure and build of BRL-CAD from a source archive expanded from a CPack tarball. The distcheck rule uses cmake to fire off the build (this is to try and be future proof against using other tools than Make to do a distcheck) but I need to pass the parallel build setting -j from Make down to the ${CMAKE_COMMAND} build launched by the distcheck rule, and there doesn't seem to be any way to do it. This is the subset of the distcheck rule (somewhat edited for clarity): ADD_CUSTOM_TARGET(distcheck COMMAND ${CMAKE_COMMAND} -E echo Stage 1: Create source tgz, tbz2 and zip archives from toplevel archive. COMMAND cpack --config ${CMAKE_CURRENT_BINARY_DIR}/CPackSourceConfig.cmake COMMAND ${CMAKE_COMMAND} -E echo Stage 2: Expand tgz archive and prepare to build from archive sources. COMMAND ${CMAKE_COMMAND} -E tar xvzf ${CPACK_SOURCE_PACKAGE_FILE_NAME}.tar.gz COMMAND ${CMAKE_COMMAND} -E make_directory _${CPACK_SOURCE_PACKAGE_FILE_NAME}-build COMMAND ${CMAKE_COMMAND} -E make_directory _${CPACK_SOURCE_PACKAGE_FILE_NAME}-install COMMAND ${CMAKE_COMMAND} -E chdir _${CPACK_SOURCE_PACKAGE_FILE_NAME}-build ${CMAKE_COMMAND} ../${CPACK_SOURCE_PACKAGE_FILE_NAME} -DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_BINARY_DIR}/_${CPACK_SOURCE_PACKAGE_FILE_NAME}-install COMMAND ${CMAKE_COMMAND} -E echo Stage 3: Compile using source from tgz archive. COMMAND ${CMAKE_COMMAND} --build _${CPACK_SOURCE_PACKAGE_FILE_NAME}-build ) This can be successfully fired off by make distcheck, which is the desired behavior. However, the --build option doesn't respect (naturally) any -jN options fed to make, since they aren't specified at CMake time when the distcheck Makefile target is being generated. Perversely enough, if I'm understanding the issue correctly I won't be able to use the -jN value itself in any case, even if the Makefile can be taught to do something smart: http://old.nabble.com/MAKEFLAGS-var-does-not-show-%22-j%22-param-td15983337.html The best idea I can come up with so far is for the CMake generated Makefile to write out a variable containing some CPU related variable (e.g. make CPUS=8 and write the value of $(CPUS) to CMakeFiles/make_cpu_flag or some such) and then convert the distcheck commands above into a series of EXECUTE_PROCESS lines in a rundistcheck.cmake file that is launched by the distcheck rule with a ${CMAKE_COMMAND}. In rundistcheck.cmake, I can check for the presence of the make_cpu_flag file and if found add the -j parallel flag to the --build line before running it. That will mean a parallel distcheck will have to use a different make syntax than the standard make -j, but at least it would be something. Unfortunately, that means I still need the Makefile to let me know what was passed in up front, which means tweaking the CMake generated output somehow (not really sure how yet). Does anybody else have a mechanism for passing parallel build instructions from make down to child ${CMAKE_COMMAND} --build instances? Cheers, CY On Wed, Feb 2, 2011 at 4:32 PM, Michael Hertling mhertl...@online.dewrote: On 02/02/2011 03:34 PM, Clifford Yapp wrote: Is there any way to customize the Makefile output from CMake to include user-defined lines (say, something like #include Makefile.inc) at the end of each Make file? [snip] However, this approach is neither portable nor clean nor your-expectation-here, so I would ask Eric's questions, too. ;) Regards, Michael ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FYI - From Ninja-build mailing list - Fwd: Proposal: restat rules
This is very cool work Peter. How well is this generator doing with the CMake tests? Is there a nija for windows? I would be interested in testing that. -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
[CMake] Deferred CPU count variable in CMake for Makefile generator?
Per the customizing Makefile email, I'd like to ask if a mechanism exists or could be implemented to allow CMakeLists.txt files to define commands that pass a CPU count to subcommands - e.g. something that allows the generators to take a syntax along the lines of: ADD_CUSTOM_TARGET(subbuild COMMAND ${CMAKE_COMMAND} --build ${TARGET_DIR} -- -j${PARENT_CPUS} ) and generate makefiles that will take make JOBS=3 subbuild and have cmake in turn launch make -j3 in the target directory - in other words, ${PARENT_CPUS} would be a cue for the backend generator to add logic to pass down parallel make settings to the subbuild command. (Ideally -j3 could be passed down, but it looks like make itself precludes that so some other variable would have to be used at the top level.) Any insight is appreciated - this one has got me pretty stumped as to the right way to achieve this effect. 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
Re: [CMake] FYI - From Ninja-build mailing list - Fwd: Proposal: restat rules
Peter, I am very interested in the ninja generator and gave it a try for one of my very large projects. Unfortunately, I have approximately 100 targets all with the same output name(simple) but in CMake I give them all unique target names(dot separated name built from their place in the directory tree). This works fine for Makefiles however the ninja generator seems to be adding: # Shortcut target for the output name. build simple: phony MD/MDF/Parsers/BX/BLS/v1_1/utils/simple/simple # Shortcut target for the target name. build BX.BLS.v1_1.simple: phony simple Which then causes the following from ninja: ninja: WARNING: multiple rules generate simple. build will not be correct; continuing anyway Is there a way to disable these shortcut targets? Even changing my target names to a different format is a possibility if that is necessary. -Kris -Original Message- From: cmake-boun...@cmake.org [mailto:cmake-boun...@cmake.org] On Behalf Of Peter Collingbourne Sent: Thursday, September 08, 2011 2:55 PM To: Jean-Christophe Fillion-Robin Cc: CMake ML Subject: Re: [CMake] FYI - From Ninja-build mailing list - Fwd: Proposal: restat rules On Wed, Sep 07, 2011 at 11:04:42PM -0400, Jean-Christophe Fillion-Robin wrote: -- Forwarded message -- From: Peter Collingbourne pe...@pcc.me.uk Date: Wed, Sep 7, 2011 at 9:17 PM Subject: Proposal: restat rules To: ninja-bu...@googlegroups.com FWIW, the Ninja generator I have been working on is based on work by Nicolas Despres, and has been successfully used to compile a number of large open source projects, including CMake itself, LLVM/Clang, OpenCV and Bullet Physics. I am planning to submit the Ninja generator as a patch to CMake upstream once it has been put through more exhaustive testing and certain known issues have been resolved (my post to ninja-build being one of them). Anyone who is interested in trying the Ninja generator with their own projects is welcome to clone my repository at: https://github.com/pcc/CMake/tree/ninja-generator and to report any issues encountered. Note that the generator is currently only known to work on Linux. To select the Ninja generator you can pass the option -G Ninja on the cmake command line. 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 IMPORTANT: The information contained in this email and/or its attachments is confidential. If you are not the intended recipient, please notify the sender immediately by reply and immediately delete this message and all its attachments. Any review, use, reproduction, disclosure or dissemination of this message or any attachment by an unintended recipient is strictly prohibited. Neither this message nor any attachment is intended as or should be construed as an offer, solicitation or recommendation to buy or sell any security or other financial instrument. Neither the sender, his or her employer nor any of their respective affiliates makes any warranties as to the completeness or accuracy of any of the information contained herein or that this message or any of its attachments is free of viruses. ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please 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] Deferred CPU count variable in CMake for Makefile generator?
On Fri, Sep 9, 2011 at 10:49 AM, Clifford Yapp cliffy...@gmail.com wrote: Per the customizing Makefile email, I'd like to ask if a mechanism exists or could be implemented to allow CMakeLists.txt files to define commands that pass a CPU count to subcommands - e.g. something that allows the generators to take a syntax along the lines of: ADD_CUSTOM_TARGET(subbuild COMMAND ${CMAKE_COMMAND} --build ${TARGET_DIR} -- -j${PARENT_CPUS} ) and generate makefiles that will take make JOBS=3 subbuild and have cmake in turn launch make -j3 in the target directory - in other words, ${PARENT_CPUS} would be a cue for the backend generator to add logic to pass down parallel make settings to the subbuild command. (Ideally -j3 could be passed down, but it looks like make itself precludes that so some other variable would have to be used at the top level.) Any insight is appreciated - this one has got me pretty stumped as to the right way to achieve this effect. 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 But, -- -j${PARENT_CPUS} is make-specific anyhow, right? So the add_custom_target you propose only works with the Makefile generators where the make in question actually supports -j. In the ExternalProject module, we use the following logic to have custom targets build where the child processes use the same parallel job controller as the parent make process, but only for make systems. To do this we use the literal $(MAKE) as the command to do the actual build. And then, for non-make systems, we fall back to cmake --build # Full code for this snippet starts at line 658 of the Modules/ExternalProject.cmake file presently in CMake 'master' ... # # http://cmake.org/gitweb?p=cmake.git;a=blob;f=Modules/ExternalProject.cmake;h=a37771b9;hb=3ae6060f#l658 # if(cfg_cmd_id STREQUAL cmake) # CMake project. Select build command based on generator. get_target_property(cmake_generator ${name} _EP_CMAKE_GENERATOR) if(${CMAKE_GENERATOR} MATCHES Make AND (${cmake_generator} MATCHES Make OR NOT cmake_generator)) # The project uses the same Makefile generator. Use recursive make. set(cmd $(MAKE)) ... code elided for brevity ... else() # Drive the project with cmake --build. get_target_property(cmake_command ${name} _EP_CMAKE_COMMAND) if(cmake_command) set(cmd ${cmake_command}) else() set(cmd ${CMAKE_COMMAND}) endif() set(args --build ${binary_dir} --config ${CMAKE_CFG_INTDIR}) ... code elided for brevity ... endif() else() # if(cfg_cmd_id STREQUAL configure) # Non-CMake project. Guess make and make install and make test. # But use $(MAKE) to get recursive parallel make. set(cmd $(MAKE)) ... code elided for brevity ... endif() With this logic, we are able to use make -j8 at the parent/top-level/super- project level, and then all the child makes that occur via $(MAKE) share the 8 slots for running parallel commands as the make progresses. Would that be a sufficient solution, or do you really need to pass flags down for some of your custom targets based on some of the makes that you have to deal with? Let us know. 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] FYI - From Ninja-build mailing list - Fwd: Proposal: restat rules
On Thu, Sep 8, 2011 at 2:54 PM, Peter Collingbourne pe...@pcc.me.uk wrote: Anyone who is interested in trying the Ninja generator with their own projects is welcome to clone my repository at: https://github.com/pcc/CMake/tree/ninja-generator and to report any issues encountered. Note that the generator is currently only known to work on Linux. To select the Ninja generator you can pass the option -G Ninja on the cmake command line. Gave it a whirl with BRL-CAD. You caught me out fair and square on one unspecified dependency that no other build system has caught, which is kinda cool. It seems to mostly build, but it's not recognizing that it's done (if I re-run ninja, it redoes most of the build). This could be something I'm not doing right or expected ninja behavior at this stage, but I thought I'd mention it. It looks like various custom commands aren't running (some tcl related stuff, docbook documentation generation) - are custom commands currently supported? For the core program building though, looks like it succeeded quite handily - very nice! Unfortunately, my time delta calculation was one of the targets not built (or at least I don't see its output) so I'm not sure what the time difference is yet ;-). Cheers, and nice work! 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
[CMake] Problem to set /LIBPATH in Swig + Python + Windows.
Hi, I need to use a mix with SWIG and Python in a windows environment. I used SWIG_LINK_LIBRARIES( blabla ${PYTHON_LIBRARIES}) where ${PYTHON_LIBRARIES} I get using FindPackage(PythonLibs). But I have blank space in ${PYTHON_LIBRARIES} and this cause a error in my vcproj. Ex. If ${PYTHON_LIBRARIES} = C:\arquivos de programas\fernando_luz\teste \libteste.lib in vcproj, the list of libraries became C:\arquivos de programas\fernando_luz\teste\libteste.lib in other words, I have 3 libs... I looked in mail list and I tried split the path and name of python_libraries, but I don't have success... I tried SET_TARGET_PROPERTIES( target PROPERTIES LINK_FLAGS /LIBPATH:C: \arquivos de programas\fernando_luz\teste\ ) But I don't know who is my target, I tried _teste (because this is the name of vcproj created) but it's don't work. Thanks in advanced Fernando Luz ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please 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.6-rc3 ready for testing!
The CMake 2.8.6 release candidate stream continues! You can find the source and binaries here: http://www.cmake.org/files/v2.8/?C=M;O=D This email is also available on the Kitware blog at http://www.kitware.com/blog/home/post/165 If you want to test this out and ask for a fix, do it soon, or hold your peace till the next release! I expect we will finalize the 2.8.6 release by mid-September. This release candidate we do not have pre-built binaries for the SunOS anymore. As mentioned on the CMake mailing list recently, our Sun hardware has bitten the proverbial dust. However, we are now providing two sets of installers for the Mac. The Darwin versions are for Mac OSX 10.4 and later, and are ppc;i386 universal binaries. The Darwin64 versions are for 10.6 and later, and are x86_64;i386 universal binaries. 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.6-rc3 (since 2.8.6-rc2) Alexey Ozeritsky (2): FindBLAS/LAPACK fixes FindBLAS/LAPACK fixes Andreas Schneider (1): Modules: Add support for more java archives in add_jar(). Björn Ricks (4): Search for the installed python interpreter first Determine python version Update documentation of FindPythonInterp.cmake Use FIND_PACKAGE_HANDLE_STANDARD_ARGS second mode Brad King (5): VS: Map per-source Fortran flags to IDE options VS: Map Fortran free- and fixed-format flags to IDE options Fortran: Add support for free- and fixed-form flags Xcode: Honor Fortran_FORMAT target and source file property Set CMAKE_lang_COMPILER_ID for VS generators David Cole (8): KWSys: Remove always-true dir_only parameter KWSys: Add symlinks to directories as files (#12284) FindPackageMessage: Eliminate new lines in cache entries FindPackageMessage: Eliminate new lines using REGEX REPLACE CMake: Add SaveCache at the end of successful Generate calls Suppress Qt warning for dashmacmini5 builds Suppress Qt warning for dashmacmini5 builds Tests: Look for Illegal or SegFault in the output Eric NOULARD (2): CPack fix #12366 components RPM packages have the same package name CPackRPM fix #12305, include directories in RPM package Johan Björk (5): Xcode: No spaces in makefile target names (#12370) CMake: Write symlinks to directories as files in archives (#12284) CPack: Do not recurse through directory symlinks (#12284) Xcode: Do not emit the ZERO_CHECK target more than once Xcode: Honor -g0 to disable debugging (#12377) Johannes Stallkamp (1): CTest: Fixed valgrind output parsing (#12260) Matt McCormick (1): CMake: Remove documentation for -E build (#12446) Stephen Kelly (2): Add some more unit tests. Don't put what some compilers consider junk at the end of the line. Thomas Jarosch (3): CTest: Fix memory leaks on error Fix file() command descriptor leak on error ccmake: Fix off-by-one memory access error ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please 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] Deferred CPU count variable in CMake for Makefile generator?
Looks like $(MAKE) will do it, at least in testing so far - awesome! Thanks David. Cliff. On Fri, Sep 9, 2011 at 11:15 AM, David Cole david.c...@kitware.com wrote: if(${CMAKE_GENERATOR} MATCHES Make AND (${cmake_generator} MATCHES Make OR NOT cmake_generator)) # The project uses the same Makefile generator. Use recursive make. set(cmd $(MAKE)) Would that be a sufficient solution, or do you really need to pass flags down for some of your custom targets based on some of the makes that you have to deal with? Let us know. 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] Adding a custom line to CMake's makefiles?
If you are building on Linux, try MAKEFLAGS=j8 make distcheck I have successfully used the MAKEFLAGS environment variable to propagate parallel build invocations through scripts that invoke make with fixed options. -Mike On 09/09/2011 09:21 AM, Clifford Yapp wrote: I can finally give a good concrete case where I might need to do this (or need some other very clever solution). I have created a distcheck command for BRL-CAD that has a lot of responsibilities, including doing a complete configure and build of BRL-CAD from a source archive expanded from a CPack tarball. The distcheck rule uses cmake to fire off the build (this is to try and be future proof against using other tools than Make to do a distcheck) but I need to pass the parallel build setting -j from Make down to the ${CMAKE_COMMAND} build launched by the distcheck rule, and there doesn't seem to be any way to do it. This is the subset of the distcheck rule (somewhat edited for clarity): ADD_CUSTOM_TARGET(distcheck COMMAND ${CMAKE_COMMAND} -E echo Stage 1: Create source tgz, tbz2 and zip archives from toplevel archive. COMMAND cpack --config ${CMAKE_CURRENT_BINARY_DIR}/CPackSourceConfig.cmake COMMAND ${CMAKE_COMMAND} -E echo Stage 2: Expand tgz archive and prepare to build from archive sources. COMMAND ${CMAKE_COMMAND} -E tar xvzf ${CPACK_SOURCE_PACKAGE_FILE_NAME}.tar.gz COMMAND ${CMAKE_COMMAND} -E make_directory _${CPACK_SOURCE_PACKAGE_FILE_NAME}-build COMMAND ${CMAKE_COMMAND} -E make_directory _${CPACK_SOURCE_PACKAGE_FILE_NAME}-install COMMAND ${CMAKE_COMMAND} -E chdir _${CPACK_SOURCE_PACKAGE_FILE_NAME}-build ${CMAKE_COMMAND} ../${CPACK_SOURCE_PACKAGE_FILE_NAME} -DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_BINARY_DIR}/_${CPACK_SOURCE_PACKAGE_FILE_NAME}-install COMMAND ${CMAKE_COMMAND} -E echo Stage 3: Compile using source from tgz archive. COMMAND ${CMAKE_COMMAND} --build _${CPACK_SOURCE_PACKAGE_FILE_NAME}-build ) This can be successfully fired off by make distcheck, which is the desired behavior. However, the --build option doesn't respect (naturally) any -jN options fed to make, since they aren't specified at CMake time when the distcheck Makefile target is being generated. Perversely enough, if I'm understanding the issue correctly I won't be able to use the -jN value itself in any case, even if the Makefile can be taught to do something smart: http://old.nabble.com/MAKEFLAGS-var-does-not-show-%22-j%22-param-td15983337.html The best idea I can come up with so far is for the CMake generated Makefile to write out a variable containing some CPU related variable (e.g. make CPUS=8 and write the value of $(CPUS) to CMakeFiles/make_cpu_flag or some such) and then convert the distcheck commands above into a series of EXECUTE_PROCESS lines in a rundistcheck.cmake file that is launched by the distcheck rule with a ${CMAKE_COMMAND}. In rundistcheck.cmake, I can check for the presence of the make_cpu_flag file and if found add the -j parallel flag to the --build line before running it. That will mean a parallel distcheck will have to use a different make syntax than the standard make -j, but at least it would be something. Unfortunately, that means I still need the Makefile to let me know what was passed in up front, which means tweaking the CMake generated output somehow (not really sure how yet). Does anybody else have a mechanism for passing parallel build instructions from make down to child ${CMAKE_COMMAND} --build instances? Cheers, CY On Wed, Feb 2, 2011 at 4:32 PM, Michael Hertling mhertl...@online.de mailto:mhertl...@online.de wrote: On 02/02/2011 03:34 PM, Clifford Yapp wrote: Is there any way to customize the Makefile output from CMake to include user-defined lines (say, something like #include Makefile.inc) at the end of each Make file? [snip] However, this approach is neither portable nor clean nor your-expectation-here, so I would ask Eric's questions, too. ;) Regards, Michael ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] Adding a custom line to CMake's makefiles?
Reading through make documentation, seems setting -jx to MAKEFLAGS is a no-op. *The `-j' option is a special case (see section Parallel Executionhttp://theory.uwinnipeg.ca/localfiles/infofiles/make/make_47.html#SEC46). If you set it to some numeric value, `-j 1' is always put into MAKEFLAGSinstead of the value you specified. This is because if the `-j' option were passed down to sub-makes, you would get many more jobs running in parallel than you asked for. If you give `-j' with no numeric argument, meaning to run as many jobs as possible in parallel, this is passed down, since multiple infinities are no more than one. * Source: http://theory.uwinnipeg.ca/localfiles/infofiles/make/make_53.html Jc On Fri, Sep 9, 2011 at 3:37 PM, Mike Wittman michael.witt...@headwave.comwrote: ** If you are building on Linux, try MAKEFLAGS=j8 make distcheck I have successfully used the MAKEFLAGS environment variable to propagate parallel build invocations through scripts that invoke make with fixed options. -Mike On 09/09/2011 09:21 AM, Clifford Yapp wrote: I can finally give a good concrete case where I might need to do this (or need some other very clever solution). I have created a distcheck command for BRL-CAD that has a lot of responsibilities, including doing a complete configure and build of BRL-CAD from a source archive expanded from a CPack tarball. The distcheck rule uses cmake to fire off the build (this is to try and be future proof against using other tools than Make to do a distcheck) but I need to pass the parallel build setting -j from Make down to the ${CMAKE_COMMAND} build launched by the distcheck rule, and there doesn't seem to be any way to do it. This is the subset of the distcheck rule (somewhat edited for clarity): ADD_CUSTOM_TARGET(distcheck COMMAND ${CMAKE_COMMAND} -E echo Stage 1: Create source tgz, tbz2 and zip archives from toplevel archive. COMMAND cpack --config ${CMAKE_CURRENT_BINARY_DIR}/CPackSourceConfig.cmake COMMAND ${CMAKE_COMMAND} -E echo Stage 2: Expand tgz archive and prepare to build from archive sources. COMMAND ${CMAKE_COMMAND} -E tar xvzf ${CPACK_SOURCE_PACKAGE_FILE_NAME}.tar.gz COMMAND ${CMAKE_COMMAND} -E make_directory _${CPACK_SOURCE_PACKAGE_FILE_NAME}-build COMMAND ${CMAKE_COMMAND} -E make_directory _${CPACK_SOURCE_PACKAGE_FILE_NAME}-install COMMAND ${CMAKE_COMMAND} -E chdir _${CPACK_SOURCE_PACKAGE_FILE_NAME}-build ${CMAKE_COMMAND} ../${CPACK_SOURCE_PACKAGE_FILE_NAME} -DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_BINARY_DIR}/_${CPACK_SOURCE_PACKAGE_FILE_NAME}-install COMMAND ${CMAKE_COMMAND} -E echo Stage 3: Compile using source from tgz archive. COMMAND ${CMAKE_COMMAND} --build _${CPACK_SOURCE_PACKAGE_FILE_NAME}-build ) This can be successfully fired off by make distcheck, which is the desired behavior. However, the --build option doesn't respect (naturally) any -jN options fed to make, since they aren't specified at CMake time when the distcheck Makefile target is being generated. Perversely enough, if I'm understanding the issue correctly I won't be able to use the -jN value itself in any case, even if the Makefile can be taught to do something smart: http://old.nabble.com/MAKEFLAGS-var-does-not-show-%22-j%22-param-td15983337.html The best idea I can come up with so far is for the CMake generated Makefile to write out a variable containing some CPU related variable (e.g. make CPUS=8 and write the value of $(CPUS) to CMakeFiles/make_cpu_flag or some such) and then convert the distcheck commands above into a series of EXECUTE_PROCESS lines in a rundistcheck.cmake file that is launched by the distcheck rule with a ${CMAKE_COMMAND}. In rundistcheck.cmake, I can check for the presence of the make_cpu_flag file and if found add the -j parallel flag to the --build line before running it. That will mean a parallel distcheck will have to use a different make syntax than the standard make -j, but at least it would be something. Unfortunately, that means I still need the Makefile to let me know what was passed in up front, which means tweaking the CMake generated output somehow (not really sure how yet). Does anybody else have a mechanism for passing parallel build instructions from make down to child ${CMAKE_COMMAND} --build instances? Cheers, CY On Wed, Feb 2, 2011 at 4:32 PM, Michael Hertling mhertl...@online.dewrote: On 02/02/2011 03:34 PM, Clifford Yapp wrote: Is there any way to customize the Makefile output from CMake to include user-defined lines (say, something like #include Makefile.inc) at the end of each Make file? [snip] However, this approach is neither portable nor clean nor your-expectation-here, so I would ask Eric's questions, too. ;) Regards, Michael ___ Powered by www.kitware.com Visit other Kitware open-source projects at
Re: [CMake] Adding a custom line to CMake's makefiles?
Yes, but only when setting MAKEFLAGS from within a Makefile. It appears the rules do not apply when MAKEFLAGS is set by the invoking shell. (And actually, current GNU make handles parallel execution differently on Linux, using a job server that all make subprocesses use to coordinate execution -- the documentation below is from 1998.) If you still don't believe :) try putting the following in a Makefile and running MAKEFLAGS=j3 make all: r1 r2 r3 r1 r2 r3: echo rule $@; sleep 5 -Mike On 09/09/2011 02:55 PM, Jean-Christophe Fillion-Robin wrote: Reading through make documentation, seems setting -jx to MAKEFLAGS is a no-op. /The `-j' option is a special case (see section Parallel Execution http://theory.uwinnipeg.ca/localfiles/infofiles/make/make_47.html#SEC46). If you set it to some numeric value, `-j 1' is always put into |MAKEFLAGS| instead of the value you specified. This is because if the `-j' option were passed down to sub-|make|s, you would get many more jobs running in parallel than you asked for. If you give `-j' with no numeric argument, meaning to run as many jobs as possible in parallel, this is passed down, since multiple infinities are no more than one. / Source: http://theory.uwinnipeg.ca/localfiles/infofiles/make/make_53.html Jc On Fri, Sep 9, 2011 at 3:37 PM, Mike Wittman michael.witt...@headwave.com mailto:michael.witt...@headwave.com wrote: If you are building on Linux, try MAKEFLAGS=j8 make distcheck I have successfully used the MAKEFLAGS environment variable to propagate parallel build invocations through scripts that invoke make with fixed options. -Mike On 09/09/2011 09:21 AM, Clifford Yapp wrote: I can finally give a good concrete case where I might need to do this (or need some other very clever solution). I have created a distcheck command for BRL-CAD that has a lot of responsibilities, including doing a complete configure and build of BRL-CAD from a source archive expanded from a CPack tarball. The distcheck rule uses cmake to fire off the build (this is to try and be future proof against using other tools than Make to do a distcheck) but I need to pass the parallel build setting -j from Make down to the ${CMAKE_COMMAND} build launched by the distcheck rule, and there doesn't seem to be any way to do it. This is the subset of the distcheck rule (somewhat edited for clarity): ADD_CUSTOM_TARGET(distcheck COMMAND ${CMAKE_COMMAND} -E echo Stage 1: Create source tgz, tbz2 and zip archives from toplevel archive. COMMAND cpack --config ${CMAKE_CURRENT_BINARY_DIR}/CPackSourceConfig.cmake COMMAND ${CMAKE_COMMAND} -E echo Stage 2: Expand tgz archive and prepare to build from archive sources. COMMAND ${CMAKE_COMMAND} -E tar xvzf ${CPACK_SOURCE_PACKAGE_FILE_NAME}.tar.gz COMMAND ${CMAKE_COMMAND} -E make_directory _${CPACK_SOURCE_PACKAGE_FILE_NAME}-build COMMAND ${CMAKE_COMMAND} -E make_directory _${CPACK_SOURCE_PACKAGE_FILE_NAME}-install COMMAND ${CMAKE_COMMAND} -E chdir _${CPACK_SOURCE_PACKAGE_FILE_NAME}-build ${CMAKE_COMMAND} ../${CPACK_SOURCE_PACKAGE_FILE_NAME} -DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_BINARY_DIR}/_${CPACK_SOURCE_PACKAGE_FILE_NAME}-install COMMAND ${CMAKE_COMMAND} -E echo Stage 3: Compile using source from tgz archive. COMMAND ${CMAKE_COMMAND} --build _${CPACK_SOURCE_PACKAGE_FILE_NAME}-build ) This can be successfully fired off by make distcheck, which is the desired behavior. However, the --build option doesn't respect (naturally) any -jN options fed to make, since they aren't specified at CMake time when the distcheck Makefile target is being generated. Perversely enough, if I'm understanding the issue correctly I won't be able to use the -jN value itself in any case, even if the Makefile can be taught to do something smart: http://old.nabble.com/MAKEFLAGS-var-does-not-show-%22-j%22-param-td15983337.html The best idea I can come up with so far is for the CMake generated Makefile to write out a variable containing some CPU related variable (e.g. make CPUS=8 and write the value of $(CPUS) to CMakeFiles/make_cpu_flag or some such) and then convert the distcheck commands above into a series of EXECUTE_PROCESS lines in a rundistcheck.cmake file that is launched by the distcheck rule with a ${CMAKE_COMMAND}. In rundistcheck.cmake, I can check for the presence of the make_cpu_flag file and if found add the -j parallel flag to the --build line before running it. That will mean a parallel distcheck will have to use a different make syntax than the standard make -j, but at least it would be something. Unfortunately, that means I still need the Makefile to let me know what was passed in up front, which means
Re: [CMake] Adding a custom line to CMake's makefiles?
Thanks Mike, good to know! David actually solved my problem for me with the generator based conditional and the $(MAKE) variable, but that's a nifty workaround to have tucked away. Cheers, CY On Fri, Sep 9, 2011 at 3:37 PM, Mike Wittman m...@headwave.com wrote: ** If you are building on Linux, try MAKEFLAGS=j8 make distcheck I have successfully used the MAKEFLAGS environment variable to propagate parallel build invocations through scripts that invoke make with fixed options. -Mike ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
[Cmake-commits] CMake branch, next, updated. v2.8.5-1866-g5a768fc
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via 5a768fc24e4e0b75ca939abec533ed89bfd101bf (commit) via 555f589a5a3e9387956d451dc253fa1e3f35adff (commit) from c4afdf60f981c483071d37b0d5850ccd24ae6cc0 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=5a768fc24e4e0b75ca939abec533ed89bfd101bf commit 5a768fc24e4e0b75ca939abec533ed89bfd101bf Merge: c4afdf6 555f589 Author: Bill Hoffman bill.hoff...@kitware.com AuthorDate: Fri Sep 9 11:01:22 2011 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Fri Sep 9 11:01:22 2011 -0400 Merge topic 'FortranCInterface-VS' into next 555f589 For VS Intel Fortran IDE builds, add a check to find the Fortran library PATH. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=555f589a5a3e9387956d451dc253fa1e3f35adff commit 555f589a5a3e9387956d451dc253fa1e3f35adff Author: Bill Hoffman bill.hoff...@kitware.com AuthorDate: Thu Sep 8 17:42:49 2011 -0400 Commit: Bill Hoffman bill.hoff...@kitware.com CommitDate: Thu Sep 8 17:42:49 2011 -0400 For VS Intel Fortran IDE builds, add a check to find the Fortran library PATH. To use VS C and Fotran in the same solution, it is required that VS be able to find the Fortran run time libraries as they will be implicitly linked by any Fortran library used by VS C programs. This adds a check into CMakeDetermineCompilerABI using a try-compile to find the correct PATH. diff --git a/Modules/CMakeDetermineCompilerABI.cmake b/Modules/CMakeDetermineCompilerABI.cmake index 39d1f17..528c327 100644 --- a/Modules/CMakeDetermineCompilerABI.cmake +++ b/Modules/CMakeDetermineCompilerABI.cmake @@ -83,6 +83,32 @@ FUNCTION(CMAKE_DETERMINE_COMPILER_ABI lang src) FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log Parsed ${lang} implicit link information from above output:\n${log}\n\n) ENDIF() + # for VS IDE Intel Fortran we have to figure out the + # implicit link path for the fortran run time using + # a try-compile + IF(${lang} MATCHES Fortran + AND ${CMAKE_GENERATOR} MATCHES Visual Studio) +SET(_desc Determine Intel Fortran Compiler Implicit Link Path) +MESSAGE(STATUS ${_desc}) +# Build a sample project which reports symbols. +TRY_COMPILE(IFORT_LIB_PATH_COMPILED + ${CMAKE_BINARY_DIR}/CMakeFiles/IntelVSImplicitPath + ${CMAKE_ROOT}/Modules/FortranCInterface/IntelVSImplicitPath + IntelFortranImplicit + CMAKE_FLAGS + -DCMAKE_Fortran_FLAGS:STRING=${CMAKE_Fortran_FLAGS} + OUTPUT_VARIABLE _output) +FILE(READ + ${CMAKE_BINARY_DIR}/CMakeFiles/IntelVSImplicitPath/implict_link.txt + dir) +LIST(APPEND implicit_dirs ${dir}) +FILE(WRITE + ${CMAKE_BINARY_DIR}/CMakeFiles/IntelVSImplicitPath/output.txt + ${_output}) +SET(_desc Determine Intel Fortran Compiler Implicit Link Path -- done) +MESSAGE(STATUS ${_desc}) + ENDIF() + SET(CMAKE_${lang}_IMPLICIT_LINK_LIBRARIES ${implicit_libs} PARENT_SCOPE) SET(CMAKE_${lang}_IMPLICIT_LINK_DIRECTORIES ${implicit_dirs} PARENT_SCOPE) diff --git a/Modules/FortranCInterface/IntelVSImplicitPath/CMakeLists.txt b/Modules/FortranCInterface/IntelVSImplicitPath/CMakeLists.txt new file mode 100644 index 000..e2a4b3f --- /dev/null +++ b/Modules/FortranCInterface/IntelVSImplicitPath/CMakeLists.txt @@ -0,0 +1,11 @@ +cmake_minimum_required (VERSION 2.8) +project(IntelFortranImplicit Fortran) +add_custom_command(OUTPUT ${IntelFortranImplicit_BINARY_DIR}/env.txt + COMMAND set ${IntelFortranImplicit_BINARY_DIR}/env.txt) +add_library(FortranLib hello.f + ${IntelFortranImplicit_BINARY_DIR}/env.txt) +add_custom_target(ExtractLibPath ALL + COMMAND ${CMAKE_COMMAND} -P ${IntelFortranImplicit_SOURCE_DIR}/extract.cmake + WORKING_DIRECTORY ${IntelFortranImplicit_BINARY_DIR} +) +add_dependencies(ExtractLibPath FortranLib) diff --git a/Modules/FortranCInterface/IntelVSImplicitPath/extract.cmake b/Modules/FortranCInterface/IntelVSImplicitPath/extract.cmake new file mode 100644 index 000..055247c --- /dev/null +++ b/Modules/FortranCInterface/IntelVSImplicitPath/extract.cmake @@ -0,0 +1,12 @@ +file(STRINGS env.txt LIB REGEX ^LIB=.*$) +string(REPLACE LIB= LIB ${LIB} ) +# change LIB from a string to a ; separated list of paths +set(LIB ${LIB}) +# look at each path and try to find ifconsol.lib +foreach( dir ${LIB}) + file(TO_CMAKE_PATH ${dir} dir) + if(EXISTS ${dir}/ifconsol.lib) +file(WRITE implict_link.txt
[Cmake-commits] CMake branch, release, updated. v2.8.5-450-g281b937
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, release has been updated via 281b93734c306a29b4c2d151e2541178a8a18cc7 (commit) via 662a9c97cd953e15ed19c8c88992ddb2bb881f74 (commit) via 3ae6060f298e202973fcfdf8d863b3178a107382 (commit) via 3246dc26651c50cebd99b64ca8fb1a05873f192f (commit) via 4e3d428cc30a6a45477720c8153b4f32952ae949 (commit) via fde0a4ddd104be279600f3a80521169708a84875 (commit) via 1a5c99581eddd677ba30653d0cb68161a4e0cb8f (commit) via 07eb08439ddeaaab1115acaf717b52319efdfb13 (commit) via c80cbad15226844c2c518e49656fe19fc52d8d33 (commit) via 05bc6bfb87a9afe9c85bd90406fce348a92b7807 (commit) via de62fd1b6d268702473b3307f48eb4cefb8c2c5d (commit) via db4154661cfa1baf2596ce4c68ac8a328690245d (commit) via 54730d7604a69975e66047c3b5f406df89a4ade5 (commit) via 2ea27a54d97c72870ed69c9bde17826faf87f6d3 (commit) via f62540adcc1dd53b66534f6ed7c03b5e5daf1d26 (commit) via 4558e63a037b8f885cb883a2adc47231d7a0 (commit) via d9ad72542ae60b34d1b0debd3fd4616d9896985f (commit) via 103ab60dd7314f6a75b02dc65d40a99efedc5391 (commit) via 18897d63a5370706312b2b1b8b8900a792ab6056 (commit) via a239fb6c16ab075fdbd2f306b3f34369f9087d43 (commit) via 56ce5dec8b9973528ae8b41a77e757c11eff81b1 (commit) via 5686515b6f9bc91d4a5b78f5a0d322cc5ab62f2b (commit) via accdb855c293d081580f17ed8521ca20b0dcce0e (commit) via 540b25d529a1279f74df0a23140291f9557946db (commit) via 96d106a78d1dc634cc635678afa399f1f5e15ff3 (commit) via cb22afc02c0524ff2b701b33a29339dde1e80bbd (commit) via 7b8dcdd17312a7c3ed731743468136b0ea89a6c7 (commit) via d78bdb27832c91c775ad3782c9eb436dcd6a1e7c (commit) via 527a40f06fc7f0ea6aa9c1fe96fb0fe5611fa633 (commit) via 98cb017a9deca35cd9a67e03b6bd95064b6d2fb7 (commit) via 339a321e66e142edbb0c6228caf368f09b4a072f (commit) via 5b4528b1f45a2a7d1ef5effe9813b1a2d764ac60 (commit) via f9e527794159844963f6bd67b5627026a0f552a6 (commit) via eb4af16298a9b456c0fd8df6e20727ce7f6f422c (commit) via b0f6a975870ab37a74557252908e91acfecbc59d (commit) via e05e0f1d2c63353e25675df5430e1cbcd909cf93 (commit) via 48ba9b2f197cde7f309b9ef3770e1bf003a7e8e8 (commit) via dbd776dde7710a0bf1af1ca9c3554d9025502a31 (commit) via 99d8ca624dfd728f28443334bee4074318472145 (commit) via 405bcd8def3c0a15d0005638e838623180a333cd (commit) via cd81da30f7477b5653665608f4de5f4a4a0e1a14 (commit) via 79701929fb7dc3a8aee913866bc8f9352af57ee7 (commit) via d1751fbf17d2c0e945f696b920fe0cf2a8ad14b2 (commit) via 4868921bc2b5ad85221d51d585bb2116a2826915 (commit) via f47393c66bb1810a9916fa755bc5830fb9d24d63 (commit) via 38aab379629a797e959f93b40ba18e63f14d1f64 (commit) via 93d8d1992ed94225bb0a5706f0a294524913dccc (commit) via 90efed6ee60fde3a1211672854f7e23affa8b983 (commit) via 57bc42ae91ce373db094e69a6f9900aadbe858fe (commit) via 28ce8b7a147e315eb4bce4f0ae014e100162aa59 (commit) via 0c28b48d9b46415964ddaabf082dbdc059c770c2 (commit) via 0cc8f05ce5669f78d458c914b17695c5d53a8d52 (commit) via 145de0a058553968b082c6d18c5b7d883ac4637f (commit) via 5c0c635a0947aa44a0e3edf65b73c61d9abced2d (commit) via 47a0c7542b07b7db8f466621fff28f47beaad7d0 (commit) via d6e2a063f0a8f07dad88c0a7974391db5de4d6bd (commit) via e01b98ee4d755acc458d69296cedfdf068d074b7 (commit) via 0ae78b76d544adad4860b66bdd6279fdde07ea34 (commit) via 1c2508a569da51041db7345e0c9eb41aa6aaefd9 (commit) via d1795002956f8da746077fffb1c2aa0262063db2 (commit) via 4fd1e28495e09af154f361602d30a0c5fc998ff4 (commit) via 20980ef56a847fec7922983257fd5be467b689bd (commit) from bf14d95946f997b00b2d2f296fc2fa7ade9655c3 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=281b93734c306a29b4c2d151e2541178a8a18cc7 commit 281b93734c306a29b4c2d151e2541178a8a18cc7 Author: David Cole david.c...@kitware.com AuthorDate: Fri Sep 9 11:53:38 2011 -0400 Commit: David Cole david.c...@kitware.com CommitDate: Fri Sep 9 11:53:38 2011 -0400 CMake 2.8.6-rc3 diff --git a/CMakeLists.txt b/CMakeLists.txt index ea4ff0c..7b9fd56 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -418,7 +418,7 @@ SET(CMake_VERSION_MAJOR 2) SET(CMake_VERSION_MINOR 8) SET(CMake_VERSION_PATCH 6) SET(CMake_VERSION_TWEAK 0) -SET(CMake_VERSION_RC 2) +SET(CMake_VERSION_RC 3) # Releases define a
[Cmake-commits] CMake branch, next, updated. v2.8.5-1868-gea10d53
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via ea10d5350c45f5a183f724322c86404c8f8413ed (commit) via 539a822c8c541143ab954d8d355cb9643235d231 (commit) from 5a768fc24e4e0b75ca939abec533ed89bfd101bf (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ea10d5350c45f5a183f724322c86404c8f8413ed commit ea10d5350c45f5a183f724322c86404c8f8413ed Merge: 5a768fc 539a822 Author: Bill Hoffman bill.hoff...@kitware.com AuthorDate: Fri Sep 9 17:30:43 2011 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Fri Sep 9 17:30:43 2011 -0400 Merge topic 'FortranCInterface-VS' into next 539a822 Enable Fortran tests for IDE builds. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=539a822c8c541143ab954d8d355cb9643235d231 commit 539a822c8c541143ab954d8d355cb9643235d231 Author: Bill Hoffman bill.hoff...@kitware.com AuthorDate: Fri Sep 9 17:11:57 2011 -0400 Commit: Bill Hoffman bill.hoff...@kitware.com CommitDate: Fri Sep 9 17:11:57 2011 -0400 Enable Fortran tests for IDE builds. diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt index 9f4e8a3..a3d1cbf 100644 --- a/Tests/CMakeLists.txt +++ b/Tests/CMakeLists.txt @@ -1926,29 +1926,36 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/ ENDIF (${PREVIOUS_TIMEOUT} MATCHES NOTFOUND) ENDIF() - # fortran does not work for IDE builds because - # CMAKE_STANDARD_LIBRARIES needs to be per language - IF(CMAKE_TEST_GENERATOR MATCHES Make|KDevelop) -IF(CMAKE_Fortran_COMPILER) - ADD_TEST(Fortran ${CMAKE_CTEST_COMMAND} + IF(CMAKE_Fortran_COMPILER) +ADD_TEST(Fortran ${CMAKE_CTEST_COMMAND} + --build-and-test + ${CMake_SOURCE_DIR}/Tests/Fortran + ${CMake_BINARY_DIR}/Tests/Fortran + --build-generator ${CMAKE_TEST_GENERATOR} + --build-project testf + --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM} + --build-two-config + --test-command testf) +LIST(APPEND TEST_BUILD_DIRS ${CMake_BINARY_DIR}/Tests/Fortran) + +# FortranCInterface tests. +IF(UNIX) + CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/FortranC/Flags.cmake.in +${CMAKE_CURRENT_BINARY_DIR}/FortranC/Flags.cmake @ONLY) + ADD_TEST(FortranC.Flags ${CMAKE_CMAKE_COMMAND} -P +${CMAKE_CURRENT_BINARY_DIR}/FortranC/Flags.cmake) + LIST(APPEND TEST_BUILD_DIRS ${CMake_BINARY_DIR}/Tests/FortranC/Flags) +ELSE() + ADD_TEST(FortranC ${CMAKE_CTEST_COMMAND} --build-and-test -${CMake_SOURCE_DIR}/Tests/Fortran -${CMake_BINARY_DIR}/Tests/Fortran +${CMake_SOURCE_DIR}/Tests/FortranC +${CMake_BINARY_DIR}/Tests/FortranC --build-generator ${CMAKE_TEST_GENERATOR} ---build-project testf +--build-project FortranC --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM} --build-two-config ---test-command testf) - LIST(APPEND TEST_BUILD_DIRS ${CMake_BINARY_DIR}/Tests/Fortran) - - # FortranCInterface tests. - IF(UNIX) -CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/FortranC/Flags.cmake.in - ${CMAKE_CURRENT_BINARY_DIR}/FortranC/Flags.cmake @ONLY) -ADD_TEST(FortranC.Flags ${CMAKE_CMAKE_COMMAND} -P - ${CMAKE_CURRENT_BINARY_DIR}/FortranC/Flags.cmake) -LIST(APPEND TEST_BUILD_DIRS ${CMake_BINARY_DIR}/Tests/FortranC/Flags) - ENDIF() +--test-command CMakeFiles/FortranCInterface/FortranCInterface) + LIST(APPEND TEST_BUILD_DIRS ${CMake_BINARY_DIR}/Tests/FortranC) ENDIF() ENDIF() --- Summary of changes: Tests/CMakeLists.txt | 45 ++--- 1 files changed, 26 insertions(+), 19 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits