Re: [CMake] PROPERTY for list of link libraries

2016-01-25 Thread Tom Kacvinsky
Thanks.  Upgrading cmake right now is problematic.

On Mon, Jan 25, 2016 at 4:33 AM, Tamás Kenéz <tamas.ke...@gmail.com> wrote:

> I think you need something like CMakeExpandImportedTargets.cmake (
> https://cmake.org/cmake/help/latest/module/CMakeExpandImportedTargets.html).
> But that module has been deprecated for a while and does not support some
> newer CMake features.
>
> Instead, feel free to try out my fork:
> https://gist.github.com/tamaskenez/ef98237fff654c6d28b5 . This fork adds
> support for IMPORTED_IMPLIB, INTERFACE_LINK_LIBRARIES and $
> expressions.
>
> It recursively resolves all dependencies for the given configuration
> (Debug, Release, ...)
>
> Tamas
>
>
> On Fri, Jan 22, 2016 at 11:01 PM, Tom Kacvinsky <
> tom.kacvin...@vectorcast.com> wrote:
>
>> Ah yes, that was it.  Switching to 3.3.2 did the trick.  Time to upgrade
>> cmake.
>>
>> On Fri, Jan 22, 2016 at 4:40 PM, Tom Kacvinsky <
>> tom.kacvin...@vectorcast.com> wrote:
>>
>>> I am now having a problem with transitive dependencies.  I need all
>>> libraries that are linked in.  I am missing the ones that are linked in
>>> transitively.  Modified code is, ignoring J. Decker's suggestion about
>>> using generator expressions to get the path to the target's output.
>>>
>>> get_property(libs TARGET a_target PROPERTY LINK_LIBRARIES)
>>> foreach(lib ${libs})
>>>   if(TARGET ${lib})
>>> # If this is a library, get its transitive dependencies
>>> get_property(trans TARGET ${lib} PROPERTY INTERFACE_LINK_LIBRARIES)
>>> foreach(tran ${trans})
>>>   if(TARGET ${tran})
>>> get_property(path TARGET ${tran} PROPERTY LOCATION)
>>> file(APPEND "${CMAKE_BINARY_DIR/libs.txt" "${path}\n")
>>>   endif()
>>> endforeach()
>>> get_property(path TARGET ${lib} PROPERTY LOCATION)
>>> file(APPEND "${CMAKE_BINARY_DIR}/libs.txt" "${path}\n")
>>>   else()
>>> file(APPEND "${CMAKE_BINARY_DIR}/libs.txt" "${lib}\n")
>>>   endif()
>>> endforeach()
>>>
>>> I am using cmake 2.8.11.2, perhaps this property doesn't do what I
>>> thought it would with this version of cmake?
>>>
>>> Thanks,
>>>
>>> Tom
>>>
>>> On Fri, Jan 22, 2016 at 9:23 AM, Tom Kacvinsky <
>>> tom.kacvin...@vectorcast.com> wrote:
>>>
>>>> I have need for a cross platform methods of getting libraries linked
>>>> into an executable.
>>>>
>>>> Say for instance, we have
>>>>
>>>> add_library(foo STATIC a.c)
>>>> add_exceutable(bar b.c)
>>>> target_link_libraries(bar foo)
>>>>
>>>> So I know for that bar has a dependency on foo.lib (on Windows) and
>>>> libfoo.a on Linux.
>>>>
>>>> And so forth.  What I would like to do is after everything is set up,
>>>> query the properties of bar
>>>> and find the list of libraries linked into bar in such a fashion I get
>>>> that platform's specific library name (instead of the library's target
>>>> name).
>>>>
>>>> IS this possible?  I read the docs and didn't see a property for
>>>> getting this list.  Did I miss something?  If so I plan on using
>>>> either get_property of get_target_property.
>>>>
>>>> Thanks.
>>>>
>>>
>>>
>>
>> --
>>
>> 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
>>
>
>
-- 

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

[CMake] making a custom target like add_library()

2016-01-25 Thread Tom Kacvinsky
I create a DLL and import library via custom commands, but for my purposes
right now, I need these libraries to be treated as if they were generated
with add_library() (for the project I am workingon where I get transitive
dependencies);

I read this

http://stackoverflow.com/questions/31274577/custom-target-as-a-target-library-in-cmake

but I am not sure if this will invoke the MS linker tools and wreal havoc
with the specialized build of the DLL.  Also, this is for a DLL, not a
static archive, so in the line

add_library(lib2 STATIC IMPORTED GLOBAL)

would I change STATIC to SHARED?

Thanks,

Tom
-- 

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

Re: [CMake] PROPERTY for list of link libraries

2016-01-22 Thread Tom Kacvinsky
I am now having a problem with transitive dependencies.  I need all
libraries that are linked in.  I am missing the ones that are linked in
transitively.  Modified code is, ignoring J. Decker's suggestion about
using generator expressions to get the path to the target's output.

get_property(libs TARGET a_target PROPERTY LINK_LIBRARIES)
foreach(lib ${libs})
  if(TARGET ${lib})
# If this is a library, get its transitive dependencies
get_property(trans TARGET ${lib} PROPERTY INTERFACE_LINK_LIBRARIES)
foreach(tran ${trans})
  if(TARGET ${tran})
get_property(path TARGET ${tran} PROPERTY LOCATION)
file(APPEND "${CMAKE_BINARY_DIR/libs.txt" "${path}\n")
  endif()
endforeach()
get_property(path TARGET ${lib} PROPERTY LOCATION)
file(APPEND "${CMAKE_BINARY_DIR}/libs.txt" "${path}\n")
  else()
file(APPEND "${CMAKE_BINARY_DIR}/libs.txt" "${lib}\n")
  endif()
endforeach()

I am using cmake 2.8.11.2, perhaps this property doesn't do what I thought
it would with this version of cmake?

Thanks,

Tom

On Fri, Jan 22, 2016 at 9:23 AM, Tom Kacvinsky <tom.kacvin...@vectorcast.com
> wrote:

> I have need for a cross platform methods of getting libraries linked
> into an executable.
>
> Say for instance, we have
>
> add_library(foo STATIC a.c)
> add_exceutable(bar b.c)
> target_link_libraries(bar foo)
>
> So I know for that bar has a dependency on foo.lib (on Windows) and
> libfoo.a on Linux.
>
> And so forth.  What I would like to do is after everything is set up,
> query the properties of bar
> and find the list of libraries linked into bar in such a fashion I get
> that platform's specific library name (instead of the library's target
> name).
>
> IS this possible?  I read the docs and didn't see a property for
> getting this list.  Did I miss something?  If so I plan on using
> either get_property of get_target_property.
>
> Thanks.
>
-- 

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

Re: [CMake] PROPERTY for list of link libraries

2016-01-22 Thread Tom Kacvinsky
Ah yes, that was it.  Switching to 3.3.2 did the trick.  Time to upgrade
cmake.

On Fri, Jan 22, 2016 at 4:40 PM, Tom Kacvinsky <tom.kacvin...@vectorcast.com
> wrote:

> I am now having a problem with transitive dependencies.  I need all
> libraries that are linked in.  I am missing the ones that are linked in
> transitively.  Modified code is, ignoring J. Decker's suggestion about
> using generator expressions to get the path to the target's output.
>
> get_property(libs TARGET a_target PROPERTY LINK_LIBRARIES)
> foreach(lib ${libs})
>   if(TARGET ${lib})
> # If this is a library, get its transitive dependencies
> get_property(trans TARGET ${lib} PROPERTY INTERFACE_LINK_LIBRARIES)
> foreach(tran ${trans})
>   if(TARGET ${tran})
> get_property(path TARGET ${tran} PROPERTY LOCATION)
> file(APPEND "${CMAKE_BINARY_DIR/libs.txt" "${path}\n")
>   endif()
> endforeach()
> get_property(path TARGET ${lib} PROPERTY LOCATION)
> file(APPEND "${CMAKE_BINARY_DIR}/libs.txt" "${path}\n")
>   else()
> file(APPEND "${CMAKE_BINARY_DIR}/libs.txt" "${lib}\n")
>   endif()
> endforeach()
>
> I am using cmake 2.8.11.2, perhaps this property doesn't do what I thought
> it would with this version of cmake?
>
> Thanks,
>
> Tom
>
> On Fri, Jan 22, 2016 at 9:23 AM, Tom Kacvinsky <
> tom.kacvin...@vectorcast.com> wrote:
>
>> I have need for a cross platform methods of getting libraries linked
>> into an executable.
>>
>> Say for instance, we have
>>
>> add_library(foo STATIC a.c)
>> add_exceutable(bar b.c)
>> target_link_libraries(bar foo)
>>
>> So I know for that bar has a dependency on foo.lib (on Windows) and
>> libfoo.a on Linux.
>>
>> And so forth.  What I would like to do is after everything is set up,
>> query the properties of bar
>> and find the list of libraries linked into bar in such a fashion I get
>> that platform's specific library name (instead of the library's target
>> name).
>>
>> IS this possible?  I read the docs and didn't see a property for
>> getting this list.  Did I miss something?  If so I plan on using
>> either get_property of get_target_property.
>>
>> Thanks.
>>
>
>
-- 

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

