[cmake-developers] improved CodeBlocks group support

2016-11-20 Thread tim cotter
i've patched my local cmake to automatically add a virtual folder group
option for every file in a code blocks project.

it's not proper support for cmake source groups.
but it does what i want it to do.

the patch is small.

would the community be interested in such a thing?

if so, how would i go about submitting it?

-timmer
-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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

Re: [cmake-developers] Android.mk

2016-08-31 Thread tim cotter
thanks!
very cool.
go brad go!

build via toolchain didn't fly with my former employer.
they required the code tree to be built by actual honest to god Android.mk
files.
don't ask me wy.
companies do funny things sometimes.


On Wed, Aug 31, 2016 at 8:51 AM, Brad King <brad.k...@kitware.com> wrote:

> On 08/31/2016 11:47 AM, tim cotter wrote:
> > is anyone working on a generator for Android.mk files?
>
> This has been investigated in the past and deemed hard/impossible
> since the Android.mk build system does not expose hooks we need.
>
> However, the main use case for this is to bring CMake-based projects
> into Android.mk builds.  For that there is work here:
>
>   https://gitlab.kitware.com/cmake/cmake/merge_requests/67
>
> to create and install Android.mk files as part of the CMake build
> process.  They reference the installed binaries as pre-built libs.
>
> -Brad
>
>
-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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

[cmake-developers] Android.mk

2016-08-31 Thread tim cotter
is anyone working on a generator for Android.mk files?

i recently parted ways with a company that could have benefited mightily
from the feature.
i'm not planning to take up anything new for a while.
so i might be able to contribute.

maybe get a brain dump from someone who's thought about the problem.
doesn't seem like it should be too hard.
but maybe i'm being naive.

am not too unfamiliar with the cmake source.
been using it for a 10ish years.
i didn't like the way files are grouped in codeblocks.
so i hacked up a "better" solution.

-timmer

p.s. i found the previous Android.mk thread.
but wasn't smart enough to figure out how to reply to it.
-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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

Re: [cmake-developers] Drop support for older Xcode versions?

2016-02-08 Thread Tim Blechmann
>> Given Apple's encouragement of developers to always update...
> 
> They certainly do, as Eric described.  However, just like everyone
> else, Apple often ships regressions in Xcode and it's sometimes vital
> to be able to use older versions.  Similarly, if you want to deploy
> an app to an older OS, it's very useful to be able to build-run-debug
> on that OS, and since the newest Xcodes only run on the newest OSes,
> one needs an older Xcode to test/debug on older OSes.

if a project relies on an old xcode version, does it need to use the
most up-to-date cmake? also, there are always make/ninja generators ...


-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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


[cmake-developers] [Patch] [CMake 0015313]: .def files are not visible in Visual Studio project tree

2015-11-02 Thread Tim Grothe
Hi cmake-developers,

I'd like to push this mantis issue a bit by providing a patch for it.
http://public.kitware.com/Bug/view.php?id=15313

Having out of source projectfiles (speaking of Visual Studio) is a nice
thing but it's a bit tedious to browse for the def-file for adding a new
exported function in the large C-based project I'm working on.

So if my changes are considered ok, I'd hope to see this in a future cmake
version.

best regards

Tim Grothe


0001-add-.def-files-to-Visual-Studio-project-tree.patch
Description: Binary data
-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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

Re: [cmake-developers] [PATCH] Fix a few issues in FindHDF5 module

2015-09-02 Thread Tim Gallagher
Good catch! The version I patched against didn't have the 
HDF5_Fortran_HL_LIBRARY_NAMES_INIT variable at the time. There was only the 
HDF5_Fortran_LIBRARY_NAMES_INIT variable. 

I'm not sure which version of the code my original patch was against after this 
long. However, since I submitted my ticket in July of 2011, Will committed 
support for the HL libraries in August of 2011 with commit 
http://www.cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ad218e4 , which added 
the HDF5_Fortran_HL_LIBRARY_NAMES_INIT variable. Perhaps that commit was 
intended to reference/fix my ticket?

At any rate, since what I submitted wouldn't apply against the current version, 
it looks like this work supersedes that patch. 

Tim

- Original Message -
From: "Brad King" <brad.k...@kitware.com>
To: "tim gallagher" <tim.gallag...@gatech.edu>
Cc: cmake-developers@cmake.org, "Paul Romano" <paul.k.rom...@gmail.com>
Sent: Wednesday, September 2, 2015 11:16:34 AM
Subject: Re: [cmake-developers] [PATCH] Fix a few issues in FindHDF5 module

On 09/02/2015 11:07 AM, Tim Gallagher wrote:
> It looks like the 2nd commit you linked to does the same thing as
> my patch (add hdf5hl_fortran to the Fortran library list). 

Not quite.  It is:

