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

Golebiewski, Jakub Jakub.Golebiewski at dnvgl.com
Wed Sep 30 04:45:17 EDT 2015


Hi,

So I've sort of solved my initial problem by simply moving from VS2010 to VS2013. I'm still using VS2010 toolchain but in VS2013 IDE and it performs much much better and can handle ~600 project solutions.

Thanks everybody for help,

Regards,
JG

> -----Original Message-----
> From: CMake [mailto:cmake-bounces at cmake.org] On Behalf Of Golebiewski,
> Jakub
> Sent: Wednesday, September 23, 2015 9:35 AM
> To: J Decker
> Cc: cmake at cmake.org
> Subject: Re: [CMake] How to create a custom solution with Visual Studio 2010
> generator?
>
> > -----Original Message-----
> > From: J Decker [mailto:d3ck0r at gmail.com]
> > Sent: Tuesday, September 22, 2015 9:40 AM
> > To: Golebiewski, Jakub
> > Cc: cmake at cmake.org
> > Subject: Re: [CMake] How to create a custom solution with Visual
> > Studio
> > 2010 generator?
> >
> > > I've tried running cmake independently for each subproject but I get
> > > errors about unknown Targets since every Sub Project depends on
> > > targets
> > from 'earlier' one.
> > >
> > > 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.
> > >
> > Hmm; I was going to check to see if .sln's were made in subdirs... and
> > they are... wonder if it was always taht way.
> > But... the projects deeper in the tree only have those things that it
> > depended on... so I don't get why you say 'the amount of projects
> > increases the further you go'   Yes... high level projects will have
> > all of their dependancies but nothing extra...
>
> I meant that in my case (let's use the original simple example), targets 3,4
> depend on 1,2 and 5,6 depend on 3,4 and therefore on
> 1,2 as well. So in Sub Project 1.sln I get targets 1,2 in Sub Project 2.sln I get
> 1,2,3,4 and in Sub Project 3.sln I get 1,2,3,4,5,6.
> This is of course absolutely correct and the right way to do it. But in my case
> with about 620 projects I have about 19 subprojects.
> This means that I get solutions more or less like this:
>
> 1. 30 projects
> 2. 50 projects (about 20 as dependencies from 1 - not all because there are
> unit test projects (executables) in 1 and all the rest) 3. 70 projects (about 50
> as dependencies from 1,2) 4. 100 projects (...) 5. 150 projects 6. 200 projects 7.
> 250 projects 8. 300 projects 9. 350 projects (probably about 75 projects and
> 300 as dependencies from 1 - 8) ...
>
> At this point unfortunately the VS 2010 is so slow that It is impossible to work
> with 350 project solution.
> So what I want to do Is to cut the dependencies from other projects to make
> this usable.
> (that's what we are currently doing, I'm in the process of converting our
> current build system to cmake)
>
> I hope that's clear enough.
>
> >
> > isn't it already making the minimal solutions you're suggesting you
> > make by hand anyway?
> >
> > Other than as I use this; the Install rule in the sub-solution doesn't
> > install everything...
> > could wish the OutputPath cmake built was relative to the solution
> > instead of the projects... then at least nothing funky would have to
> > be done to run applications from the debugger; other than data
> > resources could still be missing.
>
> Thanks for help, I really appreciate it
>
> **********************************************************
> ****************************
> This e-mail and any attachments thereto may contain confidential
> information and/or information protected by intellectual property rights for
> the exclusive attention of the intended addressees named above. If you
> have received this transmission in error, please immediately notify the
> sender by return e-mail and delete this message and its attachments.
> Unauthorized use, copying or further full or partial distribution of this e-mail
> or its contents is prohibited.
> **********************************************************
> ****************************
> --
>
> 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

**************************************************************************************
This e-mail and any attachments thereto may contain confidential information and/or information protected by intellectual property rights for the exclusive attention of the intended addressees named above. If you have received this transmission in error, please immediately notify the sender by return e-mail and delete this message and its attachments. Unauthorized use, copying or further full or partial distribution of this e-mail or its contents is prohibited.
**************************************************************************************


More information about the CMake mailing list