[CMake] How to create a custom solution with Visual Studio 2010 generator?

Iosif Neitzke iosif.neitzke+cmake at gmail.com
Tue Sep 22 11:49:29 EDT 2015


Just as a point of information illustrating the opposite, we like
using a CMakeList file for each target that contains a project()
command where the name of the project is the name of the target.  This
is nice (for us) in that you get many .sln files generated from the
larger source tree where you can open a .sln file anywhere in the
build tree hierarchy with the name of the target you want to work on
and get a sub-tree development environment with only that target and
its dependencies, instead of everything in the top-level solution
(which may contain 100+ targets).

On Tue, Sep 22, 2015 at 4:46 AM, Hendrik Sattler
<post at hendrik-sattler.de> wrote:
> Hi,
>
>
> Am 22. September 2015 08:49:57 MESZ, schrieb "Golebiewski, Jakub" <Jakub.Golebiewski at dnvgl.com>:
>>I have about 620 targets (VS projects) so when I open Main Project.sln
>>(with 620 projects) in VS it is impossible to work with.
>>Currently cmake produces .sln for each Sub Project but includes
>>dependencies from other projects and that's something I don’t want
>>Since the amount of projects in each .sln increases the further I go
>>and most of them (later in the dependency chain) are not possible to
>>work
>>with either. I'm trying to divide it into .slns that developers could
>>work with in VS.
>
> That is exactly what imported targets are for. However, they refer to already built projects. I'd also suggest a two-step approach: first configure and build the thing with all projects in the solution. The libraries need to create cmake build tree export config files. After that step, define a cmake variable to switch to using the previously created export config files only. These create the imported targets and don't show up in the IDE.
>
> HS
>
> --
>
> 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


More information about the CMake mailing list