[cmake-developers] [CMake 0012908]: Emacs cmake mode indents incorrectly after multiline SET()

2012-01-23 Thread Mantis Bug Tracker

The following issue has been SUBMITTED. 
== 
http://public.kitware.com/Bug/view.php?id=12908 
== 
Reported By:Christopher Sean Morrison
Assigned To:
== 
Project:CMake
Issue ID:   12908
Category:   CMake
Reproducibility:always
Severity:   minor
Priority:   normal
Status: new
== 
Date Submitted: 2012-01-23 13:31 EST
Last Modified:  2012-01-23 13:31 EST
== 
Summary:Emacs cmake mode indents incorrectly after multiline
SET()
Description: 
Summary says it all.  If you define a macro that calls set, it will think the
previous line indentation was at that unindented level.  See the example in the
Steps to Reproduce section.

Fortunately, it seems a fix was easy.  See attached.

Steps to Reproduce: 
Indenting this region results in the lines after the DIRNAME_SRC set line all
being at beginning of line.

MACRO(BRLCAD_CHECK_DIRNAME)
  SET(DIRNAME_SRC 
#include libgen.h
int main(int argc, char *argv[]) {
(void)dirname(argv[0]);
return 0;
})
  CHECK_C_SOURCE_RUNS(${DIRNAME_SRC} HAVE_DIRNAME)
  IF(HAVE_DIRNAME)
FILE(APPEND ${CONFIG_H_FILE} #define HAVE_DIRNAME 1\n)
  ENDIF(HAVE_DIRNAME)
ENDMACRO(BRLCAD_CHECK_DIRNAME var)


Additional Information: 
Conveniently, there was already a cmake-line-starts-inside-string() function we
could key off of, so we keep walking backwards until we find an actual statement
inside cmake-find-last-indented-line().

== 

Issue History 
Date ModifiedUsername   FieldChange   
== 
2012-01-23 13:31 Christopher Sean MorrisonNew Issue 
  
2012-01-23 13:31 Christopher Sean MorrisonFile Added:
cmake-mode-set-indent.patch
==

--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers


Re: [cmake-developers] target_include_directories branch in stage

2012-01-23 Thread David Cole
On Fri, Jan 20, 2012 at 3:20 PM, Stephen Kelly steve...@gmail.com wrote:

 Hi,

 I've force pushed my branch:

 https://gitorious.org/~steveire/cmake/steveires-cmake/commits/target-
 include-directories

 Brad King wrote:

 On 1/8/2012 11:47 AM, Stephen Kelly wrote:
 On 12/05/2011 03:17 PM, Brad King wrote:
   I think the property
   can be stored just like any other property during configuration.  Then
   the generators can use ExpandListArguments.
  
   Would that mean that every generator would have to ensure that the
   includes were unique etc?

 Yes but there could be an internal API provided by cmTarget to compute the
 expansion in one place for use by any generator.  I really think that all
 property values should be handled in the same way and interpreted in their
 non-string format only as needed.

 Done.


 Initialization from the
 directory property value can just be added to cmTarget::SetMakefile:

 this-SetPropertyDefault(INCLUDE_DIRECTORIES, 0);

 SetPropertyDefault is for initializing a property with the content of the
   property with the same name with a CMAKE_ prefix.

 Sorry, my bad.  You're right, except that it looks for a *variable* with
 the
 CMAKE_ prefix.  Instead you can just spell out initialization of the
 target property by copying the current value of the directory property.

 Ported.

 I think the branch is ready for review again.

 Thanks,

 Steve.


 --

 Powered by www.kitware.com

 Visit other Kitware open-source projects at 
 http://www.kitware.com/opensource/opensource.html

 Please keep messages on-topic and check the CMake FAQ at: 
 http://www.cmake.org/Wiki/CMake_FAQ

 Follow this link to subscribe/unsubscribe:
 http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers

I've tacked on two more commits for supporting Visual Studio and
Xcode. You can pull from here if you want to see them:

  https://github.com/dlrdave/CMake/commits/tgt-inc-dirs-vs-xcode

Brad and I will review it and take over to get it into CMake 'next' --
I assume you won't mind if we slightly re-write a few things rather
than go back and forth over email about them...?


Thanks,
David
--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers


[cmake-developers] [CMake 0012909]: rc.exe cannot find generated type library, Visual Studio 10 builder

2012-01-23 Thread Mantis Bug Tracker

The following issue has been SUBMITTED. 
== 
http://public.kitware.com/Bug/view.php?id=12909 
== 
Reported By:James Mansion
Assigned To:
== 
Project:CMake
Issue ID:   12909
Category:   CMake
Reproducibility:always
Severity:   major
Priority:   high
Status: new
== 
Date Submitted: 2012-01-23 14:48 EST
Last Modified:  2012-01-23 14:48 EST
== 
Summary:rc.exe cannot find generated type library, Visual
Studio 10 builder
Description: 
I have an IDL file that generates a type library, and an RC file that wants to
embed it.

The .tlb is emitted here:

C:\build\easyrtd.vs10\EasyRTD\easyrtd.dir\Debugdir *.tlb
 Volume in drive C has no label.
 Volume Serial Number is 5AB0-0B44

 Directory of C:\build\easyrtd.vs10\EasyRTD\easyrtd.dir\Debug

23/01/2012  18:52 2,612 EasyRTD.tlb
   1 File(s)  2,612 bytes
   0 Dir(s)  171,651,473,408 bytes free

there is no obvious sign of the rc file (easyrtd.rc) in the working build
directory, but if I insert a #error statement I get:

1C:\src\easyrtd\EasyRTD\easyrtd.src\EasyRTD.rc(21): error RC2188:
C:\build\easyrtd.vs10\EasyRTD\EasyRTD.dir\Debug\RCa03492(25) : fatal error
RC1116: RC terminating after preprocessor errors
1

which suggests that the file was copied over, if temporarily.

Unfortunately I cannot say:

2 TYPELIB EasyRTD.tlb

since rc.exe fails to find the file.

I can say:

2 TYPELIB c:\build\easyrtd.vs10\EasyRTD\easyrtd.dir\Debug\EasyRTD.tlb

or, I can say:

2 TYPELIB EasyRTD.tlb

if I also (don't laugh!) say in CMakeLists.txt:

include_directories(. c:/build/easyrtd.vs10/EasyRTD/easyrtd.dir/Debug)

before the source definition.




Steps to Reproduce: 
Simple project that defines a type library and tries to embed it should do.

Additional Information: 
Its concerning also that there isn't a failure from include scanning I guess.

Is this construct (generate and import a type library) supported at all at the
moment?

Is there a preferred recipe?
== 

Issue History 
Date ModifiedUsername   FieldChange   
== 
2012-01-23 14:48 James Mansion  New Issue
==

--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers


Re: [cmake-developers] target_include_directories branch in stage

2012-01-23 Thread Stephen Kelly
David Cole wrote:

 On Fri, Jan 20, 2012 at 3:20 PM, Stephen Kelly
 steve...@gmail.com wrote:

 Hi,

 I've force pushed my branch:

 https://gitorious.org/~steveire/cmake/steveires-cmake/commits/target-
 include-directories

 Brad King wrote:

 On 1/8/2012 11:47 AM, Stephen Kelly wrote:
 On 12/05/2011 03:17 PM, Brad King wrote:
  I think the property
  can be stored just like any other property during configuration. 
 Then  the generators can use ExpandListArguments.
 
  Would that mean that every generator would have to ensure that the
  includes were unique etc?

 Yes but there could be an internal API provided by cmTarget to compute
 the expansion in one place for use by any generator.  I really think
 that all property values should be handled in the same way and
 interpreted in their non-string format only as needed.

 Done.


 Initialization from the
 directory property value can just be added to cmTarget::SetMakefile:

 this-SetPropertyDefault(INCLUDE_DIRECTORIES, 0);

 SetPropertyDefault is for initializing a property with the content of
 the
  property with the same name with a CMAKE_ prefix.

 Sorry, my bad.  You're right, except that it looks for a *variable* with
 the
 CMAKE_ prefix.  Instead you can just spell out initialization of the
 target property by copying the current value of the directory property.

 Ported.

 I think the branch is ready for review again.

 Thanks,

 Steve.


 --

 Powered by www.kitware.com

 Visit other Kitware open-source projects at
 http://www.kitware.com/opensource/opensource.html

 Please keep messages on-topic and check the CMake FAQ at:
 http://www.cmake.org/Wiki/CMake_FAQ

 Follow this link to subscribe/unsubscribe:
 http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
 
 I've tacked on two more commits for supporting Visual Studio and
 Xcode. You can pull from here if you want to see them:
 
   https://github.com/dlrdave/CMake/commits/tgt-inc-dirs-vs-xcode
 
 Brad and I will review it and take over to get it into CMake 'next' --

Awesome, thanks. I just had a look. 

 I assume you won't mind if we slightly re-write a few things rather
 than go back and forth over email about them...?

Indeed. I don't mind. I can review the changes to the commits later.

Thanks,

Steve.


--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers


[cmake-developers] Documented property IMPORTED_LOCATION does not exist

2012-01-23 Thread Alan W. Irwin

The documentation you get from

cmake --help-full

refers to the IMPORTED_LOCATION property as one of the more important
ones set for imported targets.  I have to agree that location is the
most important property for imported targets, but the name appears to
be wrong for the documentation of this property!

After screwing around for a while trying to use the above
property for my imported targets, I discovered (by guessing) that the
name of a property that actually does give the location information is
IMPORT_LOCATION, not IMPORTED_LOCATION.  For what it is worth,
IMPORT_LOCATION works for an imported library, and I haven't tried
this on imported executables. (By the way, LOCATION works as well, but
that appears from the documentation to be a left-over from CMake 2.4
which is why I tried to get IMPORTED_LOCATION to work and when that
failed, switched to the currently undocumentated IMPORT_LOCATION.)

I find IMPORTED_LOCATION is mentioned in the following
places in the cmake-2.8.6 source tree:

software@raven find cmake-2.8.6 -print0 -type f \
|xargs -0 grep -l IMPORTED_LOCATION
cmake-2.8.6/ChangeLog.txt
cmake-2.8.6/Modules/FindQt4.cmake
cmake-2.8.6/Tests/ExportImport/Import/A/CMakeLists.txt
cmake-2.8.6/Tests/SimpleInstall/CMakeLists.txt
cmake-2.8.6/Tests/SimpleInstallS2/CMakeLists.txt
cmake-2.8.6/Source/cmTarget.cxx
cmake-2.8.6/Source/cmAddExecutableCommand.h
cmake-2.8.6/Source/cmAddLibraryCommand.h
cmake-2.8.6/Source/cmExportBuildFileGenerator.cxx
cmake-2.8.6/Source/cmExportInstallFileGenerator.cxx

A similar search for IMPORT_LOCATION found nothing at all!

However, I spot-checked cmake-2.8.6/Source/cmTarget.cxx, and all those
mentions of IMPORTED_LOCATION appear to be documentation strings
rather than executable code, and I was unable to find why
IMPORTED_LOCATION does not work for me while IMPORT_LOCATION does. So
this needs someone who is familiar with the CMake code to figure out
what the actual problem is here, and to decide whether a fix to the
documentation strings is all that is required or whether some deeper
change needs to be made.

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); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); 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
__
--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers


[cmake-developers] [CMake 0012910]: FindUncoveredFiles(): Uncovered files only searched in source tree

2012-01-23 Thread Mantis Bug Tracker

The following issue has been SUBMITTED. 
== 
http://public.kitware.com/Bug/view.php?id=12910 
== 
Reported By:Andreas Schuh
Assigned To:
== 
Project:CMake
Issue ID:   12910
Category:   CTest
Reproducibility:always
Severity:   minor
Priority:   normal
Status: new
== 
Date Submitted: 2012-01-24 00:52 EST
Last Modified:  2012-01-24 00:52 EST
== 
Summary:FindUncoveredFiles(): Uncovered files only searched
in source tree
Description: 
The cmCTestCoverageHandler::FindUncoveredFiles() method prepends the top
directory of the source tree to the glob expressions specified by
CTEST_EXTRA_COVERAGE_GLOB in, for example, the CTestCustom.cmake file.

Now is it, however, also common that source files are configured during the
configuration of the build system and the configured files are placed in the
binary directory. These configured files are the ones which get compiled and
linked into the binaries which are executed during testing. For example,
consider a config.cxx.in file in the source tree, which is configured to
config.cxx in the build tree. When defining extra coverage globs, the file would
need to be searched for in the binary tree instead of the source tree.

The FindUncoveredFiles() method should therefore either for each glob expression
prepend once the top directory of the source tree and once the top directory of
the binary tree or leave absolute glob expression, i.e., ones starting with a
leading slash (/) unmodified. If a file is found in both trees, the one in the
binary directory should probably take precedence as there must have been a
reason that this file was configured/copied to the binary tree.
== 

Issue History 
Date ModifiedUsername   FieldChange   
== 
2012-01-24 00:52 Andreas Schuh  New Issue
==

--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers


Re: [CMake] Revision header

2012-01-23 Thread Johannes Zarl
On Saturday, 21. January 2012, 22:51:01, Oliver Smith wrote:
 I have a script that generates a revision.h file, I've spent the morning
 trying to figure out how to make it so that ... any time CMake rebuilds
 any of the other targets, it starts by running the make-new-revision
 script.
 
 The idea is, I use the script manually to upversion, but anytime I type
 make and /anything/ has to be done (even just a relink), it will do
 the upversion first.
 
 I've only managed to make it either source dependent or always build,
 which forces the versionNo file to recompile and forces all executables
 to relink, so if you type:
 
 make ; make ... it will have to relink the executables the second time
 because of an pointless upversion :)

I guess the most efficient way is to fix your upversion script so that it only 
overwrites revision.h if it actually changed. This way you can execute it 
every time without having it mess up the dependency tracking...


  Johannes
--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake


[CMake] Setting intermediate directory permissions?

2012-01-23 Thread Kevin Burge
I want to force all the install permissions to be only owner 
accessible.  I've done this everywhere using DIRECTORY_PERMISSIONS and 
FILE_PERMISSIONS.  But, intermediate directories created by installing 
targets get some default permissions (in my case, 0755).


I don't want to require the builder or build system to have their umask 
set properly.


Is there a way to specify the permissions used for these intermediate 
directories?  This looks related to the below issue, and some of it's 
related issues.


http://public.kitware.com/Bug/view.php?id=9620

Thanks,
Kevin

--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] Bug fix requests for the *next* release of CMake...

2012-01-23 Thread Theodore Papadopoulo
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

I do not know if it is too late to require bugfix for the next release
or even whether this bug is known (a quick browsing of buzilla shows
nothing and the git sources still contain the bug), but in any case.

In cmake-2.8.6, the module FindLAPACK.cmake contains the lines:

if (CMAKE_SYSTEM_NAME STREQUAL Linux)
   # for ubuntu's libblas3gf and liblapack3gf packages
   set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES} .so.3gf)
endif ()

The problem here is that not all linux distribution are ubuntu, as a
result the lapack detection is broken on releases such as Fedora (14
to 16).

Is there a way to make this test more specific, or at least to provide
an option to let the user disable this feature.

In the meantime, it might be interesting to have a patch in the fedora
package that just removes the .3gf (Orion I put you in copy just in
case, as I saw you are the fedora packager for cmake).

  Thank you very much,

Theo Papadopoulo.
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk8dltsACgkQEr8WrU8nPV2k7ACeOD8Df7A6wTPUNVCyiBDP4R4j
T6kAoJsnekGUH1s7AseXPwuB6teq4ujo
=ws/T
-END PGP SIGNATURE-
--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] cpack -G NSIS

2012-01-23 Thread Andrea Crotti

It's a bit tricky to follow the code, but from my first attempt with the
debug symbols activated I get the following backtrace:
(running cpack -G NSIS)

--8---cut here---start-8---
(gdb) bt
#0  0x76e28935 in raise () from /lib/libc.so.6
#1  0x76e29dab in abort () from /lib/libc.so.6
#2  0x7775d1ed in __gnu_cxx::__verbose_terminate_handler() () 
from /usr/lib/libstdc++.so.6

#3  0x7775b396 in ?? () from /usr/lib/libstdc++.so.6
#4  0x7775b3c3 in std::terminate() () from /usr/lib/libstdc++.so.6
#5  0x7775b4be in __cxa_throw () from /usr/lib/libstdc++.so.6
#6  0x777081f7 in std::__throw_logic_error(char const*) () from 
/usr/lib/libstdc++.so.6
#7  0x77746039 in char* std::string::_S_constructchar 
const*(char const*, char const*, std::allocatorchar const, 
std::forward_iterator_tag) () from /usr/lib/libstdc++.so.6
#8  0x77746113 in std::basic_stringchar, 
std::char_traitschar, std::allocatorchar ::basic_string(char 
const*, std::allocatorchar const) () from /usr/lib/libstdc++.so.6
#9  0x0066e5f8 in cmCPackNSISGenerator::InitializeInternal 
(this=0xd20b20) at 
/home/andrea/cmake/Source/CPack/cmCPackNSISGenerator.cxx:410
#10 0x0065c444 in cmCPackGenerator::Initialize (this=0xd20b20, 
name=0xd1c248 NSIS, mf=0x7fffcfe0) at 
/home/andrea/cmake/Source/CPack/cmCPackGenerator.cxx:1104
#11 0x0064d553 in main (argc=3, argv=0x7fffe568) at 
/home/andrea/cmake/Source/CPack/cpack.cxx:400

--8---cut here---end---8---


In particular it seems that the problem is trying to get this option:

file:~/cmake/Source/CPack/cmCPackNSISGenerator.cxx::std::string 
nsisFileName = this-GetOption(CPACK_TOPLEVEL_DIRECTORY)


Which fails here:
file:~/cmake/Source/CPack/cmCPackGenerator.cxx::const char* 
cmCPackGenerator::GetOption(const char* op) const


that thing returs 0x0 and the std::string explodes because it was not
what it was expecting..
That's all I could understand for now..

--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake


[CMake] CTest build/configure not appending

2012-01-23 Thread Tim Gallagher
Hi,

I have a CTest script that builds many different tests and sets it to APPEND by 
doing:

foreach(TESTCASE ${LESLIE_AVAILABLE_TESTCASES})
  set(CTEST_CONFIGURE_COMMAND ./setup.py -t ${TESTCASE} 
'{${LESLIE_CONFIGURE_DICT_BASE}}')
  ctest_configure(BUILD ${CTEST_REPO_DIRECTORY} APPEND)
  set(CTEST_BUILD_COMMAND ./setup.py -t ${TESTCASE} 
'{${LESLIE_BUILD_DICT_BASE}}')
  ctest_build(BUILD ${CTEST_REPO_DIRECTORY} APPEND)
endforeach()

