[CMake] CMake with Team Foundation Server?
Fabian Saccilotto
f.saccilotto at gmx.ch
Wed Aug 28 04:33:03 EDT 2013
We are starting to use CMake with TFS, as we already have solutions with
different versions of VS and want to simplify the configuration of
dependencies and settings with CMake.
The problem we actually have is that the bindings to TFS are stored in
the solution and project files. As soon as you run CMake again this
bindings are overwritten and you loose the connection to TFS. Once you
connected your projects to TFS and have a mapping, you can easily
reconnect your projects via File-> Source Code Management > Manage (Or
something similar, my VS is in german) and then select the projects
which you want to bind again.
This solution works when you don't have to change your CMake Files a lot
(i.e adding, removing files at the beginning of a project) but is not as
nice as if you would work with a non CMake VS Solution... I tried to
find some information on the format of the entries in the solution
files, but whitout success. The only thing I have is the result of a
diff (see below) where you could guess how you could create the bindings
programmatically. From my point of view a problem is where the local
mapping is stored as only relative paths are stored in the solution
file. Another question is what those GUID's exactly mean resp. where you
get this information.
Regards Fabian Saccilotto
(Solution File)
GlobalSection(TeamFoundationVersionControl) = preSolution
SccNumberOfProjects = 3
SccEnterpriseProvider = {4CA58AB2-18FA-4F8D-95D4-32DDF27D184C}
SccTeamFoundationServer = <URL to your TFS server>
SccProjectUniqueName0 = 3DReconstruction\\3DReconstruction.vcxproj
SccProjectName0 = 3DReconstruction
SccAuxPath0 = <URL to your TFS server>
SccLocalPath0 = 3DReconstruction
SccProvider0 = {4CA58AB2-18FA-4F8D-95D4-32DDF27D184C}
SccProjectUniqueName1 = 3DRecConsole\\3DRecConsole.vcxproj
SccProjectName1 = 3DRecConsole
SccAuxPath1 = <URL to your TFS server>
SccLocalPath1 = 3DRecConsole
SccProvider1 = {4CA58AB2-18FA-4F8D-95D4-32DDF27D184C}
SccProjectUniqueName2 = VanishingPointDetection\\VanishingPointDetection.vcxproj
SccProjectName2 = VanishingPointDetection
SccAuxPath2 = <URL to your TFS server>
SccLocalPath2 = VanishingPointDetection
SccProvider2 = {4CA58AB2-18FA-4F8D-95D4-32DDF27D184C}
EndGlobalSection
(Project File)
<PropertyGroup Label="Globals">
<ProjectGUID>{180ABFA3-1346-484E-8843-4E777FC7BFE9}</ProjectGUID>
<Keyword>Win32Proj</Keyword>
<Platform>Win32</Platform>
<ProjectName>ImageTo3D</ProjectName>
<SccProjectName>SAK</SccProjectName>
<SccAuxPath>SAK</SccAuxPath>
<SccLocalPath>SAK</SccLocalPath>
<SccProvider>SAK</SccProvider>
</PropertyGroup>
Am 27.08.2013 21:22, schrieb Zamir Khan:
> In the interest of brevity (and avoiding expressing some of my biases), I'll
> try to keep the problem description short.
>
> We currently develop on Windows, using multiple versions of VS (2008, 2010,
> 2012 in the near future). Currently our target platform is Windows only, but
> that could change. Most of our code is native C++, but there is also some
> C#. We use Mercurial for source control. We use CMake to generate our VS
> projects and, after initial struggles (and hacks), I finally have a system
> that works well to generate even our C# projects. CMake makes managing
> dependencies relatively painless.
>
> However, there is an external push to move to a system that uses Team
> Foundation Server (which we currently do not use). Mercurial and CMake play
> well together in terms of out-of-source build. Mercurial can theoretically
> be replaced by TFS source control (without commenting on whether this is a
> good thing). However, it's unclear to me whether TFS would play nicely (if
> at all) with CMake.
>
> Basically, I'm wondering if anyone has used TFS and CMake together, to what
> extent, and what their experience has been. If Google is any indication, the
> TFS/CMake combination is exceedingly rare. Of course, another other
> insights, even without direct experience, are welcome too.
>
>
>
> --
> View this message in context: http://cmake.3232098.n2.nabble.com/CMake-with-Team-Foundation-Server-tp7585293.html
> Sent from the CMake mailing list archive at Nabble.com.
> --
>
> 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
More information about the CMake
mailing list