[CMake] PROPERTY for list of link libraries

2016-01-22 Thread Tom Kacvinsky
I have need for a cross platform methods of getting libraries linked
into an executable.

Say for instance, we have

add_library(foo STATIC a.c)
add_exceutable(bar b.c)
target_link_libraries(bar foo)

So I know for that bar has a dependency on foo.lib (on Windows) and
libfoo.a on Linux.

And so forth.  What I would like to do is after everything is set up,
query the properties of bar
and find the list of libraries linked into bar in such a fashion I get
that platform's specific library name (instead of the library's target
name).

IS this possible?  I read the docs and didn't see a property for
getting this list.  Did I miss something?  If so I plan on using
either get_property of get_target_property.

Thanks.
-- 

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


Re: [CMake] How to get generated dependencies

2016-01-13 Thread Tom Kacvinsky
On Tue, Jan 12, 2016 at 9:58 AM, Tom Kacvinsky
<tom.kacvin...@vectorcast.com> wrote:
> Is there a way of invoking cmake to get the list of non-system header
> dependencies, like invoking gcc with -MMD?  I need to find out the
> list of non-system header dependencies and I know cmake has a way of
> doing this, I just need to know if there is command I can put in the
> CMakeLists.txt file to get this information...

Is there any way of accessing the generated dependencies?  I know
there is a generation phase, but I don't think I can access the files
being generated during the generation process is.  Is there a way of
doing what I want?  All I need is a list of include included headers
(excluding system ones) for a given C++ file.
-- 

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


Re: [CMake] How to get generated dependencies

2016-01-13 Thread Tom Kacvinsky
On Wed, Jan 13, 2016 at 2:09 PM, J Decker <d3c...@gmail.com> wrote:

> The short answer is 'no'.

I see depends.internal was generated with the gcc (in my case) option
-MD (or perhaps -MDD).  Ss cmake knows how to do this.  Question: is
this at build time or Makefile generation time?  If the latter, it
would be nice if this could be exposed to the user

> On Wed, Jan 13, 2016 at 10:26 AM, Tom Kacvinsky
> <tom.kacvin...@vectorcast.com> wrote:
>> On Tue, Jan 12, 2016 at 9:58 AM, Tom Kacvinsky
>> <tom.kacvin...@vectorcast.com> wrote:
>>> Is there a way of invoking cmake to get the list of non-system header
>>> dependencies, like invoking gcc with -MMD?  I need to find out the
>>> list of non-system header dependencies and I know cmake has a way of
>>> doing this, I just need to know if there is command I can put in the
>>> CMakeLists.txt file to get this information...
>>
>> Is there any way of accessing the generated dependencies?  I know
>> there is a generation phase, but I don't think I can access the files
>> being generated during the generation process is.  Is there a way of
>> doing what I want?  All I need is a list of include included headers
>> (excluding system ones) for a given C++ file.
-- 

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


Re: [CMake] How to get generated dependencies

2016-01-13 Thread Tom Kacvinsky
Should have read the docs before I asked that last question:
file(STRINGS ...) is what I want

On Wed, Jan 13, 2016 at 2:59 PM, Tom Kacvinsky
<tom.kacvin...@vectorcast.com> wrote:
> I suppose what I could do is get the target properties for the
> compiler flags (will this include compiler defines and include
> directories?), add -MDD -c (using gcc, so those are the options I
> want) to the compiler flags and make a custom command to generate the
> file, then post process it to get the list of includes.  But the
> question I have is how do I generate a list from a text file? In the
> end I need a list of header files I can include in a development kit I
> am creating.
>
> On Wed, Jan 13, 2016 at 2:39 PM, J Decker <d3c...@gmail.com> wrote:
>> On Wed, Jan 13, 2016 at 11:31 AM, j s <j.s4...@gmail.com> wrote:
>>> From what I remember from the mailing list a long time ago, CMake has its
>>> own dependency generator independent of the CPP.
>>>
>> it does; but not for all generators
>>>
>>> On 1/13/16 1:20 PM, Tom Kacvinsky wrote:
>>>>
>>>> On Wed, Jan 13, 2016 at 2:09 PM, J Decker <d3c...@gmail.com> wrote:
>>>>
>>>>> The short answer is 'no'.
>>>>
>>>> I see depends.internal was generated with the gcc (in my case) option
>>>> -MD (or perhaps -MDD).  Ss cmake knows how to do this.  Question: is
>>>> this at build time or Makefile generation time?  If the latter, it
>>>> would be nice if this could be exposed to the user
>>>>
>>>>> On Wed, Jan 13, 2016 at 10:26 AM, Tom Kacvinsky
>>>>> <tom.kacvin...@vectorcast.com> wrote:
>>>>>>
>>>>>> On Tue, Jan 12, 2016 at 9:58 AM, Tom Kacvinsky
>>>>>> <tom.kacvin...@vectorcast.com> wrote:
>>>>>>>
>>>>>>> Is there a way of invoking cmake to get the list of non-system header
>>>>>>> dependencies, like invoking gcc with -MMD?  I need to find out the
>>>>>>> list of non-system header dependencies and I know cmake has a way of
>>>>>>> doing this, I just need to know if there is command I can put in the
>>>>>>> CMakeLists.txt file to get this information...
>>>>>>
>>>>>> Is there any way of accessing the generated dependencies?  I know
>>>>>> there is a generation phase, but I don't think I can access the files
>>>>>> being generated during the generation process is.  Is there a way of
>>>>>> doing what I want?  All I need is a list of include included headers
>>>>>> (excluding system ones) for a given C++ file.
>>>
>>>
>>> --
>>>
>>> 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
>> --
>>
>> 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
-- 

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


Re: [CMake] How to get generated dependencies

2016-01-13 Thread Tom Kacvinsky
I suppose what I could do is get the target properties for the
compiler flags (will this include compiler defines and include
directories?), add -MDD -c (using gcc, so those are the options I
want) to the compiler flags and make a custom command to generate the
file, then post process it to get the list of includes.  But the
question I have is how do I generate a list from a text file? In the
end I need a list of header files I can include in a development kit I
am creating.

On Wed, Jan 13, 2016 at 2:39 PM, J Decker <d3c...@gmail.com> wrote:
> On Wed, Jan 13, 2016 at 11:31 AM, j s <j.s4...@gmail.com> wrote:
>> From what I remember from the mailing list a long time ago, CMake has its
>> own dependency generator independent of the CPP.
>>
> it does; but not for all generators
>>
>> On 1/13/16 1:20 PM, Tom Kacvinsky wrote:
>>>
>>> On Wed, Jan 13, 2016 at 2:09 PM, J Decker <d3c...@gmail.com> wrote:
>>>
>>>> The short answer is 'no'.
>>>
>>> I see depends.internal was generated with the gcc (in my case) option
>>> -MD (or perhaps -MDD).  Ss cmake knows how to do this.  Question: is
>>> this at build time or Makefile generation time?  If the latter, it
>>> would be nice if this could be exposed to the user
>>>
>>>> On Wed, Jan 13, 2016 at 10:26 AM, Tom Kacvinsky
>>>> <tom.kacvin...@vectorcast.com> wrote:
>>>>>
>>>>> On Tue, Jan 12, 2016 at 9:58 AM, Tom Kacvinsky
>>>>> <tom.kacvin...@vectorcast.com> wrote:
>>>>>>
>>>>>> Is there a way of invoking cmake to get the list of non-system header
>>>>>> dependencies, like invoking gcc with -MMD?  I need to find out the
>>>>>> list of non-system header dependencies and I know cmake has a way of
>>>>>> doing this, I just need to know if there is command I can put in the
>>>>>> CMakeLists.txt file to get this information...
>>>>>
>>>>> Is there any way of accessing the generated dependencies?  I know
>>>>> there is a generation phase, but I don't think I can access the files
>>>>> being generated during the generation process is.  Is there a way of
>>>>> doing what I want?  All I need is a list of include included headers
>>>>> (excluding system ones) for a given C++ file.
>>
>>
>> --
>>
>> 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
> --
>
> 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
-- 

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


[CMake] How to get generated dependencies

2016-01-12 Thread Tom Kacvinsky
Is there a way of invoking cmake to get the list of non-system header
dependencies, like invoking gcc with -MMD?  I need to find out the
list of non-system header dependencies and I know cmake has a way of
doing this, I just need to know if there is command I can put in the
CMakeLists.txt file to get this information...

Thanks,

Tom
-- 

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


Re: [CMake] Error generating using "NMake Makefiles JOM"

2016-01-04 Thread Tom Kacvinsky
On Sun, Jan 3, 2016 at 11:05 PM, Bill Church  wrote:

> I've used this option successfully for a while, but with an older version
> of CMake (3.x, unsure which one exactly).  Recently had to do a full
> wipe/reinstall of my machine, so I pulled down the latest CMake 3.4.1, but
> when I go to generate my project I get the following error:
>
> CMake Error: Generator: execution of make failed. Make command was: "jom"
> "/NOLOGO" "cmTC_4f467\fast"
>
> I'm also now using the latest version of Jom, which is 1.1.0.  Any help
> resolving this issue would be much appreciated.
>
>
Is jom in your path?  I have seen this before and sure enough, jom was no
tin my path.
-- 

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

