[CMake] Building two binaries from common source: different defines required

2008-01-14 Thread Vladimir Pouzanov
I have a project consisting of two binaries build from same source (they do
differ in one .cpp file though).

Is it possible to set ADD_DEFINITIONS on per-executable basis somehow? I need to
add a define specifying which binary type is being built.

___
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] intltool and cmake?

2008-01-14 Thread Christopher Lang

Tim,

exactly what I was looking for.

thanks!

Chris

http://www.acurana.de/


Am Montag 14 Januar 2008 05:00:04 schrieb Timothy M. Shead:
 On Sun, 2008-01-13 at 12:00 +0100, Christopher Lang wrote:
  Hi,
 
  I am just converting a mid size autotools project to cmake. It works very
  nicely so far, but: there are all kinds of files that I need intltool for
  (.glade files etc.) so gettext alone will not do.
 
  Is there some example on how to integrate intltool  cmake?

 I've enclosed just such an example, from the K-3D po directory.
 Should be fairly straightforward to adjust to your project.

 Cheers,
 Tim

___
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] Why is CMakeOutput.log created for one project but not another?

2008-01-14 Thread David Cole
In the CMake source tree, in Utilities/cmcurl/CMakeLists.txt, there is this:
CHECK_SYMBOL_EXISTS(strcasecmp${CURL_INCLUDES} HAVE_STRCASECMP)

That would be one thing that would do it...

grep for strcasecmp in both source trees.

HTH,
David

On 1/13/08, Christian Convey [EMAIL PROTECTED] wrote:

 Hi guys,

 Someone pointed out that when we cmake one of our projects, a file
 CMakeOutput.log and a directory CMakeTmp/ get created.  It looks like
 they're being used to see if the function strcasecmp() works on this
 platform.

 But we have another project that this doesn't happen at all for, even
 when we build it on the same computer.

 Can anyone tell me what in a CMakeLists.txt file causes CMake to run
 this compilation test?

 Thanks,
 Christian
 ___
 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] Building two binaries from common source: different defines required

2008-01-14 Thread Eric Noulard
2008/1/14, Vladimir Pouzanov [EMAIL PROTECTED]:
 I have a project consisting of two binaries build from same source (they do
 differ in one .cpp file though).

 Is it possible to set ADD_DEFINITIONS on per-executable basis somehow? I need 
 to
 add a define specifying which binary type is being built.


Look at SET_TARGET_PROPERTIES
 i.e. the COMPILE_FLAGS

for example
ADD_EXECUTABLE(first source1.cpp source2.cpp)
SET_TARGET_PROPERTIES(first PROPERTIES
COMPILE_FLAGS -D_FIRST)

ADD_EXECUTABLE(second source1.cpp source2.cpp)
SET_TARGET_PROPERTIES(second PROPERTIES
COMPILE_FLAGS -D_SECOND)

should be OK.

SET_SOURCE_FILES_PROPERTIES may be useful too
if the compile flags may be attached to the source and not
to the target. This is not the case you described but I found
it usefull too.

-- 
Erk
___
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] Patch to apply! Changing the default nameCMakeLists.txt!

2008-01-14 Thread Bill Hoffman

Brandon Van Every wrote:

On Jan 13, 2008 10:04 PM, Bill Hoffman [EMAIL PROTECTED] wrote:

Many people will run CMake from a GUI and will not be giving a
-f flag.  With the patch there would be no way to build a project via
one of the GUI's if it required changing the name of the file.


cmakesetup and ccmake would also need -f flags.  Command line users
and scripts could invoke -f flags just fine.  Shortcuts on Windows can
be made with -f flags in them if people want to present their builds
that way.


If you
had two or more sets of cmake files in the same source tree, how would
that work?


The same way it works now.  Generally, such files are a case of CMake
invoking CMake.



No offense Brandon, but I would like to here from Martin about how he 
plans to use this feature.  I am not sure why you would want to have to 
co-existing source trees.  Also, I am not sure the same thing can't be 
done with if and include.  I am not saying that I won't apply the patch, 
I just want to understand the requirement/use case before I do.  I also 
don't see people invoking cmakesetup with any flags, it is a gui 
program. I would like to here from Martin on how he expects this to be 
used from the GUI interfaces to CMake.


Thanks.

-Bill

___
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake


[CMake] CMake 2.6 - Runtime Error on OS X (10.4.11 Intel)

2008-01-14 Thread Mike Jackson
I just built the latest CVS head of CMake and tried running on OS X  
(10.4.11 Intel) and noticed a few things.


1: CMake Error: CMake executable cannot be found at /Users/Shared/ 
Toolkits/CMake-ICC/bin/QtDialog.app/Contents/MacOS/cmake


Probably just a path issue between the .app bundle and the internal  
call to cmake.



2: ADD_LIBRARY for library MXADataModel is used with the SHARED  
option, but the target platform supports only STATIC libraries.  
Building it STATIC instead. This may lead to problems.


This seems to work fine with CMake 2.4.7 on the same project. I  
compiled CMake 2.6 CVS Head with both GCC (Xcode 2.5 tools) and ICC/ 
ICPC (version 9.x) and saw this problem.


Not sure if the two are related or not.

Otherwise, the Qt Dialog is looking really nice.
--
Mike Jackson
imikejackson  gmail * com




___
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] Patch to apply! Changing the default nameCMakeLists.txt!

2008-01-14 Thread Pau Garcia i Quiles

Quoting Bill Hoffman [EMAIL PROTECTED]:


Brandon Van Every wrote:

On Jan 13, 2008 10:04 PM, Bill Hoffman [EMAIL PROTECTED] wrote:

Many people will run CMake from a GUI and will not be giving a
-f flag.  With the patch there would be no way to build a project via
one of the GUI's if it required changing the name of the file.


cmakesetup and ccmake would also need -f flags.  Command line users
and scripts could invoke -f flags just fine.  Shortcuts on Windows can
be made with -f flags in them if people want to present their builds
that way.


If you
had two or more sets of cmake files in the same source tree, how would
that work?


The same way it works now.  Generally, such files are a case of CMake
invoking CMake.



No offense Brandon, but I would like to here from Martin about how he
plans to use this feature.  I am not sure why you would want to have to
co-existing source trees.  Also, I am not sure the same thing can't be
done with if and include.  I am not saying that I won't apply the
patch, I just want to understand the requirement/use case before I do.
I also don't see people invoking cmakesetup with any flags, it is a gui
program. I would like to here from Martin on how he expects this to be
used from the GUI interfaces to CMake.