But, when I look in the configure.xml and build.xml, or check the dashboard, it 
only has the final test case information. It doesn't have the 96 previous ones. 

Does append not do what I think it should do? 

Tim
--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake


[CMake] Possible? Post CTest xml files to CDash w/o ctest/build tree?

2012-01-23 Thread Thompson, Kelly G
Hi,

I have been asked to run our ctest regression suite on a machine that is 
heavily firewalled.  This means that I cannot use 'ctest_submit()' from my 
ctest script to post the results to our CDash web site.  Through some script 
magic I can move the CTest xml files to a machine that can see our CDash 
server.  Is there a way to post these xml results to CDash w/o having the full 
ctest/build tree available?  Do you have an example?

Thanks,

-kt
---
Kelly Thompson

--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Re: [CMake] Bug fix requests for the *next* release of CMake...

2012-01-23 Thread Rolf Eike Beer
Theodore Papadopoulo wrote:
 I do not know if it is too late to require bugfix for the next release
 or even whether this bug is known (a quick browsing of buzilla shows
 nothing and the git sources still contain the bug), but in any case.
 
 In cmake-2.8.6, the module FindLAPACK.cmake contains the lines:
 
 if (CMAKE_SYSTEM_NAME STREQUAL Linux)
# for ubuntu's libblas3gf and liblapack3gf packages
set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES} .so.3gf)
 endif ()

AFAICS this just adds another suffix, but will not remove an existing one, so 
this should not make anything go undetected that was detected before. You can 
try yourself if you just comment out this lines.

I think this may be something entirely different, that I have seen today for 
completely unrelated modules: if the library is in /usr/lib64 like on my 
openSuSE 12.1, the library is sometimes not detected. When trying it on my 
machine at home it works like a charm. I've not entirely understood what was 
wrong there and had no time yet to debug this.

Eike

signature.asc
Description: This is a digitally signed message part.
--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Re: [CMake] CTest build/configure not appending

2012-01-23 Thread David Cole
On Mon, Jan 23, 2012 at 12:45 PM, Tim Gallagher
tim.gallag...@gatech.edu wrote:
 Hi,

 I have a CTest script that builds many different tests and sets it to APPEND 
 by doing:

 foreach(TESTCASE ${LESLIE_AVAILABLE_TESTCASES})
  set(CTEST_CONFIGURE_COMMAND ./setup.py -t ${TESTCASE} 
 '{${LESLIE_CONFIGURE_DICT_BASE}}')
  ctest_configure(BUILD ${CTEST_REPO_DIRECTORY} APPEND)
  set(CTEST_BUILD_COMMAND ./setup.py -t ${TESTCASE} 
 '{${LESLIE_BUILD_DICT_BASE}}')
  ctest_build(BUILD ${CTEST_REPO_DIRECTORY} APPEND)
 endforeach()

 But, when I look in the configure.xml and build.xml, or check the dashboard, 
 it only has the final test case information. It doesn't have the 96 previous 
 ones.

 Does append not do what I think it should do?

 Tim
 --

 Powered by www.kitware.com

 Visit other Kitware open-source projects at 
 http://www.kitware.com/opensource/opensource.html

 Please keep messages on-topic and check the CMake FAQ at: 
 http://www.cmake.org/Wiki/CMake_FAQ

 Follow this link to subscribe/unsubscribe:
 http://www.cmake.org/mailman/listinfo/cmake


APPEND does not do what you think it should do. It sets a flag in the
generated xml file to tell CDash to append it to the existing results
when submitted. It does not append to an existing xml file.

Each call to ctest_configure generates a Configure.xml file, each
ctest_build a Build.xml file. You must call something like:

  ctest_submit(PARTS Configure Build)

before the endforeach so that ctest can submit the xml files it has
each time through the loop.


HTH,
David
--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] Different memcheck options for different tests

2012-01-23 Thread Andreas Schuh
Hi Roland,

have you considered writing a CTest script which you would run as follows:

ctest -S your_script.ctest

?

In your CTest script, you can use the commands

ctest_start()
ctest_configure()
ctest_build()

set (CTEST_MEMORYCHECK_COMMAND_OPTIONS ...)
ctest_memcheck() where you include only certain tests

set (CTEST_MEMORYCHECK_COMMAND_OPTIONS ...)
ctest_memcheck() where you include only certain tests

set (CTEST_MEMORYCHECK_COMMAND_OPTIONS ...)
ctest_memcheck() where you include only certain tests

...

ctest_submit()

Have a closer look at the documentation of these functions that you
can use in your CTest script at
http://www.cmake.org/cmake/help/ctest-2-8-docs.html#section_Commands.

I am not certain if setting the CTEST_MEMORYCHECK_COMMAND_OPTIONS in
between calls to ctest_memcheck() works as expected. Maybe you would
need to do also the ctest_configure() and ctest_build() steps before
again, but I would hope not...

Andreas


On Fri, Dec 16, 2011 at 5:05 PM, Roland Schulz rol...@utk.edu wrote:
 Hi,

 how can I specify different memcheck options (e.g.
 CTEST_MEMORYCHECK_COMMAND_OPTIONS) for different tests. Ideally I
 would like to be able to specify it depending on the test label or the
 directory.

 Ideally I could run ctest -D ExperimentalMemCheck and each test
 would be run with the respective options.
 But it would also be OK to have to run ctest more than once for the
 different labels.

 I have tried:
 1) setting CTEST_MEMORYCHECK_COMMAND_OPTIONS different in the
 respective CMakeLists.txt per folder
 2) setting CTEST_MEMORYCHECK_COMMAND_OPTIONS as an environment
 variable before executing ctest.

 This both doesn't seem to work.

 What would be the best approach to set different options for different tests?

 Roland

 --
 ORNL/UT Center for Molecular Biophysics cmb.ornl.gov
 865-241-1537, ORNL PO BOX 2008 MS6309
 --

 Powered by www.kitware.com

 Visit other Kitware open-source projects at 
 http://www.kitware.com/opensource/opensource.html

 Please keep messages on-topic and check the CMake FAQ at: 
 http://www.cmake.org/Wiki/CMake_FAQ

 Follow this link to subscribe/unsubscribe:
 http://www.cmake.org/mailman/listinfo/cmake
--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] Different memcheck options for different tests

2012-01-23 Thread David Cole
On Mon, Jan 23, 2012 at 2:26 PM, Andreas Schuh
andreas.schuh...@googlemail.com wrote:
 Hi Roland,

 have you considered writing a CTest script which you would run as follows:

 ctest -S your_script.ctest

 ?

 In your CTest script, you can use the commands

 ctest_start()
 ctest_configure()
 ctest_build()

 set (CTEST_MEMORYCHECK_COMMAND_OPTIONS ...)
 ctest_memcheck() where you include only certain tests

 set (CTEST_MEMORYCHECK_COMMAND_OPTIONS ...)
 ctest_memcheck() where you include only certain tests

 set (CTEST_MEMORYCHECK_COMMAND_OPTIONS ...)
 ctest_memcheck() where you include only certain tests

 ...

 ctest_submit()

 Have a closer look at the documentation of these functions that you
 can use in your CTest script at
 http://www.cmake.org/cmake/help/ctest-2-8-docs.html#section_Commands.

 I am not certain if setting the CTEST_MEMORYCHECK_COMMAND_OPTIONS in
 between calls to ctest_memcheck() works as expected. Maybe you would
 need to do also the ctest_configure() and ctest_build() steps before
 again, but I would hope not...

 Andreas


 On Fri, Dec 16, 2011 at 5:05 PM, Roland Schulz rol...@utk.edu wrote:
 Hi,

 how can I specify different memcheck options (e.g.
 CTEST_MEMORYCHECK_COMMAND_OPTIONS) for different tests. Ideally I
 would like to be able to specify it depending on the test label or the
 directory.

 Ideally I could run ctest -D ExperimentalMemCheck and each test
 would be run with the respective options.
 But it would also be OK to have to run ctest more than once for the
 different labels.

 I have tried:
 1) setting CTEST_MEMORYCHECK_COMMAND_OPTIONS different in the
 respective CMakeLists.txt per folder
 2) setting CTEST_MEMORYCHECK_COMMAND_OPTIONS as an environment
 variable before executing ctest.

 This both doesn't seem to work.

 What would be the best approach to set different options for different tests?

 Roland

 --
 ORNL/UT Center for Molecular Biophysics cmb.ornl.gov
 865-241-1537, ORNL PO BOX 2008 MS6309
 --

 Powered by www.kitware.com

 Visit other Kitware open-source projects at 
 http://www.kitware.com/opensource/opensource.html

 Please keep messages on-topic and check the CMake FAQ at: 
 http://www.cmake.org/Wiki/CMake_FAQ

 Follow this link to subscribe/unsubscribe:
 http://www.cmake.org/mailman/listinfo/cmake
 --

 Powered by www.kitware.com

 Visit other Kitware open-source projects at 
 http://www.kitware.com/opensource/opensource.html

 Please keep messages on-topic and check the CMake FAQ at: 
 http://www.cmake.org/Wiki/CMake_FAQ

 Follow this link to subscribe/unsubscribe:
 http://www.cmake.org/mailman/listinfo/cmake

But be aware: each ctest_memcheck call will generate an xml file that
needs submitting to CDash. Each call overwrites the previous one's
file... To avoid losing data, also do a partial submit after each
memcheck call in this case.

Something like:

ctest_memcheck(...)
ctest_submit(PARTS MemCheck)

ctest_memcheck(...)
ctest_submit(PARTS MemCheck)


