Re: [CMake] Some Visual Studio/CMake questions

2016-03-09 Thread Benjamin Ballet
Here we migrated a huge Visual Studio solution (130 targets) to CMake.

* The switch between Debug and Release always took a few seconds, during
with Visual seems freezed.

* We have the same problem : I think the cmake generator has to modify
vcxproj files and when a file like this, Visual studio assume the whole
project to be out of date and hence has to recompile it and its
dependencies.


2016-03-08 17:13 GMT+01:00 Nicholas Braden :

> IIRC, the project() command can be called once per directory. So you
> can have each directory be a separate project via add_subdirectory().
>
> I just tried it out and it seems to create a solution (*.sln) for each
> project().
>
> I can't answer the other questions, sorry.
>
> On Tue, Mar 8, 2016 at 10:03 AM, Jakob van Bethlehem
>  wrote:
> > Dear users,
> >
> > Since about a year I work on a project that uses CMake in combination
> with
> > Visual Studio. This works kind of oke, but over time some questions have
> > emerged. Hopefully I can get an answer on this list:
> >
> > * Our build infrastructure creates a Release and a Debug configuration by
> > setting the CMAKE_CONFIGURATION_TYPES variable. However, when switching
> > between these configurations, Visual Studio almost kills itself, and
> becomes
> > unresponding for quite some time. Is this a known issue with Visual
> Studio
> > and CMake-generated solutions? Or is there something we can do to improve
> > this?
> >
> > * The generated solution file makes sure that CMake is ran again if any
> > change in one of the CMakeLists.txt file is detected. What we typically
> see
> > however, is that afterwards Visual Studio recompiles loads of files that
> > were not changed, and that were already compiled before. It seems that
> the
> > CMake run someone makes Visual Studio believe that all, or at least way
> too
> > many, files are out of date and need to be recompiled. We make use of a
> > Visual Studio plugin that provides a bunch of smart functions, which
> scans
> > the files in the solution in order to do its job. This plugin has the
> same
> > behaviour, so it seems like CMake is the common denominator causing
> > behaviour one wouldn't expect or want.
> > Same question: known issue, or something we can improve somehow?
> >
> > * Over time I have seen a view times that it was mentioned that it is
> > possible to call the 'project()' function multiple times, and that this
> will
> > produce separate Visual Studio solution files. Interestingly, this is
> > documented absolutely nowhere. As a matter of fact, the documentation of
> the
> > 'project()' function clearly states that you should call that function
> only
> > once, and exactly once.
> >
> > What about it? Is this some undocumented feature we can rely on? Or is
> this
> > a serious bug, that many people incidentally have come to rely upon. If
> this
> > is considered a feature, will this feature remain working for the
> > foreseeable future? If yes is the answer to these questions, what
> *exactly*
> > does this feature contain, so where *can* I get documentation? My main
> > question is whether it is possible to create dependencies between
> projects,
> > i.e. solution files, and will CMake generate calls to msbuild that will
> > automatically take care that dependencies between solution files are
> handled
> > properly?
> >
> > Hopefully someone can help me out a bit here!
> >
> > Sincerely,
> > Jakob van Bethlehem
> >
> > --
> >
> > 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
>



-- 
*Benjamin BALLET*
Ingénieur R

*ACTIVISU*
19, rue Klock - 92110 Clichy
*> Standard Tél* :  01 44 69 37 37
*>* www.activisu.com
-- 

Powered by www.kitware.com


Re: [CMake] Some Visual Studio/CMake questions

2016-03-08 Thread Nicholas Braden
IIRC, the project() command can be called once per directory. So you
can have each directory be a separate project via add_subdirectory().

I just tried it out and it seems to create a solution (*.sln) for each
project().

I can't answer the other questions, sorry.

On Tue, Mar 8, 2016 at 10:03 AM, Jakob van Bethlehem
 wrote:
> Dear users,
>
> Since about a year I work on a project that uses CMake in combination with
> Visual Studio. This works kind of oke, but over time some questions have
> emerged. Hopefully I can get an answer on this list:
>
> * Our build infrastructure creates a Release and a Debug configuration by
> setting the CMAKE_CONFIGURATION_TYPES variable. However, when switching
> between these configurations, Visual Studio almost kills itself, and becomes
> unresponding for quite some time. Is this a known issue with Visual Studio
> and CMake-generated solutions? Or is there something we can do to improve
> this?
>
> * The generated solution file makes sure that CMake is ran again if any
> change in one of the CMakeLists.txt file is detected. What we typically see
> however, is that afterwards Visual Studio recompiles loads of files that
> were not changed, and that were already compiled before. It seems that the
> CMake run someone makes Visual Studio believe that all, or at least way too
> many, files are out of date and need to be recompiled. We make use of a
> Visual Studio plugin that provides a bunch of smart functions, which scans
> the files in the solution in order to do its job. This plugin has the same
> behaviour, so it seems like CMake is the common denominator causing
> behaviour one wouldn't expect or want.
> Same question: known issue, or something we can improve somehow?
>
> * Over time I have seen a view times that it was mentioned that it is
> possible to call the 'project()' function multiple times, and that this will
> produce separate Visual Studio solution files. Interestingly, this is
> documented absolutely nowhere. As a matter of fact, the documentation of the
> 'project()' function clearly states that you should call that function only
> once, and exactly once.
>
> What about it? Is this some undocumented feature we can rely on? Or is this
> a serious bug, that many people incidentally have come to rely upon. If this
> is considered a feature, will this feature remain working for the
> foreseeable future? If yes is the answer to these questions, what *exactly*
> does this feature contain, so where *can* I get documentation? My main
> question is whether it is possible to create dependencies between projects,
> i.e. solution files, and will CMake generate calls to msbuild that will
> automatically take care that dependencies between solution files are handled
> properly?
>
> Hopefully someone can help me out a bit here!
>
> Sincerely,
> Jakob van Bethlehem
>
> --
>
> 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] Some Visual Studio/CMake questions

2016-03-08 Thread Jakob van Bethlehem
Dear users,

Since about a year I work on a project that uses CMake in combination with
Visual Studio. This works kind of oke, but over time some questions have
emerged. Hopefully I can get an answer on this list:

* Our build infrastructure creates a Release and a Debug configuration by
setting the CMAKE_CONFIGURATION_TYPES variable. However, when switching
between these configurations, Visual Studio almost kills itself, and
becomes unresponding for quite some time. Is this a known issue with Visual
Studio and CMake-generated solutions? Or is there something we can do to
improve this?

* The generated solution file makes sure that CMake is ran again if any
change in one of the CMakeLists.txt file is detected. What we typically see
however, is that afterwards Visual Studio recompiles loads of files that
were not changed, and that were already compiled before. It seems that the
CMake run someone makes Visual Studio believe that all, or at least way too
many, files are out of date and need to be recompiled. We make use of a
Visual Studio plugin that provides a bunch of smart functions, which scans
the files in the solution in order to do its job. This plugin has the same
behaviour, so it seems like CMake is the common denominator causing
behaviour one wouldn't expect or want.
Same question: known issue, or something we can improve somehow?

* Over time I have seen a view times that it was mentioned that it is
possible to call the 'project()' function multiple times, and that this
will produce separate Visual Studio solution files. Interestingly, this is
documented absolutely nowhere. As a matter of fact, the documentation of
the 'project()' function clearly states that you should call that function
only once, and exactly once.

What about it? Is this some undocumented feature we can rely on? Or is this
a serious bug, that many people incidentally have come to rely upon. If
this is considered a feature, will this feature remain working for the
foreseeable future? If yes is the answer to these questions, what *exactly*
does this feature contain, so where *can* I get documentation? My main
question is whether it is possible to create dependencies between projects,
i.e. solution files, and will CMake generate calls to msbuild that will
automatically take care that dependencies between solution files are
handled properly?

Hopefully someone can help me out a bit here!

Sincerely,
Jakob van Bethlehem
-- 

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