> -set( HDF5_Fortran_HL_LIBRARY_NAMES_INIT hdf5hl_fortran
> +set( HDF5_Fortran_HL_LIBRARY_NAMES_INIT hdf5hl_fortran hdf5_hl

One can see hdf5hl_fortran was already in that list.

Your patch was:

> -set( HDF5_Fortran_LIBRARY_NAMES_INIT hdf5_fortran 
> ${HDF5_C_LIBRARY_NAMES_INIT} )
> +set( HDF5_Fortran_LIBRARY_NAMES_INIT hdf5_fortran hdf5hl_fortran 
> ${HDF5_C_LIBRARY_NAMES_INIT} )

which adds it to a different list, though perhaps the wrong one
since it is not for the _HL component.

-Brad

-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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


Re: [cmake-developers] [PATCH] Fix a few issues in FindHDF5 module

2015-09-02 Thread Tim Gallagher
It looks like the 2nd commit you linked to does the same thing as my patch (add 
hdf5hl_fortran to the Fortran library list). 

So it should work fine and my patch is no longer needed. I will have to see if 
I have a project that still uses the HL library, it's been 4 years since I 
think I've used it. So it wasn't an outstanding issue for me -- I just wanted 
to help close out an open issue if they were related!

Thanks,

Tim

- Original Message -
From: "Brad King" <brad.k...@kitware.com>
To: "Tim Gallagher" <tim.gallag...@gatech.edu>
Cc: cmake-developers@cmake.org, "Paul Romano" <paul.k.rom...@gmail.com>
Sent: Wednesday, September 2, 2015 10:59:34 AM
Subject: Re: [cmake-developers] [PATCH] Fix a few issues in FindHDF5 module

On 09/02/2015 10:44 AM, Tim Gallagher wrote:
> I haven't followed the discussion on this issue, but how does it
> relate to the ticket I opened awhile ago?
> 
> http://public.kitware.com/Bug/view.php?id=12316

Sorry we missed that patch.

> It looks like it may supersede or fix that issue? If so, I guess
> the issue can be closed!

I've updated the issue with links to this thread and the fixes so
far.  Please check if it resolves the problem and comment in the
issue.  Otherwise we can look at taking your patch from there too.

Thanks,
-Brad

-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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


Re: [cmake-developers] [PATCH] Fix a few issues in FindHDF5 module

2015-09-02 Thread Tim Gallagher
I haven't followed the discussion on this issue, but how does it relate to the 
ticket I opened awhile ago?

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

It looks like it may supersede or fix that issue? If so, I guess the issue can 
be closed!

Tim

- Original Message -
From: "Brad King" <brad.k...@kitware.com>
To: "Paul Romano" <paul.k.rom...@gmail.com>
Cc: cmake-developers@cmake.org
Sent: Wednesday, September 2, 2015 10:19:52 AM
Subject: Re: [cmake-developers] [PATCH] Fix a few issues in FindHDF5 module

On 08/31/2015 10:45 PM, Paul Romano wrote:
> Here is a set of three patches that breaks out the changes.

Thanks.  I've applied the first two:

 FindHDF5: Fix support for HL and Fortran_HL components
 http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=19e7db07

 FindHDF5: Add hdf5_hl to list of libraries to search for Fortran_HL
 http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f7f73df1

I've also drafted a find_program NAMES_PER_DIR option, merged
to 'next' for testing here:

 Merge topic 'find_program-NAMES_PER_DIR' into next
 http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=2bc3f46b

Please look at basing work on commit 8ea7611b to use NAMES_PER_DIR
for FindHDF5.  Of course HDF5_PREFER_PARALLEL may also still be
needed in case both executables sit in the same directory.

Thanks,
-Brad
-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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


Re: [cmake-developers] Is there an official FindMKL module?

2015-08-28 Thread Tim Gallagher
It's possible this wasn't the final version we came up with, but it's also 
possible that it is the final version and that's why I never formally submitted 
it. Like I said, it was last touched in 2012 and I found these files on a 
colleague's backup drive! 

We can work on getting it fully functioning and submit it as an official module 
moving forward if you are willing/able to be a module maintainer with me on it. 
When you get time to work on it again, let me know and I'll see what I can do 
to help. I don't have a ton of time for it right now, but I will do what I can. 

We can take the development discussion off-list if you would like and set up a 
github for it so we can collaborate and get things moving along. 

Tim 

- Original Message -

From: Siebren Reker siebren.re...@gmail.com 
To: tim gallagher tim.gallag...@gatech.edu 
Cc: cmake-developers@cmake.org 
Sent: Friday, August 28, 2015 4:42:29 AM 
Subject: Re: [cmake-developers] Is there an official FindMKL module? 


Hi Tim, 




On Thu, Aug 27, 2015 at 7:32 PM, Tim Gallagher  tim.gallag...@gatech.edu  
wrote: 




Hi Siebren, 

I tried to link statically and it did not work for me, similar errors as to 
what you are getting. 





Ok, thank you for verifying 

blockquote


The way the macro is supposed to work -- it checks for the MKL link tool and if 
it is available, it uses and provides the libraries needed. If it is 
unavailable (or throws errors or whatever else the case may be), then FindBLAS 
reverts back to the way it handles MKL currently. 

/blockquote



Sound good to me. 

blockquote

I have attached the module that provides the interface to the MKL command line 
tool as well as the changed FindBLAS module that uses it. Major caveat here -- 
I have not used these since 2012, with one of the Intel 12.something compilers 
and CMake 2.8. I did a quick diff on the FindBLAS in the current version and 
the CMake 2.8 version and there's only very minor changes that shouldn't affect 
this working. If it turns out this is useful and close to functional, then we 
can work on getting it current. 

/blockquote



What you have sent feels 80% complete. It doesn't work out of the box, but I 
could hack some small changes in to get some things working. I won't have more 
time for this today, so here is what I've spotted so far, in case you want to 
continue on this now. 
- The calls to the macro (in FindBLAS.cmake) don't match with the macro input 
in GetIntelMKLInfo, maybe you were adding additional parameters for the mkl 
version and things such as integer representation, but hadn't gotten around to 
adding them in the macro? Removing them from FindBLAS.cmake allowed me to test 
further, but I can see that some more inputs to the MKL command line tool need 
to be supported. 
- The static flag was giving errors on the command line, an easy fix was to use 
the same syntax as for the other flags: 

list(APPEND mkl_tool_opts --linking=static) 
- The stripping off of the additional libraries is very nice, but the regex for 
the math library is overzealous: -lm matches all -lmkl_intel_thread etc. 
- The grouping of the static libraries results in them being parsed as 
static_flags, which leaves the final mkl_libs empty. Even though all 
information has correctly been extracted, the macro then reports failure. 
- I was not sure about the tool1 vs tool2 differences, was this also 
intermediate work on getting the mkl_version information in? 


I'll have more time to look at this next week, thanks for sharing this. 


best, 
Siebren 






-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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

Re: [cmake-developers] Is there an official FindMKL module?

2015-08-27 Thread Tim Gallagher
Siebren, 

We've never really used static linking so I am not sure if it ever really 
worked. I can try and let you know. 

However, I'm having flashbacks here to something I thought I had done before. I 
dug through my emails and back in 2012 I had signed up to maintain a new module 
that provided a macro to interface with the MKL tool and generated the proper 
linking based on what it reported. My colleague and I had written it because we 
were tired of the difficulties in the current modules. This new module provided 
a macro and the FindBLAS and FindLAPACK modules would call the macro to get the 
link information. 

I got push access to create the topic branch but then I don't know what 
happened. I don't know if I never pushed it, or it never got 
tested/approved/checked, no clue. I actually still have all of the modules and 
changes I had made, but it was in version 2.8. I wish I could remember if I had 
actually pushed it to CMake or not, but I really don't remember why it never 
happened. 

So anyway, now that we're discussing it again, if the CMake community wants the 
MKL support improved, I can dust off the modules and see what it would take to 
get it officially in the stream. 

Tim 

- Original Message -

From: Siebren Reker siebren.re...@gmail.com 
To: tim gallagher tim.gallag...@gatech.edu 
Cc: cmake-developers@cmake.org 
Sent: Thursday, August 27, 2015 6:32:17 AM 
Subject: Re: [cmake-developers] Is there an official FindMKL module? 


Hi Tim, 


Quick add-on to my previous email. With BLA_STATIC ON, I see from the 
CMakeError.log that the static libraries ARE found (I was trusting the), but 
the linking of the test program goes wrong: 
undefined reference to `mkl_blas_sgemv` 
But that function IS implemented in one of the three libraries that is found, 
in my case in libmkl_sequential.a 


So this is probably a linking/ library ordering error. 
Indeed, Intel fora and the link advisor I mentioned earlier also report the 
need for grouping these as in 
-Wl,--start-group ${MKLROOT}/lib/intel64/libmkl_intel_lp64.a 
${MKLROOT}/lib/intel64/libmkl_core.a ${MKLROOT}/lib/intel64/libmkl_sequential.a 
-Wl,--end-group 



Is my understanding correct, and can this be fixed? 


kind regards, 
Siebren 




On Thu, Aug 27, 2015 at 11:50 AM, Siebren Reker  siebren.re...@gmail.com  
wrote: 



Hi Tim, 


That is encouraging, thanks. I went back and tried harder this time, when I 
specified BLA_VENDOR precisely and leave BLA_STATIC off, I am able to get to 
the correct versions. 
In the very same directory where the shared libraries are found, I have the 
static libraries as well, but BLA_STATIC on in that case does not find the 
libraries. 


I've read up a bit on this now, so maybe the following information is helpful: 
This is a CMake 3.3.0 installation 
My project has both C and Fortran enabled 
I call it as follows: 


set( BLA_STATIC ON) 
set( BLA_VENDOR Intel10_64lp_seq) 

find_package( BLAS ) 


Is BLA_STATIC = ON working for you? 


A separate question I have is if the linker command that will be produced 
afterwards is of course different from the one supplied by Intel in their tool. 
Should that not concern me? 


kind regards, 
Siebren 






On Wed, Aug 26, 2015 at 4:59 PM, Tim Gallagher  tim.gallag...@gatech.edu  
wrote: 

blockquote


We sometime struggled to get it working, but we never had to resort to using a 
FindMKL -- FindBLAS and FindLAPACK work just fine for us, provided we do things 
correctly. 

So long as we have sourced the mklvars script that ships with Intel MKL and we 
put: 

BLA_VENDOR =Intel10_64lp_seq ccmake /path/to/source/dir 
Then everything works fine and we have no issues. So we have to give CMake a 
hint that we want to pick the Intel version rather than the generic one (and 
we're using the sequential, 64bit MKL -- if you look in FindBLAS you can see 
other vendor types). 

Have you had things fail when you setup your environment variables using the 
scripts Intel provides and when you set the BLA_VENDOR hint as an environment 
variable? 

Tim 



From: Siebren Reker  siebren.re...@gmail.com  
To: cmake-developers@cmake.org 
Sent: Wednesday, August 26, 2015 10:18:44 AM 
Subject: [cmake-developers] Is there an official FindMKL module? 




Hello, 


I am using the find_package() command to load settings for the Intel Math 
Kernel Library (MKL). This works through a custom FindMKL.cmake module that 
I've made for myself. 


However, when looking at: 
https://software.intel.com/en-us/articles/intel-mkl-link-line-advisor/ 

I can tell that what I've done is likely only correct for my specific case, and 
certainly not robust against library version changes and various other changes 
(openmp, static vs dynamic linking etc.). 



Instead of a FindMKL.cmake module, an alternative is to have MKL be discovered 
in the FindBLAS or FindLAPACK modules, but according to what I can find on the 
bug tracker, that solution is also in a fairly broken state: 

Bug 14138: http

Re: [cmake-developers] Is there an official FindMKL module?

2015-08-27 Thread Tim Gallagher
Hi Siebren, 

I tried to link statically and it did not work for me, similar errors as to 
what you are getting. 

The way the macro is supposed to work -- it checks for the MKL link tool and if 
it is available, it uses and provides the libraries needed. If it is 
unavailable (or throws errors or whatever else the case may be), then FindBLAS 
reverts back to the way it handles MKL currently. 

I have attached the module that provides the interface to the MKL command line 
tool as well as the changed FindBLAS module that uses it. Major caveat here -- 
I have not used these since 2012, with one of the Intel 12.something compilers 
and CMake 2.8. I did a quick diff on the FindBLAS in the current version and 
the CMake 2.8 version and there's only very minor changes that shouldn't affect 
this working. If it turns out this is useful and close to functional, then we 
can work on getting it current. 

Tim 

- Original Message -

From: Siebren Reker siebren.re...@gmail.com 
To: tim gallagher tim.gallag...@gatech.edu 
Cc: cmake-developers@cmake.org 
Sent: Thursday, August 27, 2015 11:16:34 AM 
Subject: Re: [cmake-developers] Is there an official FindMKL module? 


Hi Tim, 



On Thu, Aug 27, 2015 at 4:32 PM, Tim Gallagher  tim.gallag...@gatech.edu  
wrote: 




Siebren, 

We've never really used static linking so I am not sure if it ever really 
worked. I can try and let you know. 




Could you please do so? Just to verify that I'm not doing something obviously 
wrong 

blockquote


However, I'm having flashbacks here to something I thought I had done before. I 
dug through my emails and back in 2012 I had signed up to maintain a new module 
that provided a macro to interface with the MKL tool and generated the proper 
linking based on what it reported. My colleague and I had written it because we 
were tired of the difficulties in the current modules. This new module provided 
a macro and the FindBLAS and FindLAPACK modules would call the macro to get the 
link information. 

/blockquote



Sounds clean, but are you sure the tool is always available? 

blockquote


I got push access to create the topic branch but then I don't know what 
happened. I don't know if I never pushed it, or it never got 
tested/approved/checked, no clue. I actually still have all of the modules and 
changes I had made, but it was in version 2.8. I wish I could remember if I had 
actually pushed it to CMake or not, but I really don't remember why it never 
happened. 

So anyway, now that we're discussing it again, if the CMake community wants the 
MKL support improved, I can dust off the modules and see what it would take to 
get it officially in the stream. 

/blockquote


I'd be more than happy to test this. I've found a number of hits on Google for 
FindMKL.cmake files. I certainly wasn't alone in having trouble to get this to 
work (doesn't mean much of course). 


best, 
Siebren 

blockquote


Tim 



From: Siebren Reker  siebren.re...@gmail.com  
To: tim gallagher  tim.gallag...@gatech.edu  
Cc: cmake-developers@cmake.org 
Sent: Thursday, August 27, 2015 6:32:17 AM 
Subject: Re: [cmake-developers] Is there an official FindMKL module? 




Hi Tim, 


Quick add-on to my previous email. With BLA_STATIC ON, I see from the 
CMakeError.log that the static libraries ARE found (I was trusting the), but 
the linking of the test program goes wrong: 
undefined reference to `mkl_blas_sgemv` 
But that function IS implemented in one of the three libraries that is found, 
in my case in libmkl_sequential.a 


So this is probably a linking/ library ordering error. 
Indeed, Intel fora and the link advisor I mentioned earlier also report the 
need for grouping these as in 
-Wl,--start-group ${MKLROOT}/lib/intel64/libmkl_intel_lp64.a 
${MKLROOT}/lib/intel64/libmkl_core.a ${MKLROOT}/lib/intel64/libmkl_sequential.a 
-Wl,--end-group 



Is my understanding correct, and can this be fixed? 


kind regards, 
Siebren 




On Thu, Aug 27, 2015 at 11:50 AM, Siebren Reker  siebren.re...@gmail.com  
wrote: 

blockquote

Hi Tim, 


That is encouraging, thanks. I went back and tried harder this time, when I 
specified BLA_VENDOR precisely and leave BLA_STATIC off, I am able to get to 
the correct versions. 
In the very same directory where the shared libraries are found, I have the 
static libraries as well, but BLA_STATIC on in that case does not find the 
libraries. 


I've read up a bit on this now, so maybe the following information is helpful: 
This is a CMake 3.3.0 installation 
My project has both C and Fortran enabled 
I call it as follows: 


set( BLA_STATIC ON) 
set( BLA_VENDOR Intel10_64lp_seq) 

find_package( BLAS ) 


Is BLA_STATIC = ON working for you? 


A separate question I have is if the linker command that will be produced 
afterwards is of course different from the one supplied by Intel in their tool. 
Should that not concern me? 


kind regards, 
Siebren 






On Wed, Aug 26, 2015 at 4:59 PM, Tim Gallagher  tim.gallag...@gatech.edu

Re: [cmake-developers] Is there an official FindMKL module?

2015-08-26 Thread Tim Gallagher
We sometime struggled to get it working, but we never had to resort to using a 
FindMKL -- FindBLAS and FindLAPACK work just fine for us, provided we do things 
correctly. 

So long as we have sourced the mklvars script that ships with Intel MKL and we 
put: 

BLA_VENDOR =Intel10_64lp_seq ccmake /path/to/source/dir 
Then everything works fine and we have no issues. So we have to give CMake a 
hint that we want to pick the Intel version rather than the generic one (and 
we're using the sequential, 64bit MKL -- if you look in FindBLAS you can see 
other vendor types). 

Have you had things fail when you setup your environment variables using the 
scripts Intel provides and when you set the BLA_VENDOR hint as an environment 
variable? 

Tim 

- Original Message -

From: Siebren Reker siebren.re...@gmail.com 
To: cmake-developers@cmake.org 
Sent: Wednesday, August 26, 2015 10:18:44 AM 
Subject: [cmake-developers] Is there an official FindMKL module? 


Hello, 


I am using the find_package() command to load settings for the Intel Math 
Kernel Library (MKL). This works through a custom FindMKL.cmake module that 
I've made for myself. 


However, when looking at: 
https://software.intel.com/en-us/articles/intel-mkl-link-line-advisor/ 

I can tell that what I've done is likely only correct for my specific case, and 
certainly not robust against library version changes and various other changes 
(openmp, static vs dynamic linking etc.). 



Instead of a FindMKL.cmake module, an alternative is to have MKL be discovered 
in the FindBLAS or FindLAPACK modules, but according to what I can find on the 
bug tracker, that solution is also in a fairly broken state: 

Bug 14138: http://www.cmake.org/Bug/view.php?id=14138 

Bug 13543: http://www.cmake.org/Bug/view.php?id=13543 

Bug 13528: http://www.cmake.org/Bug/view.php?id=13528 



Google tells me that many people have (like me) created their own FindMKL.cmake 
module, which are equally specific and tailored. 



Is anyone aware of a more official FindMKL module available somewhere, or at 
least something that is being somewhat maintained, either by someone at Kitware 
or Intel? Or of a plan to develop something like that? 



kind regards, 
Siebren Reker 
-- 

Powered by www.kitware.com 

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit: 

CMake Support: http://cmake.org/cmake/help/support.html 
CMake Consulting: http://cmake.org/cmake/help/consulting.html 
CMake Training Courses: http://cmake.org/cmake/help/training.html 

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

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

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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

Re: [cmake-developers] Header-only library targets

2015-07-13 Thread Tim Blechmann
 I've recently switched from CMake 2.8.12 to 3.2, full of enthusiasm that
 header-only libraries would now be better supported through the
 INTERFACE option/target. However, the support for header-only libraries
 isn't really great, in particular if you're using an IDE like Visual Studio.
 
 The main problem is that if you define an INTERFACE target, there's no
 way to specify headers, and they won't show up in IDEs. There's
 workarounds with a custom target, but that's not really great for
 example to set dependencies, populate the include directory of the
 library or to INSTALL the target.

i'm sometimes using the workaround of generating a dummy cpp file and
use a static library instead of an interface library ... ugly hack, but
allows to populate msvc/xcode/qtcreator projects ...

-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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


Re: [cmake-developers] Custom commands with Ninja on Windows

2015-06-13 Thread Tim Blechmann
  I'm having some issues with Ninja on Windows with long custom commands
 (or actually a long succession of short commands appended to the same
 target). The problem is that they get concatenated in one single command
 usingand it is pretty easy to go over the 8k command line size
 limit on Windows.
 
 So I've been thinking that on Windows, instead of concatenating
 everything, we should be a script that is run using a response file that
 just runs all the command with error checking. Eventually, we could
 reuse cmLocalVisualStudioGenerator::ConstructScript() for that matter.
 
 Any thought about this? Any hint for implementing this myself in the
 Ninja generator? Do you think of another way to fix this issue?

came across this issue as well:
http://www.itk.org/Bug/view.php?id=15612


-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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


Re: [cmake-developers] [PATCH 2/9] Xcode: Sort Xcode objects by Id

2015-04-14 Thread Tim Blechmann
 Xcode keeps the objects ordered by the object id.
 Because cmake stores them into an unordered container
 at creation time they must be sorted before writing the
 pbxproj file.

out of curiosity: what exactly is the id? the uuid identifier or the
target name? when ordering targets in the project, it would make sense
to order them by target name, as that's what users are used to (iirc the
cmake-generated msvc projects are order their targets by target name)


-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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


Re: [cmake-developers] [PATCH 2/9] Xcode: Sort Xcode objects by Id

2015-04-14 Thread Tim Blechmann
 Effectively it is a UUID for our purposes.  The ordering Gregor
 proposes is to match what Xcode writes when it generates the .pbxproj
 file, and we can't choose that.

 i see ... is it (easily) possible to lexicographically sort he
 user-visible appearance? this is something that can be changed in native
 xcode projects (by dragging)
 
 If Xcode can save and load projects with user-specified ordering then
 CMake may be able to generate things accordingly.  Try creating a project
 with the IDE, saving it, copying it, and then updating the order in the
 IDE and saving again.  Compare the saved project files.  Where is the
 order stored?

seems to be the children property:

 --- tset/test.xcodeproj/project.pbxproj   2015-04-14 16:33:49.0 
 +0200
 +++ test/test.xcodeproj/project.pbxproj   2015-04-14 16:34:08.0 
 +0200
 @@ -61,8 +61,8 @@
   22AA72931ADD5C9900988B41 = {
   isa = PBXGroup;
   children = (
 - 22AA729E1ADD5C9900988B41 /* test */,
   22AA72B51ADD5C9900988B41 /* testTests */,
 + 22AA729E1ADD5C9900988B41 /* test */,
   22AA729D1ADD5C9900988B41 /* Products */,
   );
   sourceTree = group;



-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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


Re: [cmake-developers] [PATCH 2/9] Xcode: Sort Xcode objects by Id

2015-04-14 Thread Tim Blechmann
 out of curiosity: what exactly is the id? the uuid identifier or the
 target name? when ordering targets in the project, it would make sense
 to order them by target name, as that's what users are used to (iirc the
 cmake-generated msvc projects are order their targets by target name)
 
 We don't know exactly what it is because the Xcode format is not
 documented publicly.  I suspect Xcode uses some form of serialization
 tool to store its internal data structures to the .pbxproj file, and
 these are the ids it generates.
 
 Effectively it is a UUID for our purposes.  The ordering Gregor
 proposes is to match what Xcode writes when it generates the .pbxproj
 file, and we can't choose that.

i see ... is it (easily) possible to lexicographically sort he
user-visible appearance? this is something that can be changed in native
xcode projects (by dragging)

-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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


Re: [cmake-developers] [PATCH] ninja generator: don't initialize language for files marked, as header-only

2015-04-08 Thread Tim Blechmann
 not sure if there is a better way to resolve this issue:
 declaring .RC files as header-only break ninja builds on non-windows
 platforms.

note: this is necessary when the the language is set explicitly.

 ---8---
 
 cmake currently tries to initialize the language rules for all source
 files. when HEADER_FILE_ONLY is used to mark files which should be added
 to the generated project, but should not be compiled, this will
 nevertheless try to initialize the language, which might fail on that
 specific platform. this is a practical issue when declaring .RC files as
 header-only on non-windows platforms.
 
 
 


-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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


Re: [cmake-developers] [vc12/idl] output directory problem

2015-02-21 Thread Tim Blechmann
 i'm having troubles with the midl compiler of generated msvc2013 project
 files: the generated projects contain a hardcoded output directory:
 $(IntDir). however having this property, the midl call fails for me. if
 i remove this property, or replace it with $(ProjectDir)/$(IntDir) it
 compiles fine.
 
 Can you please post a complete sample/minimal project tarball that
 shows the error you see?
 
 It could also be demonstrated in the form of a patch to CMake that
 updates Tests/VSMidl to show the problem.

i'd love to provide a reduced test case, though i can only reproduce
this in a complex real-world buildsystem, with dozens of libraries and
some include_external_msproject / add_dependencies pairs ...

fwiw, i've been able to work around this with vanilla cmake-3.1, by
moving the .idl file and the source including the iid file(_i.c) into
a separate static library.

--

that said, i wonder: why would it be ok to use a relative path in the
generated project ... or, what would be the disadvantage of using an
absolute path?

best,
tim

-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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


[cmake-developers] [vc12/idl] output directory problem

2015-02-18 Thread Tim Blechmann
hi all,

i'm having troubles with the midl compiler of generated msvc2013 project
files: the generated projects contain a hardcoded output directory:
$(IntDir). however having this property, the midl call fails for me. if
i remove this property, or replace it with $(ProjectDir)/$(IntDir) it
compiles fine.

attached patch resolves this issue for me, though i'm not sure if this
is a good solution in general. also, have to add this include directory:
${CMAKE_CURRENT_BINARY_DIR}/MyProject.dir/${CMAKE_CFG_INTDIR}

i'm not an expert on msvc toolchains, so it would be great if someone
could review this patch.

thanks,
tim

From a9f83bd54c8d7e073c4d8faee7e5b8dd68738fdc Mon Sep 17 00:00:00 2001
From: Tim Blechmann t...@klingt.org
Date: Thu, 19 Feb 2015 14:35:02 +0800
Subject: [PATCH] cmake: Midl - set OutputDir via absolute path

---
 Source/cmVisualStudio10TargetGenerator.cxx | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Source/cmVisualStudio10TargetGenerator.cxx 
b/Source/cmVisualStudio10TargetGenerator.cxx
index b265c0e..6c09702 100644
--- a/Source/cmVisualStudio10TargetGenerator.cxx
+++ b/Source/cmVisualStudio10TargetGenerator.cxx
@@ -2509,7 +2509,7 @@ WriteMidlOptions(std::string const /*config*/,
 }
   this-WriteString(%(AdditionalIncludeDirectories)
 /AdditionalIncludeDirectories\n, 0);
-  this-WriteString(OutputDirectory$(IntDir)/OutputDirectory\n, 3);
+  
this-WriteString(OutputDirectory$(ProjectDir)/$(IntDir)/OutputDirectory\n,
 3);
   this-WriteString(HeaderFileName%(Filename).h/HeaderFileName\n, 3);
   this-WriteString(
 TypeLibraryName%(Filename).tlb/TypeLibraryName\n, 3);
-- 
2.3.0

-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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

[cmake-developers] documentation patch

2014-12-17 Thread Tim Blechmann
hi all,

this trivial patch adds INTERFACE_LIBRARY to the documentation of the
TYPE target property. would be great, if it could be applied.

thnx,
tim
From f9ff9226bd0985aa239564e93eb42ed4d57b208d Mon Sep 17 00:00:00 2001
From: Tim Blechmann t...@klingt.org
Date: Wed, 17 Dec 2014 21:59:51 +0100
Subject: [PATCH] Help: add INTERFACE_LIBRARY to TYPE property documentation

---
 Help/prop_tgt/TYPE.rst | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/Help/prop_tgt/TYPE.rst b/Help/prop_tgt/TYPE.rst
index 1951d46..5ac63cc 100644
--- a/Help/prop_tgt/TYPE.rst
+++ b/Help/prop_tgt/TYPE.rst
@@ -5,4 +5,5 @@ The type of the target.
 
 This read-only property can be used to test the type of the given
 target.  It will be one of STATIC_LIBRARY, MODULE_LIBRARY,
-SHARED_LIBRARY, EXECUTABLE or one of the internal target types.
+SHARED_LIBRARY, INTERFACE_LIBRARY, EXECUTABLE or one of the internal
+target types.
-- 
2.2.0

-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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

[cmake-developers] install(DIRECTORY) genex support

2014-11-05 Thread Tim Blechmann
hi all,

i wonder, is there any reason for not supporting generator expressions
for install(DIRECTORY)? i need this functionality to be able to install
dSYM folders which are generated by xcode.

if not, could someone review/merge this patch [1]? it is probably too
late for 3.1, right?

thanks a lot,
tim

[1] https://github.com/Kitware/CMake/pull/124

-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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


Re: [cmake-developers] install(DIRECTORY) genex support

2014-11-05 Thread Tim Blechmann
hi brad,

 [1] https://github.com/Kitware/CMake/pull/124
 
 Good start.  Please extend documentation and tests for this feature
 similar to how it was done for install(FILES) in the above-linked
 commit.
 
 Then please read CONTRIBUTING.rst and send the patch to this list
 for further review.

thanks for the link regarding files/programs ... will update the patch
in the next few days ...

cheers,
tim


-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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


Re: [cmake-developers] Assembly/preprocessed targets for Fortran

2014-11-05 Thread Tim Gallagher
Sorry about the TABs, I guess emacs defaults to it and I never noticed.

I have attached an updated patch where the tabs are removed and the test for 
CMAKE_EXPORT_COMPILE_COMMANDS is also removed. 

Tim

- Original Message -
From: Brad King brad.k...@kitware.com
To: tim gallagher tim.gallag...@gatech.edu, cmake-developers@cmake.org
Sent: Wednesday, November 5, 2014 11:26:26 AM
Subject: Re: [cmake-developers] Assembly/preprocessed targets for Fortran

On 11/04/2014 06:37 PM, Tim Gallagher wrote:
 I have attached the patch to enable the targets for Fortran.

Thanks.  Please update it to avoid using hard TABs for indentation.
Also in the CompileCommandOutput test hunk:

 -project (CompileCommandOutput CXX)
 +project (CompileCommandOutput)
 +enable_language(CXX)
 +enable_language(Fortran)

there are a couple problems:

- By removing any explicit languages from the project() call
  it will enable C and CXX by default.  Use NONE to suppress
  that.

- We cannot assume that Fortran will be available.  The other
  Fortran tests are all guarded by availability of a Fortran
  compiler.

The test for CMAKE_EXPORT_COMPILE_COMMANDS was already missing
for C, so let's just skip Fortran for the test too.  They can
be fixed together as a separate change later.

Thanks,
-Brad

From ff4a9ffe8a03822e87bc7d26a144ab2ca1e1ced6 Mon Sep 17 00:00:00 2001
From: Tim Gallagher tim.gallag...@gatech.edu
Date: Wed, 5 Nov 2014 12:07:33 -0500
Subject: [PATCH] Enabled the generation of assembly and preprocessor targets 
 for Fortran.

The Makefile generator has been updated to create .i and .s targets for
Fortran files. The variable lang_is_c_or_cxx has been changed and split
into variables to indicate languages which can be preprocessed, generate
assembly, or have their compile commands output. This should allow for
more fine-grained control over these behaviors if languages can handle
some or all of those features.

The modules have been updated to set the CMAKE_Fortran_CREATE_* flags
required. This has been tested successfully on Intel and GNU suites but
remains untested for the others. The assumption is that other Fortran
compilers handle the options the same way their respective C/C++
compilers handle it.

Testing has been added to the FortranOnly test to verify the
preprocessor works. This test behaves the same as the test in the
Complex test for C++. There is no test for assembly in C/C++ however, so
there is not one in Fortran either.
---
 Modules/Compiler/GNU-Fortran.cmake   |5 
 Modules/Compiler/HP-Fortran.cmake|3 +++
 Modules/Compiler/Intel-Fortran.cmake |3 +++
 Modules/Compiler/PGI-Fortran.cmake   |5 
 Modules/Compiler/SunPro-Fortran.cmake|3 +++
 Modules/Compiler/XL-Fortran.cmake|4 ---
 Modules/Platform/HP-UX-HP-Fortran.cmake  |3 +++
 Modules/Platform/IRIX.cmake  |8 ++
 Modules/Platform/IRIX64.cmake|9 +++
 Source/cmLocalUnixMakefileGenerator3.cxx |   43 +-
 Source/cmMakefileTargetGenerator.cxx |   13 ++---
 Tests/FortranOnly/CMakeLists.txt |   22 +++
 Tests/FortranOnly/test_preprocess.cmake  |7 +
 13 files changed, 91 insertions(+), 37 deletions(-)
 create mode 100644 Tests/FortranOnly/test_preprocess.cmake

diff --git a/Modules/Compiler/GNU-Fortran.cmake b/Modules/Compiler/GNU-Fortran.cmake
index 313ccbd..dfd7927 100644
--- a/Modules/Compiler/GNU-Fortran.cmake
+++ b/Modules/Compiler/GNU-Fortran.cmake
@@ -8,10 +8,5 @@ set(CMAKE_Fortran_FORMAT_FREE_FLAG -ffree-form)
 set(CMAKE_Fortran_FLAGS_MINSIZEREL_INIT -Os)
 set(CMAKE_Fortran_FLAGS_RELEASE_INIT -O3)
 
-# We require updates to CMake C++ code to support preprocessing rules
-# for Fortran.
-set(CMAKE_Fortran_CREATE_PREPROCESSED_SOURCE)
-set(CMAKE_Fortran_CREATE_ASSEMBLY_SOURCE)
-
 # Fortran-specific feature flags.
 set(CMAKE_Fortran_MODDIR_FLAG -J)
diff --git a/Modules/Compiler/HP-Fortran.cmake b/Modules/Compiler/HP-Fortran.cmake
index cc56b46..ad821ab 100644
--- a/Modules/Compiler/HP-Fortran.cmake
+++ b/Modules/Compiler/HP-Fortran.cmake
@@ -1,3 +1,6 @@
 set(CMAKE_Fortran_VERBOSE_FLAG -v)
 set(CMAKE_Fortran_FORMAT_FIXED_FLAG +source=fixed)
 set(CMAKE_Fortran_FORMAT_FREE_FLAG +source=free)
+
+set(CMAKE_Fortran_CREATE_ASSEMBLY_SOURCE CMAKE_Fortran_COMPILER DEFINES FLAGS -S SOURCE -o ASSEMBLY_SOURCE)
+set(CMAKE_Fortran_CREATE_PREPROCESSED_SOURCE CMAKE_Fortran_COMPILER DEFINES FLAGS -E SOURCE  PREPROCESSED_SOURCE)
diff --git a/Modules/Compiler/Intel-Fortran.cmake b/Modules/Compiler/Intel-Fortran.cmake
index 84f6182..9ebac5a 100644
--- a/Modules/Compiler/Intel-Fortran.cmake
+++ b/Modules/Compiler/Intel-Fortran.cmake
@@ -7,3 +7,6 @@ set(CMAKE_Fortran_MODDIR_FLAG -module )
 set(CMAKE_Fortran_VERBOSE_FLAG -v)
 set(CMAKE_Fortran_FORMAT_FIXED_FLAG -fixed)
 set(CMAKE_Fortran_FORMAT_FREE_FLAG -free)
+
+set(CMAKE_Fortran_CREATE_PREPROCESSED_SOURCE CMAKE_Fortran_COMPILER DEFINES FLAGS -E SOURCE

Re: [cmake-developers] Assembly/preprocessed targets for Fortran

2014-11-05 Thread Tim Gallagher
Here's to hoping 3rd time's the charm...

Also, what version of gfortran do you have that requires both -E and -cpp to do 
the preprocessing? I don't need that on my version, I'm using 4.7.1. There may 
need to be more sophisticated logic in the Compiler module to add -cpp to the 
command line for versions that require it.

Tim

- Original Message -
From: Brad King brad.k...@kitware.com
To: Tim Gallagher tim.gallag...@gatech.edu
Cc: cmake-developers@cmake.org
Sent: Wednesday, November 5, 2014 12:55:04 PM
Subject: Re: [cmake-developers] Assembly/preprocessed targets for Fortran

On 11/05/2014 12:14 PM, Tim Gallagher wrote:
 I have attached an updated patch

Thanks!  Please split this into two patches.  The first one should
do the refactoring of the variable name and corresponding logic
with no functionality changes.  The second one can add the Fortran
feature.

Also please keep C++ source lines to 79 columns or below.

The FortranOnly test fails for me with:

 f95: error: gfortran does not support -E without -cpp

because it doesn't enable preprocessing for lower-case extensions.
You'll need to add another .F test source with an upper-case
extension to activate preprocessing without special flags.

Thanks,
-Brad

From 4d7eafbcf923fda5f541bc9e5fbdb1004e29ecf1 Mon Sep 17 00:00:00 2001
From: Tim Gallagher tim.gallag...@gatech.edu
Date: Wed, 5 Nov 2014 13:37:25 -0500
Subject: [PATCH] Refactored the checks for language-specific targets and
 export compile cmds

The checks are now split into languages that are able to generate
assembly listings, languages that are able to generate
preprocessed listings and languages that are able to export the
compile commands.
---
 Source/cmLocalUnixMakefileGenerator3.cxx |   44 +-
 Source/cmMakefileTargetGenerator.cxx |   14 +++---
 2 files changed, 35 insertions(+), 23 deletions(-)

diff --git a/Source/cmLocalUnixMakefileGenerator3.cxx b/Source/cmLocalUnixMakefileGenerator3.cxx
index c18e027..e6b125b 100644
--- a/Source/cmLocalUnixMakefileGenerator3.cxx
+++ b/Source/cmLocalUnixMakefileGenerator3.cxx
@@ -314,37 +314,43 @@ void cmLocalUnixMakefileGenerator3::WriteLocalMakefile()
  lo-first.c_str(), lo-second);

 // Check whether preprocessing and assembly rules make sense.
-// They make sense only for C and C++ sources.
-bool lang_is_c_or_cxx = false;
+// They make sense only for C/C++ sources.
+bool lang_has_preprocessor = false;
+bool lang_has_assembly = false;
+
 for(std::vectorLocalObjectEntry::const_iterator ei =
   lo-second.begin(); ei != lo-second.end(); ++ei)
   {
-  if(ei-Language == C || ei-Language == CXX)
+  if(ei-Language == C ||
+ ei-Language == CXX)
 {
-lang_is_c_or_cxx = true;
+   // Right now, C/C++ have both a preprocessor and the
+   // ability to generate assembly code
+lang_has_preprocessor = true;
+lang_has_assembly = true;
 break;
 }
   }

 // Add convenience rules for preprocessed and assembly files.
-if(lang_is_c_or_cxx  (do_preprocess_rules || do_assembly_rules))
+if(lang_has_preprocessor  do_preprocess_rules)
   {
   std::string::size_type dot_pos = lo-first.rfind(.);
   std::string base = lo-first.substr(0, dot_pos);
-  if(do_preprocess_rules)
-{
-this-WriteObjectConvenienceRule(
-  ruleFileStream, target to preprocess a source file,
-  (base + .i).c_str(), lo-second);
-  lo-second.HasPreprocessRule = true;
-}
-  if(do_assembly_rules)
-{
-this-WriteObjectConvenienceRule(
-  ruleFileStream, target to generate assembly for a file,
-  (base + .s).c_str(), lo-second);
-  lo-second.HasAssembleRule = true;
-}
+  this-WriteObjectConvenienceRule(
+ruleFileStream, target to preprocess a source file,
+   (base + .i).c_str(), lo-second);
+  lo-second.HasPreprocessRule = true;
+  }
+
+if(lang_has_assembly  do_assembly_rules)
+  {
+  std::string::size_type dot_pos = lo-first.rfind(.);
+  std::string base = lo-first.substr(0, dot_pos);
+  this-WriteObjectConvenienceRule(
+   ruleFileStream, target to generate assembly for a file,
+   (base + .s).c_str(), lo-second);
+  lo-second.HasAssembleRule = true;
   }
 }

diff --git a/Source/cmMakefileTargetGenerator.cxx b/Source/cmMakefileTargetGenerator.cxx
index 1adcb8a..6b98b35 100644
--- a/Source/cmMakefileTargetGenerator.cxx
+++ b/Source/cmMakefileTargetGenerator.cxx
@@ -702,7 +702,13 @@ cmMakefileTargetGenerator

   vars.Defines = definesString.c_str();

-  bool lang_is_c_or_cxx = ((lang == C) || (lang == CXX));
+  // At the moment, it is assumed that C/C++ have both
+  // assembly and preprocessor capabilities. The same is true for the
+  // ability to export compile commands
+  bool lang_has_preprocessor = ((lang == C

[cmake-developers] Assembly/preprocessed targets for Fortran

2014-11-04 Thread Tim Gallagher
Hi all,

I was trying to generate the assembly listing for some Fortran code and while 
searching for how to do it in CMake, I came across an email thread from a few 
years ago from somebody asking how to do it in C/C++ by running `make 
file.s`. I vaguely remembered knowing this at one point so I tried it with my 
Fortran source and those targets didn't exist. I was about to get on the 
mailing list to ask if anybody else came across this problem, but first I 
clicked through the email thread and there was a message that I sent out 
basically saying Hey, this doesn't work for Fortran -- is there any way that 
could be fixed? 

I guess I send too many emails and forgot about that. 

At any rate, I looked through the CMake source code and it didn't seem that 
hard to make it work correctly for Fortran also. I made the changes on my local 
branch and it works great for the Intel and GNU compiler suites on Linux (those 
are the only ones I have access to). I modified the other compiler modules on 
the assumption that the options were the same for C, C++ and Fortran source 
files (which is true for Intel and GNU). 

I have a couple questions:

1) There are only 2 lines that needed changing in the C++ source to enable the 
functionality. In both places it is adding Fortran to the check for C and 
C++ when assigning the `lang_is_c_or_cxx` variable. That variable name should 
change, but is `lang_is_c_or_cxx_or_fortran` really a good name? Seems a bit 
long, but it's not used often and that makes it very clear what it is storing. 

2) How would/could I go about testing the changes to the other 
compilers/platforms that I do not have personal access to? I'd like to verify 
the options work, and that I didn't miss any compilers/platforms.  

Let me know if this is something that anybody else is interested in and I can 
send out a patch or something to get it tested. If there is interest in 
including the update, I can send a patch if that's easier than setting me up 
for push access -- the changes are really minor.

Thanks,

Tim
-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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


Re: [cmake-developers] Assembly/preprocessed targets for Fortran

2014-11-04 Thread Tim Gallagher
Hi Brad,

Thanks for the info. 

What does the CMAKE_EXPORT_COMPILE_COMMANDS do? Or maybe more precisely, what 
output should I expect when it is set to ON instead of OFF? I tried it with my 
changes and nothing breaks, but I also don't see any difference in outputs with 
it set to ON so maybe I am missing something. 

I'll also dig into the testing to see what it would take to add the coverage.

Thanks again,

Tim

- Original Message -
From: Brad King brad.k...@kitware.com
To: tim gallagher tim.gallag...@gatech.edu, cmake-developers@cmake.org
Sent: Tuesday, November 4, 2014 3:45:39 PM
Subject: Re: [cmake-developers] Assembly/preprocessed targets for Fortran

On 11/04/2014 03:19 PM, Tim Gallagher wrote:
 I looked through the CMake source code and it didn't seem that
 hard to make it work correctly for Fortran also. I made the
 changes on my local branch and it works great for the Intel
 and GNU compiler suites on Linux (those are the only ones I
 have access to). I modified the other compiler modules on the
 assumption that the options were the same for C, C++ and Fortran
 source files (which is true for Intel and GNU).

Great, thanks for looking into this.

 adding Fortran to the check for C and C++ when assigning
 the `lang_is_c_or_cxx` variable. That variable name should change

Perhaps lang_has_preprocessor?  You could also add

 bool const lang_has_assembly = lang_has_preprocessor;

and update each use of the variable to use the proper name.
In the future the answer may not be the same.

Watch out for other uses of lang_is_c_or_cxx, like for
CMAKE_EXPORT_COMPILE_COMMANDS.  Check if each use case
makes sense for Fortran.

 2) How would/could I go about testing the changes to the other
 compilers/platforms that I do not have personal access to?

