[cmake-developers] [CMake 0012450]: Xcode generator: removing dependency in Xcode crashes Xcode

2011-09-09 Thread Mantis Bug Tracker

The following issue has been SUBMITTED. 
== 
http://public.kitware.com/Bug/view.php?id=12450 
== 
Reported By:Druon
Assigned To:
== 
Project:CMake
Issue ID:   12450
Category:   (No Category)
Reproducibility:always
Severity:   minor
Priority:   normal
Status: new
== 
Date Submitted: 2011-09-09 08:03 EDT
Last Modified:  2011-09-09 08:03 EDT
== 
Summary:Xcode generator: removing dependency in Xcode
crashes Xcode
Description: 
Using a CMake-generated Xcode project file, it's not possible to remove a
dependency without crashing Xcode. I'm not sure if this is a supported
operation, but I came across it by accident while investigating a dependency
issue.

Steps to Reproduce: 
Use the following CMakeLists.txt file with empty bar.c and foo.c. Generate an
Xcode project then try to remove dependency 'bar' from the 'foo' target in
Xcode.

cmake_minimum_required(VERSION 2.8)
add_library(bar bar.c)
add_executable(foo foo.c)
target_link_libraries(foo bar)

== 

Issue History 
Date ModifiedUsername   FieldChange   
== 
2011-09-09 08:03 Druon  New Issue
==

___
cmake-developers mailing list
cmake-developers@cmake.org
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers


[cmake-developers] [CMake 0012451]: MACOSX_BUNDLE path problem when building for iOS with Xcode

2011-09-09 Thread Mantis Bug Tracker

The following issue has been SUBMITTED. 
== 
http://public.kitware.com/Bug/view.php?id=12451 
== 
Reported By:Druon
Assigned To:
== 
Project:CMake
Issue ID:   12451
Category:   CMake
Reproducibility:always
Severity:   major
Priority:   normal
Status: new
== 
Date Submitted: 2011-09-09 09:32 EDT
Last Modified:  2011-09-09 09:32 EDT
== 
Summary:MACOSX_BUNDLE path problem when building for iOS
with Xcode
Description: 
I'm not sure if building for iOS is officially supported, but here goes...

When building for iOS with MACOSX_BUNDLE specified on the target, this generates
an XCODE_DEPEND_HELPER.make with Foo.app/Contents/MacOS/foo paths in it. However
for iOS builds, Xcode places the executable 'foo' in Foo.app/foo.

I couldn't find an option to change this behaviour.

The result is that dependency checking does not work and a clean build is
required every time the app is compiled.

Steps to Reproduce: 
Set up an iOS project by setting CMAKE_OSX_SYSROOT, CMAKE_OSX_ARCHITECTURES and
MACOSX_BUNDLE_GUI_IDENTIFIER. Specify MACOSX_BUNDLE for the target executable.
Make a change in a dependency and rebuild the app. The app will not be updated.
== 

Issue History 
Date ModifiedUsername   FieldChange   
== 
2011-09-09 09:32 Druon  New Issue
==

___
cmake-developers mailing list
cmake-developers@cmake.org
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers


Re: [CMake] FYI - From Ninja-build mailing list - Fwd: Proposal: restat rules

2011-09-09 Thread Rolf Eike Beer
Am Donnerstag, 8. September 2011, 19:54:46 schrieb Peter Collingbourne:
 On Wed, Sep 07, 2011 at 11:04:42PM -0400, Jean-Christophe Fillion-Robin 
wrote:
  -- Forwarded message --
  From: Peter Collingbourne pe...@pcc.me.uk
  Date: Wed, Sep 7, 2011 at 9:17 PM
  Subject: Proposal: restat rules
  To: ninja-bu...@googlegroups.com
 
 FWIW, the Ninja generator I have been working on is based on work by
 Nicolas Despres, and has been successfully used to compile a number
 of large open source projects, including CMake itself, LLVM/Clang,
 OpenCV and Bullet Physics.

If you want something big try to build KDE stuff with it. There is a script 
called kdesrc-build that can be used to automate the building, I'm rather sure 
this can easily be changed to call Ninja instead of make.

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

[CMake] Howto disable printing the link command

2011-09-09 Thread Pere Mato Vila
The make option -s switches off printing the commands, but this seems not to be 
working for the CMake generated link command for shared libraries. Does anybody 
know how to avoid the printing of the link command? 
The reason I need this is because one of my large libraries produces a command 
line that is 120k bytes long and this completely screws up the performance of 
ctest_build(). See http://public.kitware.com/Bug/view.php?id=12381

-
Pere Mato  CERN, PH Department, CH 1211 Geneva 23, Switzerland
  e-mail: pere.m...@cern.ch  tel: +41 22 76 78696
  fax:  +41 22 76 68792gsm: +41 76 48 70855


___
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] 64 bit flags

2011-09-09 Thread pellegrini

Hello everybody,

I have a Fortran project that is currently built (using gfortran, g95 or 
ifort) on 32 bits machines but that might need quite soon to be built on 
64 bit machines as well.


Does cmake automatically detect the processor architecture and add the 
64 bit flag at configuration time or do I have to declare those flags 
through, for example, a '-D option ?


thanks

Eric

--
Eric Pellegrini
Calcul Scientifique
Institut Laue-Langevin
Grenoble, France

___
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] Fwd: 64 bit flags

2011-09-09 Thread Eric Noulard
I did forget the ML.


-- Forwarded message --
From: Eric Noulard eric.noul...@gmail.com
Date: 2011/9/9
Subject: Re: [CMake] 64 bit flags
To: pellegrini pellegr...@ill.fr


2011/9/9 pellegrini pellegr...@ill.fr:
 Hello everybody,

 I have a Fortran project that is currently built (using gfortran, g95 or
 ifort) on 32 bits machines but that might need quite soon to be built on 64
 bit machines as well.

 Does cmake automatically detect the processor architecture and add the 64
 bit flag at configuration time or do I have to declare those flags through,
 for example, a '-D option ?

CMake chose the default target architecture of your compiler so
if the default target ofthe compiler is 64bits no need for special flags.

To be more clear:

  If I compile some code on a 32bits host the compiler
  (C, Fortran or whatever) usually produce 32bits binaries

  If I compile some code on a 64 bits host the compiler
  (C, Fortran or whatever) usually produce 64bits binaries

So CMake detect the compiler (C; Fortran, ...) and do not care
about 32/64 bits issue.

Now if YOUR code as 32/64 bits specific zone then you need an appropriate
macro whose definition may be done by you (in CMakeLists.txt) by testing
the value of CMAKE_SIZEOF_VOID_P.

Now some platform like Mac OS support multi-arch binaries and if you
crawl the mail archive you'll find discussion about that.


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



-- 
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] Fwd: 64 bit flags

2011-09-09 Thread pellegrini

Thanks a lot Eric for the clear explanation.

Eric




Eric Noulard a écrit :

I did forget the ML.


-- Forwarded message --
From: Eric Noulard eric.noul...@gmail.com
Date: 2011/9/9
Subject: Re: [CMake] 64 bit flags
To: pellegrini pellegr...@ill.fr


2011/9/9 pellegrini pellegr...@ill.fr:
  

Hello everybody,

I have a Fortran project that is currently built (using gfortran, g95 or
ifort) on 32 bits machines but that might need quite soon to be built on 64
bit machines as well.