Re: [CMake] transitive dependencies (again)

2015-12-15 Thread Tom Kacvinsky
On Mon, Dec 14, 2015 at 3:36 PM, iosif neitzke
<iosif.neitzke+cm...@gmail.com> wrote:
> If you can build Ada sources first, you might wish to make that a
> standalone project that is consumed downstream natively as an Imported
> Library.  Do you generate the import library from a .def file, or via
> some other means?
>

Via a def file.  I first call gnatdll to make the DLL, then call
MSVC's lib tool to create the import library from a def file.

I pored through the cmake configuration removing everything that the
would appear to give a transitivedependency, yet the dependencies
linger.  I'll keep digging, this didn't happen before so something
must have changed in the configuration when I merged against master
for our code base.


> On Mon, Dec 14, 2015 at 9:59 AM, Tom Kacvinsky
> <tom.kacvin...@vectorcast.com> wrote:
>> Hi Petr,
>>
>>
>> On Mon, Dec 14, 2015 at 10:53 AM, Petr Kmoch <petr.km...@gmail.com> wrote:
>>> Hi Tom,
>>>
>>> linking the static archive into the DLL should not be done by
>>> add_dependencies(), but by target_link_libraries(). There, you can
>>> explicitly list the archive as PRIVATE so that it does not become a part of
>>> the linking interface of the DLL:
>>>
>>> add_library(staticArchive STATIC ...)
>>>
>>> add_library(theDLL SHARED ...)
>>>
>>> target_link_libraries(theDLL PRIVATE staticArchive)
>>>
>>
>> Thanks for the tip.   I'll try it out.  I hope it works as I am not
>> using the MSVC tool chain
>> to build the DLL (i.e., not using add_library and target_link_libraries).
>>
>> I sent a separate reply detailing what I am using to build the DLL.
>>>
>>> On Mon, Dec 14, 2015 at 3:34 PM, Tom Kacvinsky
>>> <tom.kacvin...@vectorcast.com> wrote:
>>>>
>>>> I am getting link errors because cmake is adding transitive
>>>> dependencies.  I am building a DLL which depends on a static archive
>>>> (and is marked as such with add_dependencies), but when I link an
>>>> executable that depends on the DLL, both libraries (import library for
>>>> the DLL and static archive) are specified on the link. leading to
>>>> duplicate symbol errors as the symbol are exported form the DLL and
>>>> defined in the static archive.
>>>>
>>>> How do I work around this?  This is the one thing that has frustrated
>>>> me over the last couple of years - I have never received an answer
>>>> telling me how to turn off transitive dependencies.
>>>>
>>>> Sorry for the minor rant.
>>>>
>>>> Regards,
>>>>
>>>> Tom
>>>> --
>>>>
>>>> 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
>>>
>>>
>> --
>>
>> 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
> --
>
> 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/he

Re: [CMake] transitive dependencies (again)

2015-12-14 Thread Tom Kacvinsky
On Mon, Dec 14, 2015 at 9:34 AM, Tom Kacvinsky
<tom.kacvin...@vectorcast.com> wrote:
> I am getting link errors because cmake is adding transitive
> dependencies.  I am building a DLL which depends on a static archive
> (and is marked as such with add_dependencies), but when I link an
> executable that depends on the DLL, both libraries (import library for
> the DLL and static archive) are specified on the link. leading to
> duplicate symbol errors as the symbol are exported form the DLL and
> defined in the static archive.
>
> How do I work around this?  This is the one thing that has frustrated
> me over the last couple of years - I have never received an answer
> telling me how to turn off transitive dependencies.

More details:

Windows 7, 64 bit, cmake 2.8.12.11 from cmake.org website.  DLL built
with gnatdll, import library built with MSVC's lib utility, static
library built with the MSVC tool chain.

I'll try to come up with a simple reproducer.  I hope to do this
completely with the MSVC tool chain as I don't expect people to jump
through the hoops of configuring cmake to use an Ada tool chain.
Unless Alan Irwin chimes in, that is.
-- 

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


Re: [CMake] transitive dependencies (again)

2015-12-14 Thread Tom Kacvinsky
Hi Petr,


On Mon, Dec 14, 2015 at 10:53 AM, Petr Kmoch <petr.km...@gmail.com> wrote:
> Hi Tom,
>
> linking the static archive into the DLL should not be done by
> add_dependencies(), but by target_link_libraries(). There, you can
> explicitly list the archive as PRIVATE so that it does not become a part of
> the linking interface of the DLL:
>
> add_library(staticArchive STATIC ...)
>
> add_library(theDLL SHARED ...)
>
> target_link_libraries(theDLL PRIVATE staticArchive)
>

Thanks for the tip.   I'll try it out.  I hope it works as I am not
using the MSVC tool chain
to build the DLL (i.e., not using add_library and target_link_libraries).

I sent a separate reply detailing what I am using to build the DLL.
>
> On Mon, Dec 14, 2015 at 3:34 PM, Tom Kacvinsky
> <tom.kacvin...@vectorcast.com> wrote:
>>
>> I am getting link errors because cmake is adding transitive
>> dependencies.  I am building a DLL which depends on a static archive
>> (and is marked as such with add_dependencies), but when I link an
>> executable that depends on the DLL, both libraries (import library for
>> the DLL and static archive) are specified on the link. leading to
>> duplicate symbol errors as the symbol are exported form the DLL and
>> defined in the static archive.
>>
>> How do I work around this?  This is the one thing that has frustrated
>> me over the last couple of years - I have never received an answer
>> telling me how to turn off transitive dependencies.
>>
>> Sorry for the minor rant.
>>
>> Regards,
>>
>> Tom
>> --
>>
>> 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
>
>
-- 

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


[CMake] transitive dependencies (again)

2015-12-14 Thread Tom Kacvinsky
I am getting link errors because cmake is adding transitive
dependencies.  I am building a DLL which depends on a static archive
(and is marked as such with add_dependencies), but when I link an
executable that depends on the DLL, both libraries (import library for
the DLL and static archive) are specified on the link. leading to
duplicate symbol errors as the symbol are exported form the DLL and
defined in the static archive.

How do I work around this?  This is the one thing that has frustrated
me over the last couple of years - I have never received an answer
telling me how to turn off transitive dependencies.

Sorry for the minor rant.

Regards,

Tom
-- 

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


[CMake] Regression in 3.3.2 for linking

2015-11-11 Thread Tom Kacvinsky
I am seeing a regression is 3.3.2 (compiled from source on 64 bit Linux -
CentOS 5.0) in the link phase whereby libraries/object files are repeated
on the link line, resulting in multiple definition errors (and I don't want
to use -Wl,-z,muldefs).

There is also another issue where Qt shared libraries appear in the link
line before the object files, so I get link errors because the DSO is not
specified after the object files.  I am not sure if this is related to how
the Qt package has changed in 3.3.2.  We are using a fairly old methods of
obtaining Qt support.  I can always try the newer method to see if I have
any luck

Any help would be appreciated.  Coming up with a simple reproducer is going
to take a while because our cmake configuration is fairly compliated
-- 

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

Re: [CMake] Finding debug Qt libraries without CMAKE_BUILD_TYPE set to None

2015-10-23 Thread Tom Kacvinsky
Here is what I tried for Qt4 (that is what I am using), using cmake 3.3.2
on Windows 7

  find_package(Qt4 4.8.5 REQUIRED QtCore QtGui QtXml Qt3Support QtWebKit
QtSql QtSvg QtNetwork QAxContainer)

  set_target_properties(Qt4::QtCore PROPERTIES MAP_IMPORTED_CONFIG_COVERAGE
"DEBUG")
  set_target_properties(Qt4::QtGui PROPERTIES MAP_IMPORTED_CONFIG_COVERAGE
"DEBUG")
  set_target_properties(Qt4::QtXml PROPERTIES MAP_IMPORTED_CONFIG_COVERAGE
"DEBUG")
  set_target_properties(Qt4::Qt3Support PROPERTIES
MAP_IMPORTED_CONFIG_COVERAGE "DEBUG")
  set_target_properties(Qt4::QtWebKit PROPERTIES
MAP_IMPORTED_CONFIG_COVERAGE "DEBUG")
  set_target_properties(Qt4::QtSql PROPERTIES MAP_IMPORTED_CONFIG_COVERAGE
"DEBUG")
  set_target_properties(Qt4::QtSvg PROPERTIES MAP_IMPORTED_CONFIG_COVERAGE
"DEBUG")
  set_target_properties(Qt4::QtNetwork PROPERTIES
MAP_IMPORTED_CONFIG_COVERAGE "DEBUG")
  set_target_properties(Qt4::QAxContainer PROPERTIES
MAP_IMPORTED_CONFIG_COVERAGE "DEBUG")

  set(QT_LIBS Qt4::QtCore Qt4::QtGui Qt4::QtXml Qt4::Qt3Support
Qt4::QtWebKit Qt4::QtSql Qt4::QtSvg Qt4::QtNetwork Qt4::QAxContainer)

But apparently the set_target_properties trick only works with the FindQt5
module, as I am still getting the release version of the libraries.  Any
idea what I can do?  I am guessing

   MAP_IMPORTED_CONFIG_COVERAGE

is not the target property I want to set.

Thanks,

Tom


On Thu, Oct 22, 2015 at 1:40 PM, Tom Kacvinsky <tom.kacvin...@vectorcast.com
> wrote:

> I have need to find the debug version of Qt libraries.  From the
> documentation I read, the libraries found are based on the CMAKE_BUILD_TYPE
> vale.  So it it is set to Release, the release versions are found, and if
> set to DEBUG, the debug versions are found.  Unfortunately, due to use of
> Ada support from PLPlot, I cannot set it to eitehr of those values as then
> our Ada support craps out.
>
> So, how can I find the debug version of the libraries if CMAKE_BUILD_TYPE
> is set to NONE?
>
> Thanks,
>
> Tom
>
-- 

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

Re: [CMake] Finding debug Qt libraries without CMAKE_BUILD_TYPE set to None

2015-10-23 Thread Tom Kacvinsky
That was it, I had to replace

  MAP_IMPORTED_CONFIG_COVERAGE

with

  MAP_IMPORTED_CONFIG_NONE

as I have

  set(CMAKE_BUILD_TYPE NONE)

I hope this is useful to others.


On Fri, Oct 23, 2015 at 9:38 AM, Tom Kacvinsky <tom.kacvin...@vectorcast.com
> wrote:

> Here is what I tried for Qt4 (that is what I am using), using cmake 3.3.2
> on Windows 7
>
>   find_package(Qt4 4.8.5 REQUIRED QtCore QtGui QtXml Qt3Support QtWebKit
> QtSql QtSvg QtNetwork QAxContainer)
>
>   set_target_properties(Qt4::QtCore PROPERTIES
> MAP_IMPORTED_CONFIG_COVERAGE "DEBUG")
>   set_target_properties(Qt4::QtGui PROPERTIES
> MAP_IMPORTED_CONFIG_COVERAGE "DEBUG")
>   set_target_properties(Qt4::QtXml PROPERTIES
> MAP_IMPORTED_CONFIG_COVERAGE "DEBUG")
>   set_target_properties(Qt4::Qt3Support PROPERTIES
> MAP_IMPORTED_CONFIG_COVERAGE "DEBUG")
>   set_target_properties(Qt4::QtWebKit PROPERTIES
> MAP_IMPORTED_CONFIG_COVERAGE "DEBUG")
>   set_target_properties(Qt4::QtSql PROPERTIES
> MAP_IMPORTED_CONFIG_COVERAGE "DEBUG")
>   set_target_properties(Qt4::QtSvg PROPERTIES
> MAP_IMPORTED_CONFIG_COVERAGE "DEBUG")
>   set_target_properties(Qt4::QtNetwork PROPERTIES
> MAP_IMPORTED_CONFIG_COVERAGE "DEBUG")
>   set_target_properties(Qt4::QAxContainer PROPERTIES
> MAP_IMPORTED_CONFIG_COVERAGE "DEBUG")
>
>   set(QT_LIBS Qt4::QtCore Qt4::QtGui Qt4::QtXml Qt4::Qt3Support
> Qt4::QtWebKit Qt4::QtSql Qt4::QtSvg Qt4::QtNetwork Qt4::QAxContainer)
>
> But apparently the set_target_properties trick only works with the FindQt5
> module, as I am still getting the release version of the libraries.  Any
> idea what I can do?  I am guessing
>
>MAP_IMPORTED_CONFIG_COVERAGE
>
> is not the target property I want to set.
>
> Thanks,
>
> Tom
>
>
> On Thu, Oct 22, 2015 at 1:40 PM, Tom Kacvinsky <
> tom.kacvin...@vectorcast.com> wrote:
>
>> I have need to find the debug version of Qt libraries.  From the
>> documentation I read, the libraries found are based on the CMAKE_BUILD_TYPE
>> vale.  So it it is set to Release, the release versions are found, and if
>> set to DEBUG, the debug versions are found.  Unfortunately, due to use of
>> Ada support from PLPlot, I cannot set it to eitehr of those values as then
>> our Ada support craps out.
>>
>> So, how can I find the debug version of the libraries if CMAKE_BUILD_TYPE
>> is set to NONE?
>>
>> Thanks,
>>
>> Tom
>>
>
>
-- 

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

[CMake] Obtaining build time stamps

2015-10-23 Thread Tom Kacvinsky
Is there a way of tracking the time individual compiles take using cmake?
What I am after is a cmake variable to set, or a cmake invocation option
that will in the end generate Makefiles that output the time it takes for
each compile/link.  I am trying to track down a build performance issue and
having this timing data to see what compiles are taking abnormally long
would be extremely useful.

Thanks,

Tom
-- 

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

[CMake] Finding debug Qt libraries without CMAKE_BUILD_TYPE set to None

2015-10-22 Thread Tom Kacvinsky
I have need to find the debug version of Qt libraries.  From the
documentation I read, the libraries found are based on the CMAKE_BUILD_TYPE
vale.  So it it is set to Release, the release versions are found, and if
set to DEBUG, the debug versions are found.  Unfortunately, due to use of
Ada support from PLPlot, I cannot set it to eitehr of those values as then
our Ada support craps out.

So, how can I find the debug version of the libraries if CMAKE_BUILD_TYPE
is set to NONE?

Thanks,

Tom
-- 

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

[CMake] jom and cmake

2015-10-05 Thread Tom Kacvinsky
We are using "JOM Makefiles NMakefiles" as our generator.  Everything is
fine, but every now and again I need to investigate the temporary files tha
jom produces.  I can do this by using the /KEEPTEMPFILES option to jom, but
where I am stymied is how to configure cmake so that when jom is invoked
when cmake is invoked with --build, jom gets this option.

Does anyone here know how to do this?

Thanks,

Tom
-- 

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

Re: [CMake] jom and cmake

2015-10-05 Thread Tom Kacvinsky
On Mon, Oct 5, 2015 at 1:16 PM, Parag Chandra 
wrote:

> If I’m not mistaken, anything you place after a ‘—‘ (that’s two dash
> characters) will be passed directly to the underlying build tool that cmake
> is driving. See here:
>
> https://cmake.org/cmake/help/v3.3/manual/cmake.1.html
>
>
Thanks guys, that is exactly what I was looking for.  I should have
realized this as we pass -j8 after the -- on Linux, so make gets invoked in
parallel mode
-- 

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

Re: [CMake] add_library(foo SHARED...) is not creating a PDB file

2015-09-22 Thread Tom Kacvinsky
On Tue, Sep 22, 2015 at 11:19 AM, Brad King <brad.k...@kitware.com> wrote:

> On 09/22/2015 11:16 AM, Tom Kacvinsky wrote:
> > having two builds (debug and release) doesn't fit our workflow
>
> Try using the RelWithDebInfo configuration.
>
> Eeeek, that won't work because we are also using Ada and the plplot Ada
module for cmake doesn't support RelWithDebInfo.  For the moment, I will
just my make development branch debug, debug, and switch back to release
mode when it gets merged in.
-- 

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

Re: [CMake] add(library foo SHARED...) is not creating a PDB file

2015-09-22 Thread Tom Kacvinsky
On Mon, Sep 21, 2015 at 5:37 PM, Tom Kacvinsky <tom.kacvin...@vectorcast.com
> wrote:

> I am using cmake 2.8.11.2 on Windows 7 with Visual Studio 2008
>
> This is the snipped of my CMakeLists.txt file
>
>   add_library(commoncpp_objects
> OBJECT
>  
>   )
>
>   add_library(commoncpp_static STATIC $)
>   add_dependencies(commoncpp_static commoncpp_objects)
>
> add_library(commoncpp SHARED
>   $
>   commoncpp_exports.def
> )
>
> The objects, static library, and dll/import lib/exp files are created, but
> there is no commoncpp.pdb file.
>
> Any ideas what I am doing wrong?
>

I think this is a bug.  If I list the object files ia the generator, the
PDB file is not created, but if I list the sources and force them to be
compiled, then the PDB is created.  Please note whether listing the object
files or compiling from source, there is the cl option to create PDB
debugging information.  That is, the object files were created that way,
regardless of how I listed the files to the add_library.
-- 

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

Re: [CMake] add_library(foo SHARED...) is not creating a PDB file

2015-09-22 Thread Tom Kacvinsky
On Tue, Sep 22, 2015 at 9:57 AM, Tom Kacvinsky <tom.kacvin...@vectorcast.com
> wrote:

>
>
> On Tue, Sep 22, 2015 at 9:41 AM, Brad King <brad.k...@kitware.com> wrote:
>
>> On 09/22/2015 09:25 AM, Tom Kacvinsky wrote:
>> > I am using cmake 2.8.11.2 on Windows 7 with Visual Studio 2008
>> [snip]
>> > whether listing the object files or compiling from source, there is
>> > the cl option to create PDB debugging information.
>>
>> Please try with CMake 3.1 or higher:
>>
>>  http://www.cmake.org/Bug/view.php?id=14763
>>
>> There is a distinction between compiler-generated and linker-generated
>> .pdb files.  See these target properties to configure each:
>>
>>  http://www.cmake.org/cmake/help/v3.3/prop_tgt/COMPILE_PDB_NAME.html
>>
>> http://www.cmake.org/cmake/help/v3.3/prop_tgt/COMPILE_PDB_OUTPUT_DIRECTORY.html
>>  http://www.cmake.org/cmake/help/v3.3/prop_tgt/PDB_NAME.html
>>  http://www.cmake.org/cmake/help/v3.3/prop_tgt/PDB_OUTPUT_DIRECTORY.html
>>
>
> I will give 3.3.2 a try.  In the meantime, I am getting a PDB file by
> listing the source files for the add_library(commoncpp SHARED   file>), but when I run in the visual studio debugger, it says there are no
> symbols loaded for the DLL.  The PDB path recorded in the DLL points to the
> right PDB file, but the PDB file typically is larger than the DLL. but in
> this case it is not.  Is that because I am not getting all of the debug
> information, and a later version of cmake will guarantee that we get the
> right information?
>
> Ah yes, I was doing a release build, so link was not invoked with /debug.
No wonder my PDB files were so small. For the moment, I just manually
created the debug PDB so I can debug my application.  Right now, having two
builds (debug and release) doesn't fit our workflow, so that will have to
be considered.

Thanks for the help, 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

Re: [CMake] add_library(foo SHARED...) is not creating a PDB file

2015-09-22 Thread Tom Kacvinsky
On Tue, Sep 22, 2015 at 9:41 AM, Brad King <brad.k...@kitware.com> wrote:

> On 09/22/2015 09:25 AM, Tom Kacvinsky wrote:
> > I am using cmake 2.8.11.2 on Windows 7 with Visual Studio 2008
> [snip]
> > whether listing the object files or compiling from source, there is
> > the cl option to create PDB debugging information.
>
> Please try with CMake 3.1 or higher:
>
>  http://www.cmake.org/Bug/view.php?id=14763
>
> There is a distinction between compiler-generated and linker-generated
> .pdb files.  See these target properties to configure each:
>
>  http://www.cmake.org/cmake/help/v3.3/prop_tgt/COMPILE_PDB_NAME.html
>
> http://www.cmake.org/cmake/help/v3.3/prop_tgt/COMPILE_PDB_OUTPUT_DIRECTORY.html
>  http://www.cmake.org/cmake/help/v3.3/prop_tgt/PDB_NAME.html
>  http://www.cmake.org/cmake/help/v3.3/prop_tgt/PDB_OUTPUT_DIRECTORY.html
>

I will give 3.3.2 a try.  In the meantime, I am getting a PDB file by
listing the source files for the add_library(commoncpp SHARED  ), but when I run in the visual studio debugger, it says there are no
symbols loaded for the DLL.  The PDB path recorded in the DLL points to the
right PDB file, but the PDB file typically is larger than the DLL. but in
this case it is not.  Is that because I am not gettin gall of thde bug
information, and a later version of cmake will guarantee that we get the
right information?
-- 

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

[CMake] add(library foo SHARED...) is not creating a PDB file

2015-09-21 Thread Tom Kacvinsky
I am using cmake 2.8.11.2 on Windows 7 with Visual Studio 2008

This is the snipped of my CMakeLists.txt file

  add_library(commoncpp_objects
OBJECT
 
  )

  add_library(commoncpp_static STATIC $)
  add_dependencies(commoncpp_static commoncpp_objects)

add_library(commoncpp SHARED
  $
  commoncpp_exports.def
)

The objects, static library, and dll/import lib/exp files are created, but
there is no commoncpp.pdb file.

Any ideas what I am doing wrong?

Thanks,

Tom
-- 

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

Re: [CMake] OBJECT library and $

2015-09-18 Thread Tom Kacvinsky
On Fri, Sep 18, 2015 at 3:08 PM, Tom Kacvinsky <tom.kacvin...@vectorcast.com
> wrote:

> Snippet:
>
> add_libary(foo OBJECT a.c b.c)
>
> add_custom_command(
>   OUTPUT exports.def
>   COMMAND lib /out:static.lib $
>   COMMAND python export.py" static.lib exports.def
>   DEPENDS export.py"
> )
>
> Results in:
>
> CMake Error at CMakeLists.txt:289 (add_custom_command):
>   Error evaluating generator expression:
>
> $
>
>   Expression did not evaluate to a known generator expression
>
> What am I doing wrong?  I am using cmake 2.8.11.2 on windows and my
> understanding is that the TARGET_OBJECTS generator expression was
> introduced in 2.8.8
>
> Thanks,
>
> Tom
>
>
I figured it out.  That generator expression is only valid inside an
add_library or add_executable target.
-- 

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

[CMake] OBJECT library and $

2015-09-18 Thread Tom Kacvinsky
Snippet:

add_libary(foo OBJECT a.c b.c)

add_custom_command(
  OUTPUT exports.def
  COMMAND lib /out:static.lib $
  COMMAND python export.py" static.lib exports.def
  DEPENDS export.py"
)

Results in:

CMake Error at CMakeLists.txt:289 (add_custom_command):
  Error evaluating generator expression:

$

  Expression did not evaluate to a known generator expression

What am I doing wrong?  I am using cmake 2.8.11.2 on windows and my
understanding is that the TARGET_OBJECTS generator expression was
introduced in 2.8.8

Thanks,

Tom
-- 

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

[CMake] Creating two libraries from the same set of source code, but with different compiler options

2015-06-19 Thread Tom Kacvinsky
I have need to build two libraries, each based on the same base code, but
each library is built with different compiler options.  I know how to force
the compilation options to be what I want, the problem I am having is
envisioning how to do this within one CMakeLists.txt file.  What I am hung
up on is this:  if I change the file properties, I am afraid the properties
will apply to both libraries.  Is there a way of instruction cmake to apply
those file properties to only one target, or will I have to split the
building of the libraries into two CMakeLists.txt files?

Thanks,

Tom
-- 

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

[CMake] -Wno-dev not working?

2015-05-26 Thread Tom Kacvinsky
Using cmake 2.8.11.2 built from source on Linux.  I am using -Wno-dev at
generation time:

CC=gcc cmake -Wno-dev ..

but I see messages like this:

Warning: Source file license_mailer_pkg.ads is listed multiple times for
target license_gen

I thought -Wno-dev would turn this off.  This is an expected warning given
the setup I have and I want to suppress it so as not to confuse other
developers.

What am I missing?

Thanks,

Tom
-- 

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

[CMake] add_executable with generated files

2015-05-20 Thread Tom Kacvinsky
I have need to make an executable that depends on a generated file.  I've
read several tutorials on how to do this, but even after following those
instructions, I get this error:

CMake Error at CMakeLists.txt:436 (add_executable):
  Cannot find source file:

.chop/maint.adb

  Tried extensions .c .C .c++ .cc .cpp .cxx .m .M .mm .h .hh .h++ .hm .hpp

has anyone done this, and if so, do you have tips on how to proceed?

Thanks,

Tom
-- 

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

Re: [CMake] add_executable with generated files

2015-05-20 Thread Tom Kacvinsky
On Wed, May 20, 2015 at 3:27 PM, Tom Kacvinsky tom.kacvin...@vectorcast.com
 wrote:


 On Wed, May 20, 2015 at 2:57 PM, Tom Kacvinsky 
 tom.kacvin...@vectorcast.com wrote:

 I have need to make an executable that depends on a generated file.  I've
 read several tutorials on how to do this, but even after following those
 instructions, I get this error:

 CMake Error at CMakeLists.txt:436 (add_executable):
   Cannot find source file:

 .chop/maint.adb

   Tried extensions .c .C .c++ .cc .cpp .cxx .m .M .mm .h .hh .h++ .hm .hpp

 has anyone done this, and if so, do you have tips on how to proceed?

 Thanks,

 Tom


 My mistake, the tutorials I looked at were for using generated files in
 add_library.  I do have a working add_library with generated files, but I
 can't seem to get generated files to work with add_executable.  So is there
 a difference between the two?  add_library allows for use of generated
 files, but add_executable does not?


OK, figured something out.  If the rule to generate the file is at the same
level CMakeLists.txt (or higher) than the CMakeLists.txt that contains the
add_executable command which uses the gnerated file, then everything is
OK.  But if the add_executable is at a higher level than the rule that
gnerates the file, everything falls apart.  This is why my add_library
example worked but by add_executable example was not.  To confuse the issue
even further, I have this setup

foo/CMakeLists.txt - contains macro that uses add_executable
foo/vcast/CMakeLists.txt - contains rule to generate file
foo/vcast/progs/CMakeLists.txt - invokes macro defined at level 1, using
the file generated at level 2

Apparently this is enough to thow things off.  I though the add_executable
would have occurred at level 3 as that is where the macro is expanded,
but I am guessing cmake expansion of macros doesn't work that way.
-- 

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

Re: [CMake] add_executable with generated files

2015-05-20 Thread Tom Kacvinsky
My mistake, the tutorials I looked at were for using generated files in
add_library.  I do have a working add_library with generated files, but I
can't seem to get generated files to work with add_executable.  So is there
a difference between the two?  add_library allows for use of generated
files, but add_executable does not?

On Wed, May 20, 2015 at 2:57 PM, Tom Kacvinsky tom.kacvin...@vectorcast.com
 wrote:

 I have need to make an executable that depends on a generated file.  I've
 read several tutorials on how to do this, but even after following those
 instructions, I get this error:

 CMake Error at CMakeLists.txt:436 (add_executable):
   Cannot find source file:

 .chop/maint.adb

   Tried extensions .c .C .c++ .cc .cpp .cxx .m .M .mm .h .hh .h++ .hm .hpp

 has anyone done this, and if so, do you have tips on how to proceed?

 Thanks,

 Tom

-- 

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

[CMake] macros with arguments

2015-05-19 Thread Tom Kacvinsky
HI,

Background:  trying to build several executables that have the same target
link libraries, compile flags, etc..., but different source files.  Rather
than duplicate all of the necessary bits for each target, I thought I'd
write a macro that takes in arguments (the target name and list of files).

But I am am unsure (based on the cmake documentation for macro()) as how to
pick out the target and list of files so I can do the right thing with
add_executable.

Any ideas?

Thanks,

Tom
-- 

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

Re: [CMake] macros with arguments

2015-05-19 Thread Tom Kacvinsky
On Tue, May 19, 2015 at 1:28 PM, Tom Kacvinsky tom.kacvin...@vectorcast.com
 wrote:

 HI,

 Background:  trying to build several executables that have the same target
 link libraries, compile flags, etc..., but different source files.  Rather
 than duplicate all of the necessary bits for each target, I thought I'd
 write a macro that takes in arguments (the target name and list of files).

 But I am am unsure (based on the cmake documentation for macro()) as how
 to pick out the target and list of files so I can do the right thing with
 add_executable.

 Any ideas?

 Thanks,

 Tom


I figured this out.

macro(macro_name target_name)
add_executable(${target_name} ${ARGN})
target_link_libraries(${target_name} ...)
endmacro(macro_name)

Sorry for the noise

Tom
-- 

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

Re: [CMake] Problem with multiple expressions with if()

2015-05-15 Thread Tom Kacvinsky
On Fri, May 15, 2015 at 2:17 PM, Petr Kmoch petr.km...@gmail.com wrote:

 `if(${LINUX64})` will expand to `if()` if LINUX64 is either not defined,
 or holds an empty string. In both cases, it's a syntax error. If you want
 to check whether LINUX64 is set to a truthy value, either quote it, or
 don't dereference it:

 if((CMAKE_SYSTEM_NAME MATCHES SunOS) OR LINUX64)

 Note that you don't have to dereference the left-hand argument of MATCHES
 either. In fact, it's safer to either not dereference it, or put quotes
 around the dereference.

 Petr

 Petr,


I see where things went wrong now.  I've taken your advice and that indeed
fixed the issue.

Tom


 On Fri, May 15, 2015 at 8:07 PM, Tom Kacvinsky 
 tom.kacvin...@vectorcast.com wrote:



 On Fri, May 15, 2015 at 1:05 PM, Tom Kacvinsky 
 tom.kacvin...@vectorcast.com wrote:

 On Fri, May 15, 2015 at 12:12 PM, Domen Vrankar domen.vran...@gmail.com
  wrote:

  if ((${CMAKE_SYSTEM_NAME} MATCHES SunOS) or (DEFINED LINUX64))
message(STATUS On Solaris or 64 bit Linux)
  endif()
  # [
 
  I'm using cmake version 2.8.11.2 built from source on
 
  Linux localhost.localdomain 2.6.18-8.el5 #1 SMP Thu Mar 15 19:46:53
 EDT 2007
  x86_64 x86_64 x86_64 GNU/Linux
 
  This doesn't work.  I get this error message is:
 
  CMake Error at CMakeLists.txt:12 (if):
if given arguments:
 
  ( Linux MATCHES SunOS ) or ( DEFINED LINUX64 )
 
Unknown arguments specified
 
 
  What am I doing wrong?  Is this syntax not supported until the 3.x
 series?

 Commands are case sensitive so OR should be upper cased.
 Also I would recommand you either use ${var_name} or var_name as the
 command expects either a string or a variable.

 Regards,
 Domen


 Ah, that did it.  Changing to uppercase OR fixed the issue.  Many thanks.


 Well, shoot.  I had made a typeo that fooled cmake into thinking what I
 had done is OK.  Here is what I have now:

  if ((${CMAKE_SYSTEM_NAME} MATCHES SunOS) OR ${LINUX64})

 and I still get a complaint:

 CMake Error at CMakeLists.txt:164 (if):
   if given arguments:

 ( Linux MATCHES SunOS ) OR




 --

 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



-- 

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

Re: [CMake] Problem with multiple expressions with if()

2015-05-15 Thread Tom Kacvinsky
On Fri, May 15, 2015 at 12:12 PM, Domen Vrankar domen.vran...@gmail.com
wrote:

  if ((${CMAKE_SYSTEM_NAME} MATCHES SunOS) or (DEFINED LINUX64))
message(STATUS On Solaris or 64 bit Linux)
  endif()
  # [
 
  I'm using cmake version 2.8.11.2 built from source on
 
  Linux localhost.localdomain 2.6.18-8.el5 #1 SMP Thu Mar 15 19:46:53 EDT
 2007
  x86_64 x86_64 x86_64 GNU/Linux
 
  This doesn't work.  I get this error message is:
 
  CMake Error at CMakeLists.txt:12 (if):
if given arguments:
 
  ( Linux MATCHES SunOS ) or ( DEFINED LINUX64 )
 
Unknown arguments specified
 
 
  What am I doing wrong?  Is this syntax not supported until the 3.x
 series?

 Commands are case sensitive so OR should be upper cased.
 Also I would recommand you either use ${var_name} or var_name as the
 command expects either a string or a variable.

 Regards,
 Domen


Ah, that did it.  Changing to uppercase OR fixed the issue.  Many thanks.
-- 

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

Re: [CMake] Problem with multiple expressions with if()

2015-05-15 Thread Tom Kacvinsky
On Fri, May 15, 2015 at 1:05 PM, Tom Kacvinsky tom.kacvin...@vectorcast.com
 wrote:

 On Fri, May 15, 2015 at 12:12 PM, Domen Vrankar domen.vran...@gmail.com
 wrote:

  if ((${CMAKE_SYSTEM_NAME} MATCHES SunOS) or (DEFINED LINUX64))
message(STATUS On Solaris or 64 bit Linux)
  endif()
  # [
 
  I'm using cmake version 2.8.11.2 built from source on
 
  Linux localhost.localdomain 2.6.18-8.el5 #1 SMP Thu Mar 15 19:46:53 EDT
 2007
  x86_64 x86_64 x86_64 GNU/Linux
 
  This doesn't work.  I get this error message is:
 
  CMake Error at CMakeLists.txt:12 (if):
if given arguments:
 
  ( Linux MATCHES SunOS ) or ( DEFINED LINUX64 )
 
Unknown arguments specified
 
 
  What am I doing wrong?  Is this syntax not supported until the 3.x
 series?

 Commands are case sensitive so OR should be upper cased.
 Also I would recommand you either use ${var_name} or var_name as the
 command expects either a string or a variable.

 Regards,
 Domen


 Ah, that did it.  Changing to uppercase OR fixed the issue.  Many thanks.


Well, shoot.  I had made a typeo that fooled cmake into thinking what I had
done is OK.  Here is what I have now:

 if ((${CMAKE_SYSTEM_NAME} MATCHES SunOS) OR ${LINUX64})

and I still get a complaint:

CMake Error at CMakeLists.txt:164 (if):
  if given arguments:

( Linux MATCHES SunOS ) OR
-- 

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

Re: [CMake] Switching configuration to icc

2015-05-10 Thread Tom Kacvinsky




 On May 10, 2015, at 13:16, Rahul K Soni ra...@ismu.ac.in wrote:
 
 Hi Petr
 
 Is deleting the buildsysystem means deleting the CMakeCache.txt file. How to 
 set CC and CXX before configuring. 
 
 Thanks a lot in advance. 

Shoot, I had top posted.   Yes, you need to delete the bus directory as cmake 
caches settings after the initial run.  Once the build directory is deleted, 
you need to run cmake as follows:

CC=icc CXX=icpc cmake options

-- 

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


Re: [CMake] Switching configuration to icc

2015-05-10 Thread Tom Kacvinsky
CC=icc cmake options should do the trick



 On May 10, 2015, at 12:18, Rahul K Soni ra...@ismu.ac.in wrote:
 
 Hello everyone
 
 I am trying to configure vtk with cmake-3.2.2 in suse-hpc cluster. Prefeerred 
 compiler in that cluster is intel. But I don't know why when Cmake is always 
 configuring things for gcc when it is having icc also.
 
 Please help, how to switch the configuration to icc.
 
 —
 Rahul Kumar Soni
 Scientist
 CSIR-IMMT
 
 Sent from iPad Rahul
 -- 
 
 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
-- 

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

Re: [CMake] Switching configuration to icc

2015-05-10 Thread Tom Kacvinsky
You need to set CC before invoking cmake so that cmake will know to use the 
Intel compilers



 On May 10, 2015, at 12:57, Rahul K Soni ra...@ismu.ac.in wrote:
 
 No Tom, thats not working. 
 
 I did ccmake CC=icc /path/to/vtk
 
 But the result is same. 
 
 —
 Rahul Kumar Soni
 Scientist
 CSIR-IMMT
 
 Sent from iPad Rahul
 
 
 On Sun, May 10, 2015 at 10:04 PM, Tom Kacvinsky 
 tom.kacvin...@vectorcast.com wrote:
 CC=icc cmake options should do the trick 
 
 
 
  On May 10, 2015, at 12:18, Rahul K Soni ra...@ismu.ac.in wrote: 
  
  Hello everyone 
  
  I am trying to configure vtk with cmake-3.2.2 in suse-hpc cluster. 
  Prefeerred compiler in that cluster is intel. But I don't know why when 
  Cmake is always configuring things for gcc when it is having icc also. 
  
  Please help, how to switch the configuration to icc. 
  
  — 
  Rahul Kumar Soni 
  Scientist 
  CSIR-IMMT 
  
  Sent from iPad Rahul 
  -- 
  
  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
 
-- 

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

[CMake] Windows, export lits (.def files) and automation

2015-03-27 Thread Tom Kacvinsky
I have read the material concerning how to make a DLL on Windows with
exported symbols and it make sense.  However, I would like to avoid
use of __declspec(dllexport) if at all possible.  I know this is not
the recommended cmake way, but I am afrid that introducing
__declspec(dllexport) would lead to a maintenance nightmare (broken
builds because exports weren't added, merges silently removing the
exports, etc...)

I found this:

http://stackoverflow.com/questions/225432/export-all-symbols-when-creating-a-dll

which explains how to automate the creation of a .def file I could use
for making a DLL.

And I also found documentation on the PRE_LINK option when generating a library.

So what I was thinking is I could compile the code via an OBJECT
library (vs. STATIC or SHARED),
make a custom command to generate the .def file given the
correpsonding object files, and then set up a target to generate the
DLL that combines the object files and .def file.

That's the train of thought, anyway.  What I would need to know is the
cmake magic to glue all these pieces together.

Has any one done this and have tips on how to do so?

Thanks,

Tom
-- 

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


Re: [CMake] Problem with library link order

2015-01-21 Thread Tom Kacvinsky
Unfortunately, that is not what I've found.  There are libraries we build
that have their own target_link_libraries, and if these libraries are used
on the target_link_libraries for an executable, its dependencies are also
pulled into the executables link line.  This is expected, handling of
transitive dependencies.  What is not expected is when I add libraries we
don't build, or object files, the link order gets messed up.  That and we
see duplicates of libraries.  For instance, when I pull in the the Qt
libraries, they always show up twice.  Perhaps this is because of
transitive dependencies.

In any case, there appears to be no fine grain control of link
libraries/ordering and it is driving me nuts.

I'll see if I can come up with a reproducer.  It'll be a while before I can
get one to the list.

Tom

On Tue, Jan 20, 2015 at 10:07 PM, J Decker d3c...@gmail.com wrote:

 library link order is exactly as you specify in target_link_libraries...
 each line following the last of the prior list so reording your library
 link list should be doable

 On Tue, Jan 20, 2015 at 9:57 AM, Tom Kacvinsky 
 tom.kacvin...@vectorcast.com wrote:

 HI,

 I am using cmake 2.8,11.2 on Linux.  I am having a problem with the order
 of libraries on the link line.  In particular, there are some static
 archives we build that depend on a third party static archive (one we don't
 build - it comes with the Ada compiler we are using), yet the tghird part
 archive is on the link line (as given by the link.txt file) *before* the
 static archives we build.  There are also problems with duplicated shared
 libraries and a few other issues related to linking.  I have not bee able
 to suss out what cmake is doing to construct the list of link libraries
 used, and how it orders them.  It is very important that we have the right
 order of libraries

 Unfortunately, our cmake files are too complicated to post here, and also
 depend on a working Ada compiler plus the plplot projects Ada support cmake
 modules.  Coming up with a simple reproducer is also difficult given the
 latter constaints.

 Can anyone point me in the right direction?  If there is a heuristic I
 can follow - like ordering our libraries in target_link_libraries()
 differently - I would like to hear about it.

 Thanks,

 Tom

 --

 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



-- 

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

Re: [CMake] Having a real hardtime installing CMake on a Linux cluster machine

2014-11-05 Thread Tom Kacvinsky
With bash:

CFLAGS=-IXXX CXXFLAGS=-IXXX LDFLAGS=-LXXX ./configure ...

This should indicate to configure that headers and libraries are found in
the locations you specify.

On Wed, Nov 5, 2014 at 3:01 PM, Joshua Studen joshua.stu...@gmail.com
wrote:

 Hi,

 The problem is relatively simple. I've downloaded cmake and have run
 configure as follows:

 ./configure --prefix=$HOME/x86_64-6.4  --no-qt-gui

 The configure phase seems to work fine.. throws no errors, but then when I
 type gmake, I get the following errrors:

 /net/hp95/users/jstuden3/cmake-2.8.8/Source/CursesDialog/form/form.h:46:31:
 error: ncurses/ncurses.h: No such file or directory
 In file included from
 /net/hp95/users/jstuden3/cmake-2.8.8/Source/CursesDialog/form/form.priv.h:34,
  from
 /net/hp95/users/jstuden3/cmake-2.8.8/Source/CursesDialog/form/fld_arg.c:33:
 /net/hp95/users/jstuden3/cmake-2.8.8/Source/CursesDialog/form/form.h:93:
 error: expected specifier-qualifier-list before ‘chtype’
 /net/hp95/users/jstuden3/cmake-2.8.8/Source/CursesDialog/form/form.h:120:
 error: expected specifier-qualifier-list before ‘bool’
 /net/hp95/users/jstuden3/cmake-2.8.8/Source/CursesDialog/form/form.h:144:
 error: expected specifier-qualifier-list before ‘WINDOW’
 ...
 ...
 a bunch of stuff like this, and then

 gmake[2]: *** [Source/CursesDialog/form/CMakeFiles/cmForm.dir/fld_arg.c.o]
 Error 1
 gmake[1]: *** [Source/CursesDialog/form/CMakeFiles/cmForm.dir/all] Error 2
 gmake: *** [all] Error 2

 I have ncurses installed in /net/hu19/jstuden3/x86_64-6.4/ (lib/ for the
 .a's, and include/ for the headers).

 It seems that I can't specify a directory for ncurses when configuring
 cmake? doing ./configure --help doesn't seem to indicate anyway to specify
 include and link paths..

 Regards,
 Josh



 --

 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

-- 

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

[CMake] Forcing order of link libraries

2014-09-25 Thread Tom Kacvinsky
Hi,

Is there any way of forcing cmake to use the order of libraries I specify
instead of the order cmake calculates?

Thanks,

Tom
-- 

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

[CMake] Building library with a collection of source + pre-existing object files (which are not compiled via the cmake build system)

2014-09-09 Thread Tom Kacvinsky
Hi,

I have not been able to find this in the cmake documentation.  I have a
collection of source that needs to be compiled via the cmake build system,
plus a collection of object files that were compiled outside the cmake
build system.  I want to combine the two of these to make a shared library,
but apparently add_library only takes a list of source files.  Is there a
way of getting cmake to build a shared library with the collection of
source and object files I have?  I know I could make an archive of the
object files and use that library in target_link_libraries, but I would
like to avoid this if I can.

Thanks,

Tom
-- 

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

Re: [CMake] Building library with a collection of source + pre-existing object files (which are not compiled via the cmake build system)

2014-09-09 Thread Tom Kacvinsky
Thank you, Nils.

Tom


On Tue, Sep 9, 2014 at 11:25 AM, Nils Gladitz nilsglad...@gmail.com wrote:

 On 09.09.2014 17:02, Tom Kacvinsky wrote:

 Hi,

 I have not been able to find this in the cmake documentation. I have a
 collection of source that needs to be compiled via the cmake build system,
 plus a collection of object files that were compiled outside the cmake
 build system.  I want to combine the two of these to make a shared library,
 but apparently add_library only takes a list of source files.  Is there a
 way of getting cmake to build a shared library with the collection of
 source and object files I have?  I know I could make an archive of the
 object files and use that library in target_link_libraries, but I would
 like to avoid this if I can.


 You should be able to list your object files like regular source files.
 If they have known object file extensions they should be detected as such
 (.obj, .o, .lo).
 Otherwise you can try setting the EXTERNAL_OBJECT[1] source file property
 for them.

 Nils

 [1] www.cmake.org/cmake/help/v3.0/prop_sf/EXTERNAL_OBJECT.html

-- 

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

[CMake] Use of variables in generator expressions

2014-05-28 Thread Tom Kacvinsky
Hi,

I would like to do something like the following:

  add_custom_command(TARGET ${target_name} POST_BUILD
COMMAND mt -manifest default.manifest
-outputresource:$TARGET_FILE:${target_name};#1
  )

The question I have is whether variables can be used in generator
expressions.  Reading the docs, it is clear that I cannot use generator
expressions with generator expressions, but I did not see anything saying
you could (can not) use variables within generator expressions.

Is this even allowed?

Thanks,

Tom
-- 

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

[CMake] CMAKE_{C, CXX}_IMPLICIT_LINK_LIBRARIES being used even though Ada is the current language.

2014-01-03 Thread Tom Kacvinsky
I sent an email yesterday about -lstdc++ showing up on my link line even
though I did not request it.  And I was getting -lc and -lm multiple times.

After much digging, I tracked it down to CMAKE_CXX_IMPLICIT_LINK_LIBRARIES
and CMAKE_C_IMPLICIT_LINK_LIBRARIES being added to the link line, even
though the language in effect is Ada (as set up by the PLPlot Ada support
CMake moduels).

My question is why are these added?  Is this done by default in cmake, or
is this a deficiency in the Ada support modules?

It is important that we remove the use of -lstdc++, so if you have any
ideas on how to remove this, I'd appreciate hearing about it.

Tom
--

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

Re: [CMake] CMAKE_{C, CXX}_IMPLICIT_LINK_LIBRARIES being used even though Ada is the current language.

2014-01-03 Thread Tom Kacvinsky
I figured out what was going on by lots of experimentation.  When we link
an Ada executable, we link in two other libraries, each of which is based
on C/C++ code.  It appears that CMake keeps track of this and adds the
implicit library dependencies you'll have because of this C and C++ code.
That is why these libraries were showing up.  I was able to reproduce this
with a simple CMakeLists.txt file.  I worked around the problem by defining
the implicit library variables to be empty (which will not cause us
problems as the link driver (g++ for C/C++ execs, gnatmake for Ada execs)
adds the right C/C++ run time libraries to the link line.

Tom


On Fri, Jan 3, 2014 at 2:48 PM, Alexander Neundorf
a.neundorf-w...@gmx.netwrote:

 On Friday 03 January 2014, Tom Kacvinsky wrote:
  I sent an email yesterday about -lstdc++ showing up on my link line even
  though I did not request it.  And I was getting -lc and -lm multiple
 times.
 
  After much digging, I tracked it down to
 CMAKE_CXX_IMPLICIT_LINK_LIBRARIES
  and CMAKE_C_IMPLICIT_LINK_LIBRARIES being added to the link line, even
  though the language in effect is Ada (as set up by the PLPlot Ada support
  CMake moduels).
 
  My question is why are these added?  Is this done by default in cmake, or
  is this a deficiency in the Ada support modules?

 Ada support is not part of cmake, so it's probably an issue with the Ada
 files.

 Alex

 --

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

--

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

[CMake] -lstdc++ being added to link options automatically

2014-01-02 Thread Tom Kacvinsky
Hi,

I am using the PLPlot Ada support for cmake, and all is well, except for
the following:

For some reason, I see the addition of -lstdc++ to the link options for
building Ada executables.  the Ada code has zero dependencies on C++ object
code, so this is not necessary.  But I can't seem to find where this is
being added.  The Ada cmake modules don't add this, and we don't add it, so
some where it is being added by cmake, but like I said, I can't figure out
where.

Is there any way I can go about diagnosing this?

Thanks,

Tom
--

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

[CMake] Contents of link.txt differ between Solaris 8 and Linux

2013-12-10 Thread Tom Kacvinsky
Hi,

I am using cmake 2.8.11.2 on Solaris 8 and  Ubuntu 12.04.2 LTS, built from
source using the GCC tool chain.

I noted that the link.txt for one of our binaries on Solaris 8 are:

/home/tjk/gnatpro-7.1.2/bin/gnatmake
-aI/home/Users/tjk/vector/build/cmake/SunOS/.common-enums
-aI/home/Users/tjk/vector/build/cmake/SunOS/.chop_Linux
-aI/home/Users/tjk/vector/build/cmake/SunOS/.chop
-aI/home/Users/tjk/vector/build/cmake/SunOS/.chop_ada
-aI/home/Users/tjk/vector/source/cmake/vcast/
-aI/home/Users/tjk/vector/source/cmake/vcast/TGT_IO
-aO/home/Users/tjk/vector/build/cmake/SunOS/vcast/CMakeFiles/commonada.dir
-aO/home/Users/tjk/vector/build/cmake/SunOS/vcast/CMakeFiles/commonada.dir/__/.chop
-aO/home/Users/tjk/vector/build/cmake/SunOS/vcast/CMakeFiles/commonada.dir/__/.common-enums
monitor -o ../../vc/IO/monitor -cargs  -largs
-L/home/Users/tjk/vector/build/cmake/SunOS
-L/home/Users/tjk/vector/build/cmake/SunOS/vc/lib
-L/home/Users/tjk/kdchart-2.3.0-qt-4.8.5/lib
-L/home/FLEXlm/FLEXlm_10/sun4_u5
-L/home/FLEXlm/FLEXlm_10/sun4_u5/activation/lib  -L/home/tjk/python/libs
-L/usr/ccs/lib
-L/export/home/tjk/gnatpro-7.1.2/lib/gcc/sparc-sun-solaris2.8/4.7.3
-L/export/home/tjk/gnatpro-7.1.2/lib/gcc
-L/export/home/tjk/gnatpro-7.1.2/lib  ../../vc/lib/libcinterfacetoada.a
../../vc/lib/libcpputilsforada.a ../../libcommonada.a
/home/TOOLS/libxml2/libxml2-2.6.27/lib/libxml2.a -llmgr_nomt -lcrvs -lsb
/home/tjk/gnatpro-7.1.2/lib/gcc/sparc-sun-solaris2.8/4.7.3/adalib/libgnat.a
-lsocket -lnsl -lintl -ldl -lpthread -lrt ../../vc/lib/libvxml_c.a
../../vc/lib/libcutilsforada.a /home/FLEXlm/FLEXlm_10/sun4_u5/lm_new.o -ldl
-lm /home/TOOLS/libxml2/libxml2-2.6.27/lib/libxml2.a
../../vc/lib/libcinterfacetoadastubs.a
../../vc/lib/libcinterfacetoada_ada.a -lpthread -lrt
/home/FLEXlm/FLEXlm_10/sun4_u5/lm_new.o -lm -lc -lc -lstdc++ -lm -lc -lc

Note the duplication of lm_new.o and several system libraries (-lm and
-lc).  This causes problems with GNU binutils as there are multiply defined
symbols when the lm_new.o object file is duplicated.  What I noted is that
this duplication does not happen on Linux:

/home/GCC/gcc-4.1.2/bin/gnatmake
-aI/home/Users/tjk/vector/build/cmakeLinux/Linux/.common-enums
-aI/home/Users/tjk/vector/build/cmakeLinux/Linux/.chop_Linux
-aI/home/Users/tjk/vector/build/cmakeLinux/Linux/.chop
-aI/home/Users/tjk/vector/build/cmakeLinux/Linux/.chop_ada
-aI/home/Users/tjk/vector/source/cmakeLinux/vcast/
-aI/home/Users/tjk/vector/source/cmakeLinux/vcast/TGT_IO
-aO/home/Users/tjk/vector/build/cmakeLinux/Linux/vcast/CMakeFiles/commonada.dir
-aO/home/Users/tjk/vector/build/cmakeLinux/Linux/vcast/CMakeFiles/commonada.dir/__/.chop
-aO/home/Users/tjk/vector/build/cmakeLinux/Linux/vcast/CMakeFiles/commonada.dir/__/.common-enums
monitor -o ../../vc/IO/monitor -cargs  -largs
-L/home/Users/tjk/vector/build/cmakeLinux/Linux
-L/home/Users/tjk/vector/build/cmakeLinux/Linux/vc/lib
-L/home/TOOLS/kdchart-2.3.0-qt-4.6.2-release-gcc-4.1.2-release/lib
-L/home/FLEXlm/FLEXlm_11_9/i86_lsb
-L/home/FLEXlm/FLEXlm_11_9/i86_lsb/activation/lib
-L/home/TOOLS/python-2.7.5/libs
-L/Unix_Volume/GCC/Linux/gcc-4.1.2/lib/gcc/i686-pc-linux-gnu/4.1.2
-L/Unix_Volume/GCC/Linux/gcc-4.1.2/lib/gcc
-L/home/GCC/gcc-4.1.2/lib/gcc/i686-pc-linux-gnu/4.1.2
-L/Unix_Volume/GCC/Linux/gcc-4.1.2/lib  -L/home/GCC/gcc-4.1.2/lib -rdynamic
../../vc/lib/libcinterfacetoada.a ../../vc/lib/libcpputilsforada.a
../../libcommonada.a /home/TOOLS/libxml2/libxml2-2.6.27/lib/libxml2.a
-llmgr_nomt -lcrvs -lsb -lnoact -llmgr_dongle_stub
/home/GCC/gcc-4.1.2/lib/gcc/i686-pc-linux-gnu/4.1.2/adalib/libgnat.a -lutil
../../vc/lib/libvxml_c.a ../../vc/lib/libcutilsforada.a
/home/FLEXlm/FLEXlm_11_9/i86_lsb/lm_new.o -ldl -lm
/home/TOOLS/libxml2/libxml2-2.6.27/lib/libxml2.a
../../vc/lib/libcompat_glib_workaround.a
../../vc/lib/libcinterfacetoadastubs.a
../../vc/lib/libcinterfacetoada_ada.a -lc -lstdc++ -lm -lc

What do you need from me in terms of helping diagnose this issue?

Thanks,

Tom
--

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