I don't specially like the idea of different names for CMakeLists.txt  
and I don't see the use case, either. It makes sense for 'make' to  
have a '-f' parameter because you have make, gmake, nmake, with  
slightly or totally incompatible syntaxes but there is only one and  
great CMake (and we can even ask for a minimum versior, of condition  
execution of some parts depending on CMake's version).


Anyway I think it'd be easy to integrate this feature in the Windows  
GUI: instead of choosing a folder and automagically search for  
CMakeLists.txt in it, let's make the user choose a file  
(CMakeLists.txt or whatever the developer decided to call it).  
Assuming instead of CMakeLists.txt a developer decided to call it  
GreatCMakeLists.txt, cmake would then go and search for  
GreatCMakeLists.txt instead of CMakeLists.txt in every SUBDIRS'ed or  
ADD_DIRECTORY'ed directory.



--
Pau Garcia i Quiles
http://www.elpauer.org
(Due to my workload, I may need 10 days to answer)

___
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] Patch to apply! Changing the default nameCMakeLists.txt!

2008-01-14 Thread Brandon Van Every
On Jan 14, 2008 11:44 AM, Pau Garcia i Quiles [EMAIL PROTECTED] wrote:

 I don't specially like the idea of different names for CMakeLists.txt
 and I don't see the use case, either. It makes sense for 'make' to
 have a '-f' parameter because you have make, gmake, nmake, with
 slightly or totally incompatible syntaxes but there is only one and
 great CMake (and we can even ask for a minimum versior, of condition
 execution of some parts depending on CMake's version).

My perspective is that legacy Autoconf + GMake build systems do have
multiple Makefiles in the same directory for various reasons.  When
converting such systems, it is easier to preserve their case uses.
And politically, people coming from an Autoconf + GMake background
will like cmake -f blah.txt.  It's familiar.  It's not asking them
to learn anything new.  I advocate -f half for technical reasons, half
for marketing reasons.

 Anyway I think it'd be easy to integrate this feature in the Windows
 GUI: instead of choosing a folder and automagically search for
 CMakeLists.txt in it, let's make the user choose a file
 (CMakeLists.txt or whatever the developer decided to call it).
 Assuming instead of CMakeLists.txt a developer decided to call it
 GreatCMakeLists.txt, cmake would then go and search for
 GreatCMakeLists.txt instead of CMakeLists.txt in every SUBDIRS'ed or
 ADD_DIRECTORY'ed directory.

The slick way to do it, would be to scan all files in the directory,
make an educated guess at which ones are CMake files, and offer a menu
of files to choose from.  If only CMakeLists.txt is available then no
menu is generated.  The guess would need some intelligence to discern
between a main buildfile and sundry support scripts.  Lack of a target
*and* lack of an include might indicate that it's a support script,
for instance.

It would be substantial work to implement such a slick feature, it
would require ongoing testing and maintenance, and it's overkill for
the problem at hand.  Adding -f to CMake, CCMake, and CMakeSetup is
sufficient.  It's simple to implement and requires almost no
maintenance.


Cheers,
Brandon Van Every
___
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] Patch to apply! Changing the default nameCMakeLists.txt!

2008-01-14 Thread Bill Hoffman

Brandon Van Every wrote:



Example: I have a legacy handwritten GMake client.mk that acquires the
build tree from CVS before the main Autoconf generated Makefile is
run.  The tree is grabbed from CVS and built by typing make -f
client.mk.  The simplest translation to a CMake system would be
cmake -f client.txt.  Nobody would be doing a different drill, the
client would perceive this as nice, to not have to learn much of
anything different.  Once the build tree has been acquired, we don't
need client.mk anymore.  The equivalent of Autoconf's Makefile should
always be CMakeLists.txt.



But that is not all the patch does.

If you do cmake -f client.txt, then every add_subdirectory and subdirs 
will now look for client.txt.   That is not the way make -f works.  If 
you do make -f it just changes the initial makefile that is read into 
make, after that it is up to the makefile writer to use include, or 
recursive make to specify additional makefiles that are included.  And, 
cmake -f client.txt would not be the same thing as make -f client.mk, as 
make -f client.mk would actually do a build.  For the cmake, one you 
would have cmake -f client.txt, make (with no -f).  I am still not 
convinced this is a good idea.


-Bill
___
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] CMake 2.6 - Runtime Error on OS X (10.4.11 Intel)

2008-01-14 Thread clinton
On Monday 14 January 2008 10:20:18 am Bill Hoffman wrote:
 Mike Jackson wrote:
  I just built the latest CVS head of CMake and tried running on OS X
  (10.4.11 Intel) and noticed a few things.
 
  1: CMake Error: CMake executable cannot be found at
  /Users/Shared/Toolkits/CMake-ICC/bin/QtDialog.app/Contents/MacOS/cmake
 
  Probably just a path issue between the .app bundle and the internal call
  to cmake.

 This needs to be fixed, the QtDialog is not very tested right now,
 please create a bug entry for this.

Mike, did you change your copy of the code?  QtDialog should be looking 
for /Users/Shared/Toolkits/CMake-ICC/bin/cmake
instead of 
/Users/Shared/Toolkits/CMake-ICC/bin/QtDialog.app/Contents/MacOS/cmake

QCMake.cxx has
#elif defined(Q_OS_MAC)
  appDir.cd(../../../);
  this-CMakeExecutable = appDir.filePath(cmake);
  ...
to find cmake outside the bundle.

Clint
___
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] CMake 2.6 - Runtime Error on OS X (10.4.11 Intel)

2008-01-14 Thread Bill Hoffman

Mike Jackson wrote:
I just built the latest CVS head of CMake and tried running on OS X 
(10.4.11 Intel) and noticed a few things.


1: CMake Error: CMake executable cannot be found at 
/Users/Shared/Toolkits/CMake-ICC/bin/QtDialog.app/Contents/MacOS/cmake


Probably just a path issue between the .app bundle and the internal call 
to cmake.


This needs to be fixed, the QtDialog is not very tested right now, 
please create a bug entry for this.




2: ADD_LIBRARY for library MXADataModel is used with the SHARED option, 
but the target platform supports only STATIC libraries. Building it 
STATIC instead. This may lead to problems.




What is MXADataModel?
This seems to work fine with CMake 2.4.7 on the same project. I compiled 
CMake 2.6 CVS Head with both GCC (Xcode 2.5 tools) and ICC/ICPC (version 
9.x) and saw this problem.


What did 2.4.7 do?



Not sure if the two are related or not.


Don't think so.


-Bill
___
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] Patch to apply! Changing the default nameCMakeLists.txt!

2008-01-14 Thread Brandon Van Every
On Jan 14, 2008 9:01 AM, Bill Hoffman [EMAIL PROTECTED] wrote:

 Brandon Van Every wrote:
  On Jan 13, 2008 10:04 PM, Bill Hoffman [EMAIL PROTECTED] wrote:
  Many people will run CMake from a GUI and will not be giving a
  -f flag.  With the patch there would be no way to build a project via
  one of the GUI's if it required changing the name of the file.
 
  cmakesetup and ccmake would also need -f flags.  Command line users
  and scripts could invoke -f flags just fine.  Shortcuts on Windows can
  be made with -f flags in them if people want to present their builds
  that way.
 
  If you
  had two or more sets of cmake files in the same source tree, how would
  that work?
 
  The same way it works now.  Generally, such files are a case of CMake
  invoking CMake.
 

 No offense Brandon, but I would like to here from Martin about how he
 plans to use this feature.