You could look at adding coverage of these make targets to
the test suite under the proper conditions.  That will likely
be a harder change than your main fix though.

Thanks,
-Brad

-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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


Re: [cmake-developers] Assembly/preprocessed targets for Fortran

2014-11-04 Thread Tim Gallagher
Scratch that, I found it. Wasn't looking in the right places!

The export command works for Fortran, so that's not an issue.

I'll take a look at the testing and see if I can get that going. I'll send 
along a patch when I get it worked out.

Thanks,

Tim

- Original Message -
From: Tim Gallagher tim.gallag...@gatech.edu
To: Brad King brad.k...@kitware.com
Cc: cmake-developers@cmake.org
Sent: Tuesday, November 4, 2014 4:08:49 PM
Subject: Re: [cmake-developers] Assembly/preprocessed targets for Fortran

Hi Brad,

Thanks for the info. 

What does the CMAKE_EXPORT_COMPILE_COMMANDS do? Or maybe more precisely, what 
output should I expect when it is set to ON instead of OFF? I tried it with my 
changes and nothing breaks, but I also don't see any difference in outputs with 
it set to ON so maybe I am missing something. 

I'll also dig into the testing to see what it would take to add the coverage.

Thanks again,

Tim

- Original Message -
From: Brad King brad.k...@kitware.com
To: tim gallagher tim.gallag...@gatech.edu, cmake-developers@cmake.org
Sent: Tuesday, November 4, 2014 3:45:39 PM
Subject: Re: [cmake-developers] Assembly/preprocessed targets for Fortran