HTH,
David
--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake


[CMake] Help! Is anyone embedding a ttype library?

2012-01-23 Thread james
From issue 12909: (rc.exe cannot find generated type library, Visual 
Studio 10 builder)


I have an IDL file that generates a type library, and an RC file that 
wants to embed it.


The .tlb is emitted here:

C:\build\easyrtd.vs10\EasyRTD\easyrtd.dir\Debugdir *.tlb
  Volume in drive C has no label.
  Volume Serial Number is 5AB0-0B44

 Directory of C:\build\easyrtd.vs10\EasyRTD\easyrtd.dir\Debug

23/01/2012 18:52 2,612 EasyRTD.tlb
1 File(s) 2,612 bytes
0 Dir(s) 171,651,473,408 bytes free

there is no obvious sign of the rc file (easyrtd.rc) in the working 
build directory, but if I insert a #error statement I get:


1C:\src\easyrtd\EasyRTD\easyrtd.src\EasyRTD.rc(21): error RC2188: 
C:\build\easyrtd.vs10\EasyRTD\EasyRTD.dir\Debug\RCa03492(25) : fatal 
error RC1116: RC terminating after preprocessor errors

 1

which suggests that the file was copied over, if temporarily.

Unfortunately I cannot say:

2 TYPELIB EasyRTD.tlb

since rc.exe fails to find the file.

I can say:

2 TYPELIB c:\build\easyrtd.vs10\EasyRTD\easyrtd.dir\Debug\EasyRTD.tlb

or, I can say:

2 TYPELIB EasyRTD.tlb

if I also (don't laugh!) say in CMakeLists.txt:

include_directories(. c:/build/easyrtd.vs10/EasyRTD/easyrtd.dir/Debug)

before the source definition.


This seems to me a fundamental part of COM server development. Is there 
a sane recipe I can use?  (Even something that will get the correct 
build dir name into the include_directories command?  Tho I'm concerned 
the dependency settings might not be quite right if the RC scanner 
doesn't treat TYPELIB as a resource search and embedding operation.)


Thanks
James

--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] Bug fix requests for the *next* release of CMake...

2012-01-23 Thread Theodore Papadopoulo
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 01/23/2012 07:29 PM, Rolf Eike Beer wrote:
 Theodore Papadopoulo wrote:
 I do not know if it is too late to require bugfix for the next
 release or even whether this bug is known (a quick browsing of
 buzilla shows nothing and the git sources still contain the bug),
 but in any case.
 
 In cmake-2.8.6, the module FindLAPACK.cmake contains the lines:
 
 if (CMAKE_SYSTEM_NAME STREQUAL Linux) # for ubuntu's libblas3gf
 and liblapack3gf packages set(CMAKE_FIND_LIBRARY_SUFFIXES
 ${CMAKE_FIND_LIBRARY_SUFFIXES} .so.3gf) endif ()
 
 AFAICS this just adds another suffix, but will not remove an
 existing one, so this should not make anything go undetected that
 was detected before. You can try yourself if you just comment out
 this lines.

I did that (not by deleting the line but by just keeping .so instead
of .so.3gf, and then the detection works...

Hum strange...
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk8dwNgACgkQEr8WrU8nPV2O8gCZAYxLCMkSbKO3SZpfJkD35w8N
ILwAoIIaesT3t5vL+IbgRKfAjT342+y7
=f5g0
-END PGP SIGNATURE-
--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] [New Module] Arduino CMake

2012-01-23 Thread Alexander Neundorf
On Sunday 22 January 2012, Alfa Omega wrote:
 Hi everyone,
 
 I'm not quite sure what the correct procedure is for becoming a CMake
 contributor, but from what I've read I should send a email here if I want
 to add a new module to cmake.
 
 For the past year I've been hosting my CMake modules on GitHub (
 https://github.com/queezythegreat/arduino-cmake) and the project is mature
 enough that it could be included into CMake. The project is called Arduino
 CMake and it adds support for building Arduino projects. It is a
 alternative to the Arduino IDE, and works on Windows, Linux and Mac.
 
 The project is growing and getting more and more users, and I think it's
 would be a god fit to start bundling it with CMake. The project is well
 documented both from a developer standpoint as well as the user side.
 
 So what are the steps I should take in order to integrate my project into
 CMake?

Does it follow the regular cross compiling conventions ?
http://www.vtk.org/Wiki/CMake_Cross_Compiling

From a quick look it didn't look like it does.
If so, why did you chose to do it differently ?

Alex
--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake


[CMake] MACOSX_BUNDLE for a shell script application

2012-01-23 Thread Nicholas Yue

Hi,

I wish to package up a collection of dylibs, python scripts and a 
starter shell script as a MACOSX_BUNDLE


E.g. given a file startup.sh

Is there some way to do something like (but as a MACOSX_BUNDLE)

add_executable ( STARTUP_SCRIPT IMPORTED IMPORTED_LOCATION 
${CMAKE_SOURCE_DIR}/startup.sh )


I'd be happy to have a look at other open source project which 
already does that and learn from them.


Regards

--
Nicholas Yue
Graphics - RenderMan, Houdini, Visualization, OpenGL, HDF5
Custom Dev - C++ porting, OSX, Linux, Windows
http://au.linkedin.com/in/nicholasyue

--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

[CMake] CTest: Glob files to include in coverage report with 0% line coverage

2012-01-23 Thread Andreas Schuh
Hi,

Setting CTEST_EXTRA_COVERAGE_GLOB in the CTestCustom.cmake file can be
used to add additional files which shall be included in the coverage
report. This is useful to ensure that files which are not covered by
any test are still reported with 0% line coverage.

I tried using absolute paths in the glob expressions, which did not
work. Only paths relative to the project's source directory worked for
me.

Now I have a scenario, where certain source files are
configured/copied to the build tree. It seems that these files are,
however, not considered by CTest. I assume the extra coverage glob
looks only for files in the source tree? Is there any way I can ensure
that uncovered files, such as .txx files, which are located in the
build tree are added to the coverage report with 0% line coverage?

Thanks,
Andreas
--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake


[CMake] Complex problem : recursive dependency configurations

2012-01-23 Thread Robert Dailey
As you know, in target_link_libraries(), you can specify debug,
optimized, or general to specify which configurations a library will be
applied to.

I have developed a system to allow dependencies to recursively add their
own dependencies. Suppose we have 3 targets:

A:
  libx
  liby
  libz

B:
  foo
  bar
  A

C:
  A
  B


Above, I list each target (A, B, C). The items under it are the targets it
depends on. So, target A depends on targets named libx, liby, and libz.
Similarly, target B depends on targets foo, bar, and A.

When I flatten out all of the dependencies for target C, it looks like so:

A
B
libx
liby
libz
foo
bar

This is pretty simple, but each dependency listed can also have a debug,
release, or general next to it. So let's use the same example as last
time, but introduce some of these prefixes:

A:
  libx
  liby
  libz

B:
  foo
  bar
  A

C:
  debug B

Above, since B is listed as debug, library B and all of its
dependencies should only build in the debug configuration. So when we
flatten this out, you will see the following. Note that this flattened list
is what is sent to target_link_libraries()

debug B
debug foo
debug bar
debug A
debug libx
debug liby
debug libz

Now where this REALLY gets confusing, is when we have a mixture of
conflicts, where the same target is specified as a dependency twice, but
with different configuration prefixes:


A:
  libx
  liby
  libz

B:
  foo
  bar
  A

C:
  optimized A
  debug B

In this case, A's dependencies are specified as optimized, but B's are
specified as debug, but B also depends on A, so A's dependencies would be
debug as well.

I need to implement a system that can handle such conflicts and resolve
them appropriately. For example, the way A's dependencies would be resolved
is by specifying them as general or no prefix at all, since the flattened
list includes them both in debug and optimized. So the final, flattened
list would look like:

A
debug B
libx
liby
libz
debug foo
debug bar

This is VERY complex and due to the way lists work and stuff, I can't think
of how to do this. Any tips?

-
Robert Dailey
--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

[CMake] Packaging DEB at different directory with CPack

2012-01-23 Thread Damián Nohales
Hello,

I'm doing an application for Debian based systems and I need to package
a .deb file, my application has several files to install in addition to
the main executable.

So, my CMakeLists.txt file looks like:


project(myapp C)
cmake_minimum_required(VERSION 2.8)

# The executable
add_executable(myapp main.c)
install(TARGETS myapp RUNTIME DESTINATION bin)

# Another file to install
install(FILES ${CMAKE_SOURCE_DIR}/data/myapp.desktop DESTINATION
${CMAKE_INSTALL_PREFIX}/share/applications)

SET(CPACK_GENERATOR DEB)
SET(CPACK_DEBIAN_PACKAGE_MAINTAINER Damián Nohales)

INCLUDE(CPack)


I execute CMake and build the package in this way:


$ cd build
$ cmake -DCMAKE_INSTALL_PREFIX=install ..
$ make package


I need to specify a prefix for the installation because I want to test
the application without installing on my whole system.

But the .deb content resulting of executing make package is not what I
expected:


DEBIAN
home
  user
projects
  myapp
build
  install
share
  applications
myapp.desktop
usr
  bin
myapp


(Note that I'm developing my application on the following directory:
/home/user/projects/myapp)

Well, I'm sure you are understanding the problem, I'm expecting that the
generated .deb package to has the files under the /usr directory having
too the myapp.desktop file under the following filename
/usr/share/applications/myapp.desktop.


Any suggestion?
Thanks in advance!
--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Re: [CMake] [New Module] Arduino CMake

2012-01-23 Thread Alfa Omega
Hi,

What part does not follow the convention? I'm using a toolchain file, plus
when I was writing this I based it on a existing module bundled with CMake
(but cant remember which).

I'm open to modifying my project to match the convention. If you could
point out which parts don't quite meet the convention, I would greatly
appreciate that.

Tomasz B.

2012/1/23 Alexander Neundorf a.neundorf-w...@gmx.net

 On Sunday 22 January 2012, Alfa Omega wrote:
  Hi everyone,
 
  I'm not quite sure what the correct procedure is for becoming a CMake
  contributor, but from what I've read I should send a email here if I want
  to add a new module to cmake.
 
  For the past year I've been hosting my CMake modules on GitHub (
  https://github.com/queezythegreat/arduino-cmake) and the project is
 mature
  enough that it could be included into CMake. The project is called
 Arduino
  CMake and it adds support for building Arduino projects. It is a
  alternative to the Arduino IDE, and works on Windows, Linux and Mac.
 
  The project is growing and getting more and more users, and I think it's
  would be a god fit to start bundling it with CMake. The project is well
  documented both from a developer standpoint as well as the user side.
 
  So what are the steps I should take in order to integrate my project into
  CMake?

 Does it follow the regular cross compiling conventions ?
 http://www.vtk.org/Wiki/CMake_Cross_Compiling

 From a quick look it didn't look like it does.
 If so, why did you chose to do it differently ?

 Alex

--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Re: [CMake] Revision header

2012-01-23 Thread Michael Hertling
On 01/21/2012 10:51 PM, Oliver Smith wrote:
 I have a script that generates a revision.h file, I've spent the morning 
 trying to figure out how to make it so that ... any time CMake rebuilds 
 any of the other targets, it starts by running the make-new-revision script.
 
 The idea is, I use the script manually to upversion, but anytime I type 
 make and /anything/ has to be done (even just a relink), it will do 
 the upversion first.
 
 I've only managed to make it either source dependent or always build, 
 which forces the versionNo file to recompile and forces all executables 
 to relink, so if you type:
 
 make ; make ... it will have to relink the executables the second time 
 because of an pointless upversion :)
 
 - Oliver