I imagine he will get around to answering for himself, but since I
have my own case uses, I will explain mine.

 I am not sure why you would want to have to
 co-existing source trees.

Example: I have a legacy handwritten GMake client.mk that acquires the
build tree from CVS before the main Autoconf generated Makefile is
run.  The tree is grabbed from CVS and built by typing make -f
client.mk.  The simplest translation to a CMake system would be
cmake -f client.txt.  Nobody would be doing a different drill, the
client would perceive this as nice, to not have to learn much of
anything different.  Once the build tree has been acquired, we don't
need client.mk anymore.  The equivalent of Autoconf's Makefile should
always be CMakeLists.txt.

This idiom of handwritten GMake files that provide isolated services
to a large build tree is endemic to the large codebase I'm working on.
 cmake -f weirdfile.txt is a nice interface for that.  Asking people
to learn what CML_NAME means, when it isn't documented anywhere, is
not a nice interface.  I didn't think it would be unreasonable to
expect CMake to use the same command line conventions as nearly every
other tool out there.  Who *doesn't* use -f for file?  I'm surprised
at the level of resistance you're offering for a minor feature that's
standard design in hundreds of tools.

  Also, I am not sure the same thing can't be
 done with if and include.

This requires the user to learn a CMake specific idiom, an example of
which is not documented anywhere.  Do enough of these inelegant
workarounds, requiring people to hunt and peck for the answer, and
people will rightly turn away from CMake over syntax issues, just not
liking how it works, etc.  Comprehensive chapter-oriented
documentation can mitigate such problems, but it is better to simply
do what everyone else does.

 I also
 don't see people invoking cmakesetup with any flags, it is a gui
 program.

Scripts may invoke it on behalf of people.  People may invoke it if
the README.TXT tells them to do so.  As I said, in my current codebase
the standard way of pulling the source tree from CVS and starting a
build is make -f client.mk.

I think part of the disconnect here, is you're failing to recognize
there's a whole breed of hackers out there that lives and dies by the
command line.  Sure they'll invoke a gui tool.  By typing something on
the command line.  Please just throw the command line guys a bone.
All the cool tools are doing it.


Cheers,
Brandon Van Every
___
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake


RE: [CMake] Re: Get full output library filename

2008-01-14 Thread Josef Karthauser
 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On
Behalf
 Of Rodolfo Lima
 Sent: 12 January 2008 01:42
 To: cmake@cmake.org
 Subject: [CMake] Re: Get full output library filename
 
 Rodolfo Lima escreveu:
  Hi, is there a way to get the full library name of a library target?
 
 I just found target's property LOCATION, I always thought it would be
 the directory where the target would be created, but it includes the
 target file name. Sorry for the noise.

Does it correctly include the contents of ${BUILD_TYPE}_POSTFIX?  I'm
using 2.4.7, and reported a few weeks ago that the value of LOCATION
doesn't include the postfix.  Andreas Pakulat confirmed that he was
seeing the same thing.  Are you saying that it works for you?

Thanks,
Joe 
___
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] CMake 2.6 - Runtime Error on OS X (10.4.11 Intel)

2008-01-14 Thread Mike Jackson


On Jan 14, 2008, at 12:20 PM, Bill Hoffman wrote:


Mike Jackson wrote:
I just built the latest CVS head of CMake and tried running on OS  
X (10.4.11 Intel) and noticed a few things.
1: CMake Error: CMake executable cannot be found at /Users/Shared/ 
Toolkits/CMake-ICC/bin/QtDialog.app/Contents/MacOS/cmake
Probably just a path issue between the .app bundle and the  
internal call to cmake.
This needs to be fixed, the QtDialog is not very tested right now,  
please create a bug entry for this.


OK.


2: ADD_LIBRARY for library MXADataModel is used with the SHARED  
option, but the target platform supports only STATIC libraries.  
Building it STATIC instead. This may lead to problems.


What is MXADataModel?


It is the name of my project. Sorry about not explaining that.

This seems to work fine with CMake 2.4.7 on the same project. I  
compiled CMake 2.6 CVS Head with both GCC (Xcode 2.5 tools) and  
ICC/ICPC (version 9.x) and saw this problem.


What did 2.4.7 do?


Well, since there is no GUI to test with 2.4.7, the command line  
cmake did the correct thing.





Not sure if the two are related or not.

Don't think so.


Actually, they are. If I copy cmake into the QtDialog.app/Contents/ 
MacOS then everything works correctly.


I don't really know how to do a patch but this is what I have  
found. The QtDialog correctly sets the absolute path to the cmake  
executable (Yes, Clinton, I did change my code slightly) BUT the  
problem is in cmake.cxx in the AddPaths() method:


int cmake::AddCMakePaths()
{
  // Find the cmake executable
  std::cout  cmake::AddCMakePaths() this-CMakeCommand:   this- 
CMakeCommand   std::endl;

  std::string cMakeSelf = cmSystemTools::GetExecutableDirectory();
  cMakeSelf += /cmake;
  cMakeSelf += cmSystemTools::GetExecutableExtension();
  std::cout  cmake::AddCMakePaths() this-cMakeSelf:
cMakeSelf  std::endl;


in this method the assumption I guess is that this-CMakeCommand has  
NOT been set so the algorithm recalculates it. Normally this probably  
is not a problem, with OS X app bundles this is going to be WRONG. By  
using the above added lines to look at some values I get the  
following output:


cmake::AddCMakePaths() this-CMakeCommand: /Users/Shared/Toolkits/ 
CMake-ICC/bin/QtDialog.app/Contents/bin/cmake
cmake::AddCMakePaths() this-cMakeSelf: /Users/Shared/Toolkits/CMake- 
ICC/bin/QtDialog.app/Contents/MacOS/cmake


You can see that the values are different. I am not sure how the  
internals of cmake work BUT it would seem at first glance that a test  
is needed to see if this-CMakeCommand is actually set, that the file  
does exist and use the value for cMakeSelf if it DOES exist.. or  
something to that effect.



--
Mike Jackson   Senior Research Engineer
Innovative Management  Technology Services
OS X Build Specialist


___
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake


[CMake] Re: Get full output library filename

2008-01-14 Thread Rodolfo Schulz de Lima

Josef Karthauser wrote:


Does it correctly include the contents of ${BUILD_TYPE}_POSTFIX?  I'm
using 2.4.7, and reported a few weeks ago that the value of LOCATION
doesn't include the postfix.  Andreas Pakulat confirmed that he was
seeing the same thing.  Are you saying that it works for you?


Well, I'm using cmake-cvs (as of 2008/01/14) and it works correctly, and 
also includes ${BUILD_TYPE}_POSTFIX.


Regards,
Rodolfo Lima.

___
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] Patch to apply! Changing the default nameCMakeLists.txt!