On 11/04/2014 03:19 PM, Tim Gallagher wrote:
 I looked through the CMake source code and it didn't seem that
 hard to make it work correctly for Fortran also. I made the
 changes on my local branch and it works great for the Intel
 and GNU compiler suites on Linux (those are the only ones I
 have access to). I modified the other compiler modules on the
 assumption that the options were the same for C, C++ and Fortran
 source files (which is true for Intel and GNU).

Great, thanks for looking into this.

 adding Fortran to the check for C and C++ when assigning
 the `lang_is_c_or_cxx` variable. That variable name should change

Perhaps lang_has_preprocessor?  You could also add

 bool const lang_has_assembly = lang_has_preprocessor;

and update each use of the variable to use the proper name.
In the future the answer may not be the same.

Watch out for other uses of lang_is_c_or_cxx, like for
CMAKE_EXPORT_COMPILE_COMMANDS.  Check if each use case
makes sense for Fortran.

 2) How would/could I go about testing the changes to the other
 compilers/platforms that I do not have personal access to?

You could look at adding coverage of these make targets to
the test suite under the proper conditions.  That will likely
be a harder change than your main fix though.

Thanks,
-Brad

-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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


Re: [cmake-developers] Assembly/preprocessed targets for Fortran

2014-11-04 Thread Tim Gallagher
Hi Brad,

I have attached the patch to enable the targets for Fortran. It includes 
updates to 2 tests to make sure that it works as expected. Both of the tests 
pass for me with Intel and GNU but that's all I have access to.

Let me know if I messed anything up or if you have any suggestions on things I 
should have done better/differently so I know to do it correctly next time I 
have a patch.

Thanks,

Tim

- Original Message -
From: Tim Gallagher tim.gallag...@gatech.edu
To: tim gallagher tim.gallag...@gatech.edu
Cc: cmake-developers@cmake.org, Brad King brad.k...@kitware.com
Sent: Tuesday, November 4, 2014 4:12:01 PM
Subject: Re: [cmake-developers] Assembly/preprocessed targets for Fortran

Scratch that, I found it. Wasn't looking in the right places!

The export command works for Fortran, so that's not an issue.

I'll take a look at the testing and see if I can get that going. I'll send 
along a patch when I get it worked out.

Thanks,

Tim

- Original Message -
From: Tim Gallagher tim.gallag...@gatech.edu
To: Brad King brad.k...@kitware.com
Cc: cmake-developers@cmake.org
Sent: Tuesday, November 4, 2014 4:08:49 PM
Subject: Re: [cmake-developers] Assembly/preprocessed targets for Fortran

Hi Brad,

Thanks for the info. 

What does the CMAKE_EXPORT_COMPILE_COMMANDS do? Or maybe more precisely, what 
output should I expect when it is set to ON instead of OFF? I tried it with my 
changes and nothing breaks, but I also don't see any difference in outputs with 
it set to ON so maybe I am missing something. 

I'll also dig into the testing to see what it would take to add the coverage.

Thanks again,

Tim

- Original Message -
From: Brad King brad.k...@kitware.com
To: tim gallagher tim.gallag...@gatech.edu, cmake-developers@cmake.org
Sent: Tuesday, November 4, 2014 3:45:39 PM
Subject: Re: [cmake-developers] Assembly/preprocessed targets for Fortran

On 11/04/2014 03:19 PM, Tim Gallagher wrote:
 I looked through the CMake source code and it didn't seem that
 hard to make it work correctly for Fortran also. I made the
 changes on my local branch and it works great for the Intel
 and GNU compiler suites on Linux (those are the only ones I
 have access to). I modified the other compiler modules on the
 assumption that the options were the same for C, C++ and Fortran
 source files (which is true for Intel and GNU).

Great, thanks for looking into this.

 adding Fortran to the check for C and C++ when assigning
 the `lang_is_c_or_cxx` variable. That variable name should change

Perhaps lang_has_preprocessor?  You could also add

 bool const lang_has_assembly = lang_has_preprocessor;

and update each use of the variable to use the proper name.
In the future the answer may not be the same.

Watch out for other uses of lang_is_c_or_cxx, like for
CMAKE_EXPORT_COMPILE_COMMANDS.  Check if each use case
makes sense for Fortran.

 2) How would/could I go about testing the changes to the other
 compilers/platforms that I do not have personal access to?

You could look at adding coverage of these make targets to
the test suite under the proper conditions.  That will likely
be a harder change than your main fix though.

Thanks,
-Brad

-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake-developers
From 03f06808a086dd767e3414a5a1e5fc14ecc0a0e3 Mon Sep 17 00:00:00 2001
From: Tim Gallagher tim.gallag...@gatech.edu
Date: Tue, 4 Nov 2014 18:26:22 -0500
Subject: [PATCH] Enabled the generation of assembly and preprocessor targets
 for Fortran.

The Makefile generator has been updated to create .i and .s targets for
Fortran files. The variable lang_is_c_or_cxx has been changed and split
into variables to indicate languages which can be preprocessed, generate
assembly, or have their compile commands output. This should allow for
more fine-grained control over these behaviors if languages can handle
some or all of those features.

The modules have been updated to set the CMAKE_Fortran_CREATE_* flags
required. This has been tested successfully on Intel and GNU suites but
remains untested for the others. The assumption is that other Fortran
compilers handle the options the same way their respective C/C++
compilers handle it.

Testing has been added to the FortranOnly test to verify the
preprocessor works. This test behaves the same as the test in the
Complex test for C++. There is no test for assembly in C/C++ however, so
there is not one in Fortran

[cmake-developers] [patch] fix Info.plist parser

2014-08-07 Thread Tim Blechmann
hi all,

attached patch adds support for parsing Info.plist files which are
generated with mac os9-style line endings (\r).

would be great if this fix can be applied (and if it would make it into
3.0.2).

thanks,
tim
From 0b1420c8c22885f3a4a086510a2041bc80be7732 Mon Sep 17 00:00:00 2001
From: Tim Blechmann t...@klingt.org
Date: Thu, 7 Aug 2014 19:30:27 +0200
Subject: [PATCH] cmake: allow Info.plist files which use os9-style \r line
 endings

Signed-off-by: Tim Blechmann t...@klingt.org
---
 Modules/BundleUtilities.cmake | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Modules/BundleUtilities.cmake b/Modules/BundleUtilities.cmake
index b896de2..60d01b5 100644
--- a/Modules/BundleUtilities.cmake
+++ b/Modules/BundleUtilities.cmake
@@ -237,6 +237,7 @@ function(get_bundle_main_executable bundle result_var)
 file(READ ${bundle}/Contents/Info.plist info_plist)
 string(REGEX REPLACE ; ; info_plist ${info_plist})
 string(REGEX REPLACE \n ${eol_char}; info_plist ${info_plist})
+string(REGEX REPLACE \r ${eol_char}; info_plist ${info_plist})
 
 # Scan the lines for keyCFBundleExecutable/key - the line after that
 # is the name of the main executable.
-- 
2.0.4

-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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

Re: [cmake-developers] [patch] fix Info.plist parser

2014-08-07 Thread Tim Blechmann
 would be great if this fix can be applied
 
 I applied the patch with a slight revision to resolve conflicts
 with master:
 
  BundleUtilities: Allow Info.plist files which use CR line endings
  http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=810f5cce
 
 Once it works there I will consider backporting it to 3.0.

great! thanks a lot!

-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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


Re: [cmake-developers] [patch] install cfbundles as directory

2014-07-10 Thread Tim Blechmann
 attached!
 
 Applied, thanks:
 
  OS X: Install CFBundles as complete directories
  http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=908433bd

thanks a lot! i wonder: will this patch make it into 3.0.1?

tim

-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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


[cmake-developers] [patch] install cfbundles as directory

2014-07-09 Thread Tim Blechmann
cfbundles are currently not installed as directory, but the binary from
Contents/MacOS is directly installed to the destination.

attached patch fixes the issue.

thanks,
tim
From b021da36ec9c72cc6410a95ce81a177a87f6f232 Mon Sep 17 00:00:00 2001
From: Tim Blechmann t...@klingt.org
Date: Wed, 9 Jul 2014 15:33:25 +0200
Subject: [PATCH] InstallTarget: install CFBundles with complete directory

---
 Source/cmInstallTargetGenerator.cxx | 14 ++
 1 file changed, 14 insertions(+)

diff --git a/Source/cmInstallTargetGenerator.cxx 
b/Source/cmInstallTargetGenerator.cxx
index 7a39f45..93c0d63 100644
--- a/Source/cmInstallTargetGenerator.cxx
+++ b/Source/cmInstallTargetGenerator.cxx
@@ -213,6 +213,20 @@ void 
cmInstallTargetGenerator::GenerateScriptForConfig(std::ostream os,
   filesFrom.push_back(from1);
   filesTo.push_back(to1);
   }
+else if(this-Target-IsCFBundleOnApple())
+  {
+  // Install the whole app bundle directory.
+  type = cmInstallType_DIRECTORY;
+  literal_args +=  USE_SOURCE_PERMISSIONS;
+
+  std::string targetNameBase = targetName.substr(0, 
targetName.find_first_of(/));
+
+  std::string from1 = fromDirConfig + targetNameBase;
+  std::string to1 = toDir + targetNameBase;
+
+  filesFrom.push_back(from1);
+  filesTo.push_back(to1);
+  }
 else
   {
   bool haveNamelink = false;
-- 
2.0.1

-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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

Re: [cmake-developers] [patch] install cfbundles as directory

2014-07-09 Thread Tim Blechmann
 cfbundles are currently not installed as directory, but the binary from
 Contents/MacOS is directly installed to the destination.

 attached patch fixes the issue.
 
 Thanks.
 
 I do not understand this line:
 
 +  std::string targetNameBase = targetName.substr(0, 
 targetName.find_first_of(/));
 
 Why do we need to look for the first slash?

targetName is:
${BundleName}${BundleExtension}/Contents/MacOS/${BundleName}

we basically want to find ${BundleName}. i did not find any way to
determine this information from the Target.

 Also, look earlier in that function for the blocks starting in:
 
   // Handle OSX Bundles.
   if(this-Target-IsAppBundleOnApple())
 
 and
 
 else if(this-Target-IsFrameworkOnApple())
 
 Those cases do special handling for the post-installation tweaks.
 Is something similar needed here?

i wonder: which tweaks are they? i've seen the comments, but failed to
understand, what kind of post-install tweaks they add, as it is mainly
about changing source and destinations. in my use-case it seems to work,
but of course i might be missing something ...

cheers,
tim


-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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


Re: [cmake-developers] [patch] install cfbundles as directory

2014-07-09 Thread Tim Blechmann
 Those cases do special handling for the post-installation tweaks.

 i wonder: which tweaks are they?
 
 It's things like running strip on the executable file.
 
 The line
 
   filesTo.push_back(to1);
 
 needs to add the path to the executable file, not the directory.
 The filesTo vector is used only for tweaks and not for generating
 the main install rules.  IIUC we should use
 
   std::string to1 = toDir + targetName;
 
 for CFBundles to get the location of the installed binary file.

ah, i see ... double-checked and this works for me!

shall i update the patch?

cheers,
tim

-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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


Re: [cmake-developers] [patch] install cfbundles as directory

2014-07-09 Thread Tim Blechmann
 shall i update the patch?
 
 Yes, so that we know the updated version works for what you need.
 Please also include a change to use Ben's suggestion of
 
  targetName.find('/')
 
 instead of find_first_of.

attached!

thanks a lot,
tim
From 18147876fd834a24dcdeca70078c972f84e92866 Mon Sep 17 00:00:00 2001
From: Tim Blechmann t...@klingt.org
Date: Wed, 9 Jul 2014 20:01:11 +0200
Subject: [PATCH] InstallTarget: install CFBundles with complete directory

---
 Source/cmInstallTargetGenerator.cxx | 14 ++
 1 file changed, 14 insertions(+)

diff --git a/Source/cmInstallTargetGenerator.cxx 
b/Source/cmInstallTargetGenerator.cxx
index 7a39f45..38d369e 100644
--- a/Source/cmInstallTargetGenerator.cxx
+++ b/Source/cmInstallTargetGenerator.cxx
@@ -213,6 +213,20 @@ void 
cmInstallTargetGenerator::GenerateScriptForConfig(std::ostream os,
   filesFrom.push_back(from1);
   filesTo.push_back(to1);
   }
+else if(this-Target-IsCFBundleOnApple())
+  {
+  // Install the whole app bundle directory.
+  type = cmInstallType_DIRECTORY;
+  literal_args +=  USE_SOURCE_PERMISSIONS;
+
+  std::string targetNameBase = targetName.substr(0, targetName.find('/'));
+
+  std::string from1 = fromDirConfig + targetNameBase;
+  std::string to1 = toDir + targetName;
+
+  filesFrom.push_back(from1);
+  filesTo.push_back(to1);
+  }
 else
   {
   bool haveNamelink = false;
-- 
2.0.1

-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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

Re: [cmake-developers] Who does CMake contract work?

2014-07-08 Thread Tim Jenks
 
 Kitware has been offering CMake consulting since we created CMake. 
 Information can be found here:
 
 http://cmake.org/cmake/help/support.html
 
 Vince, I also sent you an email off list.  This looks like a great 
 addition to CMake, and we would love to help.
 
 Thanks.
 
 -Bill
 

* snip *

  Modify open source CMake to be able to generate NSight Tegra project 
files.

  Vince


I would also be interested in any information regarding nsight tegra 
solution generation using cmake.

Did anything come of this thread?

-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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


[cmake-developers] [patch] handle RC files as resources

2014-06-06 Thread Tim Blechmann
hi all,

i've came across, that .rc files are treated as windows resources, but
not upper-case .RC files. attached patch tries to correct this. it is a
functional change, though it brings the implementation in line with
Modules/CMakeCXXCompiler.cmake.in and the like.

would be great if someone could review and/or commit it.

thanks a lot,
tim
From 0e41cb7df9dcb2587d928504c042a8ed0b51bc39 Mon Sep 17 00:00:00 2001
From: Tim Blechmann t...@klingt.org
Date: Fri, 6 Jun 2014 09:59:33 +0200
Subject: [PATCH] SystemTools: handle RC as resource file format extension

.RC files are not recorgnized as resource files by GetFileFormat, though
the CMakeLangCompiler.cmake.in files list this file extension:

Modules/CMakeCXXCompiler.cmake.in:
set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC)

this patch resolve this inconsistency

Signed-off-by: Tim Blechmann t...@klingt.org
---
 Source/cmSystemTools.cxx | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx
index ff05975..4b91aaa 100644
--- a/Source/cmSystemTools.cxx
+++ b/Source/cmSystemTools.cxx
@@ -1222,7 +1222,8 @@ cmSystemTools::FileFormat 
cmSystemTools::GetFileFormat(const char* cext)
 ext == in || ext == .in ||
 ext == txx || ext == .txx
 ) { return cmSystemTools::HEADER_FILE_FORMAT; }
-  if ( ext == rc || ext == .rc )
+  if ( ext == rc || ext == .rc ||
+   ext == RC || ext == .RC)
 { return cmSystemTools::RESOURCE_FILE_FORMAT; }
   if ( ext == def || ext == .def )
 { return cmSystemTools::DEFINITION_FILE_FORMAT; }
-- 
2.0.0

-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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

Re: [cmake-developers] [patch] handle RC files as resources

2014-06-06 Thread Tim Blechmann
 i've came across, that .rc files are treated as windows resources, but
 not upper-case .RC files. attached patch tries to correct this. it is a
 functional change, though it brings the implementation in line with
 Modules/CMakeCXXCompiler.cmake.in and the like.

 would be great if someone could review and/or commit it.
 
 The cmSystemTools::GetFileFormat is supposed to have been replaced
 by cmSourceFile::GetLanguage and cmGeneratorTarget source classification
 logic that uses the tables like that in CMakeCXXCompiler.
 
 The only cmSystemTools::GetFileFormat call site I see left is in
 cmQtAutoGenerators::SetupSourceFiles, and that does not care about
 RESOURCE_FILE_FORMAT.  In what context does your patch affect anything?

hmmm, then this probably got shadowed in my project when setting the
source file language directly :/

does this look better? (cannot test atm, as i'm on a different machine)

thx,
tim

From e42b5ee3979c0b2e9b72d737c858830a865174ca Mon Sep 17 00:00:00 2001
From: Tim Blechmann t...@klingt.org
Date: Fri, 6 Jun 2014 15:47:29 +0200
Subject: [PATCH] CMakeRCCompiler: handle RC as resource file format extension

.RC files are not recorgnized as resource files by GetFileFormat, though
the CMakeLangCompiler.cmake.in files list this file extension:

Modules/CMakeCXXCompiler.cmake.in:
set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC)

this patch resolve this inconsistency

Signed-off-by: Tim Blechmann t...@klingt.org
---
 Modules/CMakeRCCompiler.cmake.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Modules/CMakeRCCompiler.cmake.in b/Modules/CMakeRCCompiler.cmake.in
index 0fc3142..8257cd6 100644
--- a/Modules/CMakeRCCompiler.cmake.in
+++ b/Modules/CMakeRCCompiler.cmake.in
@@ -1,6 +1,6 @@
 set(CMAKE_RC_COMPILER @CMAKE_RC_COMPILER@)
 set(CMAKE_RC_COMPILER_ARG1 @CMAKE_RC_COMPILER_ARG1@)
 set(CMAKE_RC_COMPILER_LOADED 1)
-set(CMAKE_RC_SOURCE_FILE_EXTENSIONS rc)
+set(CMAKE_RC_SOURCE_FILE_EXTENSIONS rc;RC)
 set(CMAKE_RC_OUTPUT_EXTENSION @CMAKE_RC_OUTPUT_EXTENSION@)
 set(CMAKE_RC_COMPILER_ENV_VAR RC)
-- 
2.0.0

-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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

Re: [cmake-developers] [ANNOUNCE] CMake 3.0-rc4 now ready for testing!

2014-04-22 Thread Tim Blechmann
hi all,

 I am proud to announce the CMake 3.0 fourth release candidate.
[snip]
 Changes made since CMake 3.0.0-rc3:

i wonder, why did 90e22f8f713c not make it into rc4? it is a bug fix for
the osx bundle generator, while the patch itself is trivial, the bug is
a showstopper for me ... so it would be great if it can make it into rc4.

thanks a lot,
tim

[1] https://github.com/Kitware/CMake/commit/90e22f8f713c


-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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


Re: [cmake-developers] generator expressions with variable

2014-04-20 Thread Tim Blechmann
 $1:-I $JOIN:a;b;c , -I

 though it does not matter, if the target is passed via variable or
 directly.

 any idea?

 
 
 Please provide a http://www.sscce.org/

see attached file!

origin/master gives me:
tim@moka-mac:~/dev/x/y$ ~/dev/cmake/bin/cmake -GNinja ..  ninja
-- The C compiler identification is AppleClang 5.1.0.5030040
-- The CXX compiler identification is AppleClang 5.1.0.5030040
-- Check for working C compiler using: Ninja
-- Check for working C compiler using: Ninja -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler using: Ninja
-- Check for working CXX compiler using: Ninja -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/tim/dev/x/y
ninja: error: build.ninja:53: bad $-escape (literal $ must be written as $$)
  PRE_LINK = cd /Users/tim/dev/x/y  echo $1:-I$JOIN:$ -I  cd /Us...
   ^ near here

same applies to 2.8.12.2.

the genex is:
$$BOOL:$TARGET_PROPERTY:foo,INCLUDE_DIRECTORIES:-I$JOIN:$TARGET_PROPERTY:foo,INCLUDE_DIRECTORIES,
-I


changing the genex to:
$$BOOL:$TARGET_PROPERTY:foo,INCLUDE_DIRECTORIES:-I$JOIN:
$TARGET_PROPERTY:foo,INCLUDE_DIRECTORIES , -I

it expands to:
$1:-I$JOIN: /Users/tim/dev/x/a;/Users/tim/dev/x/b;/Users/tim/dev/x/c ,
-I

hth,
tim
cmake_minimum_required(VERSION 2.8)


add_library(foo foo.cpp)
target_include_directories(foo PUBLIC a b c)

add_custom_command(
  TARGET foo
  PRE_BUILD
  COMMAND echo $ $BOOL:$TARGET_PROPERTY:foo,INCLUDE_DIRECTORIES :-I$JOIN: 
$TARGET_PROPERTY:foo,INCLUDE_DIRECTORIES , -I
)
-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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