There might be a solution for your concern, but it's probably somewhat
fragile; look at the following exemplary project for a demonstration:

# CMakeLists.txt:
CMAKE_MINIMUM_REQUIRED(VERSION 2.8 FATAL_ERROR)
PROJECT(P C)
SET(CMAKE_VERBOSE_MAKEFILE ON)
SET(VERSIONHEADERIN ${CMAKE_SOURCE_DIR}/version.h.in)
SET(VERSIONHEADER ${CMAKE_BINARY_DIR}/version.h)
SET(VERSIONFILE ${CMAKE_BINARY_DIR}/version.txt)
IF(NOT EXISTS ${VERSIONFILE})
FILE(WRITE ${VERSIONFILE} 0\n)
ENDIF()
INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR})
ADD_EXECUTABLE(main main.c)
ADD_CUSTOM_TARGET(version
${CMAKE_COMMAND}
-DVERSIONHEADERIN=${VERSIONHEADERIN}
-DVERSIONHEADER=${VERSIONHEADER}
-DVERSIONFILE=${VERSIONFILE}
-P ${CMAKE_SOURCE_DIR}/version.cmake)
ADD_DEPENDENCIES(main version)
ADD_CUSTOM_TARGET(upversion
${CMAKE_COMMAND}
-DVERSIONFILE=${VERSIONFILE}
-P ${CMAKE_SOURCE_DIR}/upversion.cmake)

# version.cmake:
FILE(STRINGS ${VERSIONFILE} VERSION)
EXECUTE_PROCESS(
COMMAND make -n VERBOSE=
COMMAND grep Linking
RESULT_VARIABLE GREPPED
)
IF(GREPPED EQUAL 0)
# Something will be done, thus:
MATH(EXPR VERSION ${VERSION}+1)
FILE(WRITE ${VERSIONFILE} ${VERSION}\n)
ENDIF()
CONFIGURE_FILE(${VERSIONHEADERIN} ${VERSIONHEADER} @ONLY)

# upversion.cmake:
FILE(STRINGS ${VERSIONFILE} VERSION)
MATH(EXPR VERSION ${VERSION}+1)
FILE(WRITE ${VERSIONFILE} ${VERSION}\n)

/* version.h.in: */
#define VERSION @VERSION@

/* main.c: */
#include version.h
#include stdio.h
int main(void)
{
printf(VERSION: %d\n,VERSION);
}

The basic idea is to run make -n (version.cmake), scan the output for
strings indicating an upcoming rebuild (Linking), increment a version
number accordingly (version.txt) and generate a version header in the
end (version.h.in). Anything else is done via the usual dependency
tracking. Additionally, the upversion.cmake script allows for
incrementing the version number manually.

Perhaps, you can adapt the approach to your needs. However, the critical
moment is how to detect if any actions which require the version number
to be incremented are going to happen. The example uses make -n and
grep for this purpose, but that's fragile, of course, as I remarked
at the outset.

Regards,

Michael
--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake


[CMake] How to define dependencies? Problem with nmake builds.

2012-01-23 Thread james

My component source list includes:

easyrtd.src/COMRtdInterface.cpp
easyrtd.src/EasyRTD.rc
easyrtd.src/EasyRTD.idl

and after fixing up the paths Visual Studio builds the project OK.

However, nmake does not - the RC compiler runs before MIDL.

It seems that there is a dependency that's missing.  This would seem to 
be the implied one from the TYPELIB statement in the RC file.


Is it enough to use OBJECT_DEPENDS on the rc file (treating the implied 
res file as an object) naming the tlb that would be output by midl?


Presumably I'd also have to declare that the idl file produces the tlb 
file, using OBJECT_OUTPUTS? (Or not?  This is only for Makefile 
generators, but how is the OBJECT_DEPENDS going to be handled in other 
cases?)


There seems to be an element of magic going on here rather than 
explicitly handling the midl/rc/link toolchain. I know Visual Studio 
tries to make this stff easy - but how does it work with nmake (and 
ideally the mingw toolchain too)?


James
--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] Packaging DEB at different directory with CPack

2012-01-23 Thread Eric Noulard
2012/1/24 Damián Nohales damiannoha...@gmail.com:
 Hello,

 I'm doing an application for Debian based systems and I need to package
 a .deb file, my application has several files to install in addition to
 the main executable.

 So, my CMakeLists.txt file looks like:

 
 project(myapp C)
 cmake_minimum_required(VERSION 2.8)

 # The executable
 add_executable(myapp main.c)
 install(TARGETS myapp RUNTIME DESTINATION bin)

this is ok.


 # Another file to install
 install(FILES ${CMAKE_SOURCE_DIR}/data/myapp.desktop DESTINATION
 ${CMAKE_INSTALL_PREFIX}/share/applications)

This is usually wrong as it is an absolute PATH destination
why don't you simply specify
install(FILES ${CMAKE_SOURCE_DIR}/data/myapp.desktop DESTINATION
 share/applications)

 SET(CPACK_GENERATOR DEB)
 SET(CPACK_DEBIAN_PACKAGE_MAINTAINER Damián Nohales)

 INCLUDE(CPack)
 

 I execute CMake and build the package in this way:

 
 $ cd build
 $ cmake -DCMAKE_INSTALL_PREFIX=install ..

Specifying CMAKE_INSTALL_PREFIX has no effect on the following CPack call

 $ make package
 

 I need to specify a prefix for the installation because I want to test
 the application without installing on my whole system.

Then you should override CPACK_PACKAGING_INSTALL_PREFIX

$ cd build
$ cpack -D CPACK_PACKAGING_INSTALL_PREFIX=$HOME/testinstall -G DEB

another possibility is to install you deb content at an alternate location
using

dpkg --instdir=$HOME/testinstall -i your.deb


 But the .deb content resulting of executing make package is not what I
 expected:


[...]


 Well, I'm sure you are understanding the problem, I'm expecting that the
 generated .deb package to has the files under the /usr directory having
 too the myapp.desktop file under the following filename
 /usr/share/applications/myapp.desktop.

 Any suggestion?

Always use relative DESTINATION install path unless you forcibly want
an ABSOLUTE destination.

-- 
Erk
Membre de l'April - « promouvoir et défendre le logiciel libre » -
http://www.april.org
--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] [New Module] Arduino CMake

2012-01-23 Thread Johan Björk
Hi Alfa,

We are really interested in the teamcity + CTest support. Is that available
somewhere already?

Thanks
/Johan


On Sun, Jan 22, 2012 at 7:51 PM, Alfa Omega queezythegr...@gmail.comwrote:

 Hi everyone,

 I'm not quite sure what the correct procedure is for becoming a CMake
 contributor, but from what I've read I should send a email here if I want
 to add a new module to cmake.

 For the past year I've been hosting my CMake modules on GitHub (
 https://github.com/queezythegreat/arduino-cmake) and the project is
 mature enough that it could be included into CMake. The project is called
 Arduino CMake and it adds support for building Arduino projects. It is a
 alternative to the Arduino IDE, and works on Windows, Linux and Mac.

 The project is growing and getting more and more users, and I think it's
 would be a god fit to start bundling it with CMake. The project is well
 documented both from a developer standpoint as well as the user side.

 So what are the steps I should take in order to integrate my project into
 CMake?

 I also would like to contribute back some extensions to the CMake, such as
 Teamcity support for CTest. Any information would be greatly appreciated.

 Tomasz Bogdal

 --

 Powered by www.kitware.com

 Visit other Kitware open-source projects at
 http://www.kitware.com/opensource/opensource.html

 Please keep messages on-topic and check the CMake FAQ at:
 http://www.cmake.org/Wiki/CMake_FAQ

 Follow this link to subscribe/unsubscribe:
 http://www.cmake.org/mailman/listinfo/cmake

