Re: [cmake-developers] patch building and testing

2016-01-08 Thread Mike Fitzgerald
Thanks, that was exactly what I needed to know!  I was compiling on OS X,
which is what caused the make confusion.  After moving back to Windows,
I've got the attached, which gives me the results I'd expect and doesn't
cause any new test failures.  I tried to follow the code conventions as
best I could.  If I should be adding a test for this property, or
submitting the patch differently, please let me know!

- Mike


>From 2a831f0752ad9e97c5e4e729ced92d640b792386 Mon Sep 17 00:00:00 2001
From: Mike Fitzgerald 
Date: Fri, 8 Jan 2016 17:33:28 -0500
Subject: [PATCH] fix VS_GLOBAL_* properties in VS 10+

---
 Source/cmVisualStudio10TargetGenerator.cxx | 26 ++
 1 file changed, 26 insertions(+)

diff --git a/Source/cmVisualStudio10TargetGenerator.cxx
b/Source/cmVisualStudio10TargetGenerator.cxx
index 6e1fb5b..0406d25 100644
--- a/Source/cmVisualStudio10TargetGenerator.cxx
+++ b/Source/cmVisualStudio10TargetGenerator.cxx
@@ -448,6 +448,32 @@ void cmVisualStudio10TargetGenerator::Generate()
 (*this->BuildFileStream) << cmVS10EscapeXML(targetFrameworkVersion)
  << "\n";
 }
+
+  std::vector keys = this->GeneratorTarget->GetPropertyKeys();
+  for(std::vector::const_iterator keyIt = keys.begin();
+  keyIt != keys.end(); ++keyIt)
+{
+static const char* prefix = "VS_GLOBAL_";
+if(keyIt->find(prefix) != 0)
+  continue;
+std::string globalKey = keyIt->substr(strlen(prefix));
+// Skip invalid or separately-handled properties.
+if(globalKey == "" ||
+   globalKey == "PROJECT_TYPES" ||
+   globalKey == "ROOTNAMESPACE" ||
+   globalKey == "KEYWORD")
+  {
+  continue;
+  }
+const char* value = this->GeneratorTarget->GetProperty(keyIt->c_str());
+if (!value)
+  continue;
+this->WriteString("<", 2);
+(*this->BuildFileStream) << globalKey << ">"
+ << cmVS10EscapeXML(value)
+ << "\n";
+}
+
   this->WriteString("\n", 1);
   this->WriteString("\n",
-- 
1.9.4.msysgit.2


On Fri, Jan 8, 2016 at 11:31 AM, Brad King  wrote:

> On 01/07/2016 10:36 PM, Mike Fitzgerald wrote:
> > I wanted to fix an issue (#13666)
>
> Great!
>
> > 1.) Cloned the git repo, ran bootstrap and make.
> > 2.) Wrote some code in cmVisualStudio10TargetGenerator.cxx.
> >
> > Running make again didn't seem to recompile anything
>
> On what platform did you build?  That source file is used only on
> Windows platforms.  It won't compile at all on Linux or OS X hosts
> so it is not expected to re-compile after modification on those
> platforms.
>
> > There appears to be a full suite of tests in the Tests folder
>
> After compiling, run
>
>  bin/ctest
>
> to run the tests.  If you used a VS (or Xcode) generator then run
>
>  bin/Debug/ctest -C Debug
>
> where "Debug" is whatever configuration you built after generating.
>
> You don't actually have to use the bootstrap script to build for
> development.  You can configure/build CMake with an already-installed
> CMake.  This is required on Windows to build with VS.  With this
> approach you should run the tests using the ctest that comes next to
> the already-installed cmake you ran to configure the build tree.
>
> -Brad
>
> --
>
> 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-developers
>
-- 

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-developers

Re: [cmake-developers] patch building and testing

2016-01-08 Thread Brad King
On 01/07/2016 10:36 PM, Mike Fitzgerald wrote:
> I wanted to fix an issue (#13666)

Great!

> 1.) Cloned the git repo, ran bootstrap and make.
> 2.) Wrote some code in cmVisualStudio10TargetGenerator.cxx.
> 
> Running make again didn't seem to recompile anything

On what platform did you build?  That source file is used only on
Windows platforms.  It won't compile at all on Linux or OS X hosts
so it is not expected to re-compile after modification on those
platforms.

> There appears to be a full suite of tests in the Tests folder

After compiling, run

 bin/ctest

to run the tests.  If you used a VS (or Xcode) generator then run

 bin/Debug/ctest -C Debug

where "Debug" is whatever configuration you built after generating.

You don't actually have to use the bootstrap script to build for
development.  You can configure/build CMake with an already-installed
CMake.  This is required on Windows to build with VS.  With this
approach you should run the tests using the ctest that comes next to
the already-installed cmake you ran to configure the build tree.

-Brad

-- 

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-developers


[cmake-developers] patch building and testing

2016-01-07 Thread Mike Fitzgerald
Hi cmake-developers,

I'm a bit new to this, so please bear with me!  I wanted to fix an issue
(#13666), so I did the following:

1.) Cloned the git repo, ran bootstrap and make.
2.) Wrote some code in cmVisualStudio10TargetGenerator.cxx.

Running make again didn't seem to recompile anything, which seemed
strange.  Am I meant to run bootstrap (or bin/cmake, I guess) each time I
want to recompile?  The relationship of these tools and the source files
isn't clear to me.

Once I recompile, I want to make sure I didn't break anything.  There
appears to be a full suite of tests in the Tests folder, but how exactly do
I run them, and from where?  I couldn't find instructions for this on the
wiki or in source.  The README in the Tests folder mostly concerns how to
add a test, not run the existing ones.

Thanks for the help (and patience)!

- Mike
-- 

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-developers