Does cmake automatically detect the processor architecture and add the 64
bit flag at configuration time or do I have to declare those flags through,
for example, a '-D option ?



CMake chose the default target architecture of your compiler so
if the default target ofthe compiler is 64bits no need for special flags.

To be more clear:

  If I compile some code on a 32bits host the compiler
  (C, Fortran or whatever) usually produce 32bits binaries

  If I compile some code on a 64 bits host the compiler
  (C, Fortran or whatever) usually produce 64bits binaries

So CMake detect the compiler (C; Fortran, ...) and do not care
about 32/64 bits issue.

Now if YOUR code as 32/64 bits specific zone then you need an appropriate
macro whose definition may be done by you (in CMakeLists.txt) by testing
the value of CMAKE_SIZEOF_VOID_P.

Now some platform like Mac OS support multi-arch binaries and if you
crawl the mail archive you'll find discussion about that.


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



  



--
Eric Pellegrini
Calcul Scientifique
Institut Laue-Langevin
Grenoble, France

___
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] Adding a custom line to CMake's makefiles?

2011-09-09 Thread Clifford Yapp
I can finally give a good concrete case where I might need to do this (or
need some other very clever solution).

I have created a distcheck command for BRL-CAD that has a lot of
responsibilities, including doing a complete configure and build of BRL-CAD
from a source archive expanded from a CPack tarball.  The distcheck rule
uses cmake to fire off the build (this is to try and be future proof against
using other tools than Make to do a distcheck) but I need to pass the
parallel build setting -j from Make down to the ${CMAKE_COMMAND} build
launched by the distcheck rule, and there doesn't seem to be any way to do
it.

This is the subset of the distcheck rule (somewhat edited for clarity):

   ADD_CUSTOM_TARGET(distcheck
  COMMAND ${CMAKE_COMMAND} -E echo Stage 1:  Create source tgz, tbz2
and zip archives from toplevel archive.
  COMMAND cpack --config
${CMAKE_CURRENT_BINARY_DIR}/CPackSourceConfig.cmake
  COMMAND ${CMAKE_COMMAND} -E echo Stage 2:  Expand tgz archive and
prepare to build from archive sources.
  COMMAND ${CMAKE_COMMAND} -E tar xvzf
${CPACK_SOURCE_PACKAGE_FILE_NAME}.tar.gz
  COMMAND ${CMAKE_COMMAND} -E make_directory
_${CPACK_SOURCE_PACKAGE_FILE_NAME}-build
  COMMAND ${CMAKE_COMMAND} -E make_directory
_${CPACK_SOURCE_PACKAGE_FILE_NAME}-install
  COMMAND ${CMAKE_COMMAND} -E chdir
_${CPACK_SOURCE_PACKAGE_FILE_NAME}-build ${CMAKE_COMMAND}
../${CPACK_SOURCE_PACKAGE_FILE_NAME}
-DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_BINARY_DIR}/_${CPACK_SOURCE_PACKAGE_FILE_NAME}-install
  COMMAND ${CMAKE_COMMAND} -E echo Stage 3:  Compile using source from
tgz archive.
  COMMAND ${CMAKE_COMMAND} --build
_${CPACK_SOURCE_PACKAGE_FILE_NAME}-build
  )

This can be successfully fired off by make distcheck, which is the desired
behavior.  However, the --build option doesn't respect (naturally) any -jN
options fed to make, since they aren't specified at CMake time when the
distcheck Makefile target is being generated.

Perversely enough, if I'm understanding the issue correctly I won't be able
to use the -jN value itself in any case, even if the Makefile can be taught
to do something smart:
http://old.nabble.com/MAKEFLAGS-var-does-not-show-%22-j%22-param-td15983337.html

The best idea I can come up with so far is for the CMake generated Makefile
to write out a variable containing some CPU related variable (e.g. make
CPUS=8 and write the value of $(CPUS) to CMakeFiles/make_cpu_flag or some
such) and then convert the distcheck commands above into a series of
EXECUTE_PROCESS lines in a rundistcheck.cmake file that is launched by the
distcheck rule with a ${CMAKE_COMMAND}.  In rundistcheck.cmake, I can check
for the presence of the make_cpu_flag file and if found add the -j parallel
flag to the --build line before running it.  That will mean a parallel
distcheck will have to use a different make syntax than the standard make
-j, but at least it would be something.  Unfortunately, that means I still
need the Makefile to let me know what was passed in up front, which means
tweaking the CMake generated output somehow (not really sure how yet).

Does anybody else have a mechanism for passing parallel build instructions
from make down to child ${CMAKE_COMMAND} --build instances?

Cheers,
CY


On Wed, Feb 2, 2011 at 4:32 PM, Michael Hertling mhertl...@online.dewrote:

 On 02/02/2011 03:34 PM, Clifford Yapp wrote:
  Is there any way to customize the Makefile output from CMake to
  include user-defined lines (say, something like #include
  Makefile.inc) at the end of each Make file?


 [snip]


 However, this approach is neither portable nor clean
 nor your-expectation-here, so I would ask Eric's questions, too. ;)

 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

Re: [CMake] FYI - From Ninja-build mailing list - Fwd: Proposal: restat rules

2011-09-09 Thread Bill Hoffman
This is very cool work Peter.  How well is this generator doing with the 
CMake tests?  Is there a nija for windows?  I would be interested in 
testing that.


-Bill
___
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] Deferred CPU count variable in CMake for Makefile generator?

2011-09-09 Thread Clifford Yapp
Per the customizing Makefile email, I'd like to ask if a mechanism exists or
could be implemented to allow CMakeLists.txt files to define commands that
pass a CPU count to subcommands - e.g. something that allows the generators
to take a syntax along the lines of:

ADD_CUSTOM_TARGET(subbuild
 COMMAND ${CMAKE_COMMAND} --build ${TARGET_DIR} -- -j${PARENT_CPUS}
)

and generate makefiles that will take make JOBS=3 subbuild and have cmake
in turn launch make -j3 in the target directory - in other words,
${PARENT_CPUS} would be a cue for the backend generator to add logic to pass
down parallel make settings to the subbuild command.  (Ideally -j3 could be
passed down, but it looks like make itself precludes that so some other
variable would have to be used at the top level.)

Any insight is appreciated - this one has got me pretty stumped as to the
right way to achieve this effect.

Thanks,
CY
___
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] FYI - From Ninja-build mailing list - Fwd: Proposal: restat rules

2011-09-09 Thread Malfettone, Kris
Peter,
I am very interested in the ninja generator and gave it a try for one of my 
very large projects.  Unfortunately, I have approximately 100 targets all with 
the same output name(simple) but in CMake I give them all unique target 
names(dot separated name built from their place in the directory tree).  This 
works fine for Makefiles however the ninja generator seems to be adding:
# Shortcut target for the output name.
build simple: phony MD/MDF/Parsers/BX/BLS/v1_1/utils/simple/simple
# Shortcut target for the target name.
build BX.BLS.v1_1.simple: phony simple
Which then causes the following from ninja:
ninja: WARNING: multiple rules generate simple. build will not be 
correct; continuing anyway

Is there a way to disable these shortcut targets?  Even changing my target 
names to a different format is a possibility if that is necessary.

-Kris




-Original Message-
From: cmake-boun...@cmake.org [mailto:cmake-boun...@cmake.org] On Behalf Of 
Peter Collingbourne
Sent: Thursday, September 08, 2011 2:55 PM
To: Jean-Christophe Fillion-Robin
Cc: CMake ML
Subject: Re: [CMake] FYI - From Ninja-build mailing list - Fwd: Proposal: 
restat rules

On Wed, Sep 07, 2011 at 11:04:42PM -0400, Jean-Christophe Fillion-Robin wrote:
 -- Forwarded message --
 From: Peter Collingbourne pe...@pcc.me.uk
 Date: Wed, Sep 7, 2011 at 9:17 PM
 Subject: Proposal: restat rules
 To: ninja-bu...@googlegroups.com

FWIW, the Ninja generator I have been working on is based on work by Nicolas 
Despres, and has been successfully used to compile a number of large open 
source projects, including CMake itself, LLVM/Clang, OpenCV and Bullet Physics.

I am planning to submit the Ninja generator as a patch to CMake upstream once 
it has been put through more exhaustive testing and certain known issues have 
been resolved (my post to ninja-build being one of them).

Anyone who is interested in trying the Ninja generator with their own projects 
is welcome to clone my repository at:

https://github.com/pcc/CMake/tree/ninja-generator

and to report any issues encountered.  Note that the generator is currently 
only known to work on Linux.  To select the Ninja generator you can pass the 
option -G Ninja on the cmake command line.

Thanks,
--
Peter
___
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



IMPORTANT: The information contained in this email and/or its attachments is 
confidential. If you are not the intended recipient, please notify the sender 
immediately by reply and immediately delete this message and all its 
attachments. Any review, use, reproduction, disclosure or dissemination of this 
message or any attachment by an unintended recipient is strictly prohibited. 
Neither this message nor any attachment is intended as or should be construed 
as an offer, solicitation or recommendation to buy or sell any security or 
other financial instrument. Neither the sender, his or her employer nor any of 
their respective affiliates makes any warranties as to the completeness or 
accuracy of any of the information contained herein or that this message or any 
of its attachments is free of viruses.
___
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] Deferred CPU count variable in CMake for Makefile generator?

2011-09-09 Thread David Cole
On Fri, Sep 9, 2011 at 10:49 AM, Clifford Yapp cliffy...@gmail.com wrote:
 Per the customizing Makefile email, I'd like to ask if a mechanism exists or
 could be implemented to allow CMakeLists.txt files to define commands that
 pass a CPU count to subcommands - e.g. something that allows the generators
 to take a syntax along the lines of:

 ADD_CUSTOM_TARGET(subbuild
  COMMAND ${CMAKE_COMMAND} --build ${TARGET_DIR} -- -j${PARENT_CPUS}
 )

 and generate makefiles that will take make JOBS=3 subbuild and have cmake
 in turn launch make -j3 in the target directory - in other words,
 ${PARENT_CPUS} would be a cue for the backend generator to add logic to pass
 down parallel make settings to the subbuild command.  (Ideally -j3 could be
 passed down, but it looks like make itself precludes that so some other
 variable would have to be used at the top level.)

 Any insight is appreciated - this one has got me pretty stumped as to the
 right way to achieve this effect.

 Thanks,
 CY


 ___
 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, -- -j${PARENT_CPUS} is make-specific anyhow, right? So the
add_custom_target you propose only works with the Makefile generators
where the make in question actually supports -j.

In the ExternalProject module, we use the following logic to have
custom targets build where the child processes use the same parallel
job controller as the parent make process, but only for make
systems. To do this we use the literal $(MAKE) as the command to do
the actual build. And then, for non-make systems, we fall back to
cmake --build

# Full code for this snippet starts at line 658 of the
Modules/ExternalProject.cmake file presently in CMake 'master' ...
#
# 
http://cmake.org/gitweb?p=cmake.git;a=blob;f=Modules/ExternalProject.cmake;h=a37771b9;hb=3ae6060f#l658
#
if(cfg_cmd_id STREQUAL cmake)
  # CMake project.  Select build command based on generator.
  get_target_property(cmake_generator ${name} _EP_CMAKE_GENERATOR)
  if(${CMAKE_GENERATOR} MATCHES Make AND
 (${cmake_generator} MATCHES Make OR NOT cmake_generator))
# The project uses the same Makefile generator.  Use recursive make.
set(cmd $(MAKE))
... code elided for brevity ...
  else()
# Drive the project with cmake --build.
get_target_property(cmake_command ${name} _EP_CMAKE_COMMAND)
if(cmake_command)
  set(cmd ${cmake_command})
else()
  set(cmd ${CMAKE_COMMAND})
endif()
set(args --build ${binary_dir} --config ${CMAKE_CFG_INTDIR})
... code elided for brevity ...
  endif()
else() # if(cfg_cmd_id STREQUAL configure)
  # Non-CMake project.  Guess make and make install and make test.
  # But use $(MAKE) to get recursive parallel make.
  set(cmd $(MAKE))
... code elided for brevity ...
endif()

With this logic, we are able to use make -j8 at the
parent/top-level/super- project level, and then all the child makes
that occur via $(MAKE) share the 8 slots for running parallel
commands as the make progresses.

Would that be a sufficient solution, or do you really need to pass
flags down for some of your custom targets based on some of the makes
that you have to deal with?

Let us know.


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://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] FYI - From Ninja-build mailing list - Fwd: Proposal: restat rules

2011-09-09 Thread Clifford Yapp
On Thu, Sep 8, 2011 at 2:54 PM, Peter Collingbourne pe...@pcc.me.uk wrote:


 Anyone who is interested in trying the Ninja generator with
 their own projects is welcome to clone my repository at:

 https://github.com/pcc/CMake/tree/ninja-generator

 and to report any issues encountered.  Note that the generator is
 currently only known to work on Linux.  To select the Ninja generator
 you can pass the option -G Ninja on the cmake command line.


Gave it a whirl with BRL-CAD.  You caught me out fair and square on one
unspecified dependency that no other build system has caught, which is kinda
cool.

It seems to mostly build, but it's not recognizing that it's done (if I
re-run ninja, it redoes most of the build).  This could be something I'm not
doing right or expected ninja behavior at this stage, but I thought I'd
mention it.

It looks like various custom commands aren't running (some tcl related
stuff, docbook documentation generation) - are custom commands currently
supported?

For the core program building though, looks like it succeeded quite handily
- very nice!  Unfortunately, my time delta calculation was one of the
targets not built (or at least I don't see its output) so I'm not sure what
the time difference is yet ;-).

Cheers, and nice work!

CY
___
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] Problem to set /LIBPATH in Swig + Python + Windows.

2011-09-09 Thread Fernando Luz
Hi,

I need to use a mix with SWIG and Python in a windows environment. I
used SWIG_LINK_LIBRARIES( blabla ${PYTHON_LIBRARIES}) where
${PYTHON_LIBRARIES} I get using FindPackage(PythonLibs). 

But I have  blank space in ${PYTHON_LIBRARIES} and this cause a error in
my vcproj. Ex.

If ${PYTHON_LIBRARIES} = C:\arquivos de programas\fernando_luz\teste
\libteste.lib

in vcproj, the list of libraries became

C:\arquivos 
de 
programas\fernando_luz\teste\libteste.lib

in other words, I have 3 libs...

I looked in mail list and I tried split the path and name of
python_libraries, but I don't have success... I tried 

SET_TARGET_PROPERTIES( target PROPERTIES LINK_FLAGS /LIBPATH:C:
\arquivos de programas\fernando_luz\teste\ )


But I don't know who is my target, I tried _teste (because this is the name of 
vcproj 
created) but it's don't work.

Thanks in advanced

Fernando Luz


___
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] CMake 2.8.6-rc3 ready for testing!

2011-09-09 Thread David Cole
The CMake 2.8.6 release candidate stream continues! You can find the
source and binaries here:
http://www.cmake.org/files/v2.8/?C=M;O=D

This email is also available on the Kitware blog at
http://www.kitware.com/blog/home/post/165

If you want to test this out and ask for a fix, do it soon, or hold your
peace till the next release! I expect we will finalize the 2.8.6 release
by mid-September.

This release candidate we do not have pre-built binaries for the
SunOS anymore. As mentioned on the CMake mailing list recently, our
Sun hardware has bitten the proverbial dust.

However, we are now providing two sets of installers for the Mac.
The Darwin versions are for Mac OSX 10.4 and later, and are ppc;i386
universal binaries. The Darwin64 versions are for 10.6 and later,
and are x86_64;i386 universal binaries.

Following is the list of changes in this release. Since we switched to
git, this list is now the 'git log' one line summary written by the
named CMake developers.

Please try this version of CMake on your projects and report any
issues to the list or the bug tracker.

Happy building!
-Dave


Changes in CMake 2.8.6-rc3 (since 2.8.6-rc2)

Alexey Ozeritsky (2):
  FindBLAS/LAPACK fixes
  FindBLAS/LAPACK fixes

Andreas Schneider (1):
  Modules: Add support for more java archives in add_jar().

Björn Ricks (4):
  Search for the installed python interpreter first
  Determine python version
  Update documentation of FindPythonInterp.cmake
  Use FIND_PACKAGE_HANDLE_STANDARD_ARGS second mode

Brad King (5):
  VS: Map per-source Fortran flags to IDE options
  VS: Map Fortran free- and fixed-format flags to IDE options
  Fortran: Add support for free- and fixed-form flags
  Xcode: Honor Fortran_FORMAT target and source file property
  Set CMAKE_lang_COMPILER_ID for VS generators