--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Re: [CMake] CTest: Glob files to include in coverage report with 0% line coverage

2012-01-23 Thread Rolf Eike Beer
Andreas Schuh wrote:
 Hi,
 
 Setting CTEST_EXTRA_COVERAGE_GLOB in the CTestCustom.cmake file can be
 used to add additional files which shall be included in the coverage
 report. This is useful to ensure that files which are not covered by
 any test are still reported with 0% line coverage.

Oh, interesting variable. How can it be that there is absolutely zero 
documentation for in CMake?

Eike

signature.asc
Description: This is a digitally signed message part.
--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Re: [CMake] CTest: Glob files to include in coverage report with 0% line coverage

2012-01-23 Thread Eric Noulard
2012/1/24 Rolf Eike Beer e...@sf-mail.de:
 Andreas Schuh wrote:
 Hi,

 Setting CTEST_EXTRA_COVERAGE_GLOB in the CTestCustom.cmake file can be
 used to add additional files which shall be included in the coverage
 report. This is useful to ensure that files which are not covered by
 any test are still reported with 0% line coverage.

 Oh, interesting variable. How can it be that there is absolutely zero
 documentation for in CMake?

Because ctest and cpack documentation are very far from being
documented as cmake is ?
E.g. current ctest and cpack do not have --help-variable-* support?

If you want to help please try my stage/ImproveCPackDoc-reloaded branch
and may be read this: http://public.kitware.com/Bug/view.php?id=10067

The technique I propose may be used for cpack, ctest, etc...

-- 
Erk
Membre de l'April - « promouvoir et défendre le logiciel libre » -
http://www.april.org
--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake


[Cmake-commits] CMake branch, next, updated. v2.8.7-2200-g6d403e1

2012-01-23 Thread Rolf Eike Beer
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project CMake.

The branch, next has been updated
   via  6d403e168707cbdbf81bcb503de07a0a56770ea3 (commit)
   via  b5719fb7272707889030f990d8c6bf66f415c417 (commit)
  from  30c4f7ebf72275894417ec55b5296b701014d6ce (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6d403e168707cbdbf81bcb503de07a0a56770ea3
commit 6d403e168707cbdbf81bcb503de07a0a56770ea3
Merge: 30c4f7e b5719fb
Author: Rolf Eike Beer e...@sf-mail.de
AuthorDate: Mon Jan 23 14:08:59 2012 -0500
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Mon Jan 23 14:08:59 2012 -0500

Merge topic 'improve-findgnutls' into next

b5719fb FindGnuTLS: partly support version selection

diff --cc Modules/FindGnuTLS.cmake
index e69a16b,2e2bf8a..02f2964
--- a/Modules/FindGnuTLS.cmake
+++ b/Modules/FindGnuTLS.cmake
@@@ -35,9 -35,10 +35,10 @@@ IF (NOT WIN32
 # try using pkg-config to get the directories and then use these values
 # in the FIND_PATH() and FIND_LIBRARY() calls
 # also fills in GNUTLS_DEFINITIONS, although that isn't normally useful
 -   FIND_PACKAGE(PkgConfig)
 -   PKG_CHECK_MODULES(PC_GNUTLS gnutls)
 +   FIND_PACKAGE(PkgConfig QUIET)
 +   PKG_CHECK_MODULES(PC_GNUTLS QUIET gnutls)
 SET(GNUTLS_DEFINITIONS ${PC_GNUTLS_CFLAGS_OTHER})
+SET(GNUTLS_VERSION_STRING ${PC_GNUTLS_VERSION})
  ENDIF (NOT WIN32)
  
  FIND_PATH(GNUTLS_INCLUDE_DIR gnutls/gnutls.h

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b5719fb7272707889030f990d8c6bf66f415c417
commit b5719fb7272707889030f990d8c6bf66f415c417
Author: Rolf Eike Beer e...@sf-mail.de
AuthorDate: Mon Jan 23 19:19:10 2012 +0100
Commit: Rolf Eike Beer e...@sf-mail.de
CommitDate: Mon Jan 23 20:07:46 2012 +0100

FindGnuTLS: partly support version selection

For the Un*x systems where we use PkgConfig to find the library we can also
use the version returned from there.

diff --git a/Modules/FindGnuTLS.cmake b/Modules/FindGnuTLS.cmake
index a437a1f..2e2bf8a 100644
--- a/Modules/FindGnuTLS.cmake
+++ b/Modules/FindGnuTLS.cmake
@@ -38,6 +38,7 @@ IF (NOT WIN32)
FIND_PACKAGE(PkgConfig)
PKG_CHECK_MODULES(PC_GNUTLS gnutls)
SET(GNUTLS_DEFINITIONS ${PC_GNUTLS_CFLAGS_OTHER})
+   SET(GNUTLS_VERSION_STRING ${PC_GNUTLS_VERSION})
 ENDIF (NOT WIN32)
 
 FIND_PATH(GNUTLS_INCLUDE_DIR gnutls/gnutls.h
@@ -57,7 +58,9 @@ MARK_AS_ADVANCED(GNUTLS_INCLUDE_DIR GNUTLS_LIBRARY)
 # handle the QUIETLY and REQUIRED arguments and set GNUTLS_FOUND to TRUE if 
 # all listed variables are TRUE
 INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(GnuTLS DEFAULT_MSG GNUTLS_LIBRARY 
GNUTLS_INCLUDE_DIR)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(GnuTLS
+  REQUIRED_VARS GNUTLS_LIBRARY 
GNUTLS_INCLUDE_DIR
+  VERSION_VAR GNUTLS_VERSION_STRING)
 
 IF(GNUTLS_FOUND)
 SET(GNUTLS_LIBRARIES${GNUTLS_LIBRARY})

---

Summary of changes:
 Modules/FindGnuTLS.cmake |5 -
 1 files changed, 4 insertions(+), 1 deletions(-)


hooks/post-receive
-- 
CMake
___
Cmake-commits mailing list
Cmake-commits@cmake.org
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits


[Cmake-commits] CMake branch, next, updated. v2.8.7-2202-g85200d8

2012-01-23 Thread Rolf Eike Beer
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project CMake.

The branch, next has been updated
   via  85200d8e6e841d94e53674025cadb6a1ed857c53 (commit)
   via  a803a622d052e6b50873f6bf6a3ab224f656333f (commit)
  from  6d403e168707cbdbf81bcb503de07a0a56770ea3 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=85200d8e6e841d94e53674025cadb6a1ed857c53
commit 85200d8e6e841d94e53674025cadb6a1ed857c53
Merge: 6d403e1 a803a62
Author: Rolf Eike Beer e...@sf-mail.de
AuthorDate: Mon Jan 23 14:11:16 2012 -0500
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Mon Jan 23 14:11:16 2012 -0500

Merge topic 'improve-findgit' into next

a803a62 FindGit: support version number


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a803a622d052e6b50873f6bf6a3ab224f656333f
commit a803a622d052e6b50873f6bf6a3ab224f656333f
Author: Rolf Eike Beer e...@sf-mail.de
AuthorDate: Mon Jan 23 19:46:08 2012 +0100
Commit: Rolf Eike Beer e...@sf-mail.de
CommitDate: Mon Jan 23 20:10:42 2012 +0100

FindGit: support version number

diff --git a/Modules/FindGit.cmake b/Modules/FindGit.cmake
index 503b640..f89d1af 100644
--- a/Modules/FindGit.cmake
+++ b/Modules/FindGit.cmake
@@ -1,6 +1,7 @@
 # The module defines the following variables:
 #   GIT_EXECUTABLE - path to git command line client
 #   GIT_FOUND - true if the command line client was found
+#   GIT_VERSION_STRING - the version of git found (since CMake 2.8.8)
 # Example usage:
 #   find_package(Git)
 #   if(GIT_FOUND)
@@ -9,6 +10,7 @@
 
 #=
 # Copyright 2010 Kitware, Inc.
+# Copyright 2012 Rolf Eike Beer e...@sf-mail.de
 #
 # Distributed under the OSI-approved BSD License (the License);
 # see accompanying file Copyright.txt for details.
@@ -40,8 +42,21 @@ find_program(GIT_EXECUTABLE
   )
 mark_as_advanced(GIT_EXECUTABLE)
 
+if(GIT_EXECUTABLE)
+  execute_process(COMMAND ${GIT_EXECUTABLE} --version
+  OUTPUT_VARIABLE git_version
+  ERROR_QUIET
+  OUTPUT_STRIP_TRAILING_WHITESPACE)
+  if (git_version MATCHES ^git version [0-9])
+string(REPLACE git version   GIT_VERSION_STRING ${git_version})
+  endif()
+  unset(git_version)
+endif(GIT_EXECUTABLE)
+
 # Handle the QUIETLY and REQUIRED arguments and set GIT_FOUND to TRUE if
 # all listed variables are TRUE
 
 include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-find_package_handle_standard_args(Git DEFAULT_MSG GIT_EXECUTABLE)
+find_package_handle_standard_args(Git
+  REQUIRED_VARS GIT_EXECUTABLE
+  VERSION_VAR GIT_VERSION_STRING)

---

Summary of changes:
 Modules/FindGit.cmake |   17 -
 1 files changed, 16 insertions(+), 1 deletions(-)


hooks/post-receive
-- 
CMake
___
Cmake-commits mailing list
Cmake-commits@cmake.org
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits


[Cmake-commits] CMake branch, next, updated. v2.8.7-2204-gf9ed351

2012-01-23 Thread Rolf Eike Beer
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project CMake.

The branch, next has been updated
   via  f9ed351ea5313cef177de225ffcec506702844b5 (commit)
   via  be2b108776b46b73508654322e7b4b24f404e191 (commit)
  from  85200d8e6e841d94e53674025cadb6a1ed857c53 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f9ed351ea5313cef177de225ffcec506702844b5
commit f9ed351ea5313cef177de225ffcec506702844b5
Merge: 85200d8 be2b108
Author: Rolf Eike Beer e...@sf-mail.de
AuthorDate: Mon Jan 23 14:56:21 2012 -0500
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Mon Jan 23 14:56:21 2012 -0500

Merge topic 'improve-findcups' into next

be2b108 FindCups: major overhaul


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=be2b108776b46b73508654322e7b4b24f404e191
commit be2b108776b46b73508654322e7b4b24f404e191
Author: Rolf Eike Beer e...@sf-mail.de
AuthorDate: Mon Jan 23 20:31:38 2012 +0100
Commit: Rolf Eike Beer e...@sf-mail.de
CommitDate: Mon Jan 23 20:31:47 2012 +0100

FindCups: major overhaul

This introduces CUPS_VERSION_STRING and ports the module over to use FPHSA 
for
all the benefits that come with it.

diff --git a/Modules/FindCups.cmake b/Modules/FindCups.cmake
index 7e3e10a..3862f7d 100644
--- a/Modules/FindCups.cmake
+++ b/Modules/FindCups.cmake
@@ -4,12 +4,14 @@
 #  CUPS_FOUND - system has Cups
 #  CUPS_INCLUDE_DIR - the Cups include directory
 #  CUPS_LIBRARIES - Libraries needed to use Cups
+#  CUPS_VERSION_STRING - version of Cups found (since CMake 2.8.8)
 #  Set CUPS_REQUIRE_IPP_DELETE_ATTRIBUTE to TRUE if you need a version which 
 #  features this function (i.e. at least 1.1.19)
 
 #=
 # Copyright 2006-2009 Kitware, Inc.
 # Copyright 2006 Alexander Neundorf neund...@kde.org
+# Copyright 2012 Rolf Eike Beer e...@sf-mail.de
 #
 # Distributed under the OSI-approved BSD License (the License);
 # see accompanying file Copyright.txt for details.
@@ -21,36 +23,47 @@
 # (To distribute this file outside of CMake, substitute the full
 #  License text for the above reference.)
 
-INCLUDE(CheckLibraryExists)
+find_path(CUPS_INCLUDE_DIR cups/cups.h )
 
-FIND_PATH(CUPS_INCLUDE_DIR cups/cups.h )
+find_library(CUPS_LIBRARIES NAMES cups )
 
-FIND_LIBRARY(CUPS_LIBRARIES NAMES cups )
+if (CUPS_INCLUDE_DIR AND CUPS_LIBRARIES AND CUPS_REQUIRE_IPP_DELETE_ATTRIBUTE)
+include(CheckLibraryExists)
 
-IF (CUPS_INCLUDE_DIR AND CUPS_LIBRARIES)
-   SET(CUPS_FOUND TRUE)
+# ippDeleteAttribute is new in cups-1.1.19 (and used by kdeprint)
+CHECK_LIBRARY_EXISTS(cups ippDeleteAttribute  
CUPS_HAS_IPP_DELETE_ATTRIBUTE)
+endif (CUPS_INCLUDE_DIR AND CUPS_LIBRARIES AND 
CUPS_REQUIRE_IPP_DELETE_ATTRIBUTE)
 
-   # ippDeleteAttribute is new in cups-1.1.19 (and used by kdeprint)
-   CHECK_LIBRARY_EXISTS(cups ippDeleteAttribute  
CUPS_HAS_IPP_DELETE_ATTRIBUTE)
-   IF (CUPS_REQUIRE_IPP_DELETE_ATTRIBUTE AND NOT CUPS_HAS_IPP_DELETE_ATTRIBUTE)
-  SET(CUPS_FOUND FALSE)
-   ENDIF (CUPS_REQUIRE_IPP_DELETE_ATTRIBUTE AND NOT 
CUPS_HAS_IPP_DELETE_ATTRIBUTE)
+if (CUPS_INCLUDE_DIR AND EXISTS ${CUPS_INCLUDE_DIR}/cups/cups.h)
+file(STRINGS ${CUPS_INCLUDE_DIR}/cups/cups.h cups_version_str
+ REGEX ^#[\t ]*define[\t ]+CUPS_VERSION_(MAJOR|MINOR|PATCH)[\t 
]+[0-9]+$)
 
-ELSE  (CUPS_INCLUDE_DIR AND CUPS_LIBRARIES)
-   SET(CUPS_FOUND FALSE)
-ENDIF (CUPS_INCLUDE_DIR AND CUPS_LIBRARIES)
+unset(CUPS_VERSION_STRING)
+foreach(VPART MAJOR MINOR PATCH)
+foreach(VLINE ${cups_version_str})
+if(VLINE MATCHES ^#[\t ]*define[\t ]+CUPS_VERSION_${VPART})
+string(REGEX REPLACE ^#[\t ]*define[\t 
]+CUPS_VERSION_${VPART}[\t ]+([0-9]+)$ \\1
+   CUPS_VERSION_PART ${VLINE})
+if(CUPS_VERSION_STRING)
+set(CUPS_VERSION_STRING 
${CUPS_VERSION_STRING}.${CUPS_VERSION_PART})
+else(CUPS_VERSION_STRING)
+set(CUPS_VERSION_STRING ${CUPS_VERSION_PART})
+endif(CUPS_VERSION_STRING)
+endif()
+endforeach(VLINE)
+endforeach(VPART)
+endif (CUPS_INCLUDE_DIR AND EXISTS ${CUPS_INCLUDE_DIR}/cups/cups.h)
 
-IF (CUPS_FOUND)
-   IF (NOT Cups_FIND_QUIETLY)
-  MESSAGE(STATUS Found Cups: ${CUPS_LIBRARIES})
-   ENDIF (NOT Cups_FIND_QUIETLY)
-ELSE (CUPS_FOUND)
-   SET(CUPS_LIBRARIES )
-   IF (Cups_FIND_REQUIRED)
-  MESSAGE(FATAL_ERROR Could NOT find Cups)
-   ENDIF (Cups_FIND_REQUIRED)
-ENDIF (CUPS_FOUND)
-  
-  
-MARK_AS_ADVANCED(CUPS_INCLUDE_DIR CUPS_LIBRARIES)
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+

[Cmake-commits] CMake branch, next, updated. v2.8.7-2206-gfac20b8

2012-01-23 Thread Rolf Eike Beer
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project CMake.

The branch, next has been updated
   via  fac20b8adb0a9aa338e670957f62eadf756ecc69 (commit)
   via  7f81c48bdd7901a310744c3b65a8a975cd9cf1a6 (commit)
  from  f9ed351ea5313cef177de225ffcec506702844b5 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=fac20b8adb0a9aa338e670957f62eadf756ecc69
commit fac20b8adb0a9aa338e670957f62eadf756ecc69
Merge: f9ed351 7f81c48
Author: Rolf Eike Beer e...@sf-mail.de
AuthorDate: Mon Jan 23 14:57:28 2012 -0500
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Mon Jan 23 14:57:28 2012 -0500

Merge topic 'improve-findexpat' into next

7f81c48 FindEXPAT: support version number


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=7f81c48bdd7901a310744c3b65a8a975cd9cf1a6
commit 7f81c48bdd7901a310744c3b65a8a975cd9cf1a6
Author: Rolf Eike Beer e...@sf-mail.de
AuthorDate: Mon Jan 23 20:53:22 2012 +0100
Commit: Rolf Eike Beer e...@sf-mail.de
CommitDate: Mon Jan 23 20:54:04 2012 +0100

FindEXPAT: support version number

diff --git a/Modules/FindEXPAT.cmake b/Modules/FindEXPAT.cmake
index 8551fd6..1bf0743 100644
--- a/Modules/FindEXPAT.cmake
+++ b/Modules/FindEXPAT.cmake
@@ -24,10 +24,32 @@ FIND_PATH(EXPAT_INCLUDE_DIR NAMES expat.h)
 # Look for the library.
 FIND_LIBRARY(EXPAT_LIBRARY NAMES expat libexpat)
 
+if (EXPAT_INCLUDE_DIR AND EXISTS ${EXPAT_INCLUDE_DIR}/expat.h)
+file(STRINGS ${EXPAT_INCLUDE_DIR}/expat.h expat_version_str
+ REGEX ^#[\t ]*define[\t ]+XML_(MAJOR|MINOR|MICRO)_VERSION[\t 
]+[0-9]+$)
+
+unset(EXPAT_VERSION_STRING)
+foreach(VPART MAJOR MINOR MICRO)
+foreach(VLINE ${expat_version_str})
+if(VLINE MATCHES ^#[\t ]*define[\t ]+XML_${VPART}_VERSION)
+string(REGEX REPLACE ^#[\t ]*define[\t 
]+XML_${VPART}_VERSION[\t ]+([0-9]+)$ \\1
+   EXPAT_VERSION_PART ${VLINE})
+if(EXPAT_VERSION_STRING)
+set(EXPAT_VERSION_STRING 
${EXPAT_VERSION_STRING}.${EXPAT_VERSION_PART})
+else(EXPAT_VERSION_STRING)
+set(EXPAT_VERSION_STRING ${EXPAT_VERSION_PART})
+endif(EXPAT_VERSION_STRING)
+endif()
+endforeach(VLINE)
+endforeach(VPART)
+endif (EXPAT_INCLUDE_DIR AND EXISTS ${EXPAT_INCLUDE_DIR}/expat.h)
+
 # handle the QUIETLY and REQUIRED arguments and set EXPAT_FOUND to TRUE if 
 # all listed variables are TRUE
 INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(EXPAT DEFAULT_MSG EXPAT_LIBRARY 
EXPAT_INCLUDE_DIR)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(EXPAT
+  REQUIRED_VARS EXPAT_LIBRARY EXPAT_INCLUDE_DIR
+  VERSION_VAR EXPAT_VERSION_STRING)
 
 # Copy the results to the output variables.
 IF(EXPAT_FOUND)

---

Summary of changes:
 Modules/FindEXPAT.cmake |   24 +++-
 1 files changed, 23 insertions(+), 1 deletions(-)


hooks/post-receive
-- 
CMake
___
Cmake-commits mailing list
Cmake-commits@cmake.org
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits


[Cmake-commits] CMake branch, next, updated. v2.8.7-2208-ga6810c3

2012-01-23 Thread Rolf Eike Beer
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project CMake.

The branch, next has been updated
   via  a6810c3c5cb8e0a83bac551c36b5312909f48a8b (commit)
   via  c1b884965f86e2622f55d261259fc2a148035f5b (commit)
  from  fac20b8adb0a9aa338e670957f62eadf756ecc69 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a6810c3c5cb8e0a83bac551c36b5312909f48a8b
commit a6810c3c5cb8e0a83bac551c36b5312909f48a8b
Merge: fac20b8 c1b8849
Author: Rolf Eike Beer e...@sf-mail.de
AuthorDate: Mon Jan 23 15:47:33 2012 -0500
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Mon Jan 23 15:47:33 2012 -0500

Merge topic 'improve-findcurl' into next

c1b8849 FindCURL: support version selection


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c1b884965f86e2622f55d261259fc2a148035f5b
commit c1b884965f86e2622f55d261259fc2a148035f5b
Author: Rolf Eike Beer e...@sf-mail.de
AuthorDate: Mon Jan 23 21:46:56 2012 +0100
Commit: Rolf Eike Beer e...@sf-mail.de
CommitDate: Mon Jan 23 21:46:56 2012 +0100

FindCURL: support version selection

diff --git a/Modules/FindCURL.cmake b/Modules/FindCURL.cmake
index 36f3841..517638a 100644
--- a/Modules/FindCURL.cmake
+++ b/Modules/FindCURL.cmake
@@ -1,12 +1,14 @@
 # - Find curl
 # Find the native CURL headers and libraries.
 #
-#  CURL_INCLUDE_DIRS - where to find curl/curl.h, etc.
-#  CURL_LIBRARIES- List of libraries when using curl.
-#  CURL_FOUND- True if curl found.
+#  CURL_INCLUDE_DIRS   - where to find curl/curl.h, etc.
+#  CURL_LIBRARIES  - List of libraries when using curl.
+#  CURL_FOUND  - True if curl found.
+#  CURL_VERSION_STRING - the version of curl found (since CMake 2.8.8)
 
 #=
 # Copyright 2006-2009 Kitware, Inc.
+# Copyright 2012 Rolf Eike Beer e...@sf-mail.de
 #
 # Distributed under the OSI-approved BSD License (the License);
 # see accompanying file Copyright.txt for details.
@@ -32,10 +34,19 @@ FIND_LIBRARY(CURL_LIBRARY NAMES
 )
 MARK_AS_ADVANCED(CURL_LIBRARY)
 
+IF(CURL_INCLUDE_DIR AND EXISTS ${CURL_INCLUDE_DIR}/curl/curlver.h)
+  FILE(STRINGS ${CURL_INCLUDE_DIR}/curl/curlver.h curl_version_str REGEX 
^#define[\t ]+LIBCURL_VERSION[\t ]+\.*\)
+
+  STRING(REGEX REPLACE ^#define[\t ]+LIBCURL_VERSION[\t ]+\([^\]*)\.* 
\\1 CURL_VERSION_STRING ${curl_version_str})
+  UNSET(curl_version_str)
+ENDIF()
+
 # handle the QUIETLY and REQUIRED arguments and set CURL_FOUND to TRUE if 
 # all listed variables are TRUE
 INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(CURL DEFAULT_MSG CURL_LIBRARY 
CURL_INCLUDE_DIR)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(CURL
+  REQUIRED_VARS CURL_LIBRARY CURL_INCLUDE_DIR
+  VERSION_VAR CURL_VERSION_STRING)
 
 IF(CURL_FOUND)
   SET(CURL_LIBRARIES ${CURL_LIBRARY})

---

Summary of changes:
 Modules/FindCURL.cmake |   19 +++
 1 files changed, 15 insertions(+), 4 deletions(-)


hooks/post-receive
-- 
CMake
___
Cmake-commits mailing list
Cmake-commits@cmake.org
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits


[Cmake-commits] CMake branch, next, updated. v2.8.7-2210-g42dd02e

2012-01-23 Thread Rolf Eike Beer
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project CMake.

The branch, next has been updated
   via  42dd02e12064aa642ce83aa02c3c0d8a0cd4424b (commit)
   via  0b2e81c63ce6ca9dcf9d775d3f5cd22749e8c134 (commit)
  from  a6810c3c5cb8e0a83bac551c36b5312909f48a8b (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=42dd02e12064aa642ce83aa02c3c0d8a0cd4424b
commit 42dd02e12064aa642ce83aa02c3c0d8a0cd4424b
Merge: a6810c3 0b2e81c
Author: Rolf Eike Beer e...@sf-mail.de
AuthorDate: Mon Jan 23 17:40:42 2012 -0500
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Mon Jan 23 17:40:42 2012 -0500

Merge topic 'flex-version' into next

0b2e81c FindFLEX: fix version parsing when the executable is quoted


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0b2e81c63ce6ca9dcf9d775d3f5cd22749e8c134
commit 0b2e81c63ce6ca9dcf9d775d3f5cd22749e8c134
Author: Rolf Eike Beer e...@sf-mail.de
AuthorDate: Mon Jan 23 23:40:17 2012 +0100
Commit: Rolf Eike Beer e...@sf-mail.de
CommitDate: Mon Jan 23 23:40:17 2012 +0100

FindFLEX: fix version parsing when the executable is quoted

diff --git a/Modules/FindFLEX.cmake b/Modules/FindFLEX.cmake
index 6309bc9..586f77a 100644
--- a/Modules/FindFLEX.cmake
+++ b/Modules/FindFLEX.cmake
@@ -94,7 +94,7 @@ IF(FLEX_EXECUTABLE)
 # older versions of flex printed /full/path/to/executable version X.Y
 # newer versions use basename(executable) X.Y
 GET_FILENAME_COMPONENT(FLEX_EXE_NAME ${FLEX_EXECUTABLE} NAME)
-STRING(REGEX REPLACE ^.*${FLEX_EXE_NAME} (version )?([0-9]+[^ ]*)$ \\2
+STRING(REGEX REPLACE ^.*${FLEX_EXE_NAME}\? (version )?([0-9]+[^ ]*)$ 
\\2
   FLEX_VERSION ${FLEX_version_output})
 UNSET(FLEX_EXE_NAME)
   ENDIF()

---

Summary of changes:
 Modules/FindFLEX.cmake |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)


hooks/post-receive
-- 
CMake
___
Cmake-commits mailing list
Cmake-commits@cmake.org
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits


[Cmake-commits] CMake branch, master, updated. v2.8.7-146-g99180a0

2012-01-23 Thread KWSys Robot
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project CMake.

The branch, master has been updated
   via  99180a0bb27eefd6ef8802c8d5c26a2f6e1cec68 (commit)
  from  86c9604f98b2271401cf7a53c251be51af15278c (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=99180a0bb27eefd6ef8802c8d5c26a2f6e1cec68
commit 99180a0bb27eefd6ef8802c8d5c26a2f6e1cec68
Author: KWSys Robot kwro...@kitware.com
AuthorDate: Tue Jan 24 00:05:16 2012 -0500
Commit: KWSys Robot kwro...@kitware.com
CommitDate: Tue Jan 24 00:05:16 2012 -0500

KWSys Nightly Date Stamp

diff --git a/Source/kwsys/kwsysDateStamp.cmake 
b/Source/kwsys/kwsysDateStamp.cmake
index 0ce4f2c..0c1f8ac 100644
--- a/Source/kwsys/kwsysDateStamp.cmake
+++ b/Source/kwsys/kwsysDateStamp.cmake
@@ -18,4 +18,4 @@ SET(KWSYS_DATE_STAMP_YEAR  2012)
 SET(KWSYS_DATE_STAMP_MONTH 01)
 
 # KWSys version date day component.  Format is DD.
-SET(KWSYS_DATE_STAMP_DAY   23)
+SET(KWSYS_DATE_STAMP_DAY   24)

---

Summary of changes:
 Source/kwsys/kwsysDateStamp.cmake |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)


hooks/post-receive
-- 
CMake
___
Cmake-commits mailing list
Cmake-commits@cmake.org
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits