Re: [CMake] cmake 2.6.1 RC 8

2008-07-15 Thread Pau Garcia i Quiles

Quoting Bill Hoffman <[EMAIL PROTECTED]>:


Reggie Burnett wrote:

Any plans of a wix generator for cpack?



None that I know of.  What is wix?


It's an open source NSIS-like installer generator by Microsoft

http://en.wikipedia.org/wiki/WiX
http://wix.sourceforge.net/


--
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] Three short questions...

2008-07-15 Thread Philip Lowman
On Tue, Jul 15, 2008 at 11:09 AM, Hauke Heibel <[EMAIL PROTECTED]> wrote:

>  And the last question is, if it is possible to tell the FindQt.cmake
>> script to give me the plain libraries without the full path of them being
>> prepended (I am talking about the content of the QT_LIBRARIES variable). I
>> would rather like to use LINK_DIRECTORIES and TARGET_LINK_LIBRARIES
>> separately, i.e. I would prefer QtGuid4.lib over C:\Qt\lib\QtGuid4.lib.
>
>
> It should be possible to do this with STRING(REGEX REPLACE... ) if there is
> no better way.  I'm curious why you would need to do this though.  The use
> of TARGET_LINK_LIBRARIES() with full paths is highly desired over
> LINK_LIBRARIES() and TARGET_LINK_LIBRARIES() with a relative library
> filename.
>
> Ok, I see what you mean though I am wondering why in general not all CMake
> Find modules follow this paradigm. For instance all of my ITK libraries seem
> to be set via TARGET_LINK_LIBRARIES() without the path and the path (here
> luckily including the $(OutDir), which I just realized) seems to be set via
> LINK_DIRECTORIES(). Maybe it is done that way to support the multi-target
> MSVC generator because LINK_DIRECTORIES() does not (yet?) support the
> CONFIGURATIONS option.
>

This is probably a good theory as to why it's done this way.  It's one of
the downsides of CMake that using it for MSVC is not quite as
straightforward as using it on other compilers.

To really use CMake properly with VS generated libraries (which have the
release vs. release and debug vs. debug linking requirement) you either have
to add extra calls to FIND_LIBRARY() to find the Debug libraries with an
appended "d" (most CMake find modules don't do this on their own) or use a
hack like this:

FIND_LIBRARY(MYMATH_LIBRARY mymath)
ADD_EXECUTABLE(foo foo.cc)
IF(MSVC)
   STRING(REPLACE ".lib" "d.lib" MYMATH_DEBUG_LIBRARY ${MYMATH_LIBRARY})
   TARGET_LINK_LIBRARIES(foo optimized ${MYMATH_LIBRARY} debug
${MYMATH_DEBUG_LIBRARY})
ELSE()
   TARGET_LINK_LIBRARIES(foo ${MYMATH_LIBRARY})
ENDIF()


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

Re: [CMake] trouble setting library output directoy

2008-07-15 Thread Mike Jackson

# -- Setup output Directories -
SET (LIBRARY_OUTPUT_PATH
  ${PROJECT_BINARY_DIR}/Bin
  CACHE PATH
  "Single Directory for all Libraries"
  )

This will effect all targets.

--
Mike Jackson   Senior Research Engineer
Innovative Management & Technology Services


On Jul 15, 2008, at 8:41 PM, Christopher Harvey wrote:


Hi,
I've got a root directory, say /
and there is a CMakeLists.txt in it, that looks like this:

CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
PROJECT(GlewMingW)
#SET(CMAKE_VERBOSE_MAKEFILE TRUE)
INCLUDE_DIRECTORIES(include)
ADD_LIBRARY(glew STATIC src/glew.c)
#ADD_EXECUTABLE(visualinfo src/visualinfo.c)
#ADD_EXECUTABLE(glewinfo src/glewinfo.c)
SET_TARGET_PROPERTIES(glew PROPERTIES
   COMPILE_FLAGS -O3
   LIBRARY_OUTPUT_DIRECTORY lib
 )
#SET_TARGET_PROPERTIES(visualinfo PROPERTIES COMPILE_FLAGS -O3)
#SET_TARGET_PROPERTIES(glewinfo PROPERTIES COMPILE_FLAGS -O3)
#TARGET_LINK_LIBRARIES(glewinfo -glew opengl32 -mwindows)


there is also a /lib directory with nothing in it.
The problem is then when I run cmake ./ it says that there are no
problems, and it compiles with ming32-make as well. The only thing is
that libglew.a appears in / rather than the /lib directory. I've
googled around but wasn't able to find an example that did what I
wanted it to do. Thanks for reading,
Chris.
___
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] cmake 2.6.1 RC 8

2008-07-15 Thread Bill Hoffman

Reggie Burnett wrote:

Any plans of a wix generator for cpack?



None that I know of.  What is wix?

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


[CMake] trouble setting library output directoy

2008-07-15 Thread Christopher Harvey
Hi,
I've got a root directory, say /
and there is a CMakeLists.txt in it, that looks like this:

CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
PROJECT(GlewMingW)
#SET(CMAKE_VERBOSE_MAKEFILE TRUE)
INCLUDE_DIRECTORIES(include)
ADD_LIBRARY(glew STATIC src/glew.c)
#ADD_EXECUTABLE(visualinfo src/visualinfo.c)
#ADD_EXECUTABLE(glewinfo src/glewinfo.c)
SET_TARGET_PROPERTIES(glew PROPERTIES
   COMPILE_FLAGS -O3
   LIBRARY_OUTPUT_DIRECTORY lib
 )
#SET_TARGET_PROPERTIES(visualinfo PROPERTIES COMPILE_FLAGS -O3)
#SET_TARGET_PROPERTIES(glewinfo PROPERTIES COMPILE_FLAGS -O3)
#TARGET_LINK_LIBRARIES(glewinfo -glew opengl32 -mwindows)


there is also a /lib directory with nothing in it.
The problem is then when I run cmake ./ it says that there are no
problems, and it compiles with ming32-make as well. The only thing is
that libglew.a appears in / rather than the /lib directory. I've
googled around but wasn't able to find an example that did what I
wanted it to do. Thanks for reading,
Chris.
___
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] how to make OpenGTL rpm?

2008-07-15 Thread Matthew Woehlke

Eric Noulard wrote:

2008/7/15 Matthew Woehlke <[EMAIL PROTECTED]>:

I'm trying to build an rpm of OpenGTL, with no success. I added
'set(CPACK_GENERATOR "TGZ;RPM")' and 'include(CPack)' to the CMakeLists.txt,
but when I try to build the RPM, it wants to write to /usr (ah, shouldn't
rpm building NOT need to install first?!), and if I run it as root, it
installs but yields an empty rpm.


I don't know OpenGTL but it must use "absolute install path".

Try to add

SET(CPACK_SET_DESTDIR "ON"

to the CMakeLists.txt and retry.


...no change that I can see. Ah, should I be setting 
CMAKE_INSTALL_PREFIX to anything special?


--
Matthew
I don't see what C++ has to do with keeping people from shooting 
themselves in the foot.  C++ will happily load the gun, offer you a 
drink to steady your nerves, and help you aim. -- Peter da Silva (from 
cluefire.net)


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


Re: [CMake] CMake support for Python

2008-07-15 Thread Nicholas Yue
2008/7/10 Mathieu Malaterre <[EMAIL PROTECTED]>:
> You are missing the enable_testing() + include(CTest) thingy

Thanks Mathieu, I have got the test and CDash submission working fine.

However, I can't seem to get the ADD_PYTHON_COMPILEALL_TEST call working
It needs a copy of compileall.py to work but as I understand, there is
already compileall.py ship with python, should that file be duplicated
in each project that require the compileall capability within CMake ?

8<--8<--8<--8<--8<--8<--8<--8<--
Start processing tests
Test project 
/Users/nicholas/projects/pi_svn/programming/python/UnitTesting/build
  1/  2 Testing COMPILE_ALL-/Users/nicholas/pr***Failed
  2/  2 Testing PYTHON-TEST  Passed

50% tests passed, 1 tests failed out of 2

The following tests FAILED:
  1 - 
COMPILE_ALL-/Users/nicholas/projects/pi_svn/programming/python/UnitTesting/src
(Failed)
Errors while running CTest
make: *** [test] Error 8
8<--8<--8<--8<--8<--8<--8<--8<--

8<--8<--8<--8<--8<--8<--8<--8<--
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)

ENABLE_TESTING()

PROJECT ( unittest )

INCLUDE ( CTest )
INCLUDE ( FindPythonInterp )
INCLUDE ( UsePythonTest )

# Require compileall.py file to be present, not good
ADD_PYTHON_COMPILEALL_TEST ( ${CMAKE_SOURCE_DIR}/src )
# ADD_PYTHON_COMPILEALL_TEST ( ${CMAKE_SOURCE_DIR}/test )

SET_SOURCE_FILES_PROPERTIES(test/GeometryTestSuite.py PROPERTIES PYTHONPATH
  ${CMAKE_SOURCE_DIR}/src)
ADD_PYTHON_TEST(PYTHON-TEST test/GeometryTestSuite.py)

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


Re: [CMake] Sending Swig options to compiler

2008-07-15 Thread Gerrick Bivins
Perfect!
Thanks Alan.
Gerrick


On 7/15/08 4:19 PM, "Alan W. Irwin" <[EMAIL PROTECTED]> wrote:

> On 2008-07-15 15:49-0500 Gerrick Bivins wrote:
> 
>> Hello,
>> I�m trying to add an extra option to the swig compile line (-package
>> ) while generating java wrappers for my project.
>> I�m running into a problem when using:
>> SET(PACKAGE_NAME test)
>> SET_SOURCE_FILES_PROPERTIES( ${INTERFACE_FILES} PROPERTIES CPLUSPLUS ON )
>> SET( CMAKE_SWIG_FLAGS "-package ${PACKAGE_NAME}" )
> 
> Try dropping the quotes, i.e.,
> 
> SET(CMAKE_SWIG_FLAGS -package ${PACKAGE_NAME})
> 
> That form works for the PLplot project.
> 
> Alan
> __
> Alan W. Irwin
> 
> Astronomical research affiliation with Department of Physics and Astronomy,
> University of Victoria (astrowww.phys.uvic.ca).
> 
> Programming affiliations with the FreeEOS equation-of-state implementation
> for stellar interiors (freeeos.sf.net); PLplot scientific plotting software
> package (plplot.org); the libLASi project (unifont.org/lasi); the Loads of
> Linux Links project (loll.sf.net); and the Linux Brochure Project
> (lbproject.sf.net).
> __
> 
> Linux-powered Science
> __
> ___
> 
> CMake mailing list
> 
> CMake@cmake.org
> 
> http://www.cmake.org/mailman/listinfo/cmake

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

Re: [CMake] Sending Swig options to compiler

2008-07-15 Thread Alan W. Irwin

On 2008-07-15 15:49-0500 Gerrick Bivins wrote:


Hello,
I�m trying to add an extra option to the swig compile line (-package
) while generating java wrappers for my project.
I�m running into a problem when using:
SET(PACKAGE_NAME test)
SET_SOURCE_FILES_PROPERTIES( ${INTERFACE_FILES} PROPERTIES CPLUSPLUS ON )
SET( CMAKE_SWIG_FLAGS "-package ${PACKAGE_NAME}" )


Try dropping the quotes, i.e.,

SET(CMAKE_SWIG_FLAGS -package ${PACKAGE_NAME})

That form works for the PLplot project.

Alan
__
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state implementation
for stellar interiors (freeeos.sf.net); PLplot scientific plotting software
package (plplot.org); the libLASi project (unifont.org/lasi); the Loads of
Linux Links project (loll.sf.net); and the Linux Brochure Project
(lbproject.sf.net).
__

Linux-powered Science
_

CMake mailing list

CMake@cmake.org

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

[CMake] Sending Swig options to compiler

2008-07-15 Thread Gerrick Bivins
Hello,
I¹m trying to add an extra option to the swig compile line (-package
) while generating java wrappers for my project.
I¹m running into a problem when using:
SET(PACKAGE_NAME test)
SET_SOURCE_FILES_PROPERTIES( ${INTERFACE_FILES} PROPERTIES CPLUSPLUS ON )
SET( CMAKE_SWIG_FLAGS "-package ${PACKAGE_NAME}" )

 the Makefile contains an erroneous ³\² after the ­package option which
causes the compile to fail.:
[ 21%] Swig source
cd /Users/gbivins/work/APIs/test/build-mac/src/java && /opt/local/bin/swig
-java -package\ test -outdir
/Users/gbivins/work/APIs/test/build-mac/lib/java/myTest -c++
-I/Users/gbivins/work/APIs/installs/include
-I/Users/gbivins/work/APIs/test/include
-I/System/Library/Frameworks/JavaVM.framework/Headers -o
/Users/gbivins/work/APIs/osgswig-new/build-mac/src/java/testJAVA_wrap.cxx
/Users/gbivins/work/APIs/test/src/java//test.i
swig error : Unrecognized option -package test
Use 'swig -help' for available options.
make[2]: *** [src/java/testJAVA_wrap.cxx] Error 1
make[1]: *** [src/java/CMakeFiles/testJava.dir/all] Error 2
make: *** [all] Error 2

Manually removing the slash from the build.make file corrects the build
problem.

I¹ve also tried using:
SET_SOURCE_FILES_PROPERTIES( ${INTERFACE_FILES} PROPERTIES
SWIG_FLAGS"-package ${PACKAGE_NAME}")

 which yeilds the same results.
I¹m on Mac OSX 10.5.4 using Cmake 2.6.0.
Gerrick

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

Re: [CMake] how to make OpenGTL rpm?

2008-07-15 Thread Eric Noulard
2008/7/15 Matthew Woehlke <[EMAIL PROTECTED]>:
> I'm trying to build an rpm of OpenGTL, with no success. I added
> 'set(CPACK_GENERATOR "TGZ;RPM")' and 'include(CPack)' to the CMakeLists.txt,
> but when I try to build the RPM, it wants to write to /usr (ah, shouldn't
> rpm building NOT need to install first?!), and if I run it as root, it
> installs but yields an empty rpm.

I don't know OpenGTL but it must use "absolute install path".

Try to add

SET(CPACK_SET_DESTDIR "ON"

to the CMakeLists.txt and retry.



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


Re: [CMake] Help with Execute_Process

2008-07-15 Thread Bill Hoffman

Alan W. Irwin wrote:

On 2008-07-15 13:10+0200 Carminati Federico wrote:


Hello,
 I would like to execute the following command

Execute_Process(
 COMMAND svn info | grep \"Last Changed Rev:\" |  cut -d: -f2
 OUTPUT_VARIABLE _res)

But concatenation with pipes does not work. Any hint? Best regards,


I haven't tried this myself, but the execute_process documentation says:

"Runs the given sequence of one or more commands with the standard 
output of

each process piped to the standard input of the next.  A single standard
error pipe is used for all processes."

So I think

COMMAND svn info
COMMAND grep \"Last Changed Rev:\" COMMAND  cut -d: -f2

should do what you want.

That should work, but it would be better to just get the output of svn 
info into a cmake string and process it in CMake directly.  That way 
your project will not depend on grep and cut being on the system.


-Bill

--
Bill Hoffman
Kitware, Inc.
28 Corporate Drive
Clifton Park, NY 12065
[EMAIL PROTECTED]
http://www.kitware.com
518-371-3971 (phone and fax)
___
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] Help with Execute_Process

2008-07-15 Thread Alan W. Irwin

On 2008-07-15 13:10+0200 Carminati Federico wrote:


Hello,
 I would like to execute the following command

Execute_Process(
 COMMAND svn info | grep \"Last Changed Rev:\" |  cut -d: -f2
 OUTPUT_VARIABLE _res)

But concatenation with pipes does not work. Any hint? Best regards,


I haven't tried this myself, but the execute_process documentation says:

"Runs the given sequence of one or more commands with the standard output of
each process piped to the standard input of the next.  A single standard
error pipe is used for all processes."

So I think

COMMAND svn info
COMMAND grep \"Last Changed Rev:\" 
COMMAND  cut -d: -f2


should do what you want.

Alan
__
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state implementation
for stellar interiors (freeeos.sf.net); PLplot scientific plotting software
package (plplot.org); the libLASi project (unifont.org/lasi); the Loads of
Linux Links project (loll.sf.net); and the Linux Brochure Project
(lbproject.sf.net).
__

Linux-powered Science
__
___
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake


[CMake] how to make OpenGTL rpm?

2008-07-15 Thread Matthew Woehlke
I'm trying to build an rpm of OpenGTL, with no success. I added 
'set(CPACK_GENERATOR "TGZ;RPM")' and 'include(CPack)' to the 
CMakeLists.txt, but when I try to build the RPM, it wants to write to 
/usr (ah, shouldn't rpm building NOT need to install first?!), and if I 
run it as root, it installs but yields an empty rpm.


Please help me figure out why it isn't working!

OpenGTL: http://opengtl.org/Download.html

--
Matthew
I don't see what C++ has to do with keeping people from shooting 
themselves in the foot.  C++ will happily load the gun, offer you a 
drink to steady your nerves, and help you aim. -- Peter da Silva (from 
cluefire.net)


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


[CMake] CTest, CVS and ssh keys

2008-07-15 Thread woofton_9

Dear ctest (and cmake) users,

I have set up a CTest script like the one used in  
http://www.cmake.org/Wiki/CMake_Scripting_Of_CTest , along with an  
ssh-key.  I read this:  
http://www.cmake.org/pipermail/cmake/2006-July/010103.html and I tried  
some of what was said but when I run the CTest script it hangs:


-- Check for working C compiler: cl
-- Check for working C compiler: cl -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: cl
-- Check for working CXX compiler: cl -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Found wxWidgets: TRUE
-- Configuring done
-- Generating done
-- Build files have been written to: D:/Programming/Build/Test/NIREP
   Site: karachi
   Build name: Win32-XP-vs8-Debug
Create new tag: 20080715-1754 - Continuous
Start processing tests
Updating the repository
   Updating the repository: D:/Programming/Source/Test/NIREP
   Use CVS repository type



I am using a windows machine and I believe I need to specify the  
location of the private ssh key in the CTest script but I am not sure  
how to do that.


This is the CTest script I am using:

SET (CTEST_SOURCE_DIRECTORY "D:/Programming/Source/Test/NIREP")
SET (CTEST_BINARY_DIRECTORY "D:/Programming/Build/Test/NIREP")

SET (CTEST_CVS_COMMAND "C:/Program Files/TortoiseCVS/cvs.exe")
SET (CTEST_CVS_CHECKOUT  "${CTEST_CVS_COMMAND}  
-d:ssh:${CVSLOCATION}:/home/research/cvsroot co  
-d\"${CTEST_SOURCE_DIRECTORY}\" NIREP" )


# which ctest command to use for running the dashboard
SET (CTEST_COMMAND
  "D:/Program Files/CMake 2.6/bin/ctest.exe -D Continuous"
  )

# what cmake command to use for configuring this dashboard
SET (CTEST_CMAKE_COMMAND
  "D:/Program Files/CMake 2.6/bin/cmake.exe"
  )

SET (CTEST_CONTINUOUS_DURATION 600)
SET (CTEST_CONTINUOUS_MINIMUM_INTERVAL 10)
SET (CTEST_START_WITH_EMPTY_BINARY_DIRECTORY_ONCE 1)



# The values in this section are optional you can either
# have them or leave them commented out


# should ctest wipe the binary tree before running
SET (CTEST_START_WITH_EMPTY_BINARY_DIRECTORY FALSE)

# this is the initial cache to use for the binary tree, be careful to escape
# any quotes inside of this string if you use it
SET (CTEST_INITIAL_CACHE "
SITE:STRING=karachi
BUILDNAME:STRING=Win32-XP-vs8-Debug
CMAKE_GENERATOR:INTERNAL=Visual Studio 8 2005
CTEST_BUILD_CONFIGURATION:STRING=Debug
BUILD_SHARED_LIBS:BOOL=OFF
ITK_DIR:STRING=D:/Develop/binary/itk
VTK_DIR:STRING=D:/Develop/binary/vtk


CVSCOMMAND:FILEPATH=C:/Program Files/TortoiseCVS/cvs.exe
CVS_UPDATE_OPTIONS:STRING=-d -A -P
")

# set any extra environment variables to use during the execution of  
the script here:

SET( CTEST_ENVIRONMENT "CVS_RSH=ssh" )



Thank you for any help or hints.


This message was sent using IMP, the Internet Messaging Program.

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


[CMake] Error removing temporary files with CMake on VS2003.Net, WinXP

2008-07-15 Thread Mike Jackson
I am using CMake 2.4.8 on WinXP generating VS2003.Net project files.  
During cmake time (using the CMakeSetup.exe program) I will get  
errors that basically say that cmake could not remove temporary files  
due to permissions. This leads to all sorts of other problems after  
cmake is run.


The Error is:
CMakeError: Remove failed on file: C:/Workspace/expat/vs2003/ 
CMakeFiles/CMakeTmp/debug/cmTryCompile.Exec.exe: System Error:  
Permission Denied


Has any one else ever seen this? I think the way to reproduce this  
was to run "configure" from within CMakeSetup.exe. Delete the Cache  
and then configure again.


Thanks

--
Mike Jackson   Senior Research Engineer
Innovative Management & Technology Services



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


Re: [CMake] Using try_compile before project() command

2008-07-15 Thread Yuri Timenkov


On Tuesday 15 July 2008 20:28:27 Yuri Timenkov wrote:
> On Tuesday 15 July 2008 20:01:52 Bill Hoffman wrote:
> > Carminati Federico wrote:
> > > Hello Yuri,
> > >   I posted a similar question some time ago. There seems to be no way
> > > to chose the compiler within the CMakeList.txt, because you can do very
> > > little before the Project command, and afterwards it is too late.
> > > Anybody can help here? best, regards,
> >
> > That is a very different question, and no, you can not change the
> > compiler from within a CMakeLists.txt file.  It must be picked with CC
> > or CXX environment variables before running CMake.
>
> Yes, I just want to tune build environment but allow user to change it
> later. KDE, for example, overrides ones later by specifying COMPILE_FLAGS
> variables in CMake scripts without CACHE option. But such usage seems a bit
> tricky for me, because user doesn't know which flags will be used for build
> (or it's hard to determine place where particular flag came from, when you
> build with VERBOSE=1).
>
> Overriding  CMake defaults seems most clear way, because user will see
> global settings in GUI and target-specific or source files-specific flags
> at the right place in CMakeLists.txt.
>
> > > On 15 Jul 2008, at 15:56, Yuri Timenkov wrote:
> > >> I want to tune initial compile and linker flags to put into cache.
> > >> in main CMakeLists.txt:
> > >>
> > >> # Override default Compiler flags
> > >> set(CMAKE_USER_MAKE_RULES_OVERRIDE MyCompilerFlags)
> > >> project(MyProject)
> > >>
> > >> in MyCompilerFlags.cmake:
> > >>
> > >> check_cxx_linker_flag("-Wl,--warn-unresolved-symbols"
> > >> HAVE_LD_WARN_UNRESOLVED_SYMBOLS)
> > >>
> > >> if(HAVE_LD_WARN_UNRESOLVED_SYMBOLS)
> > >> set(CMAKE_SHARED_LINKER_FLAGS_INIT
> > >> "${CMAKE_SHARED_LINKER_FLAGS_INIT} -Wl,--warn-unresolved-symbols")
> > >> endif(HAVE_LD_WARN_UNRESOLVED_SYMBOLS)
> > >>
> > >> This works fine for CMake 2.4:
> > >> -- Performing Test -Wl,--warn-unresolved-symbols
> > >> -- Performing Test -Wl,--warn-unresolved-symbols - Success
> > >> -- Performing Test -Wl,--no-undefined
> > >> -- Performing Test -Wl,--no-undefined - Success
> > >> -- Check for working C compiler: /usr/bin/gcc32
> > >> -- Check for working C compiler: /usr/bin/gcc32 -- works
> > >> ...
> > >>
> > >> But for CMake 2.6 this code fails with error:
> > >> -- The C compiler identification is GNU
> > >> -- The CXX compiler identification is GNU
> > >> -- Performing Test -Wl,--warn-unresolved-symbols
> > >> CMake Error: Unknown extension ".cxx" for file
> > >> "/vz/build/test/CMakeFiles/CMakeTmp/src.cxx".  TRY_COMPILE only works
> > >> for enabled languages.
> > >> Currently enabled languages are: C CXX
> > >> See PROJECT command for help enabling other languages.
> > >> -- Performing Test -Wl,--warn-unresolved-symbols - Failed
> > >> -- Performing Test -Wl,--no-undefined
> > >> CMake Error: Unknown extension ".cxx" for file
> > >> "/vz/build/test/CMakeFiles/CMakeTmp/src.cxx".  TRY_COMPILE only works
> > >> for enabled languages.
> > >> Currently enabled languages are: C CXX
> > >> See PROJECT command for help enabling other languages.
> > >> -- Performing Test -Wl,--no-undefined - Failed
> > >> -- Check for working C compiler: /usr/bin/gcc32
> > >> -- Check for working C compiler: /usr/bin/gcc32 -- works
> > >> -- Detecting C compiler ABI info
> > >> -- Detecting C compiler ABI info - done
> > >> ...
> > >>
> > >> where check_cxx_linker_flag macro looks line check_cxx_compiler_flag:
> > >>
> > >> file(WRITE
> > >> "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.cxx" "int
> > >> main() { return 0;}\n")
> > >> message(STATUS "Performing Test ${_FLAG}")
> > >> try_compile(${_RESULT}
> > >> ${CMAKE_BINARY_DIR}
> > >> "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.cxx"
> > >> CMAKE_FLAGS -DCMAKE_EXE_LINKER_FLAGS="${_FLAG}"
> > >> OUTPUT_VARIABLE OUTPUT
> > >> )
> > >>
> > >> Any suggestions?
> >
> > Looks like a bug.   Please file a bug report with a small example that
> > is easy to reproduce.
>
> I'll try to figure out the problem.
I filed an issue: http://public.kitware.com/Bug/view.php?id=7340

>
> > Thanks.
> >
> > -Bill
>
> P.S. Did you think about "Best practices" category on wiki? Many people ask
> similar questions on list, and some of them are kind of "is it moral in
> CMake?" Because there is a lot of such questions, FAQ will be too long.
>
> ___
> 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] CMAKE_CXX_COMPILER and the cache

2008-07-15 Thread Fernando Cacciola

Hi people,

I'm trying to understand a user report which says that load_cache ignores 
CMAKE_CXX_COMPILER (and I need it to load it!!)


While playing around with this unfortunate fact, it became apparent that 
this particular variable is not read from the cache at all (not even from 
the current cache).


I can tell because I can read in the current CMakeCache.txt that in fact it 
contains the value which should have been loaded from the saved cache, yet a 
MESSAGE commands reveals that this cached value is not the same as the 
in-memory value of the variable.


Is that so?? is this a memory-only variable whose cache value is never read 
in (thus can end up being completely incoherent, as in my case) ?


I know a user can set the enviroment variable CXX in order to specify the 
compiler, but, are there other magical variables like this I should know 
about, that is, which not being internal nor static nor excluded are 
nevertheless not read in via load_cache?


And a related question:  can a user pass a sort of "uninitialized" value via 
the -D command line switch?
I am using cmake in an automated context where the call cmake is done by a 
script.

If I use someting like this:

  cmake -DCMAKE_CXX_COMPILER=${USER_CXX_COMPILER}

it won't work when the intention is NOT to specify that (the usual case), 
unless a value of NOTFOUND or "" is interpreted as such.


TIA

Fernando Cacciola


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


Re: [CMake] Using try_compile before project() command

2008-07-15 Thread Yuri Timenkov

On Tuesday 15 July 2008 20:01:52 Bill Hoffman wrote:
> Carminati Federico wrote:
> > Hello Yuri,
> >   I posted a similar question some time ago. There seems to be no way to
> > chose the compiler within the CMakeList.txt, because you can do very
> > little before the Project command, and afterwards it is too late.
> > Anybody can help here? best, regards,
>
> That is a very different question, and no, you can not change the
> compiler from within a CMakeLists.txt file.  It must be picked with CC
> or CXX environment variables before running CMake.
Yes, I just want to tune build environment but allow user to change it later. 
KDE, for example, overrides ones later by specifying COMPILE_FLAGS variables 
in CMake scripts without CACHE option. But such usage seems a bit tricky for 
me, because user doesn't know which flags will be used for build (or it's hard 
to determine place where particular flag came from, when you build with 
VERBOSE=1).

Overriding  CMake defaults seems most clear way, because user will see global 
settings in GUI and target-specific or source files-specific flags at the right 
place in CMakeLists.txt.

>
> > On 15 Jul 2008, at 15:56, Yuri Timenkov wrote:
> >> I want to tune initial compile and linker flags to put into cache.
> >> in main CMakeLists.txt:
> >>
> >> # Override default Compiler flags
> >> set(CMAKE_USER_MAKE_RULES_OVERRIDE MyCompilerFlags)
> >> project(MyProject)
> >>
> >> in MyCompilerFlags.cmake:
> >>
> >> check_cxx_linker_flag("-Wl,--warn-unresolved-symbols"
> >> HAVE_LD_WARN_UNRESOLVED_SYMBOLS)
> >>
> >> if(HAVE_LD_WARN_UNRESOLVED_SYMBOLS)
> >> set(CMAKE_SHARED_LINKER_FLAGS_INIT
> >> "${CMAKE_SHARED_LINKER_FLAGS_INIT} -Wl,--warn-unresolved-symbols")
> >> endif(HAVE_LD_WARN_UNRESOLVED_SYMBOLS)
> >>
> >> This works fine for CMake 2.4:
> >> -- Performing Test -Wl,--warn-unresolved-symbols
> >> -- Performing Test -Wl,--warn-unresolved-symbols - Success
> >> -- Performing Test -Wl,--no-undefined
> >> -- Performing Test -Wl,--no-undefined - Success
> >> -- Check for working C compiler: /usr/bin/gcc32
> >> -- Check for working C compiler: /usr/bin/gcc32 -- works
> >> ...
> >>
> >> But for CMake 2.6 this code fails with error:
> >> -- The C compiler identification is GNU
> >> -- The CXX compiler identification is GNU
> >> -- Performing Test -Wl,--warn-unresolved-symbols
> >> CMake Error: Unknown extension ".cxx" for file
> >> "/vz/build/test/CMakeFiles/CMakeTmp/src.cxx".  TRY_COMPILE only works
> >> for enabled languages.
> >> Currently enabled languages are: C CXX
> >> See PROJECT command for help enabling other languages.
> >> -- Performing Test -Wl,--warn-unresolved-symbols - Failed
> >> -- Performing Test -Wl,--no-undefined
> >> CMake Error: Unknown extension ".cxx" for file
> >> "/vz/build/test/CMakeFiles/CMakeTmp/src.cxx".  TRY_COMPILE only works
> >> for enabled languages.
> >> Currently enabled languages are: C CXX
> >> See PROJECT command for help enabling other languages.
> >> -- Performing Test -Wl,--no-undefined - Failed
> >> -- Check for working C compiler: /usr/bin/gcc32
> >> -- Check for working C compiler: /usr/bin/gcc32 -- works
> >> -- Detecting C compiler ABI info
> >> -- Detecting C compiler ABI info - done
> >> ...
> >>
> >> where check_cxx_linker_flag macro looks line check_cxx_compiler_flag:
> >>
> >> file(WRITE
> >> "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.cxx" "int
> >> main() { return 0;}\n")
> >> message(STATUS "Performing Test ${_FLAG}")
> >> try_compile(${_RESULT}
> >> ${CMAKE_BINARY_DIR}
> >> "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.cxx"
> >> CMAKE_FLAGS -DCMAKE_EXE_LINKER_FLAGS="${_FLAG}"
> >> OUTPUT_VARIABLE OUTPUT
> >> )
> >>
> >> Any suggestions?
>
> Looks like a bug.   Please file a bug report with a small example that
> is easy to reproduce.
I'll try to figure out the problem.

>
> Thanks.
>
> -Bill

P.S. Did you think about "Best practices" category on wiki? Many people ask 
similar questions on list, and some of them are kind of "is it moral in 
CMake?" Because there is a lot of such questions, FAQ will be too long.

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


Re: [CMake] Using try_compile before project() command

2008-07-15 Thread Bill Hoffman

Carminati Federico wrote:

Any hope to have this changed in a future release?
Best regards,



No, it really is out of the work flow of CMake.  First you find the 
working compiler and test it.  The CMakeLists.txt files should never 
force a compiler choice.  They should be compiler agnostic as much as 
possible so they remain portable.


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


Re: [CMake] Using try_compile before project() command

2008-07-15 Thread Bill Hoffman

Carminati Federico wrote:

Hello Yuri,
  I posted a similar question some time ago. There seems to be no way to 
chose the compiler within the CMakeList.txt, because you can do very 
little before the Project command, and afterwards it is too late. 
Anybody can help here? best, regards,




That is a very different question, and no, you can not change the 
compiler from within a CMakeLists.txt file.  It must be picked with CC 
or CXX environment variables before running CMake.



On 15 Jul 2008, at 15:56, Yuri Timenkov wrote:


I want to tune initial compile and linker flags to put into cache.
in main CMakeLists.txt:

# Override default Compiler flags
set(CMAKE_USER_MAKE_RULES_OVERRIDE MyCompilerFlags)
project(MyProject)

in MyCompilerFlags.cmake:

check_cxx_linker_flag("-Wl,--warn-unresolved-symbols" 
HAVE_LD_WARN_UNRESOLVED_SYMBOLS)


if(HAVE_LD_WARN_UNRESOLVED_SYMBOLS)
set(CMAKE_SHARED_LINKER_FLAGS_INIT 
"${CMAKE_SHARED_LINKER_FLAGS_INIT} -Wl,--warn-unresolved-symbols")

endif(HAVE_LD_WARN_UNRESOLVED_SYMBOLS)

This works fine for CMake 2.4:
-- Performing Test -Wl,--warn-unresolved-symbols
-- Performing Test -Wl,--warn-unresolved-symbols - Success
-- Performing Test -Wl,--no-undefined
-- Performing Test -Wl,--no-undefined - Success
-- Check for working C compiler: /usr/bin/gcc32
-- Check for working C compiler: /usr/bin/gcc32 -- works
...

But for CMake 2.6 this code fails with error:
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Performing Test -Wl,--warn-unresolved-symbols
CMake Error: Unknown extension ".cxx" for file 
"/vz/build/test/CMakeFiles/CMakeTmp/src.cxx".  TRY_COMPILE only works 
for enabled languages.

Currently enabled languages are: C CXX
See PROJECT command for help enabling other languages.
-- Performing Test -Wl,--warn-unresolved-symbols - Failed
-- Performing Test -Wl,--no-undefined
CMake Error: Unknown extension ".cxx" for file 
"/vz/build/test/CMakeFiles/CMakeTmp/src.cxx".  TRY_COMPILE only works 
for enabled languages.

Currently enabled languages are: C CXX
See PROJECT command for help enabling other languages.
-- Performing Test -Wl,--no-undefined - Failed
-- Check for working C compiler: /usr/bin/gcc32
-- Check for working C compiler: /usr/bin/gcc32 -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
...

where check_cxx_linker_flag macro looks line check_cxx_compiler_flag:

file(WRITE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.cxx"
"int main() { return 0;}\n")
message(STATUS "Performing Test ${_FLAG}")
try_compile(${_RESULT}
${CMAKE_BINARY_DIR}
"${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.cxx"
CMAKE_FLAGS -DCMAKE_EXE_LINKER_FLAGS="${_FLAG}"
OUTPUT_VARIABLE OUTPUT
)

Any suggestions?


Looks like a bug.   Please file a bug report with a small example that 
is easy to reproduce.


Thanks.

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


Re: [CMake] Problem with Xcode... solved?

2008-07-15 Thread Bill Hoffman

Carminati Federico wrote:

Dear Bill,
  this works, however this program loads shared libs supposed to be in a 
directory pointed to by DYLD_LIBRARY_PATH, so it fails to load. Any 
idea? Best regards,




Build the program so that it uses built in run-time paths.  The only 
other option is to run the program from some cmake script using 
execute_process and setting up the environment from the cmake script.


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


Re: [CMake] Using try_compile before project() command

2008-07-15 Thread Carminati Federico

Hello Yuri,
  I posted a similar question some time ago. There seems to be no way  
to chose the compiler within the CMakeList.txt, because you can do  
very little before the Project command, and afterwards it is too late.  
Anybody can help here? best, regards,


Federico Carminati
CERN-PH
1211 Geneva 23
Switzerland
Tel: +41 22 76 74959
Fax: +41 22 76 79480
Mobile: +41 76 487 4843

On 15 Jul 2008, at 15:56, Yuri Timenkov wrote:


I want to tune initial compile and linker flags to put into cache.
in main CMakeLists.txt:

# Override default Compiler flags
set(CMAKE_USER_MAKE_RULES_OVERRIDE MyCompilerFlags)
project(MyProject)

in MyCompilerFlags.cmake:

check_cxx_linker_flag("-Wl,--warn-unresolved-symbols"  
HAVE_LD_WARN_UNRESOLVED_SYMBOLS)


if(HAVE_LD_WARN_UNRESOLVED_SYMBOLS)
	set(CMAKE_SHARED_LINKER_FLAGS_INIT "$ 
{CMAKE_SHARED_LINKER_FLAGS_INIT} -Wl,--warn-unresolved-symbols")

endif(HAVE_LD_WARN_UNRESOLVED_SYMBOLS)

This works fine for CMake 2.4:
-- Performing Test -Wl,--warn-unresolved-symbols
-- Performing Test -Wl,--warn-unresolved-symbols - Success
-- Performing Test -Wl,--no-undefined
-- Performing Test -Wl,--no-undefined - Success
-- Check for working C compiler: /usr/bin/gcc32
-- Check for working C compiler: /usr/bin/gcc32 -- works
...

But for CMake 2.6 this code fails with error:
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Performing Test -Wl,--warn-unresolved-symbols
CMake Error: Unknown extension ".cxx" for file "/vz/build/test/ 
CMakeFiles/CMakeTmp/src.cxx".  TRY_COMPILE only works for enabled  
languages.

Currently enabled languages are: C CXX
See PROJECT command for help enabling other languages.
-- Performing Test -Wl,--warn-unresolved-symbols - Failed
-- Performing Test -Wl,--no-undefined
CMake Error: Unknown extension ".cxx" for file "/vz/build/test/ 
CMakeFiles/CMakeTmp/src.cxx".  TRY_COMPILE only works for enabled  
languages.

Currently enabled languages are: C CXX
See PROJECT command for help enabling other languages.
-- Performing Test -Wl,--no-undefined - Failed
-- Check for working C compiler: /usr/bin/gcc32
-- Check for working C compiler: /usr/bin/gcc32 -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
...

where check_cxx_linker_flag macro looks line check_cxx_compiler_flag:

file(WRITE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/ 
src.cxx"

"int main() { return 0;}\n")
message(STATUS "Performing Test ${_FLAG}")
try_compile(${_RESULT}
${CMAKE_BINARY_DIR}
"${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.cxx"
CMAKE_FLAGS -DCMAKE_EXE_LINKER_FLAGS="${_FLAG}"
OUTPUT_VARIABLE OUTPUT
)

Any suggestions?
___
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] Problem with Xcode... solved?

2008-07-15 Thread Carminati Federico

Dear Bill,
  this works, however this program loads shared libs supposed to be  
in a directory pointed to by DYLD_LIBRARY_PATH, so it fails to load.  
Any idea? Best regards,


Federico Carminati
CERN-PH
1211 Geneva 23
Switzerland
Tel: +41 22 76 74959
Fax: +41 22 76 79480
Mobile: +41 76 487 4843

On 15 Jul 2008, at 17:29, Bill Hoffman wrote:


Carminati Federico wrote:

As part of my make process I am running a custom program that  
usually is in my path in a non-standard directory. When I try  
building the target with Xcode, the PATH variable is not affected  
by my shell settings, and it default to the standard on my machine.  
This does not include my special directory. So either I find a way  
to set the path when executing xcode, or I specify the full path to  
my program.
I would recommend using find_program to find your command, and then  
use a full path.  You can not rely on a PATH setting.




True, both problems are fixed. Thanks a lot.


Great, I am going to put them in the next RC for 2.6.1.

Thanks for testing CVS CMake!

-Bill


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


Re: [CMake] Problem with Xcode... solved?

2008-07-15 Thread Bill Hoffman

Carminati Federico wrote:

As part of my make process I am running a custom program that usually is 
in my path in a non-standard directory. When I try building the target 
with Xcode, the PATH variable is not affected by my shell settings, and 
it default to the standard on my machine. This does not include my 
special directory. So either I find a way to set the path when executing 
xcode, or I specify the full path to my program.


I would recommend using find_program to find your command, and then use 
a full path.  You can not rely on a PATH setting.




True, both problems are fixed. Thanks a lot.


Great, I am going to put them in the next RC for 2.6.1.

Thanks for testing CVS CMake!

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


[CMake] Error with Unix Makefiles under UWIN

2008-07-15 Thread Mike Jackson
I know UWIN probably is NOT supported but hey I'll give it a shot.  
This is on WinXP, cmake 2.4.8, Visual Studio 2003.Net.


It seems cmake successfully ran under UWIN generating "Unix  
Makefiles". I have a simple project (expat actually) that generates a  
library (expat) and an executable (xmlwf.exe). The library _seems_ to  
be created correctly (static) as I get an "expat.lib" file in the  
build directory. The problem comes when linking the executable. Here  
is the verbose output from the link stage.


Linking C executable ../Bin/xmlwf.exe
cd C:/Workspace/expat/uwin/xmlwf && C:/Applications/CMake-2.4.8/bin/ 
cmake.exe -

P CMakeFiles/xmlwf.dir/cmake_clean_target.cmake
cd C:/Workspace/expat/uwin/xmlwf && C:/Applications/UWIN/usr/bin/ 
cc.exe  "C
MakeFiles/xmlwf.dir/codepage.obj" "CMakeFiles/xmlwf.dir/xmlfile.obj"  
"CMakeFile
s/xmlwf.dir/xmlmime.obj" "CMakeFiles/xmlwf.dir/xmlwf.obj" "CMakeFiles/ 
xmlwf.dir
/win32filemap.obj"   -o ../Bin/xmlwf.exe  -LC:/Workspace/expat/uwin/ 
Bin -lexpat

.lib
cc: expat.lib: library not found
make[2]: *** [Bin/xmlwf.exe] Error 1
make[2]: Leaving directory `/C/Workspace/expat/uwin'
make[1]: *** [xmlwf/CMakeFiles/xmlwf.dir/all] Error 2
make[1]: Leaving directory `/C/Workspace/expat/uwin'
make: *** [all] Error 2

I am thinking the -lexpat.lib should really be -lexpat but I am not  
real sure at this point. Any ideas?


--
Mike Jackson   Senior Research Engineer
Innovative Management & Technology Services



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


Re: [CMake] Three short questions...

2008-07-15 Thread Hauke Heibel




Hi again,

first of all, thanks for the quick answer.

Actually all of the requests were merely taste related. I admit that
this is not really important but from time to time I am looking at the
libraries and includes I am using and then I like it, if they are
nicely formatted or as short as possible.

Philip Lowman wrote:

  
  
  Hi
there,

I've stumbled over three little questions which I could not answer from
the FAQs nor the CMake documentation or the Wiki. Maybe one of the
specialists can help me out...

The first question is whether it is possible to prevent environment
variables from being expanded by CMake when it comes to setting include
or link directories (INCLUDE_DIRECTORIES and LINK_DIRECTORIES).
  
Not sure what you mean here.  You might be able to do this (don't know,
never tried), but I wouldn't recommend it:
  
INCLUDE_DIRECTORIES($ENV{FOO})
  
  
  

Actually colleagues and me are oftentimes using environment variables.
Until now we used to work solely with Visual Studio Project files being
distributed along different machines and it turned out to be very
convenient to have a base directory of your third party libraries and
your core library defined in environment variables. Nobody needed to
change any configuration files and thus we could put them to the SVN.
With CMake it is working fine as well though I usually use
FILE(TO_CMAKE_PATH $ENV{FOO} CMAKE_FOO).

  
  
  The
second question is whether I can prevent the MSVC generator to append
$(OutDir) to LINK_DIRECTORIES. For each call to LINK_DIRECTORIES I get
two directories (e.g. LINK_DIRECTORIES(c:/foo/bar) creates
c:/foo/bar/$(OutDir) and c:/foo/bar).
  
I didn't even realize that it did that.  I think that's probably meant
as a convenience for MSVC developers who sometimes like to share the
same filename across different release configurations (in different
directories obviously).   Not sure if it's disableable or not, is it
causing you problems?
  
  
  

Does not cause any problems, but since we usually differentiate via
postfix and not via directory we just don't need it. Again... it's just
taste.

  
  
  And
the last question is, if it is possible to tell the FindQt.cmake script
to give me the plain libraries without the full path of them being
prepended (I am talking about the content of the QT_LIBRARIES
variable). I would rather like to use LINK_DIRECTORIES and
TARGET_LINK_LIBRARIES separately, i.e. I would prefer QtGuid4.lib over
C:\Qt\lib\QtGuid4.lib.
  
It should be possible to do this with STRING(REGEX REPLACE... ) if
there is no better way.  I'm curious why you would need to do this
though.  The use of TARGET_LINK_LIBRARIES() with full paths is highly
desired over LINK_LIBRARIES() and TARGET_LINK_LIBRARIES() with a
relative library filename.
  
  

Ok, I see what you mean though I am wondering why in general not all
CMake Find modules follow this paradigm. For instance all of my ITK
libraries seem to be set via TARGET_LINK_LIBRARIES() without the path
and the path (here luckily including the $(OutDir), which I just
realized) seems to be set via LINK_DIRECTORIES(). Maybe it is done that
way to support the multi-target MSVC generator because
LINK_DIRECTORIES() does not (yet?) support the CONFIGURATIONS option.

Cheers,
Hauke
-- 
Tim Hauke Heibel
Computer Aided Medical Procedures (CAMP)
fon: +49 89 289 19427
fax: +49 89 289 17059


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

Re: [CMake] Problem with Xcode... solved?

2008-07-15 Thread Carminati Federico

Hello Bill,
   See below

Federico Carminati
CERN-PH
1211 Geneva 23
Switzerland
Tel: +41 22 76 74959
Fax: +41 22 76 79480
Mobile: +41 76 487 4843

On 15 Jul 2008, at 16:30, Bill Hoffman wrote:


Carminati Federico wrote:

Hello Bill,
  thanks a lot for your answer. I have few more questions:
1. I am running some custom commands in the makefile. Of course  
Xcode does not have hte path. Should I quote them with the full  
path or can I indicate a path to xcode via cmake?

I am not sure what the question is, can you be more specific.


As part of my make process I am running a custom program that usually  
is in my path in a non-standard directory. When I try building the  
target with Xcode, the PATH variable is not affected by my shell  
settings, and it default to the standard on my machine. This does not  
include my special directory. So either I find a way to set the path  
when executing xcode, or I specify the full path to my program.




2. Can you point me to the instructions on how to install the cvs  
cmake?

http://www.cmake.org/HTML/Download.html#cvs



Done



3. The first time I open the project with xcode I get the attached  
question (Select the directory to use as the project root). Am I  
missing something?

This has also been fixed.



True, both problems are fixed. Thanks a lot.


-Bill




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


Re: [CMake] Problem with Xcode... solved?

2008-07-15 Thread Bill Hoffman

Carminati Federico wrote:

Hello Bill,
   thanks a lot for your answer. I have few more questions:

1. I am running some custom commands in the makefile. Of course Xcode 
does not have hte path. Should I quote them with the full path or can I 
indicate a path to xcode via cmake?



I am not sure what the question is, can you be more specific.

2. Can you point me to the instructions on how to install the cvs cmake?


http://www.cmake.org/HTML/Download.html#cvs


3. The first time I open the project with xcode I get the attached 
question (Select the directory to use as the project root). Am I missing 
something?



This has also been fixed.

-Bill


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


Re: [CMake] Problem with Xcode... solved?

2008-07-15 Thread Bill Hoffman

Carminati Federico wrote:

Hello,
following my previous posting, I have identified the problem with 
Xcode generation. The following CMakeList.txt would generate correct 
Unix Makefiles but wrong Xcode project


Project(Test)
Cmake_Minimum_Required(VERSION 2.6)
Set(CMAKE_VERBOSE_MAKEFILE ON)
Set_source_files_properties(hello.cxx PROPERTIES
  COMPILE_FLAGS "-D_version_=\"10.5\"")
Add_Executable(hello hello.cxx)

The point is that the escaped quotes get "doubly escaped" in the Xcode 
project file


/* Begin PBXBuildFile section */
656B90656B90656B9000 /* /Users/fca/cmaketest/hello.cxx */ = {isa = 
PBXBuildFile; fileRef = 656A00656A00656A /* 
/Users/fca/cmaketest/hello.cxx */; settings = { COMPILER_FLAGS = 
"-D_version_=\\"10.5\\""; }; };

/* End PBXBuildFile section */

Removing the double quotes "by hand" fixes the problem. Alternative 
solutions are to use single quotes.  Or even add_definitions would of 
course do, even if it is global for all subdirectories. But still this 
is an inconsistency that should be fixed. Best,


This was fixed by a commit to CVS last night.   Please try CVS CMake if 
you can.



-Bill

--
Bill Hoffman
Kitware, Inc.
28 Corporate Drive
Clifton Park, NY 12065
[EMAIL PROTECTED]
http://www.kitware.com
518-371-3971 (phone and fax)
___
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake


[CMake] Using try_compile before project() command

2008-07-15 Thread Yuri Timenkov
I want to tune initial compile and linker flags to put into cache.
in main CMakeLists.txt:

# Override default Compiler flags
set(CMAKE_USER_MAKE_RULES_OVERRIDE MyCompilerFlags)
project(MyProject)

in MyCompilerFlags.cmake:

check_cxx_linker_flag("-Wl,--warn-unresolved-symbols" 
HAVE_LD_WARN_UNRESOLVED_SYMBOLS)

if(HAVE_LD_WARN_UNRESOLVED_SYMBOLS)
set(CMAKE_SHARED_LINKER_FLAGS_INIT "${CMAKE_SHARED_LINKER_FLAGS_INIT} 
-Wl,--warn-unresolved-symbols")
endif(HAVE_LD_WARN_UNRESOLVED_SYMBOLS)

This works fine for CMake 2.4:
-- Performing Test -Wl,--warn-unresolved-symbols
-- Performing Test -Wl,--warn-unresolved-symbols - Success
-- Performing Test -Wl,--no-undefined
-- Performing Test -Wl,--no-undefined - Success
-- Check for working C compiler: /usr/bin/gcc32
-- Check for working C compiler: /usr/bin/gcc32 -- works
...

But for CMake 2.6 this code fails with error:
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Performing Test -Wl,--warn-unresolved-symbols
CMake Error: Unknown extension ".cxx" for file 
"/vz/build/test/CMakeFiles/CMakeTmp/src.cxx".  TRY_COMPILE only works for 
enabled languages.
Currently enabled languages are: C CXX
See PROJECT command for help enabling other languages.
-- Performing Test -Wl,--warn-unresolved-symbols - Failed
-- Performing Test -Wl,--no-undefined
CMake Error: Unknown extension ".cxx" for file 
"/vz/build/test/CMakeFiles/CMakeTmp/src.cxx".  TRY_COMPILE only works for 
enabled languages.
Currently enabled languages are: C CXX
See PROJECT command for help enabling other languages.
-- Performing Test -Wl,--no-undefined - Failed
-- Check for working C compiler: /usr/bin/gcc32
-- Check for working C compiler: /usr/bin/gcc32 -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
...

where check_cxx_linker_flag macro looks line check_cxx_compiler_flag:

file(WRITE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.cxx"
"int main() { return 0;}\n")
message(STATUS "Performing Test ${_FLAG}")
try_compile(${_RESULT}
${CMAKE_BINARY_DIR}
"${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.cxx"
CMAKE_FLAGS -DCMAKE_EXE_LINKER_FLAGS="${_FLAG}"
OUTPUT_VARIABLE OUTPUT
)

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


[CMake] Problem with Xcode... solved?

2008-07-15 Thread Carminati Federico

Hello,
following my previous posting, I have identified the problem with  
Xcode generation. The following CMakeList.txt would generate correct  
Unix Makefiles but wrong Xcode project


Project(Test)
Cmake_Minimum_Required(VERSION 2.6)
Set(CMAKE_VERBOSE_MAKEFILE ON)
Set_source_files_properties(hello.cxx PROPERTIES
  COMPILE_FLAGS "-D_version_=\"10.5\"")
Add_Executable(hello hello.cxx)

The point is that the escaped quotes get "doubly escaped" in the Xcode  
project file


/* Begin PBXBuildFile section */
656B90656B90656B9000 /* /Users/fca/cmaketest/hello.cxx */ = {isa =  
PBXBuildFile; fileRef = 656A00656A00656A /* /Users/fca/ 
cmaketest/hello.cxx */; settings = { COMPILER_FLAGS = "-D_version_=\ 
\"10.5\\""; }; };

/* End PBXBuildFile section */

Removing the double quotes "by hand" fixes the problem. Alternative  
solutions are to use single quotes.  Or even add_definitions would of  
course do, even if it is global for all subdirectories. But still this  
is an inconsistency that should be fixed. Best,


Federico Carminati
CERN-PH
1211 Geneva 23
Switzerland
Tel: +41 22 76 74959
Fax: +41 22 76 79480
Mobile: +41 76 487 4843

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


Re: [CMake] Fw: Re: Problems generating Xcode projects

2008-07-15 Thread Kai Sterker
On Tue, Jul 15, 2008 at 3:33 PM, Samuel Crow

>> I've had the same problems.

I used to have problems with incorrect quoting in connection with
ADD_DEFINITIONS in CMake prior to 2.6. If your CMakeLists.txt files
had been written to work around this issue in 2.4, they might be
broken with 2.6.

I put the following in my toplevel CMakeLists.txt to work around this
specific issue in both CMake 2.4 and 2.6

 # -- for CMake 2.6.x
if(COMMAND cmake_policy)
# -- use automatic escaping in add_definitions
cmake_policy(SET CMP0005 NEW)
set(ESCAPE "")
else(COMMAND cmake_policy)

# -- pre 2.6 needs escaping in add_definitions
if(CMAKE_GENERATOR MATCHES ".*Makefiles")
set(ESCAPE "\\\"")
else(CMAKE_GENERATOR MATCHES ".*Makefiles")
set(ESCAPE "\"")
endif(CMAKE_GENERATOR MATCHES ".*Makefiles")

endif(COMMAND cmake_policy)

Then, an ADD_DEFINITIONS that needs quoting looks like

ADD_DEFINITIONS (-DVERSION="${ESCAPE}0.4.0${ESCAPE}")

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


Re: [CMake] Fw: Re: Problems generating Xcode projects

2008-07-15 Thread Bill Hoffman

Samuel Crow wrote:



--- On Tue, 7/15/08, Samuel Crow <[EMAIL PROTECTED]> wrote:


From: Samuel Crow <[EMAIL PROTECTED]>
Subject: Re: [CMake] Problems generating Xcode projects
To: "Carminati Federico" <[EMAIL PROTECTED]>
Date: Tuesday, July 15, 2008, 1:31 PM
Hello Federico,

I've had the same problems.  When it did work right it
just had calls to the Make utility internally anyway.  If
all it's going to do is call make, you might just as
well generate UNIX-style makefiles and call them from the
terminal prompt by typing make and, if there is an install
target, make install afterward.



Yes, makefiles are used in a very limited way to get around some issues 
with Xcode, but 99% of the build is done with Xcode.  Custom commands 
are done with small makefiles.  I don't think that there is another way 
to do them.   Also, there are some makefiles used to get around some 
rebuild problems that Xcode has when linking to external libraries. 
However, the bulk of the build is done with native Xcode.



When I try to open the project with Xcode I have

Project
/Users/fca/AliCmake/NewIO/xcode_dir/AliRoot.xcodeproj
cannot  
be opened because the project file cannot be parsed.


Any hint? Best,


This sounds like a bug, can you send me (off the list 
AliRoot.xcodeproj)?  (It maybe a bug that I just fixed...)


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


[CMake] Fw: Re: Problems generating Xcode projects

2008-07-15 Thread Samuel Crow



--- On Tue, 7/15/08, Samuel Crow <[EMAIL PROTECTED]> wrote:

> From: Samuel Crow <[EMAIL PROTECTED]>
> Subject: Re: [CMake] Problems generating Xcode projects
> To: "Carminati Federico" <[EMAIL PROTECTED]>
> Date: Tuesday, July 15, 2008, 1:31 PM
> Hello Federico,
> 
> I've had the same problems.  When it did work right it
> just had calls to the Make utility internally anyway.  If
> all it's going to do is call make, you might just as
> well generate UNIX-style makefiles and call them from the
> terminal prompt by typing make and, if there is an install
> target, make install afterward.
> 
> --Sam
> 
> 
> --- On Tue, 7/15/08, Carminati Federico
> <[EMAIL PROTECTED]> wrote:
> 
> > From: Carminati Federico
> <[EMAIL PROTECTED]>
> > Subject: [CMake] Problems generating Xcode projects
> > To: cmake@cmake.org
> > Cc: "Florian Uhlig" <[EMAIL PROTECTED]>
> > Date: Tuesday, July 15, 2008, 12:13 PM
> > Hello,
> > I am trying to generate an Xcode project. I have
> > 
> > cmake 2.6
> > Xcode 3.0
> > Mac OS X 10.5.4
> > 
> > When I try to open the project with Xcode I have
> > 
> > Project
> > /Users/fca/AliCmake/NewIO/xcode_dir/AliRoot.xcodeproj
> > cannot  
> > be opened because the project file cannot be parsed.
> > 
> > Any hint? Best,
> > 
> > Federico Carminati
> > CERN-PH
> > 1211 Geneva 23
> > Switzerland
> > Tel: +41 22 76 74959
> > Fax: +41 22 76 79480
> > Mobile: +41 76 487 4843
> > 
> > ___
> > 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] cpack_install_cmake_projects options?

2008-07-15 Thread dean.inglis
I am trying to use CPack to install a simple windows command line exe
that links to 3 dll's: TeneosCommon.dll, vtkCommon.dll, vtksys.dll, where
Teneos is a 3rd party source that compiles against VTK, ITK, Gdcm and KWWidgets.
Currently, my TeneosCPack.cmake file has 

SET( CPACK_INSTALL_CMAKE_PROJECTS 
"${TeneosApplications_BINARY_DIR};TeneosApplications;ALL;/;${VTK_DIR};VTK 
Runtime Libs;RuntimeLibraries;/;${KWWidgets_DIR};KWWidgets Libs;ALL;/;
${GDCM_DIR};GDCM Libs;ALL;/;${Teneos_DIR};Teneos Runtime Libs;ALL;/" )

But this packages all libs, dlls and header files. What other options
other than ALL are there? Would I use CPACK_SOURCE_IGNORE_FILES
somehow to exclude all .lib and .h files and possibly certain dll's? 
How would I request that only the aforementioned dll's are packaged?

Dean


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


[CMake] Problems generating Xcode projects

2008-07-15 Thread Carminati Federico

Hello,
   I am trying to generate an Xcode project. I have

cmake 2.6
Xcode 3.0
Mac OS X 10.5.4

When I try to open the project with Xcode I have

Project /Users/fca/AliCmake/NewIO/xcode_dir/AliRoot.xcodeproj cannot  
be opened because the project file cannot be parsed.


Any hint? Best,

Federico Carminati
CERN-PH
1211 Geneva 23
Switzerland
Tel: +41 22 76 74959
Fax: +41 22 76 79480
Mobile: +41 76 487 4843

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


Re: [CMake] Three short questions...

2008-07-15 Thread Philip Lowman
On Tue, Jul 15, 2008 at 4:17 AM, Hauke Heibel <[EMAIL PROTECTED]> wrote:

> Hi there,
>
> I've stumbled over three little questions which I could not answer from the
> FAQs nor the CMake documentation or the Wiki. Maybe one of the specialists
> can help me out...
>
> The first question is whether it is possible to prevent environment
> variables from being expanded by CMake when it comes to setting include or
> link directories (INCLUDE_DIRECTORIES and LINK_DIRECTORIES).


Not sure what you mean here.  You might be able to do this (don't know,
never tried), but I wouldn't recommend it:

INCLUDE_DIRECTORIES($ENV{FOO})


> The second question is whether I can prevent the MSVC generator to append
> $(OutDir) to LINK_DIRECTORIES. For each call to LINK_DIRECTORIES I get two
> directories (e.g. LINK_DIRECTORIES(c:/foo/bar) creates c:/foo/bar/$(OutDir)
> and c:/foo/bar).


I didn't even realize that it did that.  I think that's probably meant as a
convenience for MSVC developers who sometimes like to share the same
filename across different release configurations (in different directories
obviously).   Not sure if it's disableable or not, is it causing you
problems?


> And the last question is, if it is possible to tell the FindQt.cmake script
> to give me the plain libraries without the full path of them being prepended
> (I am talking about the content of the QT_LIBRARIES variable). I would
> rather like to use LINK_DIRECTORIES and TARGET_LINK_LIBRARIES separately,
> i.e. I would prefer QtGuid4.lib over C:\Qt\lib\QtGuid4.lib.


It should be possible to do this with STRING(REGEX REPLACE... ) if there is
no better way.  I'm curious why you would need to do this though.  The use
of TARGET_LINK_LIBRARIES() with full paths is highly desired over
LINK_LIBRARIES() and TARGET_LINK_LIBRARIES() with a relative library
filename.  It allows you to support use cases like this:

If you have two external packages that both provide "sys.lib" for example..
C:\foo\sys.lib
C:\bar\sys.lib
...there is no way to link them both in using LINK_DIRECTORIES() and
TARGET_LINK_LIBRARIES().  If you only want one trying to figure out which
one you want is usually impossible if for other reasons you need other
libraries from both C:\foo and C:\bar.  If on the other hand you're using
TARGET_LINK_LIBRARIES with full paths the linker should be able to figure
everything out since most linkers support full paths to libraries.

Usually people just use the absolute paths determined by CMake Find modules
or by manual calls to FIND_LIBRARY().  There are several variables that you
can modify prior to calling FIND_LIBRARY() or FIND_PACKAGE() that will
usually allow you to override the default directory search paths.  See
CMAKE_PREFIX_PATH and CMAKE_LIBRARY_PATH.

http://www.cmake.org/HTML/cmake-2.6.html#command:find_library

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

[CMake] Help with Execute_Process

2008-07-15 Thread Carminati Federico

Hello,
  I would like to execute the following command

Execute_Process(
  COMMAND svn info | grep \"Last Changed Rev:\" |  cut -d: -f2
  OUTPUT_VARIABLE _res)

But concatenation with pipes does not work. Any hint? Best regards,

Federico Carminati
CERN-PH
1211 Geneva 23
Switzerland
Tel: +41 22 76 74959
Fax: +41 22 76 79480
Mobile: +41 76 487 4843

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


Re: [CMake] newbie - VC++ external link dependency

2008-07-15 Thread Philip Lowman
On Tue, Jul 15, 2008 at 4:53 AM, Jack Andrews <[EMAIL PROTECTED]> wrote:

> hi guys,
>
> i've got a small library (portlib) that does things including sockets
> on linux and windows.  my problem is that many executables depend on
> this library and it seems that for every executable i also have to add
>
> IF(WIN32)
> LINK_LIBRARIES(wsock32 ws2_32 portlib)
> ENDIF(WIN32)
>
> that is, on top of portlib, i have to specify windows libs.  i can't
> seem to work out how i can get away with just:
>
> LINK_LIBRARIES(portlib)
>
> so i tried to add
>
> LINK_LIBRARIES(wsock32 ws2_32)
>
> to the portlib CMakeLists.txt but this didn't work as i hoped.


Usually if you use TARGET_LINK_LIBRARIES, CMake will handle the dependencies
automatically

ADD_LIBRARY(portlib ${portlib_srcs} ${portlib_public_hdrs})
IF(WIN32)
   TARGET_LINK_LIBRARIES(portlib ws2_32)
ENDIF()


ADD_EXECUTABLE(foo foo.cc)
TARGET_LINK_LIBRARIES(foo portlib) # on WIN32, will be linked against ws2_32
as well


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

[CMake] newbie - VC++ external link dependency

2008-07-15 Thread Jack Andrews
hi guys,

i've got a small library (portlib) that does things including sockets
on linux and windows.  my problem is that many executables depend on
this library and it seems that for every executable i also have to add

IF(WIN32)
LINK_LIBRARIES(wsock32 ws2_32 portlib)
ENDIF(WIN32)

that is, on top of portlib, i have to specify windows libs.  i can't
seem to work out how i can get away with just:

LINK_LIBRARIES(portlib)

so i tried to add

LINK_LIBRARIES(wsock32 ws2_32)

to the portlib CMakeLists.txt but this didn't work as i hoped.

thanks,


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


[CMake] The reason of /STACK:10000000 linker flag on Visual Studio

2008-07-15 Thread Yuri Timenkov
Hi,
We encountered a problem with this option: Such big stack sizes negatively 
affect threads count.

Numbers: with 10Mb stacks it is possible to create ~195 threads on 32-bit 
system, with default 1Mb stacks it is possible to create ~2000 threads on the 
same system.

So why does CMake need such huge stacks? And are such stacks necessary for 
every program (even C++)?

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


[CMake] Three short questions...

2008-07-15 Thread Hauke Heibel

Hi there,

I've stumbled over three little questions which I could not answer from 
the FAQs nor the CMake documentation or the Wiki. Maybe one of the 
specialists can help me out...


The first question is whether it is possible to prevent environment 
variables from being expanded by CMake when it comes to setting include 
or link directories (INCLUDE_DIRECTORIES and LINK_DIRECTORIES).


The second question is whether I can prevent the MSVC generator to 
append $(OutDir) to LINK_DIRECTORIES. For each call to LINK_DIRECTORIES 
I get two directories (e.g. LINK_DIRECTORIES(c:/foo/bar) creates 
c:/foo/bar/$(OutDir) and c:/foo/bar).


And the last question is, if it is possible to tell the FindQt.cmake 
script to give me the plain libraries without the full path of them 
being prepended (I am talking about the content of the QT_LIBRARIES 
variable). I would rather like to use LINK_DIRECTORIES and 
TARGET_LINK_LIBRARIES separately, i.e. I would prefer QtGuid4.lib over 
C:\Qt\lib\QtGuid4.lib.


I am using CMake 2.6-patch 0. Any hints would be great.

Regards,
Hauke

--
Tim Hauke Heibel
Computer Aided Medical Procedures (CAMP)
fon: +49 89 289 19427
fax: +49 89 289 17059

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