David Cole (8):
  KWSys: Remove always-true dir_only parameter
  KWSys: Add symlinks to directories as files (#12284)
  FindPackageMessage: Eliminate new lines in cache entries
  FindPackageMessage: Eliminate new lines using REGEX REPLACE
  CMake: Add SaveCache at the end of successful Generate calls
  Suppress Qt warning for dashmacmini5 builds
  Suppress Qt warning for dashmacmini5 builds
  Tests: Look for Illegal or SegFault in the output

Eric NOULARD (2):
  CPack  fix #12366 components RPM packages have the same package name
  CPackRPM fix #12305, include directories in RPM package

Johan Björk (5):
  Xcode: No spaces in makefile target names (#12370)
  CMake: Write symlinks to directories as files in archives (#12284)
  CPack: Do not recurse through directory symlinks (#12284)
  Xcode: Do not emit the ZERO_CHECK target more than once
  Xcode: Honor -g0 to disable debugging (#12377)

Johannes Stallkamp (1):
  CTest: Fixed valgrind output parsing (#12260)

Matt McCormick (1):
  CMake: Remove documentation for -E build (#12446)

Stephen Kelly (2):
  Add some more unit tests.
  Don't put what some compilers consider junk at the end of the line.

Thomas Jarosch (3):
  CTest: Fix memory leaks on error
  Fix file() command descriptor leak on error
  ccmake: Fix off-by-one memory access error
___
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] Deferred CPU count variable in CMake for Makefile generator?

2011-09-09 Thread Clifford Yapp
Looks like $(MAKE) will do it, at least in testing so far - awesome!  Thanks
David.

Cliff.

On Fri, Sep 9, 2011 at 11:15 AM, David Cole david.c...@kitware.com wrote:


  if(${CMAKE_GENERATOR} MATCHES Make AND
 (${cmake_generator} MATCHES Make OR NOT cmake_generator))
# The project uses the same Makefile generator.  Use recursive make.
set(cmd $(MAKE))

 Would that be a sufficient solution, or do you really need to pass
 flags down for some of your custom targets based on some of the makes
 that you have to deal with?

 Let us know.


 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://www.cmake.org/mailman/listinfo/cmake

Re: [CMake] Adding a custom line to CMake's makefiles?

2011-09-09 Thread Mike Wittman

If you are building on Linux, try
MAKEFLAGS=j8 make distcheck

I have successfully used the MAKEFLAGS environment variable to propagate 
parallel build invocations through scripts that invoke make with fixed 
options.


-Mike

On 09/09/2011 09:21 AM, Clifford Yapp wrote:
I can finally give a good concrete case where I might need to do this 
(or need some other very clever solution).


I have created a distcheck command for BRL-CAD that has a lot of 
responsibilities, including doing a complete configure and build of 
BRL-CAD from a source archive expanded from a CPack tarball.  The 
distcheck rule uses cmake to fire off the build (this is to try and be 
future proof against using other tools than Make to do a distcheck) 
but I need to pass the parallel build setting -j from Make down to the 
${CMAKE_COMMAND} build launched by the distcheck rule, and there 
doesn't seem to be any way to do it.


This is the subset of the distcheck rule (somewhat edited for clarity):

   ADD_CUSTOM_TARGET(distcheck
  COMMAND ${CMAKE_COMMAND} -E echo Stage 1:  Create source tgz, 
tbz2 and zip archives from toplevel archive.
  COMMAND cpack --config 
${CMAKE_CURRENT_BINARY_DIR}/CPackSourceConfig.cmake
  COMMAND ${CMAKE_COMMAND} -E echo Stage 2:  Expand tgz archive 
and prepare to build from archive sources.
  COMMAND ${CMAKE_COMMAND} -E tar xvzf 
${CPACK_SOURCE_PACKAGE_FILE_NAME}.tar.gz
  COMMAND ${CMAKE_COMMAND} -E make_directory 
_${CPACK_SOURCE_PACKAGE_FILE_NAME}-build
  COMMAND ${CMAKE_COMMAND} -E make_directory 
_${CPACK_SOURCE_PACKAGE_FILE_NAME}-install
  COMMAND ${CMAKE_COMMAND} -E chdir 
_${CPACK_SOURCE_PACKAGE_FILE_NAME}-build ${CMAKE_COMMAND} 
../${CPACK_SOURCE_PACKAGE_FILE_NAME} 
-DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_BINARY_DIR}/_${CPACK_SOURCE_PACKAGE_FILE_NAME}-install
  COMMAND ${CMAKE_COMMAND} -E echo Stage 3:  Compile using source 
from tgz archive.
  COMMAND ${CMAKE_COMMAND} --build 
_${CPACK_SOURCE_PACKAGE_FILE_NAME}-build

  )

This can be successfully fired off by make distcheck, which is the 
desired behavior.  However, the --build option doesn't respect 
(naturally) any -jN options fed to make, since they aren't specified 
at CMake time when the distcheck Makefile target is being generated.


Perversely enough, if I'm understanding the issue correctly I won't be 
able to use the -jN value itself in any case, even if the Makefile can 
be taught to do something smart: 
http://old.nabble.com/MAKEFLAGS-var-does-not-show-%22-j%22-param-td15983337.html


The best idea I can come up with so far is for the CMake generated 
Makefile to write out a variable containing some CPU related variable 
(e.g. make CPUS=8 and write the value of $(CPUS) to 
CMakeFiles/make_cpu_flag or some such) and then convert the distcheck 
commands above into a series of EXECUTE_PROCESS lines in a 
rundistcheck.cmake file that is launched by the distcheck rule with a 
${CMAKE_COMMAND}.  In rundistcheck.cmake, I can check for the presence 
of the make_cpu_flag file and if found add the -j parallel flag to the 
--build line before running it.  That will mean a parallel distcheck 
will have to use a different make syntax than the standard make -j, 
but at least it would be something.  Unfortunately, that means I still 
need the Makefile to let me know what was passed in up front, which 
means tweaking the CMake generated output somehow (not really sure how 
yet).


Does anybody else have a mechanism for passing parallel build 
instructions from make down to child ${CMAKE_COMMAND} --build instances?


Cheers,
CY


On Wed, Feb 2, 2011 at 4:32 PM, Michael Hertling mhertl...@online.de 
mailto:mhertl...@online.de wrote:


On 02/02/2011 03:34 PM, Clifford Yapp wrote:
 Is there any way to customize the Makefile output from CMake to
 include user-defined lines (say, something like #include
 Makefile.inc) at the end of each Make file?


 [snip]

However, this approach is neither portable nor clean
nor your-expectation-here, so I would ask Eric's questions, too. ;)

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


___
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] Adding a custom line to CMake's makefiles?

2011-09-09 Thread Jean-Christophe Fillion-Robin
Reading through make documentation, seems setting -jx to MAKEFLAGS is a
no-op.

*The `-j' option is a special case (see section Parallel
Executionhttp://theory.uwinnipeg.ca/localfiles/infofiles/make/make_47.html#SEC46).
If you set it to some numeric value, `-j 1' is always put into
MAKEFLAGSinstead of the value you specified. This is because if the
`-j' option were passed down to sub-makes, you would get many more jobs
running in parallel than you asked for. If you give `-j' with no numeric
argument, meaning to run as many jobs as possible in parallel, this is
passed down, since multiple infinities are no more than one. *

Source: http://theory.uwinnipeg.ca/localfiles/infofiles/make/make_53.html

Jc

On Fri, Sep 9, 2011 at 3:37 PM, Mike Wittman
michael.witt...@headwave.comwrote:

 **
 If you are building on Linux, try
 MAKEFLAGS=j8 make distcheck

 I have successfully used the MAKEFLAGS environment variable to propagate
 parallel build invocations through scripts that invoke make with fixed
 options.

 -Mike


 On 09/09/2011 09:21 AM, Clifford Yapp wrote:

 I can finally give a good concrete case where I might need to do this (or
 need some other very clever solution).

 I have created a distcheck command for BRL-CAD that has a lot of
 responsibilities, including doing a complete configure and build of BRL-CAD
 from a source archive expanded from a CPack tarball.  The distcheck rule
 uses cmake to fire off the build (this is to try and be future proof against
 using other tools than Make to do a distcheck) but I need to pass the
 parallel build setting -j from Make down to the ${CMAKE_COMMAND} build
 launched by the distcheck rule, and there doesn't seem to be any way to do
 it.

 This is the subset of the distcheck rule (somewhat edited for clarity):

ADD_CUSTOM_TARGET(distcheck
   COMMAND ${CMAKE_COMMAND} -E echo Stage 1:  Create source tgz, tbz2
 and zip archives from toplevel archive.
   COMMAND cpack --config
 ${CMAKE_CURRENT_BINARY_DIR}/CPackSourceConfig.cmake
   COMMAND ${CMAKE_COMMAND} -E echo Stage 2:  Expand tgz archive and
 prepare to build from archive sources.
   COMMAND ${CMAKE_COMMAND} -E tar xvzf
 ${CPACK_SOURCE_PACKAGE_FILE_NAME}.tar.gz
   COMMAND ${CMAKE_COMMAND} -E make_directory
 _${CPACK_SOURCE_PACKAGE_FILE_NAME}-build
   COMMAND ${CMAKE_COMMAND} -E make_directory
 _${CPACK_SOURCE_PACKAGE_FILE_NAME}-install
   COMMAND ${CMAKE_COMMAND} -E chdir
 _${CPACK_SOURCE_PACKAGE_FILE_NAME}-build ${CMAKE_COMMAND}
 ../${CPACK_SOURCE_PACKAGE_FILE_NAME}
 -DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_BINARY_DIR}/_${CPACK_SOURCE_PACKAGE_FILE_NAME}-install
   COMMAND ${CMAKE_COMMAND} -E echo Stage 3:  Compile using source from
 tgz archive.
   COMMAND ${CMAKE_COMMAND} --build
 _${CPACK_SOURCE_PACKAGE_FILE_NAME}-build
   )

 This can be successfully fired off by make distcheck, which is the
 desired behavior.  However, the --build option doesn't respect (naturally)
 any -jN options fed to make, since they aren't specified at CMake time when
 the distcheck Makefile target is being generated.

 Perversely enough, if I'm understanding the issue correctly I won't be able
 to use the -jN value itself in any case, even if the Makefile can be taught
 to do something smart:
 http://old.nabble.com/MAKEFLAGS-var-does-not-show-%22-j%22-param-td15983337.html

 The best idea I can come up with so far is for the CMake generated Makefile
 to write out a variable containing some CPU related variable (e.g. make
 CPUS=8 and write the value of $(CPUS) to CMakeFiles/make_cpu_flag or some
 such) and then convert the distcheck commands above into a series of
 EXECUTE_PROCESS lines in a rundistcheck.cmake file that is launched by the
 distcheck rule with a ${CMAKE_COMMAND}.  In rundistcheck.cmake, I can check
 for the presence of the make_cpu_flag file and if found add the -j parallel
 flag to the --build line before running it.  That will mean a parallel
 distcheck will have to use a different make syntax than the standard make
 -j, but at least it would be something.  Unfortunately, that means I still
 need the Makefile to let me know what was passed in up front, which means
 tweaking the CMake generated output somehow (not really sure how yet).

 Does anybody else have a mechanism for passing parallel build instructions
 from make down to child ${CMAKE_COMMAND} --build instances?

 Cheers,
 CY


 On Wed, Feb 2, 2011 at 4:32 PM, Michael Hertling mhertl...@online.dewrote:

  On 02/02/2011 03:34 PM, Clifford Yapp wrote:
  Is there any way to customize the Makefile output from CMake to
  include user-defined lines (say, something like #include
  Makefile.inc) at the end of each Make file?


  [snip]


 However, this approach is neither portable nor clean
 nor your-expectation-here, so I would ask Eric's questions, too. ;)

 Regards,

 Michael



 ___
 Powered by www.kitware.com


 Visit other Kitware open-source projects at 
 

Re: [CMake] Adding a custom line to CMake's makefiles?

2011-09-09 Thread Mike Wittman
Yes, but only when setting MAKEFLAGS from within a Makefile.  It appears 
the rules do not apply when MAKEFLAGS is set by the invoking shell.  
(And actually, current GNU make handles parallel execution differently 
on Linux, using a job server that all make subprocesses use to 
coordinate execution -- the documentation below is from 1998.)


If you still don't believe :)  try putting the following in a Makefile 
and running MAKEFLAGS=j3 make


all: r1 r2 r3
r1 r2 r3:
echo rule $@; sleep 5

-Mike

On 09/09/2011 02:55 PM, Jean-Christophe Fillion-Robin wrote:
Reading through make documentation, seems setting -jx to MAKEFLAGS is 
a no-op.


/The `-j' option is a special case (see section Parallel Execution 
http://theory.uwinnipeg.ca/localfiles/infofiles/make/make_47.html#SEC46). 
If you set it to some numeric value, `-j 1' is always put into 
|MAKEFLAGS| instead of the value you specified. This is because if the 
`-j' option were passed down to sub-|make|s, you would get many more 
jobs running in parallel than you asked for. If you give `-j' with no 
numeric argument, meaning to run as many jobs as possible in parallel, 
this is passed down, since multiple infinities are no more than one. /


Source: http://theory.uwinnipeg.ca/localfiles/infofiles/make/make_53.html

Jc

On Fri, Sep 9, 2011 at 3:37 PM, Mike Wittman 
michael.witt...@headwave.com mailto:michael.witt...@headwave.com 
wrote:


If you are building on Linux, try
MAKEFLAGS=j8 make distcheck

I have successfully used the MAKEFLAGS environment variable to
propagate parallel build invocations through scripts that invoke
make with fixed options.

-Mike


On 09/09/2011 09:21 AM, Clifford Yapp wrote:

I can finally give a good concrete case where I might need to do
this (or need some other very clever solution).

I have created a distcheck command for BRL-CAD that has a lot of
responsibilities, including doing a complete configure and build
of BRL-CAD from a source archive expanded from a CPack tarball. 
The distcheck rule uses cmake to fire off the build (this is to

try and be future proof against using other tools than Make to do
a distcheck) but I need to pass the parallel build setting -j
from Make down to the ${CMAKE_COMMAND} build launched by the
distcheck rule, and there doesn't seem to be any way to do it.

This is the subset of the distcheck rule (somewhat edited for
clarity):

   ADD_CUSTOM_TARGET(distcheck
  COMMAND ${CMAKE_COMMAND} -E echo Stage 1:  Create source
tgz, tbz2 and zip archives from toplevel archive.
  COMMAND cpack --config
${CMAKE_CURRENT_BINARY_DIR}/CPackSourceConfig.cmake
  COMMAND ${CMAKE_COMMAND} -E echo Stage 2:  Expand tgz
archive and prepare to build from archive sources.
  COMMAND ${CMAKE_COMMAND} -E tar xvzf
${CPACK_SOURCE_PACKAGE_FILE_NAME}.tar.gz
  COMMAND ${CMAKE_COMMAND} -E make_directory
_${CPACK_SOURCE_PACKAGE_FILE_NAME}-build
  COMMAND ${CMAKE_COMMAND} -E make_directory
_${CPACK_SOURCE_PACKAGE_FILE_NAME}-install
  COMMAND ${CMAKE_COMMAND} -E chdir
_${CPACK_SOURCE_PACKAGE_FILE_NAME}-build ${CMAKE_COMMAND}
../${CPACK_SOURCE_PACKAGE_FILE_NAME}

-DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_BINARY_DIR}/_${CPACK_SOURCE_PACKAGE_FILE_NAME}-install
  COMMAND ${CMAKE_COMMAND} -E echo Stage 3:  Compile using
source from tgz archive.
  COMMAND ${CMAKE_COMMAND} --build
_${CPACK_SOURCE_PACKAGE_FILE_NAME}-build
  )

This can be successfully fired off by make distcheck, which is
the desired behavior.  However, the --build option doesn't
respect (naturally) any -jN options fed to make, since they
aren't specified at CMake time when the distcheck Makefile target
is being generated.

Perversely enough, if I'm understanding the issue correctly I
won't be able to use the -jN value itself in any case, even if
the Makefile can be taught to do something smart:

http://old.nabble.com/MAKEFLAGS-var-does-not-show-%22-j%22-param-td15983337.html

The best idea I can come up with so far is for the CMake
generated Makefile to write out a variable containing some CPU
related variable (e.g. make CPUS=8 and write the value of $(CPUS)
to CMakeFiles/make_cpu_flag or some such) and then convert the
distcheck commands above into a series of EXECUTE_PROCESS lines
in a rundistcheck.cmake file that is launched by the distcheck
rule with a ${CMAKE_COMMAND}.  In rundistcheck.cmake, I can check
for the presence of the make_cpu_flag file and if found add the
-j parallel flag to the --build line before running it.  That
will mean a parallel distcheck will have to use a different make
syntax than the standard make -j, but at least it would be
something.  Unfortunately, that means I still need the Makefile
to let me know what was passed in up front, which means 

Re: [CMake] Adding a custom line to CMake's makefiles?

2011-09-09 Thread Clifford Yapp
Thanks Mike, good to know!  David actually solved my problem for me with the
generator based conditional and the $(MAKE) variable, but that's a nifty
workaround to have tucked away.

Cheers,
CY

On Fri, Sep 9, 2011 at 3:37 PM, Mike Wittman m...@headwave.com wrote:

 **
 If you are building on Linux, try
 MAKEFLAGS=j8 make distcheck

 I have successfully used the MAKEFLAGS environment variable to propagate
 parallel build invocations through scripts that invoke make with fixed
 options.

 -Mike


___
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.5-1866-g5a768fc

2011-09-09 Thread Bill Hoffman
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  5a768fc24e4e0b75ca939abec533ed89bfd101bf (commit)
   via  555f589a5a3e9387956d451dc253fa1e3f35adff (commit)
  from  c4afdf60f981c483071d37b0d5850ccd24ae6cc0 (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=5a768fc24e4e0b75ca939abec533ed89bfd101bf
commit 5a768fc24e4e0b75ca939abec533ed89bfd101bf
Merge: c4afdf6 555f589
Author: Bill Hoffman bill.hoff...@kitware.com
AuthorDate: Fri Sep 9 11:01:22 2011 -0400
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Fri Sep 9 11:01:22 2011 -0400

Merge topic 'FortranCInterface-VS' into next

555f589 For VS Intel Fortran IDE builds, add a check to find the Fortran 
library PATH.


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=555f589a5a3e9387956d451dc253fa1e3f35adff
commit 555f589a5a3e9387956d451dc253fa1e3f35adff
Author: Bill Hoffman bill.hoff...@kitware.com
AuthorDate: Thu Sep 8 17:42:49 2011 -0400
Commit: Bill Hoffman bill.hoff...@kitware.com
CommitDate: Thu Sep 8 17:42:49 2011 -0400

For VS Intel Fortran IDE builds, add a check to find the Fortran library 
PATH.

To use VS C and Fotran in the same solution, it is required that VS be
able to find the Fortran run time libraries as they will be implicitly
linked by any Fortran library used by VS C programs.  This adds a check
into CMakeDetermineCompilerABI using a try-compile to find the correct
PATH.

diff --git a/Modules/CMakeDetermineCompilerABI.cmake 
b/Modules/CMakeDetermineCompilerABI.cmake
index 39d1f17..528c327 100644
--- a/Modules/CMakeDetermineCompilerABI.cmake
+++ b/Modules/CMakeDetermineCompilerABI.cmake
@@ -83,6 +83,32 @@ FUNCTION(CMAKE_DETERMINE_COMPILER_ABI lang src)
 FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
   Parsed ${lang} implicit link information from above 
output:\n${log}\n\n)
   ENDIF()
+  # for VS IDE Intel Fortran we have to figure out the
+  # implicit link path for the fortran run time using
+  # a try-compile
+  IF(${lang} MATCHES Fortran
+  AND ${CMAKE_GENERATOR} MATCHES Visual Studio)
+SET(_desc Determine Intel Fortran Compiler Implicit Link Path)
+MESSAGE(STATUS ${_desc})
+# Build a sample project which reports symbols.
+TRY_COMPILE(IFORT_LIB_PATH_COMPILED
+  ${CMAKE_BINARY_DIR}/CMakeFiles/IntelVSImplicitPath
+  ${CMAKE_ROOT}/Modules/FortranCInterface/IntelVSImplicitPath
+  IntelFortranImplicit
+  CMAKE_FLAGS
+  -DCMAKE_Fortran_FLAGS:STRING=${CMAKE_Fortran_FLAGS}
+  OUTPUT_VARIABLE _output)
+FILE(READ
+  ${CMAKE_BINARY_DIR}/CMakeFiles/IntelVSImplicitPath/implict_link.txt
+  dir)
+LIST(APPEND implicit_dirs ${dir})
+FILE(WRITE
+  ${CMAKE_BINARY_DIR}/CMakeFiles/IntelVSImplicitPath/output.txt
+  ${_output})
+SET(_desc Determine Intel Fortran Compiler Implicit Link Path -- 
done)
+MESSAGE(STATUS ${_desc})
+  ENDIF()
+
   SET(CMAKE_${lang}_IMPLICIT_LINK_LIBRARIES ${implicit_libs} 
PARENT_SCOPE)
   SET(CMAKE_${lang}_IMPLICIT_LINK_DIRECTORIES ${implicit_dirs} 
PARENT_SCOPE)
 
diff --git a/Modules/FortranCInterface/IntelVSImplicitPath/CMakeLists.txt 
b/Modules/FortranCInterface/IntelVSImplicitPath/CMakeLists.txt
new file mode 100644
index 000..e2a4b3f
--- /dev/null
+++ b/Modules/FortranCInterface/IntelVSImplicitPath/CMakeLists.txt
@@ -0,0 +1,11 @@
+cmake_minimum_required (VERSION 2.8)
+project(IntelFortranImplicit Fortran)
+add_custom_command(OUTPUT ${IntelFortranImplicit_BINARY_DIR}/env.txt
+  COMMAND set  ${IntelFortranImplicit_BINARY_DIR}/env.txt)
+add_library(FortranLib hello.f
+  ${IntelFortranImplicit_BINARY_DIR}/env.txt)
+add_custom_target(ExtractLibPath ALL
+  COMMAND ${CMAKE_COMMAND} -P ${IntelFortranImplicit_SOURCE_DIR}/extract.cmake
+  WORKING_DIRECTORY ${IntelFortranImplicit_BINARY_DIR}
+)
+add_dependencies(ExtractLibPath FortranLib)
diff --git a/Modules/FortranCInterface/IntelVSImplicitPath/extract.cmake 
b/Modules/FortranCInterface/IntelVSImplicitPath/extract.cmake
new file mode 100644
index 000..055247c
--- /dev/null
+++ b/Modules/FortranCInterface/IntelVSImplicitPath/extract.cmake
@@ -0,0 +1,12 @@
+file(STRINGS env.txt LIB REGEX ^LIB=.*$)
+string(REPLACE LIB=  LIB ${LIB} )
+# change LIB from a string to a ; separated list of paths
+set(LIB ${LIB})
+# look at each path and try to find ifconsol.lib
+foreach( dir ${LIB})
+  file(TO_CMAKE_PATH ${dir} dir)
+  if(EXISTS ${dir}/ifconsol.lib)
+file(WRITE implict_link.txt 

[Cmake-commits] CMake branch, release, updated. v2.8.5-450-g281b937

2011-09-09 Thread David Cole
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, release has been updated
   via  281b93734c306a29b4c2d151e2541178a8a18cc7 (commit)
   via  662a9c97cd953e15ed19c8c88992ddb2bb881f74 (commit)
   via  3ae6060f298e202973fcfdf8d863b3178a107382 (commit)
   via  3246dc26651c50cebd99b64ca8fb1a05873f192f (commit)
   via  4e3d428cc30a6a45477720c8153b4f32952ae949 (commit)
   via  fde0a4ddd104be279600f3a80521169708a84875 (commit)
   via  1a5c99581eddd677ba30653d0cb68161a4e0cb8f (commit)
   via  07eb08439ddeaaab1115acaf717b52319efdfb13 (commit)
   via  c80cbad15226844c2c518e49656fe19fc52d8d33 (commit)
   via  05bc6bfb87a9afe9c85bd90406fce348a92b7807 (commit)
   via  de62fd1b6d268702473b3307f48eb4cefb8c2c5d (commit)
   via  db4154661cfa1baf2596ce4c68ac8a328690245d (commit)
   via  54730d7604a69975e66047c3b5f406df89a4ade5 (commit)
   via  2ea27a54d97c72870ed69c9bde17826faf87f6d3 (commit)
   via  f62540adcc1dd53b66534f6ed7c03b5e5daf1d26 (commit)
   via  4558e63a037b8f885cb883a2adc47231d7a0 (commit)
   via  d9ad72542ae60b34d1b0debd3fd4616d9896985f (commit)
   via  103ab60dd7314f6a75b02dc65d40a99efedc5391 (commit)
   via  18897d63a5370706312b2b1b8b8900a792ab6056 (commit)
   via  a239fb6c16ab075fdbd2f306b3f34369f9087d43 (commit)
   via  56ce5dec8b9973528ae8b41a77e757c11eff81b1 (commit)
   via  5686515b6f9bc91d4a5b78f5a0d322cc5ab62f2b (commit)
   via  accdb855c293d081580f17ed8521ca20b0dcce0e (commit)
   via  540b25d529a1279f74df0a23140291f9557946db (commit)
   via  96d106a78d1dc634cc635678afa399f1f5e15ff3 (commit)
   via  cb22afc02c0524ff2b701b33a29339dde1e80bbd (commit)
   via  7b8dcdd17312a7c3ed731743468136b0ea89a6c7 (commit)
   via  d78bdb27832c91c775ad3782c9eb436dcd6a1e7c (commit)
   via  527a40f06fc7f0ea6aa9c1fe96fb0fe5611fa633 (commit)
   via  98cb017a9deca35cd9a67e03b6bd95064b6d2fb7 (commit)
   via  339a321e66e142edbb0c6228caf368f09b4a072f (commit)
   via  5b4528b1f45a2a7d1ef5effe9813b1a2d764ac60 (commit)
   via  f9e527794159844963f6bd67b5627026a0f552a6 (commit)
   via  eb4af16298a9b456c0fd8df6e20727ce7f6f422c (commit)
   via  b0f6a975870ab37a74557252908e91acfecbc59d (commit)
   via  e05e0f1d2c63353e25675df5430e1cbcd909cf93 (commit)
   via  48ba9b2f197cde7f309b9ef3770e1bf003a7e8e8 (commit)
   via  dbd776dde7710a0bf1af1ca9c3554d9025502a31 (commit)
   via  99d8ca624dfd728f28443334bee4074318472145 (commit)
   via  405bcd8def3c0a15d0005638e838623180a333cd (commit)
   via  cd81da30f7477b5653665608f4de5f4a4a0e1a14 (commit)
   via  79701929fb7dc3a8aee913866bc8f9352af57ee7 (commit)
   via  d1751fbf17d2c0e945f696b920fe0cf2a8ad14b2 (commit)
   via  4868921bc2b5ad85221d51d585bb2116a2826915 (commit)
   via  f47393c66bb1810a9916fa755bc5830fb9d24d63 (commit)
   via  38aab379629a797e959f93b40ba18e63f14d1f64 (commit)
   via  93d8d1992ed94225bb0a5706f0a294524913dccc (commit)
   via  90efed6ee60fde3a1211672854f7e23affa8b983 (commit)
   via  57bc42ae91ce373db094e69a6f9900aadbe858fe (commit)
   via  28ce8b7a147e315eb4bce4f0ae014e100162aa59 (commit)
   via  0c28b48d9b46415964ddaabf082dbdc059c770c2 (commit)
   via  0cc8f05ce5669f78d458c914b17695c5d53a8d52 (commit)
   via  145de0a058553968b082c6d18c5b7d883ac4637f (commit)
   via  5c0c635a0947aa44a0e3edf65b73c61d9abced2d (commit)
   via  47a0c7542b07b7db8f466621fff28f47beaad7d0 (commit)
   via  d6e2a063f0a8f07dad88c0a7974391db5de4d6bd (commit)
   via  e01b98ee4d755acc458d69296cedfdf068d074b7 (commit)
   via  0ae78b76d544adad4860b66bdd6279fdde07ea34 (commit)
   via  1c2508a569da51041db7345e0c9eb41aa6aaefd9 (commit)
   via  d1795002956f8da746077fffb1c2aa0262063db2 (commit)
   via  4fd1e28495e09af154f361602d30a0c5fc998ff4 (commit)
   via  20980ef56a847fec7922983257fd5be467b689bd (commit)
  from  bf14d95946f997b00b2d2f296fc2fa7ade9655c3 (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=281b93734c306a29b4c2d151e2541178a8a18cc7
commit 281b93734c306a29b4c2d151e2541178a8a18cc7
Author: David Cole david.c...@kitware.com
AuthorDate: Fri Sep 9 11:53:38 2011 -0400
Commit: David Cole david.c...@kitware.com
CommitDate: Fri Sep 9 11:53:38 2011 -0400

CMake 2.8.6-rc3

diff --git a/CMakeLists.txt b/CMakeLists.txt
index ea4ff0c..7b9fd56 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -418,7 +418,7 @@ SET(CMake_VERSION_MAJOR 2)
 SET(CMake_VERSION_MINOR 8)
 SET(CMake_VERSION_PATCH 6)
 SET(CMake_VERSION_TWEAK 0)
-SET(CMake_VERSION_RC 2)
+SET(CMake_VERSION_RC 3)
 
 # Releases define a 

[Cmake-commits] CMake branch, next, updated. v2.8.5-1868-gea10d53

2011-09-09 Thread Bill Hoffman
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  ea10d5350c45f5a183f724322c86404c8f8413ed (commit)
   via  539a822c8c541143ab954d8d355cb9643235d231 (commit)
  from  5a768fc24e4e0b75ca939abec533ed89bfd101bf (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=ea10d5350c45f5a183f724322c86404c8f8413ed
commit ea10d5350c45f5a183f724322c86404c8f8413ed
Merge: 5a768fc 539a822
Author: Bill Hoffman bill.hoff...@kitware.com
AuthorDate: Fri Sep 9 17:30:43 2011 -0400
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Fri Sep 9 17:30:43 2011 -0400

Merge topic 'FortranCInterface-VS' into next

539a822 Enable Fortran tests for IDE builds.


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=539a822c8c541143ab954d8d355cb9643235d231
commit 539a822c8c541143ab954d8d355cb9643235d231
Author: Bill Hoffman bill.hoff...@kitware.com
AuthorDate: Fri Sep 9 17:11:57 2011 -0400
Commit: Bill Hoffman bill.hoff...@kitware.com
CommitDate: Fri Sep 9 17:11:57 2011 -0400

Enable Fortran tests for IDE builds.

diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt
index 9f4e8a3..a3d1cbf 100644
--- a/Tests/CMakeLists.txt
+++ b/Tests/CMakeLists.txt
@@ -1926,29 +1926,36 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P 
${CMake_SOURCE_DIR}/Utilities/
 ENDIF (${PREVIOUS_TIMEOUT} MATCHES NOTFOUND)
   ENDIF()
 
-  # fortran does not work for IDE builds because
-  # CMAKE_STANDARD_LIBRARIES needs to be per language
-  IF(CMAKE_TEST_GENERATOR MATCHES Make|KDevelop)
-IF(CMAKE_Fortran_COMPILER)
-  ADD_TEST(Fortran ${CMAKE_CTEST_COMMAND}
+  IF(CMAKE_Fortran_COMPILER)
+ADD_TEST(Fortran ${CMAKE_CTEST_COMMAND}
+  --build-and-test
+  ${CMake_SOURCE_DIR}/Tests/Fortran
+  ${CMake_BINARY_DIR}/Tests/Fortran
+  --build-generator ${CMAKE_TEST_GENERATOR}
+  --build-project testf
+  --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
+  --build-two-config
+  --test-command testf)
+LIST(APPEND TEST_BUILD_DIRS ${CMake_BINARY_DIR}/Tests/Fortran)
+
+# FortranCInterface tests.
+IF(UNIX)
+  CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/FortranC/Flags.cmake.in
+${CMAKE_CURRENT_BINARY_DIR}/FortranC/Flags.cmake @ONLY)
+  ADD_TEST(FortranC.Flags ${CMAKE_CMAKE_COMMAND} -P
+${CMAKE_CURRENT_BINARY_DIR}/FortranC/Flags.cmake)
+  LIST(APPEND TEST_BUILD_DIRS ${CMake_BINARY_DIR}/Tests/FortranC/Flags)
+ELSE()
+  ADD_TEST(FortranC ${CMAKE_CTEST_COMMAND}
 --build-and-test
-${CMake_SOURCE_DIR}/Tests/Fortran
-${CMake_BINARY_DIR}/Tests/Fortran
+${CMake_SOURCE_DIR}/Tests/FortranC
+${CMake_BINARY_DIR}/Tests/FortranC
 --build-generator ${CMAKE_TEST_GENERATOR}
---build-project testf
+--build-project FortranC
 --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
 --build-two-config
---test-command testf)
-  LIST(APPEND TEST_BUILD_DIRS ${CMake_BINARY_DIR}/Tests/Fortran)
-
-  # FortranCInterface tests.
-  IF(UNIX)
-CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/FortranC/Flags.cmake.in
-   ${CMAKE_CURRENT_BINARY_DIR}/FortranC/Flags.cmake @ONLY)
-ADD_TEST(FortranC.Flags ${CMAKE_CMAKE_COMMAND} -P
-  ${CMAKE_CURRENT_BINARY_DIR}/FortranC/Flags.cmake)
-LIST(APPEND TEST_BUILD_DIRS ${CMake_BINARY_DIR}/Tests/FortranC/Flags)
-  ENDIF()
+--test-command CMakeFiles/FortranCInterface/FortranCInterface)
+  LIST(APPEND TEST_BUILD_DIRS ${CMake_BINARY_DIR}/Tests/FortranC)
 ENDIF()
   ENDIF()
 

---

Summary of changes:
 Tests/CMakeLists.txt |   45 ++---
 1 files changed, 26 insertions(+), 19 deletions(-)


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