Re: [CMake] Weird output

2008-09-18 Thread Jesper Eskilson

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

2008-09-18 Thread David Coeurjolly
 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

2008-09-18 Thread cyril_wobow

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-09-18 Thread Eric Noulard
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

2008-09-18 Thread Hendrik Sattler

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

2008-09-18 Thread 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.


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

2008-09-18 Thread dirk . bonekaemper

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

2008-09-18 Thread Jesper Eskilson

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

2008-09-18 Thread Mike Jackson

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

2008-09-18 Thread Clemens Arth
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

2008-09-18 Thread Hendrik Sattler
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

2008-09-18 Thread Darren Weber
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

2008-09-18 Thread Samuel Crow
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

2008-09-18 Thread Hendrik Sattler
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

2008-09-18 Thread Mike Jackson
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

2008-09-18 Thread Samuel Crow
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

2008-09-18 Thread Neil Girdhar
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

2008-09-18 Thread Samuel Crow
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

2008-09-18 Thread Samuel Crow
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

2008-09-18 Thread Bill Hoffman

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

2008-09-18 Thread Bill Hoffman

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

2008-09-18 Thread Alan W. Irwin

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

2008-09-18 Thread Darren Weber
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