2008-01-14 Thread Brandon Van Every
On Jan 14, 2008 12:16 PM, Bill Hoffman [EMAIL PROTECTED] wrote:
 Brandon Van Every wrote:

 
  Example: I have a legacy handwritten GMake client.mk that acquires the
  build tree from CVS before the main Autoconf generated Makefile is
  run.  The tree is grabbed from CVS and built by typing make -f
  client.mk.  The simplest translation to a CMake system would be
  cmake -f client.txt.  Nobody would be doing a different drill, the
  client would perceive this as nice, to not have to learn much of
  anything different.  Once the build tree has been acquired, we don't
  need client.mk anymore.  The equivalent of Autoconf's Makefile should
  always be CMakeLists.txt.
 

 But that is not all the patch does.

 If you do cmake -f client.txt, then every add_subdirectory and subdirs
 will now look for client.txt.

I don't want that.  I have trouble seeing sense in that, as I think
system differences should be handled with if(APPLE) and so forth, not
separate files.  Martin could try to explain.

 And,
 cmake -f client.txt would not be the same thing as make -f client.mk, as
 make -f client.mk would actually do a build.
 For the cmake, one you
 would have cmake -f client.txt, make (with no -f).

Hm.  I guess what *I* need is a way to output a different Makefile
name.  Oh well, back to the drawing board.  I wonder what Autoconf
does?  Or I could translate client.mk to client.txt and make people
type cmake -P client.txt.


Cheers,
Brandon Van Every
___
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake


RE: [CMake] Re: Get full output library filename

2008-01-14 Thread Josef Karthauser
It must have been fixed in the repository then.  Hmm, ok I'd better go
track the patch down :).
Thanks for the confirmation.

Joe

 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On
Behalf
 Of Rodolfo Schulz de Lima
 Sent: 14 January 2008 17:40
 To: cmake@cmake.org
 Subject: [CMake] Re: Get full output library filename
 
 Josef Karthauser wrote:
 
  Does it correctly include the contents of ${BUILD_TYPE}_POSTFIX?
I'm
  using 2.4.7, and reported a few weeks ago that the value of LOCATION
  doesn't include the postfix.  Andreas Pakulat confirmed that he was
  seeing the same thing.  Are you saying that it works for you?
 
 Well, I'm using cmake-cvs (as of 2008/01/14) and it works correctly,
 and
 also includes ${BUILD_TYPE}_POSTFIX.
 
 Regards,
 Rodolfo Lima.
 
 ___
 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] Find*.cmake variable naming

2008-01-14 Thread Rodolfo Schulz de Lima
Hi, I'd like to comment on the Find*.cmake variable naming procedure 
adopted by cmake. Right now I have to look at some Find*.cmake files to 
see what are the output variables they create. Some packages create a 
*_LIBRARY, others *_LIBRARIES, others *_INCLUDE_DIRS and others 
*_INCLUDE_DIR. The Modules/readme.txt procedure isn't being used for 
some packages.


Also the vast majority creates upcased (is this an adjective?) variable 
names, BUT Boost and wxWidgets. There two define Boost_FOUND, 
Boost_LIBRARIES, wxWidgets_FOUND, wxWidgets_LIBRARIES. It should be 
better if they were BOOST_FOUND, WXWIDGETS_FOUND etc.


This gets annoying when you're trying to create a macro that accepts a 
package name, finds it and use their output variables. This requires an 
uniformity that is lacking on Find*.cmake's.


I'll try to summarize below the discrepancies I've found (just a few of 
them)


Aspell: outputs ASPELL_INCLUDE_DIR instead of ASPELL_INCLUDE_DIRS
AVIFile: outputs AVIFILE_INCLUDE_DIR instead of AVIFILE_INCLUDE_DIRS
Boost: variable names should be upcase.
Bzip2: outputs BZIP2_INCLUDE_DIR instead of BZIP2_INCLUDE_DIRS
Cable: outputs CABLE_TCL_LIBRARY instead of CABLE_TCL_LIBRARIES, and
   CABLE_INCLUDE_DIR instead of CABLE_INCLUDE_DIRS
Cups: outputs CUPS_INCLUDE_DIR instead of CUPS_INCLUDE_DIRS
Curses: outputs CURSES_INCLUDE_DIR instead of CUPS_INCLUDE_DIRS
DCMTK: outputs DCMTK_INCLUDE_DIR instead of DCMTK_INCLUDE_DIRS

...

and there's a lot more. It seems that the majority uses *_INCLUDE_DIR 
instead of *_INCLUDE_DIRS


Regards,
rod

___
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake


RE: [CMake] Re: Get full output library filename

2008-01-14 Thread Josef Karthauser
Hmm, I can't see where it would have been fixed.  Can one of the
developers please comment?

Thanks,
Joe

 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On
Behalf
 Of Josef Karthauser
 Sent: 14 January 2008 17:44
 To: Rodolfo Schulz de Lima; cmake@cmake.org
 Subject: RE: [CMake] Re: Get full output library filename
 
 It must have been fixed in the repository then.  Hmm, ok I'd better go
 track the patch down :).
 Thanks for the confirmation.
 
 Joe
 
  -Original Message-
  From: [EMAIL PROTECTED]
  [mailto:[EMAIL PROTECTED] On
 Behalf
  Of Rodolfo Schulz de Lima
  Sent: 14 January 2008 17:40
  To: cmake@cmake.org
  Subject: [CMake] Re: Get full output library filename
 
  Josef Karthauser wrote:
 
   Does it correctly include the contents of ${BUILD_TYPE}_POSTFIX?
 I'm
   using 2.4.7, and reported a few weeks ago that the value of
 LOCATION
   doesn't include the postfix.  Andreas Pakulat confirmed that he
was
   seeing the same thing.  Are you saying that it works for you?
 
  Well, I'm using cmake-cvs (as of 2008/01/14) and it works correctly,
  and
  also includes ${BUILD_TYPE}_POSTFIX.
 
  Regards,
  Rodolfo Lima.
 
  ___
  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] Find*.cmake variable naming

2008-01-14 Thread Mike Jackson


On Jan 14, 2008, at 1:01 PM, Rodolfo Schulz de Lima wrote:

Hi, I'd like to comment on the Find*.cmake variable naming  
procedure adopted by cmake. Right now I have to look at some  
Find*.cmake files to see what are the output variables they create.  
Some packages create a *_LIBRARY, others *_LIBRARIES, others  
*_INCLUDE_DIRS and others *_INCLUDE_DIR. The Modules/readme.txt  
procedure isn't being used for some packages.


Also the vast majority creates upcased (is this an adjective?)  
variable names, BUT Boost and wxWidgets. There two define  
Boost_FOUND, Boost_LIBRARIES, wxWidgets_FOUND, wxWidgets_LIBRARIES.  
It should be better if they were BOOST_FOUND, WXWIDGETS_FOUND etc.


This gets annoying when you're trying to create a macro that  
accepts a package name, finds it and use their output variables.  
This requires an uniformity that is lacking on Find*.cmake's.


I'll try to summarize below the discrepancies I've found (just a  
few of them)


Aspell: outputs ASPELL_INCLUDE_DIR instead of ASPELL_INCLUDE_DIRS
AVIFile: outputs AVIFILE_INCLUDE_DIR instead of AVIFILE_INCLUDE_DIRS
Boost: variable names should be upcase.
Bzip2: outputs BZIP2_INCLUDE_DIR instead of BZIP2_INCLUDE_DIRS
Cable: outputs CABLE_TCL_LIBRARY instead of CABLE_TCL_LIBRARIES,  
and 		

   CABLE_INCLUDE_DIR instead of CABLE_INCLUDE_DIRS
Cups: outputs CUPS_INCLUDE_DIR instead of CUPS_INCLUDE_DIRS
Curses: outputs CURSES_INCLUDE_DIR instead of CUPS_INCLUDE_DIRS
DCMTK: outputs DCMTK_INCLUDE_DIR instead of DCMTK_INCLUDE_DIRS

...

and there's a lot more. It seems that the majority uses  
*_INCLUDE_DIR instead of *_INCLUDE_DIRS


Regards,
rod




Nothing much to add except, I Agree. Consistency in any API/ 
Language is essential for people to learn quickly. I would also think  
that the jump from 2.4.x to 2.6.x is _perfect_ time to change the  
variables. There may be other major changes API breakage, so getting  
this done also makes sense in my little utopian world.


--
Mike Jackson
imikejackson  gmail * com




___
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] cmake 2.4.8 RC 10

2008-01-14 Thread David Thulson
On Jan 9, 2008 9:23 PM, Bill Hoffman [EMAIL PROTECTED] wrote:
 David Thulson wrote:
  Hello,
This is my first post to the cmake mailing list, so I hope it
  works...  I downloaded the 2.4.8 RC 11 for OS X and for what it is worth
  it appears to work just as well as 2.4.7.  In both 2.4.7 and 2.4.8 RC 11
  I have some serious issues with the Xcode generator.  I just bought my
  first Mac (MacBook Pro running Leopard) a few months ago, so I am
  unfamiliar with Xcode and even OS X in general.  However, my project (
  http://www.crownandcutlass.com) has a unit test framework that has
  worked well for us on several versions and distributions of Linux as
  well as Windows XP.  The project is set up as a static library and the
  unit test framework is a separate CMake project that uses that library.
  Code compiled in OS X using the Makefile generator appears to work
  fine.  I still have a few quirks to work out for OS X, but overall it is
  very much as I expected.
 
However, if I use the Xcode generator, I have several issues.  FIrst
  off, we have a config.cpp.in http://config.cpp.in file that is used

  to generate config.cpp as a part of the build.  The Xcode project
  includes a reference to a file  config.cpp.rule which does not exist.
  That generates this warning:
  warning: no rule to process file '/(my
  path)/Protocce/src/config.cpp.rule' of type file for architecture i386
 
I can just remove that from the project and it seems to be fine until
  next time I regenerate the project.  No big deal, but it is a little
  annoying.  The bigger issue is that the resulting binary has issues
  catching exceptions.  Some units can catch exceptions fine, but others
  cannot at all.  At first, I thought I was having issues due to the
  visibility flags, but I am using a static lib and I believe the
  visibility issues only apply to dynamic libs.  The exceptions that I
  cannot catch pass through a catch(...) so I believe even with
  visibility issues that at least should catch the exception.
 
You can see my CMakeFiles here:
  Static lib -
  http://crownandcutlass.svn.sourceforge.net/viewvc/crownandcutlass/trunk/Protocce/src/CMakeLists.txt?revision=1020view=markuppathrev=1027
  http://crownandcutlass.svn.sourceforge.net/viewvc/crownandcutlass/trunk/Protocce/src/CMakeLists.txt?revision=1020view=markuppathrev=1027
  Unit test app -
  http://crownandcutlass.svn.sourceforge.net/viewvc/crownandcutlass/trunk/Protocce/test/src/CMakeLists.txt?revision=1020view=markuppathrev=1027
  http://crownandcutlass.svn.sourceforge.net/viewvc/crownandcutlass/trunk/Protocce/test/src/CMakeLists.txt?revision=1020view=markuppathrev=1027
 
Like I said, the same code base works fine in XP, LInux, and if I use
  the Makefiles it works in OS X.  I may just be doing something stupid.
  This is my first CMake project, and like I said I just got a Mac so I
  have never used Xcode outside of this attempt.  I am not sure this is
  worth delaying 2.4.8 since the behavior is the same as 2.4.7.  Also, I
  have not had time to try building a new CMake binary from CVS, sorry.
  However, I thought I should report what I'm experiencing before too much
  longer.  Let me know what I can do to help.
 

 Sounds like flag differences.   You should do a make VERBOSE=1 with the
 makefile, then use cmakexbuild to build the project file.  Find a common
 .cxx file being compiled by both, and compare the compile lines.   You
 can post the compile lines to the list, and I might be able to help.
 Either way it is not a regression in RC 11 but perhaps a new bug.

 -Bill


Here are some example build lines.  Using Xcode:

CompileC ProtocceTest.build/Debug/Test.build/Objects-normal/i386/EventTest.o
/Users/davidthulson/Documents/Code/crownandcutlass/trunk/Protocce/test/src/EventTest.cpp
normal i386 c++ com.apple.compilers.gcc.4_0
cd 
/Users/davidthulson/Documents/Code/crownandcutlass/trunk/Protocce/test/bin/osx
/Developer/usr/bin/gcc-4.0 -x c++ -arch i386 -pipe -Wno-trigraphs
-fpascal-strings -fasm-blocks -O0 -mdynamic-no-pic
-DCMAKE_INTDIR=Debug -fmessage-length=0 -gdwarf-2 -Wmost
-Wno-four-char-constants -Wno-unknown-pragmas -O0
-F/Users/davidthulson/Documents/Code/crownandcutlass/trunk/Protocce/test/bin/osx/Debug
-F/Library/Frameworks -F/Users/davidthulson/OgreSDK/Dependencies
-F/Users/davidthulson/OISv1_0_Mac_SDK -F/System/Library/Frameworks
-I/Users/davidthulson/Documents/Code/crownandcutlass/trunk/Protocce/test/bin/osx/Debug/include
-I/Users/davidthulson/Documents/Code/crownandcutlass/trunk/Protocce/test/src/../../include
-I/Users/davidthulson/Documents/Code/crownandcutlass/trunk/Protocce/test/src/../include
-I/usr/local/include/boost-1_34_1
-I/System/Library/Frameworks/OpenAL.framework/Headers
-I/Users/davidthulson/OgreSDK/Dependencies/Ogre.framework/Headers
-I/Users/davidthulson/OISv1_0_Mac_SDK/OIS.framework/Headers
-I/Users/davidthulson/OgreSDK/Dependencies/CEGUI.framework/Headers

[CMake] Re: Get full output library filename

2008-01-14 Thread Rodolfo Schulz de Lima

Josef Karthauser wrote:

Hmm, I can't see where it would have been fixed.  Can one of the
developers please comment?


If you look at Sources/cmTarget.cxx:1987, you'll read:

// Append the per-configuration postfix.
outBase += configPostfix?configPostfix:;

before that configPostfix is set to the correct value (if 
CMAKE_BUILD_TYPE is set).


cvs annotate says that this modification was made on revision 1.81 by 
Brad King on 13-Jan-06. I think that this is it.


Regards,
rod

___
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] Help:Using CMake with Eclipse

2008-01-14 Thread Alexander Neundorf
On Saturday 12 January 2008, Yang, Y. wrote:
 Hi, All.
 I follow the instructions of the link:
 http://www.cmake.org/Wiki/CMake:Eclipse. I successfully build my
 application. However, when I try to use CMake as external tool, the eclipse
 call it and show cmake cannot find qmake.

 CMake Error: Qt qmake not found!

 How to configure eclipse's external tool enviroment and make cmake can find
 qmake when it be called by eclipse?

Make sure that Qt4 qmake is available over PATH environment variable, i.e. the 
environment from which Eclipse was started.

Alex
___
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] Find*.cmake variable naming

2008-01-14 Thread Miguel A. Figueroa-Villanueva
On Jan 14, 2008 2:01 PM, Rodolfo Schulz de Lima wrote:
 Hi, I'd like to comment on the Find*.cmake variable naming procedure
 adopted by cmake. Right now I have to look at some Find*.cmake files to
 see what are the output variables they create. Some packages create a
 *_LIBRARY, others *_LIBRARIES, others *_INCLUDE_DIRS and others
 *_INCLUDE_DIR. The Modules/readme.txt procedure isn't being used for
 some packages.

snip

As Mike commented... I agree! I would like to see consistency among
the Find*.cmake modules.

However, keep in mind that compatibility issues make it hard to fix
sometimes. In many cases the appropriate thing to do is to follow the
Modules/readme.txt and then create a compatibility layer which assigns
the correct style names to whatever there was before.

About upcased names vs mixed case... there was a thread in which it
was mentioned (I believe Brad King, but I might be wrong) that there
was a desire to move to mixed cased names. That is, if a module is
named FindBzip2.cmake, then the variables should be prefixed with
Bzip2. If it is named FindBZIP2.cmake then they should be prefixed
with BZIP2. This was do to the fact that cmake creates a set of
variables (e.g., XXX_FIND_COMPONENTS) when entering the module that
follows the case of the module's name.

I don't know if things have changed, but I would like to see
consistency. At least, modules being added these days should conform
to the readme.txt. Having a list of standard-compliant modules
appended to the readme.txt might help new module writers.

--Miguel

PS - Brad, I'm copying you directly since I sort of quote you.
___
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] Help:Using CMake with Eclipse

2008-01-14 Thread Eric Noulard
2008/1/13, Yang, Y. [EMAIL PROTECTED]:
 Thanks. cmake can find qmake when use terminal.

Then as Alex suggested this should be an environment problem.

Could you launch Eclipse from the very same terminal
you succeed to run CMake from and retry ?

What is your platform?
Linux?
Windows?

What version of CMake and Eclipse do you use?

 So maybe the best way is using eclipse as an Editor.

I can assure you you may do more than that _CURRENTLY_.

 But I hope in the futher, the CMake could be perfectly incorporated into the 
 eclipse. It is reall a good tool.

 Thanks for you help.
-- 
Erk
___
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] Find*.cmake variable naming

2008-01-14 Thread Alexander Neundorf
On Monday 14 January 2008, Mike Jackson wrote:
 On Jan 14, 2008, at 1:01 PM, Rodolfo Schulz de Lima wrote:
 Nothing much to add except, I Agree. Consistency in any API/
 Language is essential for people to learn quickly. I would also think

Yes.

 that the jump from 2.4.x to 2.6.x is _perfect_ time to change the
 variables. There may be other major changes API breakage, 

No, there may not, at least it is the goal to have CMake 2.6 completely 
compatible. If something is working with CMake 2.4 but doesn't work with 2.6 
this is considered a bug (maybe except for undocumented functions/variables, 
and maybe except things where one could argue about which behaviour 
is correct).

The documentation how the variables should be named is in 
CMake/Modules/readme.txt.

The documentation for the modules coming with cmake is on the man page, with 
cmake cvs it is possible to also create documentation for modules in 
CMAKE_MODULE_PATH.

Alex
___
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] Find*.cmake variable naming

2008-01-14 Thread Mike Jackson


On Jan 14, 2008, at 4:03 PM, Alexander Neundorf wrote:

The documentation for the modules coming with cmake is on the man  
page, with

cmake cvs it is possible to also create documentation for modules in
CMAKE_MODULE_PATH.



Actually, no, that does not work on my CVS HEAD from this morning.

./cmake --help-module-list | mate
cmake version 2.5-20080114
Internal error: Modules list is empty.


--
Mike Jackson   Senior Research Engineer
Innovative Management  Technology Services


___
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] Find*.cmake variable naming

2008-01-14 Thread Alexander Neundorf
On Monday 14 January 2008, Miguel A. Figueroa-Villanueva wrote:
...
 I don't know if things have changed, but I would like to see
 consistency. At least, modules being added these days should conform
 to the readme.txt. Having a list of standard-compliant modules
 appended to the readme.txt might help new module writers.

Good idea :-)
Can you go through the modules, compare them with the current readme.txt and 
come up with the list ?

Alex
___
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] Find*.cmake variable naming

2008-01-14 Thread Alexander Neundorf
On Monday 14 January 2008, Mike Jackson wrote:
 On Jan 14, 2008, at 4:03 PM, Alexander Neundorf wrote:
  The documentation for the modules coming with cmake is on the man
  page, with
  cmake cvs it is possible to also create documentation for modules in
  CMAKE_MODULE_PATH.

 Actually, no, that does not work on my CVS HEAD from this morning.

 ./cmake --help-module-list | mate
 cmake version 2.5-20080114
 Internal error: Modules list is empty.

Fixed.
(-help-modules and -help-module FindFoo were working).
If you find more problems please let us know.

Alex
___
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] Find*.cmake variable naming

2008-01-14 Thread Andreas Schneider
Rodolfo Schulz de Lima wrote:
 Hi, I'd like to comment on the Find*.cmake variable naming procedure
 adopted by cmake. Right now I have to look at some Find*.cmake files to
 see what are the output variables they create. Some packages create a
 *_LIBRARY, others *_LIBRARIES, others *_INCLUDE_DIRS and others
 *_INCLUDE_DIR. The Modules/readme.txt procedure isn't being used for
 some packages.
 
 Also the vast majority creates upcased (is this an adjective?) variable
 names, BUT Boost and wxWidgets. There two define Boost_FOUND,
 Boost_LIBRARIES, wxWidgets_FOUND, wxWidgets_LIBRARIES. It should be
 better if they were BOOST_FOUND, WXWIDGETS_FOUND etc.

For much better FindBoost.cmake module take a look at

http://cmake-modules.googlecode.com/svn/trunk/Modules/Boost/FindBoost.cmake

-- andreas

-- 
http://www.cynapses.org/ - cybernetic synapses




signature.asc
Description: OpenPGP digital signature
___
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake

[CMake] running FIND_PROGRAM twice

2008-01-14 Thread Brandon Van Every
I just filed bug http://cmake.org/Bug/view.php?id=6241 , FindPerlLibs
should use FindPerl.  My assumption is that if FIND_PROGRAM is run
twice with the same output variable (in this case PERL_EXECUTABLE),
the 2nd invocation will wipe out the value from the 1st invocation.
Is that a correct assumption?

Cheers,
Brandon Van Every
___
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] running FIND_PROGRAM twice

2008-01-14 Thread Miguel A. Figueroa-Villanueva
On Jan 14, 2008 7:18 PM, Brandon Van Every wrote:
 I just filed bug http://cmake.org/Bug/view.php?id=6241 , FindPerlLibs
 should use FindPerl.  My assumption is that if FIND_PROGRAM is run
 twice with the same output variable (in this case PERL_EXECUTABLE),
 the 2nd invocation will wipe out the value from the 1st invocation.
 Is that a correct assumption?

As I understand it, the second time will only execute if the first
attempt is failed. That is, FIND_PROGRAM(output_var ...) sets
output_var as a cache variable. If it is set to a XXX-NOTFOUND value
then the second time it is invoked it will search again. If it is
found the first time, then the second time it won't search for it
(since it is found).

This limitation has to do with not overiding values that the user sets
in the GUI.

Well, I hope that makes sense.

--Miguel
___
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] Find*.cmake variable naming

2008-01-14 Thread Mike Jackson


On Jan 14, 2008, at 5:08 PM, Alexander Neundorf wrote:


On Monday 14 January 2008, Mike Jackson wrote:

On Jan 14, 2008, at 4:03 PM, Alexander Neundorf wrote:

The documentation for the modules coming with cmake is on the man
page, with
cmake cvs it is possible to also create documentation for modules in
CMAKE_MODULE_PATH.


Actually, no, that does not work on my CVS HEAD from this morning.

./cmake --help-module-list | mate
cmake version 2.5-20080114
Internal error: Modules list is empty.


Fixed.
(-help-modules and -help-module FindFoo were working).
If you find more problems please let us know.

Alex



Great, it works now. My script that builds Qt Assistant documentation  
works completely now. Awesome.


As I perused the generated documentation there are some typos, and  
some documentation that is just plain wrong. I'll post information on  
those a bit later.


Thanks for the quick fix.

--
Mike Jackson   Senior Research Engineer
Innovative Management  Technology Services


___
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] running FIND_PROGRAM twice

2008-01-14 Thread Brandon Van Every
On Jan 14, 2008 6:55 PM, Miguel A. Figueroa-Villanueva [EMAIL PROTECTED] 
wrote:

 On Jan 14, 2008 7:18 PM, Brandon Van Every wrote:
  I just filed bug http://cmake.org/Bug/view.php?id=6241 , FindPerlLibs
  should use FindPerl.  My assumption is that if FIND_PROGRAM is run
  twice with the same output variable (in this case PERL_EXECUTABLE),
  the 2nd invocation will wipe out the value from the 1st invocation.
  Is that a correct assumption?

 As I understand it, the second time will only execute if the first
 attempt is failed. That is, FIND_PROGRAM(output_var ...) sets
 output_var as a cache variable. If it is set to a XXX-NOTFOUND value
 then the second time it is invoked it will search again. If it is
 found the first time, then the second time it won't search for it
 (since it is found).

 This limitation has to do with not overiding values that the user sets
 in the GUI.

I should clarify.  I mean FIND_PROGRAM is run twice in the same
invocation of CMakeLists.txt, with different parameters.  Example:

FIND_PROGRAM(PERL_EXECUTABLE
  perl
  C:/Perl/bin
  [HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActivePerl\\804]/bin
  [HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActivePerl\\628]/bin
  ${CYGWIN_INSTALL_PATH}/bin
  )
FIND_PROGRAM(PERL_EXECUTABLE perl )

Let's say the 1st FIND_PROGRAM finds a perl using HKEY.  Will the 2nd
FIND_PROGRAM come up with NOTFOUND?


Cheers,
Brandon Van Every
___
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] Find*.cmake variable naming

2008-01-14 Thread Brandon Van Every
On Jan 14, 2008 1:01 PM, Rodolfo Schulz de Lima [EMAIL PROTECTED] wrote:
  Some packages create a
 *_LIBRARY, others *_LIBRARIES,

Sometimes a library, like PNG, creates both, and the meanings are
distinct.  *_LIBRARY is the PNG library alone.  *_LIBRARIES includes
all of the link libraries you need to actually make PNG work, such as
zlib.

The only way I've found to use the Modules in practice, is to read
their source code.  There's not just a consistency problem, there's a
documentation problem.  Is there any way to automate the documentation
of modules?  Like require the use of functions that will spit out
their input and output variables in a document format?


Cheers,
Brandon Van Every
___
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] running FIND_PROGRAM twice

2008-01-14 Thread Bill Hoffman

Brandon Van Every wrote:

I just filed bug http://cmake.org/Bug/view.php?id=6241 , FindPerlLibs
should use FindPerl.  My assumption is that if FIND_PROGRAM is run
twice with the same output variable (in this case PERL_EXECUTABLE),
the 2nd invocation will wipe out the value from the 1st invocation.
Is that a correct assumption?



No, it is not correct.  Once something is found, it can not be set to 
NOTFOUND by another find command.  If that were true, then cmake would 
keep looking for things over and over.  It is perfectly valid and 
expected to call find_* more than once in a find module.  The first one 
that finds it will stop the searching.  This is all documented in the 
find_* commands.


-Bill
___
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] running FIND_PROGRAM twice

2008-01-14 Thread Brandon Van Every
On Jan 14, 2008 9:14 PM, Bill Hoffman [EMAIL PROTECTED] wrote:

 No, it is not correct.  Once something is found, it can not be set to
 NOTFOUND by another find command.  If that were true, then cmake would
 keep looking for things over and over.  It is perfectly valid and
 expected to call find_* more than once in a find module.  The first one
 that finds it will stop the searching.

Ok.

This is all documented in the find_* commands.

I don't think the docs are entirely clear about different invocations
of FIND_PROGRAM that use the same variable.


Cheers,
Brandon Van Every
___
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] running FIND_PROGRAM twice

2008-01-14 Thread Brandon Van Every
On Jan 14, 2008 10:13 PM, David Cole [EMAIL PROTECTED] wrote:
 And from the middle of the same text:
 is created to store the result of this command.  If the program is
 found the result is stored in the variable and the search will not be
 repeated unless the variable is cleared.  If nothing is found, the
 result will be VAR-NOTFOUND, and the search will be attempted again
 the next time FIND_PROGRAM is invoked with the same variable.  The

 Score: pretty-clear 2 / not-so-clear 0

No, this is the unclear part.  2 different invocations of FIND_PROGRAM
that share the same variable, but with different search parameters,
are not the same search.

I missed the clear example at the very very end of the FIND_PROGRAM
entry.  Presumably because it's separated from the above snippet by a
lot of text.  Putting the clear example right after the above snippet
would help.  Or a slight wordsmithing would help.  I will provide that
when I'm more alert.


Cheers,
Brandon Van Every
___
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] running FIND_PROGRAM twice

2008-01-14 Thread David Cole
And from the middle of the same text:
is created to store the result of this command.  If the program is
found the result is stored in the variable and the search will not be
repeated unless the variable is cleared.  If nothing is found, the
result will be VAR-NOTFOUND, and the search will be attempted again
the next time FIND_PROGRAM is invoked with the same variable.  The

Score: pretty-clear 2 / not-so-clear 0


On 1/14/08, David Cole [EMAIL PROTECTED] wrote:

 On 1/14/08, Brandon Van Every [EMAIL PROTECTED] wrote:
 
  On Jan 14, 2008 9:14 PM, Bill Hoffman [EMAIL PROTECTED] wrote:
 
 This is all documented in the find_* commands.
 
  I don't think the docs are entirely clear about different invocations
  of FIND_PROGRAM that use the same variable.


 C:\Documents and Settings\DavidC:\Program Files\CMake 2.4\bin\cmake
 --help-command FIND_PROGRAM
 cmake version 2.4-patch 6

  most of the documentation omitted for brevity -- except for these last 6
 lines: 

in the locations specified by their environment.  Projects may
override this behavior by simply calling the command twice:

   FIND_PROGRAM(VAR NAMES name PATHS paths NO_DEFAULT_PATH)
   FIND_PROGRAM(VAR NAMES name)

Once one of these calls succeeds the result variable will be set
 and
stored in the cache so that neither call will search again.


 Last two lines pretty much say the result is stored in the cache and
 subsequent calls will not search.



___
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake

Re: [CMake] running FIND_PROGRAM twice

2008-01-14 Thread David Cole
On 1/14/08, Brandon Van Every [EMAIL PROTECTED] wrote:

 On Jan 14, 2008 9:14 PM, Bill Hoffman [EMAIL PROTECTED] wrote:

This is all documented in the find_* commands.

 I don't think the docs are entirely clear about different invocations
 of FIND_PROGRAM that use the same variable.


C:\Documents and Settings\DavidC:\Program Files\CMake 2.4\bin\cmake
--help-command FIND_PROGRAM
cmake version 2.4-patch 6

 most of the documentation omitted for brevity -- except for these last 6
lines: 

   in the locations specified by their environment.  Projects may
   override this behavior by simply calling the command twice:

  FIND_PROGRAM(VAR NAMES name PATHS paths NO_DEFAULT_PATH)
  FIND_PROGRAM(VAR NAMES name)

   Once one of these calls succeeds the result variable will be set and
   stored in the cache so that neither call will search again.


Last two lines pretty much say the result is stored in the cache and
subsequent calls will not search.
___
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake

[CMake] Adding Custom Build Types

2008-01-14 Thread Malhotra, Anupam
Hi

 

I have a requirement in which I need to have custom build types in my
project. CMake provides the below mentioned build types by default:

 

Debug

Release

RelWithDebInfo

MinSizeRel

 

Now In my project I don't want these build types. I want custom build
types like MD, MT, MDd, MTd, ML etc (for Visual Studio 6 and Visual
Studio 8 2005 both). These build types are required to set the
appropriate runtime library. Is there any provision in CMake through
which this can be achieved?

 

Thanks and Regards

Anupam Malhotra

 


The information contained in this electronic mail transmission 
may be privileged and confidential, and therefore, protected 
from disclosure. If you have received this communication in 
error, please notify us immediately by replying to this 
message and deleting it from your computer without copying 
or disclosing it.


___
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake

[CMake] How to generate compiler error files with CMake

2008-01-14 Thread Dieter Oberkofler
When compiling an individual file (file.cpp), I would like to have an error
file (file.err) containing all errors generated during the compilation.
Is there an easy way to generate a compiler error file (next to the stdout)
for each individual file compiled using CMake?
Thankk you,
Dieter


___
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake


[CMake] OSX universal binary support

2008-01-14 Thread Nicholas Yue
Hi

  I see a mention of support for OSX universal binary in the release notes.

  However, from running cmake --help-html, I was unable to find any
explanation on how to use the feature.

  I am building on the command line using make.

  However, if I need to use XCode build to get the feature working, that's
fine too.

Regards
-- 
Nicholas Yue BSc (Hons) MACM
Need help with software development process?
___
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake

Re: [CMake] Find*.cmake variable naming

2008-01-14 Thread dizzy
On Tuesday 15 January 2008 03:29:40 Brandon Van Every wrote:
 On Jan 14, 2008 1:01 PM, Rodolfo Schulz de Lima [EMAIL PROTECTED] wrote:
   Some packages create a
  *_LIBRARY, others *_LIBRARIES,

 Sometimes a library, like PNG, creates both, and the meanings are
 distinct.  *_LIBRARY is the PNG library alone.  *_LIBRARIES includes
 all of the link libraries you need to actually make PNG work, such as
 zlib.

Plus, if the problem discussed is just naming of some variables in some 
modules that is breaking a commonly decided naming scheme then they can 
be fixed by adding those proper variable names and still leaving the old 
variable names for compatibility which will be removed in time (this at least 
should work for the wrong case variables).

-- 
Mihai RUSU  Email: [EMAIL PROTECTED]
Linux is obsolete -- AST
___
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake