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
<jsvanbethle...@gmail.com> 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

Reply via email to