Re: [CMake] Weird output
Alan W. Irwin wrote: On 2008-09-17 09:10+0200 Jesper Eskilson wrote: Timenkov Yuri wrote: Anyway, the printout is inside a if(this-Verbose) { ... }, so presumable it is something which can be switched on/off. And it seems not a problem, because CMake just tells why it regenerates dependencies. But it clutters my make output. I like my make output to be as clean as possible. Actually I would like to get rid of the Building CXX object... messages as well -- when running make with the -s option there should be no output at all except error messages. But that is another issue. Anyway, the culprit is that I ran make like this $ make -j2 all VERBOSE= i.e. the VERBOSE variable is set, but to the empty string. I doubt setting VERBOSE at the end like that after the all target will work. For that order make probably assumes VERBOSE= is a target which is not what you want. I don't think so. VERBOSE seems to be set to an empty string (as far as I can tell, I haven't checked with $(origin ...)). Anyway, I've gotten rid of the printouts, so now I'm happy. -- /Jesper ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
[CMake] cmake + cygwin + NSIS Cpack generators
Hi all, I'd like to use the NSIS CPack Genertor on cygwin systems but I'm having a lot of troubles: by default, cpack wants to use the Cygwin-binary generator and if I customize myself the CPackConfig script, I have many errors due to unix style filepaths. Here are my questions: - is the command SET(CPACK_GENERATOR NSIS) in my CMakeLists.txt is supposed to work ? - has somebody experienced this kind of package generation ? Regards, david begin:vcard fn:David Coeurjolly n:Coeurjolly;David org;quoted-printable:Universit=C3=A9 Lyon 1 - Universit=C3=A9 de Lyon;Laboratoire LIRIS-UMR 5205 adr;quoted-printable:43 boulevard du 11 novembre 1918;;B=C3=A2timent Nautibus;Villeurbanne;;F-69622;France email;internet:[EMAIL PROTECTED] title;quoted-printable:Charg=C3=A9 de recherche CNRS tel;work:+33 4 72 44 82 40 tel;fax:+33 4 72 43 15 36 url:http://liris.cnrs.fr/david.coeurjolly version:2.1 end:vcard ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] multi-line definitions
Have you tried the following SET (CMAKE_C_FLAGS_RELEASE -mcpu=arm7tdmi -std=gnu99 -fgnu89-inline ... -DNDEBUG) Cyril Emmanuel Blot a écrit : Hi, Is it possible to write variable definition directives using multiple lines, i.e. I have a long definition string such as: SET (CMAKE_C_FLAGS_RELEASE -mcpu=arm7tdmi -std=gnu99 -fgnu89-inline -finline-functions -ffunction-sections -fdata-sections -fno-strict-aliasing -mno-thumb -Os -s -fomit-frame-pointer -DNDEBUG) How can I split this line (so that it fits into 80 column pages) ? Thanks, Manu ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] using cmake with google's protocol buffers
2008/9/18 Neil Girdhar [EMAIL PROTECTED]: Hi, I'm trying to add a special cmake rule to build google's protocol buffers, and I was hoping someone could help me do it. I've broken down the details of the protocol compiler here, so all that's missing is a cmake expert. Did you look at the recently posted CMake module: http://www.cmake.org/pipermail/cmake/2008-September/023963.html I've added some suggested basic commands afterwards but I really suggest to try the preceding module and may be improve it or fix it, if it does not suit your needs and give feedback to the original author. I have some .proto files that live in the same directories as the source. I want to specify a rule that calls this: protoc DIR/SOMEFILE.proto --cpp_out=SOMEDIR SOMEDIR should probably be DIR/CMakeFiles/DIR.dir What would you do that? I suggest that SOMEDIR should be ${CMAKE_CURRENT_BINARY_DIR} which the directory in the build tree which the sibbling of the corresponding source tree directory (${CMAKE_CURRENT_SOURCE_DIR}) this will generate SOMEDIR/SOMEFILE.pb.h SOMEDIR/SOMEFILE.pb.cc Then something like this in DIR/CMakeLists.txt ADD_CUSTOM_COMMAND( OUTPUT SOMEFILE.pb.h SOMEFILE.pb.cc COMMAND protoc SOMEFILE.proto --cpp_out=${CMAKE_CURRENT_BINARY_DIR} DEPENDS SOMEFILE.proto WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) I want to include SOMEFILE.pb.h in my source files and I want them to be found. I want to compile and link SOMEFILE.pb.cc automatically Then those file are compiled in a LIBRARY or EXECUTABLE ADD_LIBRARY(mylib SOMEFILE.pb.h SOMEFILE.pb.cc) then do not forget to tell CMake that those files are to be generated: set_source_files_properties(SOMEFILE.pb.h SOMEFILE.pb.cc PROPERTIES GENERATED TRUE) what is the easiest set of rules that I can use to extend cmake to do this? -- Erk ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] cmake + cygwin + NSIS Cpack generators
Zitat von David Coeurjolly [EMAIL PROTECTED]: I'd like to use the NSIS CPack Genertor on cygwin systems but I'm having a lot of troubles: by default, cpack wants to use the Cygwin-binary generator and if I customize myself the CPackConfig script, I have many errors due to unix style filepaths. Here are my questions: - is the command SET(CPACK_GENERATOR NSIS) in my CMakeLists.txt is supposed to work ? - has somebody experienced this kind of package generation ? NSIS can also be run under Linux and thus works with unix-style path. However, you probably need to use an nsis binary that was compiled with cygwin, _not_ a generic Win32 binary. HS ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] multi-line definitions
cyril_wobow wrote: Have you tried the following SET (CMAKE_C_FLAGS_RELEASE -mcpu=arm7tdmi -std=gnu99 -fgnu89-inline ... -DNDEBUG) Cyril That won't work. It will create a list of items and it needs to be a big string. The only way would be something like this: set(a -mcpu=arm7tdmi -std=gnu99 -fgnu89-inline -finline-functions) set(a ${a} -ffunction-sections -fdata-sections ) set(a ${a} -fno-strict-aliasing -mno-thumb -Os -fomit-frame-pointer) -Bill ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
[CMake] using a generator with unknown output
Hi y'all, I'm a rather new cmake user and I've got a hen egg problem: My generator takes an inputfile and a directory, it creates output files in that directory. Number and names of generated files depend on the contents of the inputfile. However, it also generates a file with a known name that contains the names of all generated files. The generated files must be compiled to a library, which will be linked into an executable. Unfortunately, depency generation and add_custom_command need to know the exact filenames in advance ... So finally my question: As I already know when to regenerate (inputfile newer than filelist), is there a way to trigger a new dependency calculation followed by the build of the library? I'm using Makefiles on Unix. By looking into the generated Makefiles it seems that --check-build-system might be involved. But that's an undocumented options, so I hesitate to even start playing around with it. I would be greatful for some advice. Thx, Dirk DFS Deutsche Flugsicherung GmbH Am DFS-Campus 10 D - 63225 Langen Tel.: +49-(0)6103-707-0 Sitz der Gesellschaft: Langen/Hessen Zuständiges Registergericht: AG Offenbach am Main, HRB 34977 Vorsitzender des Aufsichtsrates: Robert Scholl Geschäftsführer: Dieter Kaden (Vors.), Ralph Riedle, Jens Bergmann Internet: http://www.dfs.de Public-Key der DFS: http://www.dfs.de/dfs/public_key.asc ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
[CMake] Regenerating Visual Studio projects
Hi all, When CMake (2.6) discovers that a CMakeLists.txt file has changed, and that one or more Visual Studio projects/solutions need to be reloaded, it attempts to interrupt the build, force Visual Studio to reload the projects, and then restart the build. This is really good compared to CMake 2.4, where the projects weren't reloaded until the build had completed and you possibly had to build again from scratch. I have a problem, though: CMake does not properly detect if it is being run from inside Visual Studio, and it doesn't check that it interrupting the correct Visual Studio instance. Say that you have a studio instance opened on a solution. If I run CMake to regenerate a completely different solution, CMake will try to interrupt the (unrelated) studio instance. This wouldn't be too bad unless Visual Studio kept throwing up interactive dialogs asking do you really want to interrupt the build and do you want to reload 78 project files. I have users who needs to run my build scripts (which invoke cmake) without the script interfering with any other studio instances they may have running. Either CMake should detect that it is being run under Visual Studio and attempt to stop/interrupt the studio instance which it was started by, or there should be a flag to disable any form of communication with Visual Studio as in CMake 2.4). Which brings me to my second issue: when CMake is rerun from inside Visual Studio, I have to click on at least 3 interactive dialogs in order for the project to be reloaded. Is there anything CMake can do about that? I don't want to click on any dialogs at all, just have the project files recreated and reloaded. -- /Jesper ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
[CMake] Help with REGEX expression
I am trying to parse out the OS Version from the following: /Developer/SDKs/MacOSX10.5.sdk /Developer/SDKs/MacOSX10.4u.sdk /Developer/SDKs/MacOSX10.3.9.sdk I only need the 10.5, 10.4 or 10.3 so I can compare it against another number (10.x or even 11.x). I have no idea where to start with this. Could anyone suggest somewhere to start .. (besides a good Regex tutorial.. ) Thanks _ | Mike Jackson - Principal Software Engineer | | BlueQuartz Software | | [EMAIL PROTECTED] | | www.bluequartz.net | --- ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
[CMake] ctest and multiple configurations
Hi, I'm currently trying to set up ctest to work with multiple configurations. One issue I came across is the way of using ctest with different platform configurations. For example, my configuration does not only include Release|Win32 and Debug|Win32, but also Release|Pocket PC 2003 (ARMV4) and Debug|Pocket PC 2003 (ARMV4). The natural way of compiling it from the commandline is to use a command like C.\sourcedevenv.exe source.sln /build Release|Pocket PC 2003 (ARMV4) /project someproject This works well, and I thought it should also do in a CTestConfig.cmake, using such a setup: ... SET (CTEST_COMMAND ctest.exe -C \Release|Pocket PC 2003 (ARMV4)\ -D Experimental ) SET (CTEST_INITIAL_CACHE SVNCOMMAND:FILEPATH=C:/cygwin/bin/svn.exe CMAKE_BUILD_TYPE:STRING=Release|Pocket PC 2003 (ARMV4) BUILDNAME:STRING=WinCE ) ... Unfortunately it does not compile the correct configuration, but also sticks back to the standard platform configuration. Is this a bug (or a not implemented feature), or am I simply using it the wrong way? Regards Clemens -- GMX startet ShortView.de. Hier findest Du Leute mit Deinen Interessen! Jetzt dabei sein: http://www.shortview.de/[EMAIL PROTECTED] ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] multi-line definitions
Am Thursday 18 September 2008 15:18:46 schrieb Bill Hoffman: cyril_wobow wrote: Have you tried the following SET (CMAKE_C_FLAGS_RELEASE -mcpu=arm7tdmi -std=gnu99 -fgnu89-inline ... -DNDEBUG) Cyril That won't work. It will create a list of items and it needs to be a big string. Exactly why is it not possible to give a cmake list of options to property like COMPILE_FLAGS and LINK_FLAGS? CMake kindof should know that those flags cannot be given as e.g. -Wall;-W. Or is there any known case where this would make sense? HS ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
[CMake] VTK-5-2-0 macport build error
I'm in the process of adapting a macport called vtk5 so it will work with VTK-5-2-0, but I have a problem with finding a library. I'm running a build on the cvs checkout with tag VTK-5-2-0; I'm trying to build against macport libraries (on OSX 10.5.5). The build is configured and builds successfully, but the link fails with ld: library not found for -lhistory (see below). How can I get more information about this link error so I can identify the library dependency and correct it? export prefix=/opt/local export LDFLAGS=-L${prefix}/lib export CPPFLAGS=-I${prefix}/include cmake \ -DBUILD_EXAMPLES:BOOL=OFF \ -DBUILD_SHARED_LIBS:BOOL=OFF \ -DBUILD_TESTING:BOOL=OFF \ -DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo \ -DCMAKE_EXE_LINKER_FLAGS:STRING=-rpath ${prefix}/lib \ -DCMAKE_INCLUDE_PATH:PATH=${prefix}/include \ -DCMAKE_INSTALL_PREFIX:PATH=${prefix} \ -DCMAKE_INSTALL_NAME_DIR:STRING=${prefix}/lib \ -DCMAKE_LIBRARY_PATH:PATH=${prefix}/lib \ -DVTK_INSTALL_PREFIX:PATH=${prefix} \ -DVTK_DATA_ROOT:PATH=${prefix}/share/VTKData \ -DVTK_USE_CARBON:BOOL=OFF \ -DVTK_USE_COCOA:BOOL=ON \ -DVTK_USE_INFOVIS:BOOL=ON \ -DVTK_USE_PARALLEL:BOOL=OFF \ -DVTK_USE_RENDERING:BOOL=ON \ -DVTK_USE_VIEWS:BOOL=ON \ -DVTK_USE_X:BOOL=OFF \ -DVTK_WRAP_JAVA:BOOL=OFF \ -DVTK_WRAP_PYTHON:BOOL=OFF \ -DVTK_WRAP_TCL:BOOL=ON \ -DVTK_TCL_LIBRARY_DIR:FILEPATH=${prefix}/lib/tcl8.5 \ -DVTK_REQUIRED_EXE_LINKER_FLAGS:STRING=-rpath ${prefix}/lib \ ../VTK snip [ 99%] Building CXX object Views/CMakeFiles/vtkViewsTCL.dir/vtkViewsTCLInit.o Linking CXX static library ../bin/libvtkViewsTCL.a [ 99%] Built target vtkViewsTCL Scanning dependencies of target vtk [100%] Building CXX object Wrapping/Tcl/CMakeFiles/vtk.dir/vtkTkAppInit.o Linking CXX executable ../../bin/vtk ld: library not found for -lhistory collect2: ld returned 1 exit status make[2]: *** [bin/vtk] Error 1 make[1]: *** [Wrapping/Tcl/CMakeFiles/vtk.dir/all] Error 2 make: *** [all] Error 2 I can 'locate' the following (among others): /opt/local/lib/libhistory.5.0.dylib /opt/local/lib/libhistory.5.1.dylib /opt/local/lib/libhistory.5.2.dylib /opt/local/lib/libhistory.5.dylib /opt/local/lib/libhistory.a /opt/local/lib/libhistory.dylib /opt/local/lib/tcl8.5/history.tcl /usr/local/lib/tcl8.4/history.tcl /System/Library/Tcl/tklib0.4/history /System/Library/Tcl/tklib0.4/history/history.tcl /System/Library/Tcl/tklib0.4/history/pkgIndex.tcl Among the active macports, I have: tk @8.5.4_0 (active) tcl @8.5.4_0+memdebug+threads (active) tcllib @1.10_0 (active) ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] Help with REGEX expression
Hello Mike, I'm looking at Page 41 of Mastering CMake 4th edition. I'll try to get this figured out for you, if you like. --Sam --- On Thu, 9/18/08, Mike Jackson [EMAIL PROTECTED] wrote: From: Mike Jackson [EMAIL PROTECTED] Subject: [CMake] Help with REGEX expression To: Cmake Mailing List cmake@cmake.org Date: Thursday, September 18, 2008, 5:53 PM I am trying to parse out the OS Version from the following: /Developer/SDKs/MacOSX10.5.sdk /Developer/SDKs/MacOSX10.4u.sdk /Developer/SDKs/MacOSX10.3.9.sdk I only need the 10.5, 10.4 or 10.3 so I can compare it against another number (10.x or even 11.x). I have no idea where to start with this. Could anyone suggest somewhere to start .. (besides a good Regex tutorial.. ) Thanks _ | Mike Jackson - Principal Software Engineer | | BlueQuartz Software | | [EMAIL PROTECTED] | | www.bluequartz.net | --- ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] Updated WinCE CMakefiles
Am Thursday 18 September 2008 14:08:05 schrieb Andreas Pokorny: * If I am not mistaken there is yet no clean facility to specify the libpath and include path from the toolchain file The lib path can normally be derived from the root path by specifying the proper PATH_SUFFIXES when using find_library. The include paths can be set by adding include_libraries(SYSTEM .) in the toolchain file. HS ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] Help with REGEX expression
I pulled an older version of the CMake book but came up with this just as I got your email.. set (MIN_VERS 10.4) set (str /MacOSX/Developer/SDKs/MacOSX10.3.9.sdk) STRING (REGEX REPLACE (.*MacOSX*)()(.*\\.sdk) \\2 SDK $ {str} ) message (STATUS replace: ${SDK}) if (SDK GREATER MIN_VERS) message (STATUS SDK (${SDK}) is greater than MIN_VERS ($ {MIN_VERS})) endif (SDK GREATER MIN_VERS) set (str /MacOSX/Developer/SDKs/MacOSX10.4u.sdk) STRING (REGEX REPLACE (.*MacOSX*)()(.*\\.sdk) \\2 SDK $ {str} ) message (STATUS replace: ${SDK}) if (SDK GREATER MIN_VERS) message (STATUS SDK (${SDK}) is greater than MIN_VERS ($ {MIN_VERS})) endif (SDK GREATER MIN_VERS) set (str /MacOSX/Developer/SDKs/MacOSX10.5.sdk) STRING (REGEX REPLACE (.*MacOSX*)()(.*\\.sdk) \\2 SDK $ {str} ) message (STATUS replace: ${SDK}) if (SDK GREATER MIN_VERS) message (STATUS SDK (${SDK}) is greater than MIN_VERS ($ {MIN_VERS})) endif (SDK GREATER MIN_VERS) Mike On Sep 18, 2008, at 2:19 PM, Samuel Crow wrote: Hello Mike, I'm looking at Page 41 of Mastering CMake 4th edition. I'll try to get this figured out for you, if you like. --Sam --- On Thu, 9/18/08, Mike Jackson [EMAIL PROTECTED] wrote: From: Mike Jackson [EMAIL PROTECTED] Subject: [CMake] Help with REGEX expression To: Cmake Mailing List cmake@cmake.org Date: Thursday, September 18, 2008, 5:53 PM I am trying to parse out the OS Version from the following: /Developer/SDKs/MacOSX10.5.sdk /Developer/SDKs/MacOSX10.4u.sdk /Developer/SDKs/MacOSX10.3.9.sdk I only need the 10.5, 10.4 or 10.3 so I can compare it against another number (10.x or even 11.x). I have no idea where to start with this. Could anyone suggest somewhere to start .. (besides a good Regex tutorial.. ) Thanks _ | Mike Jackson - Principal Software Engineer | | BlueQuartz Software | | [EMAIL PROTECTED] | | www.bluequartz.net | --- ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] Help with REGEX expression
Update: It looks like what we're trying to do cannot be done with a REGEX as such because the REGEX functions are for pattern-matching only. To actually cut out numbers from a string will require an external script. If it is only going to be running on a Mac we have Python or Bash to choose from. For something lightweight like this, Bash should work better. The cut command should work nicely. I'll keep you informed of any progress. --Sam --- On Thu, 9/18/08, Samuel Crow [EMAIL PROTECTED] wrote: From: Samuel Crow [EMAIL PROTECTED] Subject: Re: [CMake] Help with REGEX expression To: Cmake Mailing List cmake@cmake.org, Mike Jackson [EMAIL PROTECTED] Date: Thursday, September 18, 2008, 6:19 PM Hello Mike, I'm looking at Page 41 of Mastering CMake 4th edition. I'll try to get this figured out for you, if you like. --Sam --- On Thu, 9/18/08, Mike Jackson [EMAIL PROTECTED] wrote: From: Mike Jackson [EMAIL PROTECTED] Subject: [CMake] Help with REGEX expression To: Cmake Mailing List cmake@cmake.org Date: Thursday, September 18, 2008, 5:53 PM I am trying to parse out the OS Version from the following: /Developer/SDKs/MacOSX10.5.sdk /Developer/SDKs/MacOSX10.4u.sdk /Developer/SDKs/MacOSX10.3.9.sdk I only need the 10.5, 10.4 or 10.3 so I can compare it against another number (10.x or even 11.x). I have no idea where to start with this. Could anyone suggest somewhere to start .. (besides a good Regex tutorial.. ) Thanks _ | Mike Jackson - Principal Software Engineer | | BlueQuartz Software | | [EMAIL PROTECTED] | | www.bluequartz.net | --- ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] using cmake with google's protocol buffers
Hi Eric. Thanks a lot for getting back to me. 2008/9/18 Eric Noulard [EMAIL PROTECTED] 2008/9/18 Neil Girdhar [EMAIL PROTECTED]: Hi, I'm trying to add a special cmake rule to build google's protocol buffers, and I was hoping someone could help me do it. I've broken down the details of the protocol compiler here, so all that's missing is a cmake expert. Did you look at the recently posted CMake module: http://www.cmake.org/pipermail/cmake/2008-September/023963.html That's great! I couldn't figure out how to use it though. I copied it to cmake's modules directory (there should be a ~/.cmake/Modules place where you can add your own modules), and got it loaded just fine. I had to add /opt/local/include/google/protobuf so that it would find the place where macports puts protobufs, but there is no documentation on how to use wrap_proto(...). It looks like I need to put at least two things in those brackets, but what? Thanks Neil I've added some suggested basic commands afterwards but I really suggest to try the preceding module and may be improve it or fix it, if it does not suit your needs and give feedback to the original author. I have some .proto files that live in the same directories as the source. I want to specify a rule that calls this: protoc DIR/SOMEFILE.proto --cpp_out=SOMEDIR SOMEDIR should probably be DIR/CMakeFiles/DIR.dir What would you do that? I suggest that SOMEDIR should be ${CMAKE_CURRENT_BINARY_DIR} which the directory in the build tree which the sibbling of the corresponding source tree directory (${CMAKE_CURRENT_SOURCE_DIR}) this will generate SOMEDIR/SOMEFILE.pb.h SOMEDIR/SOMEFILE.pb.cc Then something like this in DIR/CMakeLists.txt ADD_CUSTOM_COMMAND( OUTPUT SOMEFILE.pb.h SOMEFILE.pb.cc COMMAND protoc SOMEFILE.proto --cpp_out=${CMAKE_CURRENT_BINARY_DIR} DEPENDS SOMEFILE.proto WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) I want to include SOMEFILE.pb.h in my source files and I want them to be found. I want to compile and link SOMEFILE.pb.cc automatically Then those file are compiled in a LIBRARY or EXECUTABLE ADD_LIBRARY(mylib SOMEFILE.pb.h SOMEFILE.pb.cc) then do not forget to tell CMake that those files are to be generated: set_source_files_properties(SOMEFILE.pb.h SOMEFILE.pb.cc PROPERTIES GENERATED TRUE) what is the easiest set of rules that I can use to extend cmake to do this? Thanks for the rules! I'll fall back on these if I can't get the module to work. The module is a bit nice of a solution. -- Erk ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] Help with REGEX expression
Correction. What you're trying to do is the right idea. I'd forgotten about the string function of CMake so actually CMake should be able to do it. --- On Thu, 9/18/08, Samuel Crow [EMAIL PROTECTED] wrote: From: Samuel Crow [EMAIL PROTECTED] Subject: Re: [CMake] Help with REGEX expression To: Cmake Mailing List cmake@cmake.org, Mike Jackson [EMAIL PROTECTED] Date: Thursday, September 18, 2008, 6:32 PM Update: It looks like what we're trying to do cannot be done with a REGEX as such because the REGEX functions are for pattern-matching only. To actually cut out numbers from a string will require an external script. If it is only going to be running on a Mac we have Python or Bash to choose from. For something lightweight like this, Bash should work better. The cut command should work nicely. I'll keep you informed of any progress. --Sam --- On Thu, 9/18/08, Samuel Crow [EMAIL PROTECTED] wrote: From: Samuel Crow [EMAIL PROTECTED] Subject: Re: [CMake] Help with REGEX expression To: Cmake Mailing List cmake@cmake.org, Mike Jackson [EMAIL PROTECTED] Date: Thursday, September 18, 2008, 6:19 PM Hello Mike, I'm looking at Page 41 of Mastering CMake 4th edition. I'll try to get this figured out for you, if you like. --Sam --- On Thu, 9/18/08, Mike Jackson [EMAIL PROTECTED] wrote: From: Mike Jackson [EMAIL PROTECTED] Subject: [CMake] Help with REGEX expression To: Cmake Mailing List cmake@cmake.org Date: Thursday, September 18, 2008, 5:53 PM I am trying to parse out the OS Version from the following: /Developer/SDKs/MacOSX10.5.sdk /Developer/SDKs/MacOSX10.4u.sdk /Developer/SDKs/MacOSX10.3.9.sdk I only need the 10.5, 10.4 or 10.3 so I can compare it against another number (10.x or even 11.x). I have no idea where to start with this. Could anyone suggest somewhere to start .. (besides a good Regex tutorial.. ) Thanks _ | Mike Jackson - Principal Software Engineer | | BlueQuartz Software | | [EMAIL PROTECTED] | | www.bluequartz.net | --- ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] Help with REGEX expression
Hi Mike, I think you only had an extra * closure on the end of the MacOSX string. As soon as I took that off it worked fine. (We don't need extra X's at the end of that, after all.) --Sam --- On Thu, 9/18/08, Samuel Crow [EMAIL PROTECTED] wrote: From: Samuel Crow [EMAIL PROTECTED] Subject: Re: [CMake] Help with REGEX expression To: Cmake Mailing List cmake@cmake.org, Mike Jackson [EMAIL PROTECTED] Date: Thursday, September 18, 2008, 6:36 PM Correction. What you're trying to do is the right idea. I'd forgotten about the string function of CMake so actually CMake should be able to do it. --- On Thu, 9/18/08, Samuel Crow [EMAIL PROTECTED] wrote: From: Samuel Crow [EMAIL PROTECTED] Subject: Re: [CMake] Help with REGEX expression To: Cmake Mailing List cmake@cmake.org, Mike Jackson [EMAIL PROTECTED] Date: Thursday, September 18, 2008, 6:32 PM Update: It looks like what we're trying to do cannot be done with a REGEX as such because the REGEX functions are for pattern-matching only. To actually cut out numbers from a string will require an external script. If it is only going to be running on a Mac we have Python or Bash to choose from. For something lightweight like this, Bash should work better. The cut command should work nicely. I'll keep you informed of any progress. --Sam --- On Thu, 9/18/08, Samuel Crow [EMAIL PROTECTED] wrote: From: Samuel Crow [EMAIL PROTECTED] Subject: Re: [CMake] Help with REGEX expression To: Cmake Mailing List cmake@cmake.org, Mike Jackson [EMAIL PROTECTED] Date: Thursday, September 18, 2008, 6:19 PM Hello Mike, I'm looking at Page 41 of Mastering CMake 4th edition. I'll try to get this figured out for you, if you like. --Sam --- On Thu, 9/18/08, Mike Jackson [EMAIL PROTECTED] wrote: From: Mike Jackson [EMAIL PROTECTED] Subject: [CMake] Help with REGEX expression To: Cmake Mailing List cmake@cmake.org Date: Thursday, September 18, 2008, 5:53 PM I am trying to parse out the OS Version from the following: /Developer/SDKs/MacOSX10.5.sdk /Developer/SDKs/MacOSX10.4u.sdk /Developer/SDKs/MacOSX10.3.9.sdk I only need the 10.5, 10.4 or 10.3 so I can compare it against another number (10.x or even 11.x). I have no idea where to start with this. Could anyone suggest somewhere to start .. (besides a good Regex tutorial.. ) Thanks _ | Mike Jackson - Principal Software Engineer | | BlueQuartz Software | | [EMAIL PROTECTED] | | www.bluequartz.net | --- ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] multi-line definitions
Hendrik Sattler wrote: Am Thursday 18 September 2008 15:18:46 schrieb Bill Hoffman: cyril_wobow wrote: Have you tried the following SET (CMAKE_C_FLAGS_RELEASE -mcpu=arm7tdmi -std=gnu99 -fgnu89-inline ... -DNDEBUG) Cyril That won't work. It will create a list of items and it needs to be a big string. Exactly why is it not possible to give a cmake list of options to property like COMPILE_FLAGS and LINK_FLAGS? CMake kindof should know that those flags cannot be given as e.g. -Wall;-W. Or is there any known case where this would make sense? Just an oversight. Brad has something in CVS CMake that will allow this. But, for all released versions of CMake, this is how it is. -Bill ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] Regenerating Visual Studio projects
Jesper Eskilson wrote: Hi all, When CMake (2.6) discovers that a CMakeLists.txt file has changed, and that one or more Visual Studio projects/solutions need to be reloaded, it attempts to interrupt the build, force Visual Studio to reload the projects, and then restart the build. This is really good compared to CMake 2.4, where the projects weren't reloaded until the build had completed and you possibly had to build again from scratch. I have a problem, though: CMake does not properly detect if it is being run from inside Visual Studio, and it doesn't check that it interrupting the correct Visual Studio instance. Say that you have a studio instance opened on a solution. If I run CMake to regenerate a completely different solution, CMake will try to interrupt the (unrelated) studio instance. This wouldn't be too bad unless Visual Studio kept throwing up interactive dialogs asking do you really want to interrupt the build and do you want to reload 78 project files. I have users who needs to run my build scripts (which invoke cmake) without the script interfering with any other studio instances they may have running. Either CMake should detect that it is being run under Visual Studio and attempt to stop/interrupt the studio instance which it was started by, or there should be a flag to disable any form of communication with Visual Studio as in CMake 2.4). Which brings me to my second issue: when CMake is rerun from inside Visual Studio, I have to click on at least 3 interactive dialogs in order for the project to be reloaded. Is there anything CMake can do about that? I don't want to click on any dialogs at all, just have the project files recreated and reloaded. Please create a bug report about this issue. -Bill ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] Weird output
On 2008-09-18 08:04+0200 Jesper Eskilson wrote: Alan W. Irwin wrote: I doubt setting VERBOSE at the end like that after the all target will work. For that order make probably assumes VERBOSE= is a target which is not what you want. I don't think so. [...] I investigated further, and Unix in a Nutshell (Section 19 on the make utility) clearly states that make options, targets, and macro definitions (the = construct) can appear in any order on the command line. Sorry for the noise about your preference for the order which I had not run into before. Alan __ Alan W. Irwin Astronomical research affiliation with Department of Physics and Astronomy, University of Victoria (astrowww.phys.uvic.ca). Programming affiliations with the FreeEOS equation-of-state implementation for stellar interiors (freeeos.sf.net); PLplot scientific plotting software package (plplot.org); the libLASi project (unifont.org/lasi); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __ Linux-powered Science __ ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
[CMake] cmake variables to control full path in shared lib on OSX
I'm exploring how to build and install VTK-5-2-0 on OSX. I'm trying to use shared libraries, but the default settings do not put full paths in the .dylib file links for the libvtk* libraries. I am using a non-standard install path (macports /opt/local), so I may need to set full paths for the libvtk* links. For example, this is just one of the dylib files and I may need all the links to libvtk* to contain the full path (/opt/local/lib/vtk-5.2/): [ [EMAIL PROTECTED] ~/src/kitware/VTK_build ]$ otool -L /opt/local/lib/vtk-5.2/libvtkViewsTCL.5.2.0.dylib /opt/local/lib/vtk-5.2/libvtkViewsTCL.5.2.0.dylib: libvtkViewsTCL.5.2.dylib (compatibility version 0.0.0, current version 0.0.0) snip, block of libvtk* libvtkzlib.5.2.dylib (compatibility version 0.0.0, current version 0.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.1) /opt/local/lib/libhistory.5.2.dylib (compatibility version 5.0.0, current version 5.2.0) /opt/local/lib/libreadline.5.2.dylib (compatibility version 5.0.0, current version 5.2.0) libvtkGraphicsTCL.5.2.dylib (compatibility version 0.0.0, current version 0.0.0) snip, block of libvtk* libvtkCommon.5.2.dylib (compatibility version 0.0.0, current version 0.0.0) /System/Library/Frameworks/Tcl.framework/Versions/8.4/Tcl (compatibility version 8.4.0, current version 8.4.0) libvtkfreetype.5.2.dylib (compatibility version 0.0.0, current version 0.0.0) /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0) /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 12.0.0) libvtkexoIIc.5.2.dylib (compatibility version 0.0.0, current version 0.0.0) snip, block of libvtk* libvtksys.5.2.dylib (compatibility version 0.0.0, current version 0.0.0) /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.4.0) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0) [ [EMAIL PROTECTED] ~/src/kitware/VTK_build ]$ What are the right cmake variables that will enable full paths in the shared libraries? Potential candidates: CMAKE_INSTALL_NAME_DIR (eg: /opt/local/lib/vtk-5.2 ?) CMAKE_SKIP_BUILD_RPATH (FALSE?) CMAKE_SKIP_RPATH (FALSE?) CMAKE_INSTALL_RPATH (eg: /opt/local/lib/vtk-5.2 ?) CMAKE_INSTALL_RPATH_USE_LINK_PATH (TRUE?) CMAKE_BUILD_WITH_INSTALL_RPATH (True?) When I configured the build with just a switch to turn on shared libs, then checked CMakeCache.txt, I can't see that any of these were set, ie: [ [EMAIL PROTECTED] ~/src/kitware/VTK_build ]$ cat CMakeCache.txt | grep RPATH VTK_USE_RPATH:BOOL=OFF //Advanced flag for variable: CMAKE_SKIP_RPATH CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 CMAKE_SKIP_RPATH:INTERNAL=1 //Advanced flag for variable: VTK_USE_RPATH VTK_USE_RPATH-ADVANCED:INTERNAL=1 I then set VTK_USE_RPATH=ON and built again. This time I got the wrong paths because I had set CMAKE_INSTALL_NAME_DIR=/opt/local/lib/ [ [EMAIL PROTECTED] ~/src/kitware/VTK_build ]$ otool -L /opt/local/lib/vtk-5.2/libvtkInfovisTCL.5.2.0.dylib /opt/local/lib/vtk-5.2/libvtkInfovisTCL.5.2.0.dylib: /opt/local/lib/libvtkInfovisTCL.5.2.dylib (compatibility version 0.0.0, current version 0.0.0) /opt/local/lib/libvtkInfovis.5.2.dylib (compatibility version 0.0.0, current version 0.0.0) etc. So I changed CMAKE_INSTALL_NAME_DIR=${prefix}/lib/vtk-5.2 and it seems right now: [ [EMAIL PROTECTED] ~/src/kitware/VTK_build ]$ otool -L /opt/local/lib/vtk-5.2/libvtkInfovisTCL.5.2.0.dylib /opt/local/lib/vtk-5.2/libvtkInfovisTCL.5.2.0.dylib: /opt/local/lib/vtk-5.2/libvtkInfovisTCL.5.2.dylib (compatibility version 0.0.0, current version 0.0.0) /opt/local/lib/vtk-5.2/libvtkInfovis.5.2.dylib (compatibility version 0.0.0, current version 0.0.0) /opt/local/lib/vtk-5.2/libvtkWidgetsTCL.5.2.dylib (compatibility version 0.0.0, current version 0.0.0) etc. Are there any major problems with using this installation approach for the vtk 5.2 library in the macports path? As a noob to RPATH, I found these links informative: http://en.wikipedia.org/wiki/Rpath_(linking) http://wiki.debian.org/RpathIssue http://www.the-martins.org/index.php?name=Sectionsreq=viewarticleartid=6allpages=1 Thanks, Darren ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake