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

--

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

Reply via email to