Re: [cmake-developers] generator expressions with variable

2014-04-20 Thread Tim Blechmann
 see attached file!
 
 
 The generator expression stops parsing at whitespace. I believe you're 
 hitting a problem related to what is discussed in this thread:
 
  http://thread.gmane.org/gmane.comp.programming.tools.cmake.devel/7063
 
 It will require patching CMake, but there is no one working on a patch yet.
 
  http://public.kitware.com/Bug/view.php?id=14353

hmm, the bug is marked as BACKLOG ... tbo, the current situation is not
exactly robust: if it is known to be broken, maybe there could be at
least an error message, describing the issue?

thnx,
tim

-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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


[cmake-developers] generator expressions with variable

2014-04-19 Thread Tim Blechmann
hi all,

i'm trying to obtain the include paths from a target via a generator
expression, which is adapted from the help file:

help:
$$BOOL:$TARGET_PROPERTY:INCLUDE_DIRECTORIES:-I$JOIN:$TARGET_PROPERTY:INCLUDE_DIRECTORIES,
-I

i adapted it to obtain the value from a target, which is passed as a
function argument:

$$BOOL:$TARGET_PROPERTY:${TARGET},INCLUDE_DIRECTORIES:-I$JOIN:$TARGET_PROPERTY:${TARGET},INCLUDE_DIRECTORIES,
-I

however evaluating the expression results in this command string:
$1:-I$JOIN:$ -I

is this a bug or a feature?

thanks a lot,
tim

-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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


Re: [cmake-developers] generator expressions with variable

2014-04-19 Thread Tim Blechmann
 $$BOOL:$TARGET_PROPERTY:${TARGET},INCLUDE_DIRECTORIES:-I$JOIN:$TARGET_PROPERTY:${TARGET},INCLUDE_DIRECTORIES,
  -I
 
 Does it work without the variable in there. (By the time the generator
 expression evaluator gets the string, it should be expanded.)
 
 however evaluating the expression results in this command string:
 $1:-I$JOIN:$ -I
 
 Should that '$' be ','? Where did your literal ',' go from the above
 genex?


hmm, i've updated cmake to the current master branch (the other one was
a few days old). now the expression evaluates to (if the properties are
a;b;c):

$1:-I $JOIN:a;b;c , -I

though it does not matter, if the target is passed via variable or directly.

any idea?

thnx,
tim

-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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


[cmake-developers] [patch] fix Info.plist support for CFBundles

2014-03-25 Thread Tim Blechmann
Info.plist files were generated in the wrong place when generating
CFBundles. attached patch fixes this behavior.

From 7750f35bee583d280519e87ce8efd6faaf121fca Mon Sep 17 00:00:00 2001
From: Tim Blechmann t...@klingt.org
Date: Tue, 25 Mar 2014 16:16:51 +0100
Subject: [PATCH] osx bundle generator: correctly generate Info.plist

Info.plist was placed into CMAKE_BINARY_DIR, not CMAKE_CURRENT_BINARY_DIR
because the target path was not generated correctly
---
 Source/cmOSXBundleGenerator.cxx | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Source/cmOSXBundleGenerator.cxx b/Source/cmOSXBundleGenerator.cxx
index 6f16913..786e6e2 100644
--- a/Source/cmOSXBundleGenerator.cxx
+++ b/Source/cmOSXBundleGenerator.cxx
@@ -178,7 +178,7 @@ void cmOSXBundleGenerator::CreateCFBundle(const 
std::string targetName,
 
   // Configure the Info.plist file.  Note that it needs the executable name
   // to be set.
-  std::string plist =
+  std::string plist = root + / +
 this-GT-Target-GetCFBundleDirectory(this-ConfigName, true);
   plist += /Info.plist;
   this-LocalGenerator-GenerateAppleInfoPList(this-GT-Target,
-- 
1.9.1

-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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

Re: [cmake-developers] [patch] treat .m files as c, not c++

2014-03-20 Thread tim
 I'll look at integrating the change.
 
 I've applied the patch here:
 
  Treat .m files consistently as C across all generators
  http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=95cdf132
 
 with more detail in the commit message.

thanks a lot!

tim

-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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


[cmake-developers] [patch] treat .m files as c, not c++

2014-03-19 Thread Tim Blechmann
hi all,

compiling .m files with CXX_FLAGS like -std=c++11 causes troubles.
make/ninja treat .m files as c++, which is inconsistent in three
different ways:

a) cmSystemTools::GetFileFormat:
if ( ext == c || ext == .c ||
   ext == m || ext == .m
) { return cmSystemTools::C_FILE_FORMAT; }
  if (
ext == C || ext == .C ||
ext == M || ext == .M ||
ext == c++ || ext == .c++ ||
ext == cc || ext == .cc ||
ext == cpp || ext == .cpp ||
ext == cxx || ext == .cxx ||
ext == mm || ext == .mm
)

b) xcode and the cmake/xcode generator

c) the language detection based on the file extension as implemented by gcc:

man gcc:
   file.m
   Objective-C source code.  Note that you must link with the
   libobjc library to make an Objective-C program work.

obj-c is a superset of c, while obj-c++ is a superset of obj-c

this patch corrects this behavior.

best regards,
tim
From dc956e47ec280979d62666c42632d01267560927 Mon Sep 17 00:00:00 2001
From: Tim Blechmann t...@klingt.org
Date: Wed, 19 Mar 2014 17:31:01 +0100
Subject: [PATCH] Modules: treat .m files as c instead of c++

this gets it in line with cmSystemTools::GetFileFormat. especially
CXX_FLAGS should not be passed to obj-c sources

Signed-off-by: Tim Blechmann t...@klingt.org
---
 Modules/CMakeCCompiler.cmake.in   | 2 +-
 Modules/CMakeCXXCompiler.cmake.in | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/Modules/CMakeCCompiler.cmake.in b/Modules/CMakeCCompiler.cmake.in
index 804cce2..694f8b8 100644
--- a/Modules/CMakeCCompiler.cmake.in
+++ b/Modules/CMakeCCompiler.cmake.in
@@ -26,7 +26,7 @@ if(CMAKE_COMPILER_IS_MINGW)
   set(MINGW 1)
 endif()
 set(CMAKE_C_COMPILER_ID_RUN 1)
-set(CMAKE_C_SOURCE_FILE_EXTENSIONS c)
+set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m)
 set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
 set(CMAKE_C_LINKER_PREFERENCE 10)
 
diff --git a/Modules/CMakeCXXCompiler.cmake.in 
b/Modules/CMakeCXXCompiler.cmake.in
index 35aa6c4..c75611a 100644
--- a/Modules/CMakeCXXCompiler.cmake.in
+++ b/Modules/CMakeCXXCompiler.cmake.in
@@ -27,7 +27,7 @@ if(CMAKE_COMPILER_IS_MINGW)
 endif()
 set(CMAKE_CXX_COMPILER_ID_RUN 1)
 set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC)
-set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;CPP)
+set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;mm;CPP)
 set(CMAKE_CXX_LINKER_PREFERENCE 30)
 set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1)
 
-- 
1.9.0

-- 

Powered by www.kitware.com

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

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

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

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

Re: [cmake-developers] New module introduction

2012-01-25 Thread Tim Gallagher
I have a question for the developers list since I'm (brand) new to this:

Right now, the FindBLAS and FindLAPACK will not find Intel MKL that ships with 
versions of the compiler released since last year. We've written something that 
will make it work, but right now we only have it working on Linux with intel64 
architecture. 

We don't have time right now to put in Windows support or 32bit support. And 
even if we could, we don't have any Windows or 32bit machines to test it on 
anyway. So should I push what I have and get it into the stream with the 
deficiencies documented since what is there will at least fix problems for many 
people? Should I leave it on the stage branch until either we or somebody else 
can help us with the remainder of it? 

I'll hold off on pushing anything until I know if pushing partial support is 
okay or not. Thanks,

Tim

- Original Message -
From: Tim Gallagher tim.gallag...@gatech.edu
To: cmake-developers@cmake.org
Sent: Tuesday, January 24, 2012 9:10:43 PM
Subject: [cmake-developers] New module introduction

Hi,

I've been on the users mailing list a few different times to submit patches for 
the FindBLAS and FindLAPACK modules and we found some more bugs with them. It 
was known awhile ago that they don't work for the new Intel MKL naming 
conventions (http://www.mail-archive.com/cmake@cmake.org/msg38606.html). We 
finally hit the point where we had to fix it.

So, in order to do this correctly, there is an additional module that 
interfaces with a tool provided by Intel to generate the information needed to 
link. We've written this module and are polishing it now. We've also modified 
FindBLAS and FindLAPACK to use the new module and also fixed a few smaller bugs 
during this process. 

I would like to sign up as a module maintainer for this new module (and get 
push access to put it in the repository). I've done all the steps on the wiki 
for doing this except introducing the module (which is what I'm doing now!) and 
applying for git access (which I will do when I find out this email was what 
'introduce the module' meant). If I need to send out the new module first for 
review or something, let me know and we'll do it as soon as it's finished. 

Thanks,

Tim
--

Powered by www.kitware.com

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

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

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

Powered by www.kitware.com

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

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

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


[cmake-developers] New module introduction

2012-01-24 Thread Tim Gallagher
Hi,

I've been on the users mailing list a few different times to submit patches for 
the FindBLAS and FindLAPACK modules and we found some more bugs with them. It 
was known awhile ago that they don't work for the new Intel MKL naming 
conventions (http://www.mail-archive.com/cmake@cmake.org/msg38606.html). We 
finally hit the point where we had to fix it.

So, in order to do this correctly, there is an additional module that 
interfaces with a tool provided by Intel to generate the information needed to 
link. We've written this module and are polishing it now. We've also modified 
FindBLAS and FindLAPACK to use the new module and also fixed a few smaller bugs 
during this process. 

I would like to sign up as a module maintainer for this new module (and get 
push access to put it in the repository). I've done all the steps on the wiki 
for doing this except introducing the module (which is what I'm doing now!) and 
applying for git access (which I will do when I find out this email was what 
'introduce the module' meant). If I need to send out the new module first for 
review or something, let me know and we'll do it as soon as it's finished. 

Thanks,

Tim
--

Powered by www.kitware.com

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

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

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