Re: [cmake-developers] suggestion: rename FindXerces to FindXercesC

2014-12-05 Thread Erik Sjölund
The patch worked for me.
cheers,
Erik Sjölund

On Thu, Dec 4, 2014 at 4:52 PM, Brad King brad.k...@kitware.com wrote:
 On 12/04/2014 10:32 AM, Brad King wrote:
 Roger, as the contributor of this module do you have any reason
 not to change the name?

 I've constructed a commit to perform the rename and merged to 'next'
 for testing:

  Modules: Rename FindXerces to FindXercesC
  http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=27141eed

 Please let me know if it works.  I'd like to get feedback before
 merging to 'master' or 'release'.

 Thanks,
 -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

Re: [cmake-developers] suggestion: rename FindXerces to FindXercesC

2014-12-05 Thread Brad King
On 12/04/2014 05:54 PM, Roger Leigh wrote:
 No.  Either is fine with me; I didn't expect this to be problematic
 to omit the C suffix, but happy to have it added if it will avoid
 confusion.
 
 I just saw your other mail saying you'd made a patch.  Do you need me
 to do anything else?

Please just test the renamed module to verify it still works for your
original use case (besides the name change).  With Erik's confirmation
I will merge this for the next 3.1 release candidate anyway, but more
testing is better ;)

Thanks,
-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


Re: [cmake-developers] New command 'file(LOCK_DIRECTORY ...)'

2014-12-05 Thread Ruslan Baratov via cmake-developers

On 05-Dec-14 17:12, Brad King wrote:

On 12/05/2014 09:10 AM, Ruslan Baratov wrote:

   file: Add LOCK subcommand to do file and directory locking
   http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e6db4c5a


Great, thank you! So will this be applied to cmake 3.1.0?

No, sorry.  The feature deadline for that was almost 2 months ago.
The release candidate period has been pretty drawn out this time :(

-Brad


Okay, just curious what version it will be?

Ruslo
--

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] New command 'file(LOCK_DIRECTORY ...)'

2014-12-05 Thread Brad King
On 12/05/2014 09:38 AM, Ruslan Baratov wrote:
 Okay, just curious what version it will be?

3.2.  There is a roadmap here:

 http://www.cmake.org/Bug/roadmap_page.php

with tentative dates.

-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


Re: [cmake-developers] New command 'file(LOCK_DIRECTORY ...)'

2014-12-05 Thread Ruslan Baratov via cmake-developers

On 05-Dec-14 17:09, Brad King wrote:

On 12/05/2014 09:03 AM, Ruslan Baratov wrote:

Actually why not use 'strtoll' and 'long long' ?

I'm not sure that function or type exists portably on some of the
older host platforms we support.  The long type should be plenty
big for timeout values, and there are other strtol call sites that
already use long and could be converted to use a StringToLong
helper too.

Sending patch with 'long'.

Actually for the lock timeout use case would it make sense to change
to a floating point value so timeouts can be more granular?  Some
use cases may not want to block for a whole second between lock
attempts.

What granularity you think is appropriate, 100 ms? 10 ms? (It will be 
value in `cmSystemTools::Delay(...);`)


Ruslo
From 3ed0ad891c6108fa2a03834f9fe109ee5d628847 Mon Sep 17 00:00:00 2001
From: Ruslan Baratov ruslan_bara...@yahoo.com
Date: Fri, 5 Dec 2014 17:18:11 +0300
Subject: [PATCH] Use 'long' for StringToInt

---
 Source/cmFileCommand.cxx   |  6 +++---
 Source/cmFileLock.cxx  |  4 ++--
 Source/cmFileLock.h|  4 ++--
 Source/cmFileLockPool.cxx  |  8 
 Source/cmFileLockPool.h| 10 ++
 Source/cmFileLockUnix.cxx  |  2 +-
 Source/cmFileLockWin32.cxx |  2 +-
 Source/cmSystemTools.cxx   |  7 ---
 Source/cmSystemTools.h |  4 ++--
 9 files changed, 25 insertions(+), 22 deletions(-)

diff --git a/Source/cmFileCommand.cxx b/Source/cmFileCommand.cxx
index a6eb8c4..42cd132 100644
--- a/Source/cmFileCommand.cxx
+++ b/Source/cmFileCommand.cxx
@@ -3521,7 +3521,7 @@ bool cmFileCommand::HandleLockCommand(
   };
   Guard guard = GUARD_PROCESS;
   std::string resultVariable;
-  unsigned timeout = static_castunsigned(-1);
+  unsigned long timeout = static_castunsigned long(-1);
 
   // Parse arguments
   if(args.size()  2)
@@ -3597,7 +3597,7 @@ bool cmFileCommand::HandleLockCommand(
 expected timeout value after TIMEOUT);
 return false;
 }
-  int scanned;
+  long scanned;
   if(!cmSystemTools::StringToInt(args[i].c_str(), scanned) || scanned  0)
 {
 cmOStringStream e;
@@ -3605,7 +3605,7 @@ bool cmFileCommand::HandleLockCommand(
 this-Makefile-IssueMessage(cmake::FATAL_ERROR, e.str());
 return false;
 }
-  timeout = static_castunsigned(scanned);
+  timeout = static_castunsigned long(scanned);
   }
 else
   {
diff --git a/Source/cmFileLock.cxx b/Source/cmFileLock.cxx
index 5f75637..e6aa5f4 100644
--- a/Source/cmFileLock.cxx
+++ b/Source/cmFileLock.cxx
@@ -28,7 +28,7 @@ cmFileLock::~cmFileLock()
 }
 
 cmFileLockResult cmFileLock::Lock(
-const std::string filename, unsigned timeout)
+const std::string filename, unsigned long timeout)
 {
   if (filename.empty())
 {
@@ -48,7 +48,7 @@ cmFileLockResult cmFileLock::Lock(
   cmFileLockResult result = this-OpenFile();
   if (result.IsOk())
 {
-if (timeout == static_castunsigned(-1))
+if (timeout == static_castunsigned long(-1))
   {
   result = this-LockWithoutTimeout();
   }
diff --git a/Source/cmFileLock.h b/Source/cmFileLock.h
index 4d922a0..dd959a7 100644
--- a/Source/cmFileLock.h
+++ b/Source/cmFileLock.h
@@ -37,7 +37,7 @@ class cmFileLock
 * @brief Lock the file.
 * @param timeoutSec Lock timeout. If -1 try until success or fatal error.
 */
-  cmFileLockResult Lock(const std::string filename, unsigned timeoutSec);
+  cmFileLockResult Lock(const std::string filename, unsigned long timeoutSec);
 
   /**
 * @brief Unlock the file.
@@ -57,7 +57,7 @@ class cmFileLock
 
   cmFileLockResult OpenFile();
   cmFileLockResult LockWithoutTimeout();
-  cmFileLockResult LockWithTimeout(unsigned timeoutSec);
+  cmFileLockResult LockWithTimeout(unsigned long timeoutSec);
 
 #if defined(_WIN32)
   typedef HANDLE FileId;
diff --git a/Source/cmFileLockPool.cxx b/Source/cmFileLockPool.cxx
index e84e71a..551a75a 100644
--- a/Source/cmFileLockPool.cxx
+++ b/Source/cmFileLockPool.cxx
@@ -60,7 +60,7 @@ void cmFileLockPool::PopFileScope()
 }
 
 cmFileLockResult cmFileLockPool::LockFunctionScope(
-const std::string filename, unsigned timeoutSec)
+const std::string filename, unsigned long timeoutSec)
 {
   if (this-IsAlreadyLocked(filename))
 {
@@ -74,7 +74,7 @@ cmFileLockResult cmFileLockPool::LockFunctionScope(
 }
 
 cmFileLockResult cmFileLockPool::LockFileScope(
-const std::string filename, unsigned timeoutSec)
+const std::string filename, unsigned long timeoutSec)
 {
   if (this-IsAlreadyLocked(filename))
 {
@@ -85,7 +85,7 @@ cmFileLockResult cmFileLockPool::LockFileScope(
 }
 
 cmFileLockResult cmFileLockPool::LockProcessScope(
-const std::string filename, unsigned timeoutSec)
+const std::string filename, unsigned long timeoutSec)
 {
   if (this-IsAlreadyLocked(filename))
 {
@@ -155,7 +155,7 @@ cmFileLockPool::ScopePool::~ScopePool()
 }
 
 cmFileLockResult cmFileLockPool::ScopePool::Lock(
-const std::string filename, unsigned 

Re: [cmake-developers] New command 'file(LOCK_DIRECTORY ...)'

2014-12-05 Thread Brad King
On 12/05/2014 09:51 AM, Ruslan Baratov wrote:
 Sending patch with 'long'.

Applied while also renaming to StringToLong, thanks:

 file: Use 'long' to represent the parsed LOCK TIMEOUT value
 http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=97841dad

 What granularity you think is appropriate, 100 ms? 10 ms? (It will be 
 value in `cmSystemTools::Delay(...);`)

On second thought, it is easy to change this later if a case comes up
that really needs it, so let's stay with 1s for now.

Thanks,
-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


Re: [cmake-developers] Which binaries should be required in FindLATEX?

2014-12-05 Thread Brad King
Hi Christoph,

Thanks for working on this.

On 12/05/2014 02:35 AM, Christoph Grüninger wrote:
 For users it would be great to simply have all these binaries.

I don't have all the converters installed but can still build PDF books.
The varying tools do not all come in the same package on Linux distros.

Of course most projects will want most or all of the tools.  For this
I think the FindLATEX module should implement support for the find_package
COMPONENTS option.  Then projects can specify what they need:

  find_package(LATEX COMPONENTS latex pdflatex bibtex ...)

and the module will compute the proper LATEX_FOUND value based on the
availability of all the requested components.

 If this is still to restrictive, I propose to only test for the LaTeX
 compiler and let the user check for the other binaries (with
 if(MAKEINDEX_COMPILER) )

With proper component support I think that proposal makes sense.
If no components are listed then LATEX_FOUND should be based only
on LATEX_COMPILER.  If components are listed then all of them
must be found.

Of course this approach can be implemented first to get FPHSA working
and component support added later.  Any components listed would just
be added to the list given to the REQUIRED_VARS option of FPHSA.

 In any case, I'll have to clarify this in the documentation for my next
 patch.

In the next revision please also add your name to the author field
instead of the Github user id.

Thanks,
-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


Re: [cmake-developers] [DISCUSSION] Using COMPONENTs for CMake install(...)?

2014-12-05 Thread Brad King
On 12/04/2014 12:59 AM, Konstantin Podsvirov wrote:
 In the source tree, you can see some of the components.

The Debian packaging can serve as a good reference:

 cmake - cross-platform, open-source make system
 cmake-curses-gui - curses based user interface for CMake (ccmake)
 cmake-data - CMake data files (modules, templates and documentation)
 cmake-doc - extended documentation in various formats for CMake
 cmake-qt-gui - Qt4 based user interface for CMake (cmake-gui)

 For example:
 -- tools
  - cmake
  - cpack
  - ctest

Yes.

 -- scripts
  - modules
  - templates

These are the Debian cmake-data package.

 -- documentation
  - manual
   * html version
   * man pages

Debian packages the tool man pages with the tools due to their
policy of having documentation available for all commands.
Other manuals are in the separate cmake-doc package.  For
interactive installers I think we can keep all the docs in
their own packages separate from the tools since the doc
format could be made selectable.

The html and man pages could be placed in separate install
components too.

 -- according to
  - Qt (only necessary)

Separate components for each of the ccmake and cmake-gui
interactive dialogs makes sense.

With the above guidance please go ahead and work on the patch
if you want.  All the install() calls will need to be updated
with the proper COMPONENT option(s).

 Also I suggest to add in CMakeLists.txt option to control the
 installation of dependencies with CMake.
 For example the Qt library. This happens on Windows and Mac,
 but I think it is not always necessary in Linux.

This is a separate task, so let's focus on the components first.

-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


Re: [cmake-developers] why does the order of the options in file(GENERATE) matter?

2014-12-05 Thread Erik Sjölund
I see, thanks.
cheers,
Erik Sjölund

On Fri, Dec 5, 2014 at 7:32 PM, Brad King brad.k...@kitware.com wrote:
 On 12/05/2014 04:28 AM, Erik Sjölund wrote:
 The CMake documentation doesn't mention that the order matters:
 http://www.cmake.org/cmake/help/v3.1/command/file.html#command:file

 Why does the order of the options in file(GENERATE) matter?

 It was always implemented that way:

  
 http://www.cmake.org/gitweb?p=cmake.git;a=blob;f=Source/cmFileCommand.cxx;hb=v3.1.0-rc2#l3421

 but the order was dropped from the documentation by accident during
 reformatting.  I've fixed the documentation:

  Help: Document file(GENERATE) signature option order
  http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=fe21580b

 -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

Re: [cmake-developers] [DISCUSSION] Using COMPONENTs for CMake install(...)?

2014-12-05 Thread Konstantin Podsvirov
Hi, Brad!

05.12.2014, 22:33, Brad King brad.k...@kitware.com:
 On 12/04/2014 12:59 AM, Konstantin Podsvirov wrote:
 In the source tree, you can see some of the components.

 The Debian packaging can serve as a good reference:

 cmake - cross-platform, open-source make system
 cmake-curses-gui - curses based user interface for CMake (ccmake)
 cmake-data CMake data files (modules, templates and documentation)
 cmake-doc - extended documentation in various formats for CMake
 cmake-qt-gui - Qt4 based user interface for CMake (cmake-gui)

I agree. My way of studying operating systems started with Windows
and I spend a lot of time here.
Then I was introduced to Linux and chose Debian.

 For example:
 -- tools
 - cmake
 - cpack
 - ctest

 Yes.
 -- scripts
 - modules
 - templates

 These are the Debian cmake-data package.
 -- documentation
 - manual
 * html version
 * man pages

 Debian packages the tool man pages with the tools due to their
 policy of having documentation available for all commands.
 Other manuals are in the separate cmake-doc package. For
 interactive installers I think we can keep all the docs in
 their own separate packages from the tools since the doc
 format could be made selectable.

It is understandable.

 The html and man pages could be placed in separate install
 components too.
 -- according to
 - Qt (only necessary)

 Separate components for each of the ccmake and cmake-gui
 interactive dialogs makes sense.

 With the above guidance please go ahead and work on the patch
 if you want. All the install() calls will need to be updated
 with the proper COMPONENT option(s).

I am interested this task. Perhaps I will start working on my server in a 
separate branch.
I will try to create a graphical installers using CPack IFW
generator.

At first I plan to submit for debugging and testing the compiled version in 
Debian stable, and Windows 7. Unfortunately I have no way to test this for Mac. 
:-(

Brad what desktop do you use?

 Also I suggest to add in CMakeLists.txt option to control the
 installation of dependencies with CMake
 For example the Qt library. This happens on Windows and Mac
 but I think it is not always necessary in Linux.

 This is a separate task, so let's focus on the components first.

 -Brad

Well. A separate task separate from the main :-)

Thank you for writing this letter. I was waiting for him.

Regards,
Konstantin Podsvirov
-- 

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] Generate Eclipse project with support for c++ 11

2014-12-05 Thread Luca Gherardi
Hi all,

I’m writing a CMake file for a project that should be compiled both in Ubuntu 
and OS X.
I want to use eclipse as IDE, gcc and C++ 11.

I read different threads that suggest how to enable C++ 11 in eclipse.
According to them I included these lines in my CMake:

set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -std=c++11 -Wall)

if (${CMAKE_EXTRA_GENERATOR} MATCHES Eclipse CDT4)
set(CMAKE_CXX_COMPILER_ARG1 -std=c++11 CACHE STRING C++ version for 
eclipse FORCE)
set(CMAKE_ECLIPSE_VERSION 4.3 CACHE STRING Eclipse version FORCE)
endif (${CMAKE_EXTRA_GENERATOR} MATCHES Eclipse CDT4”)

However, eclipse still set a wrong value for the symbol __cplusplus (199711L 
instead of 201103L I guess).
For this reason eclipse is not able to index C++ 11 features such as shared 
pointer.
Therefore I get a syntax error also if the code compiles.

Any idea on how can I address this issue?

Thanks,
Luca




-- 

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

Re: [CMake] Correct settings to add docopt.cpp to target list

2014-12-05 Thread Adam Getchell
It turns out that CGAL's CGAL_CreateSingleSourceCGALProgram.cmake module
handles this nicely:

create_single_source_cgal_program( src/cdt-docopt.cpp
src/docopt/docopt.cpp)

does the trick.

Thanks for your consideration!

On Thu, Dec 4, 2014 at 10:54 PM, Adam Getchell adam.getch...@gmail.com
wrote:

 I should note that I'm doing an out of source build, and that for my
 project the following line works:

 ┌─[*adam*][Hapkido][*±*][docopt *✓*][~/CDT-plusplus/build]

 └─▪ clang++ --std=c++11 --stdlib=libc++ -I ../src/docopt
 ../src/docopt/docopt.cpp ../src/cdt-docopt.cpp -o cdt_docopt

 On Thu, Dec 4, 2014 at 9:30 PM, Adam Getchell adam.getch...@gmail.com
 wrote:

 Hello all,

 I’m trying to use the docopt.cpp parser for my project[1]:

 https://github.com/docopt/docopt.cpp

 The usual invocation to build works:

 ┌─[*adam*][Hapkido][*±*][docopt *✗*][~/CDT-plusplus/src/docopt]
 └─▪ clang++ --std=c++11 --stdlib=libc++ -I . docopt.cpp
 examples/naval_fate.cpp -o naval_fate

 So, I want to add docopt.cpp and have the compiler look for header files
 in the same directory, and add that to my executable.

 So far, what I’ve attempted is to add the lines:

 include_directories (BEFORE src/docopt)
 add_library(docopt.cpp src/docopt/docopt.cpp”)

 My program uses CGAL[2], and all of those library headers are
 incorporated using the create_single_source_cgal_program function in the
 CGAL_CreateSingleSourceCGALProgram.cmake module.

 The error messages I’m getting correspond to the ones I get when
 docopt.cpp is not included:

 ┌─[*adam*][Hapkido][*±*][docopt *✗*][~/CDT-plusplus/src/docopt]
 └─▪ clang++ --std=c++11 --stdlib=libc++ -I . examples/naval_fate.cpp -o
 naval_fate
 Undefined symbols for architecture x86_64:
   docopt::docopt(std::__1::basic_stringchar,
 std::__1::char_traitschar, std::__1::allocatorchar  const,
 std::__1::vectorstd::__1::basic_stringchar, std::__1::char_traitschar,
 std::__1::allocatorchar ,
 std::__1::allocatorstd::__1::basic_stringchar,
 std::__1::char_traitschar, std::__1::allocatorcharconst, bool,
 std::__1::basic_stringchar, std::__1::char_traitschar,
 std::__1::allocatorchar  const, bool), referenced from:
   _main in naval_fate-780283.o
   docopt::operator(std::__1::basic_ostreamchar,
 std::__1::char_traitschar , docopt::value const), referenced from:
   _main in naval_fate-780283.o
 ld: symbol(s) not found for architecture x86_64
 clang: error: linker command failed with exit code 1 (use -v to see
 invocation)

 Compare to:

 ┌─[*adam*][Hapkido][*±*][docopt *✗*][~/CDT-plusplus]
 └─▪ ./build.sh
 -- The C compiler identification is AppleClang 6.0.0.654
 -- The CXX compiler identification is AppleClang 6.0.0.654
 -- Check for working C compiler using: Ninja
 -- Check for working C compiler using: Ninja -- works
 -- Detecting C compiler ABI info
 -- Detecting C compiler ABI info - done
 -- Check for working CXX compiler using: Ninja
 -- Check for working CXX compiler using: Ninja -- works
 -- Detecting CXX compiler ABI info
 -- Detecting CXX compiler ABI info - done
 -- Build type: Release
 -- USING CXXFLAGS = ' -O3 -DNDEBUG'
 -- USING EXEFLAGS = '
 -Wl,-dylib_file,/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib:/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib
 '
 -- Targetting Ninja
 -- Using /usr/bin/c++ compiler.
 -- DARWIN_VERSION=14
 -- Mac Leopard detected
 -- Requested component: Core
 -- Requested component: MPFR
 -- Requested component: GMP
 -- Found Eigen3: /usr/local/include/eigen3 (found suitable version
 3.2.2, minimum required is 3.1.0)
 -- Configuring done
 -- Generating done
 -- Build files have been written to: /Users/adam/CDT-plusplus/build
 [10/13] Linking CXX executable cdt-docopt
 FAILED: :  /usr/bin/c++   -O3 -DNDEBUG -Wl,-search_paths_first
 -Wl,-headerpad_max_install_names
 -Wl,-dylib_file,/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib:/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib
 CMakeFiles/cdt-docopt.dir/src/cdt-docopt.cpp.o  -o cdt-docopt
 -L/Users/adam/gmock-1.7.0/lib/.libs
 -L/Users/adam/gmock-1.7.0/gtest/lib/.libs /usr/local/lib/libmpfr.dylib
 /usr/local/lib/libgmp.dylib /usr/local/lib/libCGAL_Core.dylib
 /usr/local/lib/libCGAL.dylib /usr/local/lib/libboost_thread-mt.dylib
 /usr/local/lib/libboost_system-mt.dylib /usr/local/lib/libCGAL_Core.dylib
 /usr/local/lib/libCGAL.dylib /usr/local/lib/libboost_thread-mt.dylib
 /usr/local/lib/libboost_system-mt.dylib
 -Wl,-rpath,/Users/adam/gmock-1.7.0/lib/.libs
 -Wl,-rpath,/Users/adam/gmock-1.7.0/gtest/lib/.libs  :
 Undefined symbols for architecture x86_64:
   docopt::docopt(std::__1::basic_stringchar,
 std::__1::char_traitschar, std::__1::allocatorchar  const,
 std::__1::vectorstd::__1::basic_stringchar, std::__1::char_traitschar,
 std::__1::allocatorchar ,
 std::__1::allocatorstd::__1::basic_stringchar,
 std::__1::char_traitschar, std::__1::allocatorcharconst, bool,
 

Re: [CMake] Visual Studio 12 C++ Compiler Detection

2014-12-05 Thread Jakub Zakrzewski

 So, it appears to find the compiler OK since it emits the correct compiler 
 identification. But, the actual value of CMAKE_CXX_COMPILER is not usable. If 
 you try to execute
 C:/Program…./x86_amd64/cl.exe from within a CMake script or even from the 
 command line, it will fail and produce the well-known “0xc07b” dialog 
 (missing DLL). Unless you’ve sourced  vcvarsx86_amd64.bat, the correct 
 environment variables are not set for this version of the compiler.

 On the other hand, if I do “cmake –G NMake Makefiles”, I get what I expect:

 Namely, it finds C:/Program…./amd64/cl.exe.

 I would like to see how it is coming up with this version of the compiler 
 which isn’t even in the PATH.

Hi Allen,

CMake does not pay attention to the PATH when you ask for VisualStudio 
generator. It simply finds it using it's internal logic. The generated projects 
are suitable for opening in the IDE.
The NMake generator behaves much more like Unix Makefiles generator, so it is 
sensitive to the environment variables and remembers all variables it needs.

--
Gruesse,
Jakub





-- 

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

[CMake] Get native build command with CMake 3+

2014-12-05 Thread Petr Kmoch
Hi all.

I'm converting a small Makefile-based project to CMake. The project is not
mine, so I am trying to match its existing buildsystem as closely as
possible.

One of the rules in the original Makefile is (simplified) as follows:

examples: all
  make -C example_dir all

This gives a target 'examples' in the top-level Makefile, which is not
included in 'all', but can be used to build all examples. I would like to
achieve something similar with CMake.

I added example_dir/CMakeLists.txt, which includes a project() command and
defines all the targets for example executables. In the toplevel CMakeList,
I did this:

# Add the subdirectory but don't include its targets by default
add_subdirectory(example_dir EXCLUDE_FROM_ALL)

# Add a custom target to build all examples
add_custom_target(examples ???)

I'm stuck at the custom target. What I need for its command is a
generator-agnostic equivalent for 'make -C example_dir all' (or 'make -f
example_dir/Makefile all').

I tried 'cmake --build ${CMAKE_CURRENT_BINARY_DIR}/example_dir ...', but
this complains that example_dir does not contain a CMakeCache.txt (which is
correct of course, it's not the toplevel directory). Then I remembered that
build_command() can be used to get a command line to build a project;
unfortunately, in 3.0 and later, this just returns 'cmake --build ...' and
so is unusable in my situation.

Is there a way to query CMake for the native command line (or something
else) I could use to build the CMake-generated buildsystem in the
subdirectory? I thought a bit about CMAKE_MAKE_PROGRAM, but that doesn't
tell me anything about what arguments I should pass, and it's not even set
on Visual Studio generators.

As a workaround, I thought of not doing add_subdirectory() at all and
instead adding a custom target with 'ctest --build-and-test ...', but I
would prefer to configure  generate the two directories together. I plan
to eventually add install() rules for the examples as well, and the
examples also use one of the targets from the toplevel cmakelist in
add_custom_command(OUTPUT ...), so I would really like to keep them as one
CMake system. Is there a way to do so?

Petr
-- 

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

Re: [CMake] Get native build command with CMake 3+

2014-12-05 Thread David Cole via CMake
Try:

cmake --build . --target examples

(where . represents the current working directory, and assumes
you're in the top level build tree...)


On Fri, Dec 5, 2014 at 5:46 AM, Petr Kmoch petr.km...@gmail.com wrote:
 Hi all.

 I'm converting a small Makefile-based project to CMake. The project is not
 mine, so I am trying to match its existing buildsystem as closely as
 possible.

 One of the rules in the original Makefile is (simplified) as follows:

 examples: all
   make -C example_dir all

 This gives a target 'examples' in the top-level Makefile, which is not
 included in 'all', but can be used to build all examples. I would like to
 achieve something similar with CMake.

 I added example_dir/CMakeLists.txt, which includes a project() command and
 defines all the targets for example executables. In the toplevel CMakeList,
 I did this:

 # Add the subdirectory but don't include its targets by default
 add_subdirectory(example_dir EXCLUDE_FROM_ALL)

 # Add a custom target to build all examples
 add_custom_target(examples ???)

 I'm stuck at the custom target. What I need for its command is a
 generator-agnostic equivalent for 'make -C example_dir all' (or 'make -f
 example_dir/Makefile all').

 I tried 'cmake --build ${CMAKE_CURRENT_BINARY_DIR}/example_dir ...', but
 this complains that example_dir does not contain a CMakeCache.txt (which is
 correct of course, it's not the toplevel directory). Then I remembered that
 build_command() can be used to get a command line to build a project;
 unfortunately, in 3.0 and later, this just returns 'cmake --build ...' and
 so is unusable in my situation.

 Is there a way to query CMake for the native command line (or something
 else) I could use to build the CMake-generated buildsystem in the
 subdirectory? I thought a bit about CMAKE_MAKE_PROGRAM, but that doesn't
 tell me anything about what arguments I should pass, and it's not even set
 on Visual Studio generators.

 As a workaround, I thought of not doing add_subdirectory() at all and
 instead adding a custom target with 'ctest --build-and-test ...', but I
 would prefer to configure  generate the two directories together. I plan to
 eventually add install() rules for the examples as well, and the examples
 also use one of the targets from the toplevel cmakelist in
 add_custom_command(OUTPUT ...), so I would really like to keep them as one
 CMake system. Is there a way to do so?

 Petr

 --

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

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


Re: [CMake] Visual Studio 12 C++ Compiler Detection

2014-12-05 Thread Allen Barnett
Hi Jakub: Thanks for the tip. What is the proper way to execute the compiler 
during the initial configure step? try_compile?

Thanks,
Allen

 So, it appears to find the compiler OK since it emits the correct compiler 
 identification. But, the actual value of CMAKE_CXX_COMPILER is not usable. If 
 you try to execute 
 C:/Program…./x86_amd64/cl.exe from within a CMake script or even from the 
 command line, it will fail and produce the well-known “0xc07b” dialog 
 (missing DLL). Unless you’ve sourced  vcvarsx86_amd64.bat, the correct 
 environment variables are not set for this version of the compiler.

 On the other hand, if I do “cmake –G NMake Makefiles”, I get what I expect:

 Namely, it finds C:/Program…./amd64/cl.exe.

 I would like to see how it is coming up with this version of the compiler 
 which isn’t even in the PATH.

Hi Allen,

CMake does not pay attention to the PATH when you ask for VisualStudio 
generator. It simply finds it using it's internal logic. The generated projects 
are suitable for opening in the IDE.
The NMake generator behaves much more like Unix Makefiles generator, so it is 
sensitive to the environment variables and remembers all variables it needs.


-- 

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

Re: [CMake] Get native build command with CMake 3+

2014-12-05 Thread Petr Kmoch
I assume you actually meant 'cmake --build . --target example_dir', the
name of the directory. 'examples' is the name of the custom target; if that
target's command was to build itself, I believe it would become a fork bomb.

Anyway, I tried it with the directory name, it doesn't work. I'm generating
with VS2008, and devenv was complaining about Invalid project. Which kind
of makes sense, there is no 'example_dir' project in the solution.

On Fri, Dec 5, 2014 at 2:59 PM, David Cole dlrd...@aol.com wrote:

 Try:

 cmake --build . --target examples

 (where . represents the current working directory, and assumes
 you're in the top level build tree...)


 On Fri, Dec 5, 2014 at 5:46 AM, Petr Kmoch petr.km...@gmail.com wrote:
  Hi all.
 
  I'm converting a small Makefile-based project to CMake. The project is
 not
  mine, so I am trying to match its existing buildsystem as closely as
  possible.
 
  One of the rules in the original Makefile is (simplified) as follows:
 
  examples: all
make -C example_dir all
 
  This gives a target 'examples' in the top-level Makefile, which is not
  included in 'all', but can be used to build all examples. I would like to
  achieve something similar with CMake.
 
  I added example_dir/CMakeLists.txt, which includes a project() command
 and
  defines all the targets for example executables. In the toplevel
 CMakeList,
  I did this:
 
  # Add the subdirectory but don't include its targets by default
  add_subdirectory(example_dir EXCLUDE_FROM_ALL)
 
  # Add a custom target to build all examples
  add_custom_target(examples ???)
 
  I'm stuck at the custom target. What I need for its command is a
  generator-agnostic equivalent for 'make -C example_dir all' (or 'make -f
  example_dir/Makefile all').
 
  I tried 'cmake --build ${CMAKE_CURRENT_BINARY_DIR}/example_dir ...', but
  this complains that example_dir does not contain a CMakeCache.txt (which
 is
  correct of course, it's not the toplevel directory). Then I remembered
 that
  build_command() can be used to get a command line to build a project;
  unfortunately, in 3.0 and later, this just returns 'cmake --build ...'
 and
  so is unusable in my situation.
 
  Is there a way to query CMake for the native command line (or something
  else) I could use to build the CMake-generated buildsystem in the
  subdirectory? I thought a bit about CMAKE_MAKE_PROGRAM, but that doesn't
  tell me anything about what arguments I should pass, and it's not even
 set
  on Visual Studio generators.
 
  As a workaround, I thought of not doing add_subdirectory() at all and
  instead adding a custom target with 'ctest --build-and-test ...', but I
  would prefer to configure  generate the two directories together. I
 plan to
  eventually add install() rules for the examples as well, and the examples
  also use one of the targets from the toplevel cmakelist in
  add_custom_command(OUTPUT ...), so I would really like to keep them as
 one
  CMake system. Is there a way to do so?
 
  Petr
 
  --
 
  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

-- 

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

Re: [CMake] Get native build command with CMake 3+

2014-12-05 Thread Micha Hergarden
Hello Petr,

In your example the original make command simply states that it should
switch to the example_dir and build an 'all' target there. It does not
specify how this target is build. That is the part that should end up in
your custom command. You can name the command 'examples', set WORKING_DIR
to the example_dir and then perform the steps needed to build. If you want
that to be a separate cmake based solution, you may want to take a look at
the external_project module.

With kind regards,
Micha Hergarden

2014-12-05 11:46 GMT+01:00 Petr Kmoch petr.km...@gmail.com:

 Hi all.

 I'm converting a small Makefile-based project to CMake. The project is not
 mine, so I am trying to match its existing buildsystem as closely as
 possible.

 One of the rules in the original Makefile is (simplified) as follows:

 examples: all
   make -C example_dir all

 This gives a target 'examples' in the top-level Makefile, which is not
 included in 'all', but can be used to build all examples. I would like to
 achieve something similar with CMake.

 I added example_dir/CMakeLists.txt, which includes a project() command and
 defines all the targets for example executables. In the toplevel CMakeList,
 I did this:

 # Add the subdirectory but don't include its targets by default
 add_subdirectory(example_dir EXCLUDE_FROM_ALL)

 # Add a custom target to build all examples
 add_custom_target(examples ???)

 I'm stuck at the custom target. What I need for its command is a
 generator-agnostic equivalent for 'make -C example_dir all' (or 'make -f
 example_dir/Makefile all').

 I tried 'cmake --build ${CMAKE_CURRENT_BINARY_DIR}/example_dir ...', but
 this complains that example_dir does not contain a CMakeCache.txt (which is
 correct of course, it's not the toplevel directory). Then I remembered that
 build_command() can be used to get a command line to build a project;
 unfortunately, in 3.0 and later, this just returns 'cmake --build ...' and
 so is unusable in my situation.

 Is there a way to query CMake for the native command line (or something
 else) I could use to build the CMake-generated buildsystem in the
 subdirectory? I thought a bit about CMAKE_MAKE_PROGRAM, but that doesn't
 tell me anything about what arguments I should pass, and it's not even set
 on Visual Studio generators.

 As a workaround, I thought of not doing add_subdirectory() at all and
 instead adding a custom target with 'ctest --build-and-test ...', but I
 would prefer to configure  generate the two directories together. I plan
 to eventually add install() rules for the examples as well, and the
 examples also use one of the targets from the toplevel cmakelist in
 add_custom_command(OUTPUT ...), so I would really like to keep them as one
 CMake system. Is there a way to do so?

 Petr

 --

 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

-- 

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

Re: [CMake] Get native build command with CMake 3+

2014-12-05 Thread Hendrik Sattler
Hi,

this original makefile rule was probably just a simplification.
Make your custom target depend on all example targets which link the desired 
parts, then you get what the original makefile author just didn't want to do 
manually: having built all examples and their dependencies.
And it's less ugly...

HS


Am 5. Dezember 2014 11:46:03 MEZ, schrieb Petr Kmoch petr.km...@gmail.com:
Hi all.

I'm converting a small Makefile-based project to CMake. The project is
not
mine, so I am trying to match its existing buildsystem as closely as
possible.

One of the rules in the original Makefile is (simplified) as follows:

examples: all
  make -C example_dir all

This gives a target 'examples' in the top-level Makefile, which is not
included in 'all', but can be used to build all examples. I would like
to
achieve something similar with CMake.

I added example_dir/CMakeLists.txt, which includes a project() command
and
defines all the targets for example executables. In the toplevel
CMakeList,
I did this:

# Add the subdirectory but don't include its targets by default
add_subdirectory(example_dir EXCLUDE_FROM_ALL)

# Add a custom target to build all examples
add_custom_target(examples ???)

I'm stuck at the custom target. What I need for its command is a
generator-agnostic equivalent for 'make -C example_dir all' (or 'make
-f
example_dir/Makefile all').

I tried 'cmake --build ${CMAKE_CURRENT_BINARY_DIR}/example_dir ...',
but
this complains that example_dir does not contain a CMakeCache.txt
(which is
correct of course, it's not the toplevel directory). Then I remembered
that
build_command() can be used to get a command line to build a project;
unfortunately, in 3.0 and later, this just returns 'cmake --build ...'
and
so is unusable in my situation.

Is there a way to query CMake for the native command line (or something
else) I could use to build the CMake-generated buildsystem in the
subdirectory? I thought a bit about CMAKE_MAKE_PROGRAM, but that
doesn't
tell me anything about what arguments I should pass, and it's not even
set
on Visual Studio generators.

As a workaround, I thought of not doing add_subdirectory() at all and
instead adding a custom target with 'ctest --build-and-test ...', but I
would prefer to configure  generate the two directories together. I
plan
to eventually add install() rules for the examples as well, and the
examples also use one of the targets from the toplevel cmakelist in
add_custom_command(OUTPUT ...), so I would really like to keep them as
one
CMake system. Is there a way to do so?

Petr




-- 

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

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

Re: [CMake] Get native build command with CMake 3+

2014-12-05 Thread Petr Kmoch
Hi Micha.

I understand how the original works, and I know I can work around it with a
separate buildsystem (using e.g. ExternalProject_Add() or ctest
--build-and-test). I was just wondering: since CMake generates a .sln (or
Makefile) in the subdirectory (because I put a project() call in there),
does it somehow offer a way to build the 'all' target from that solution
(or Makefile)?

Petr

On Fri, Dec 5, 2014 at 3:42 PM, Micha Hergarden micha.hergar...@gmail.com
wrote:

 Hello Petr,

 In your example the original make command simply states that it should
 switch to the example_dir and build an 'all' target there. It does not
 specify how this target is build. That is the part that should end up in
 your custom command. You can name the command 'examples', set WORKING_DIR
 to the example_dir and then perform the steps needed to build. If you want
 that to be a separate cmake based solution, you may want to take a look at
 the external_project module.

 With kind regards,
 Micha Hergarden

 2014-12-05 11:46 GMT+01:00 Petr Kmoch petr.km...@gmail.com:

 Hi all.

 I'm converting a small Makefile-based project to CMake. The project is
 not mine, so I am trying to match its existing buildsystem as closely as
 possible.

 One of the rules in the original Makefile is (simplified) as follows:

 examples: all
   make -C example_dir all

 This gives a target 'examples' in the top-level Makefile, which is not
 included in 'all', but can be used to build all examples. I would like to
 achieve something similar with CMake.

 I added example_dir/CMakeLists.txt, which includes a project() command
 and defines all the targets for example executables. In the toplevel
 CMakeList, I did this:

 # Add the subdirectory but don't include its targets by default
 add_subdirectory(example_dir EXCLUDE_FROM_ALL)

 # Add a custom target to build all examples
 add_custom_target(examples ???)

 I'm stuck at the custom target. What I need for its command is a
 generator-agnostic equivalent for 'make -C example_dir all' (or 'make -f
 example_dir/Makefile all').

 I tried 'cmake --build ${CMAKE_CURRENT_BINARY_DIR}/example_dir ...', but
 this complains that example_dir does not contain a CMakeCache.txt (which is
 correct of course, it's not the toplevel directory). Then I remembered that
 build_command() can be used to get a command line to build a project;
 unfortunately, in 3.0 and later, this just returns 'cmake --build ...' and
 so is unusable in my situation.

 Is there a way to query CMake for the native command line (or something
 else) I could use to build the CMake-generated buildsystem in the
 subdirectory? I thought a bit about CMAKE_MAKE_PROGRAM, but that doesn't
 tell me anything about what arguments I should pass, and it's not even set
 on Visual Studio generators.

 As a workaround, I thought of not doing add_subdirectory() at all and
 instead adding a custom target with 'ctest --build-and-test ...', but I
 would prefer to configure  generate the two directories together. I plan
 to eventually add install() rules for the examples as well, and the
 examples also use one of the targets from the toplevel cmakelist in
 add_custom_command(OUTPUT ...), so I would really like to keep them as one
 CMake system. Is there a way to do so?

 Petr

 --

 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



-- 

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

Re: [CMake] Get native build command with CMake 3+

2014-12-05 Thread David Cole via CMake
No, I meant exactly what I said.

--target takes a CMake target name.


HTH,
D



On Fri, Dec 5, 2014 at 9:23 AM, Petr Kmoch petr.km...@gmail.com wrote:
 I assume you actually meant 'cmake --build . --target example_dir', the name
 of the directory. 'examples' is the name of the custom target; if that
 target's command was to build itself, I believe it would become a fork bomb.

 Anyway, I tried it with the directory name, it doesn't work. I'm generating
 with VS2008, and devenv was complaining about Invalid project. Which kind
 of makes sense, there is no 'example_dir' project in the solution.

 On Fri, Dec 5, 2014 at 2:59 PM, David Cole dlrd...@aol.com wrote:

 Try:

 cmake --build . --target examples

 (where . represents the current working directory, and assumes
 you're in the top level build tree...)


 On Fri, Dec 5, 2014 at 5:46 AM, Petr Kmoch petr.km...@gmail.com wrote:
  Hi all.
 
  I'm converting a small Makefile-based project to CMake. The project is
  not
  mine, so I am trying to match its existing buildsystem as closely as
  possible.
 
  One of the rules in the original Makefile is (simplified) as follows:
 
  examples: all
make -C example_dir all
 
  This gives a target 'examples' in the top-level Makefile, which is not
  included in 'all', but can be used to build all examples. I would like
  to
  achieve something similar with CMake.
 
  I added example_dir/CMakeLists.txt, which includes a project() command
  and
  defines all the targets for example executables. In the toplevel
  CMakeList,
  I did this:
 
  # Add the subdirectory but don't include its targets by default
  add_subdirectory(example_dir EXCLUDE_FROM_ALL)
 
  # Add a custom target to build all examples
  add_custom_target(examples ???)
 
  I'm stuck at the custom target. What I need for its command is a
  generator-agnostic equivalent for 'make -C example_dir all' (or 'make -f
  example_dir/Makefile all').
 
  I tried 'cmake --build ${CMAKE_CURRENT_BINARY_DIR}/example_dir ...', but
  this complains that example_dir does not contain a CMakeCache.txt (which
  is
  correct of course, it's not the toplevel directory). Then I remembered
  that
  build_command() can be used to get a command line to build a project;
  unfortunately, in 3.0 and later, this just returns 'cmake --build ...'
  and
  so is unusable in my situation.
 
  Is there a way to query CMake for the native command line (or something
  else) I could use to build the CMake-generated buildsystem in the
  subdirectory? I thought a bit about CMAKE_MAKE_PROGRAM, but that doesn't
  tell me anything about what arguments I should pass, and it's not even
  set
  on Visual Studio generators.
 
  As a workaround, I thought of not doing add_subdirectory() at all and
  instead adding a custom target with 'ctest --build-and-test ...', but I
  would prefer to configure  generate the two directories together. I
  plan to
  eventually add install() rules for the examples as well, and the
  examples
  also use one of the targets from the toplevel cmakelist in
  add_custom_command(OUTPUT ...), so I would really like to keep them as
  one
  CMake system. Is there a way to do so?
 
  Petr
 
  --
 
  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


-- 

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


Re: [CMake] Get native build command with CMake 3+

2014-12-05 Thread Petr Kmoch
OK, sorry for misunderstanding. But then I don't have a target like this.
Basically, I am trying to create a custom target that would do this:

# When using Makefile generator
add_custom_target(
  examples
  COMMAND make -C example_dir all
  VERBATIM
)

# When using vs2008 generator
add_custom_target(
  examples
  COMMAND devenv Examples.sln /Build /Project:ALL_BUILD
/ProjectConfig:$CONFIG
  WORKING_DIRECTORY example_dir
  VERBATIM
)

# When using vs2010 generator, use msbuild
# etc...

without having to hardcode the logic (CMake must have this info inside
somewhere). So I am effectively trying to *create* the target 'examples'.

My current solution is to make the custom target empty and have it depend
on all the targets in example_dir. But this has two consequences I don't
like:
1. I have to collect the target names in example_dir/CMakeLists.txt, as it
has to communicate them to its parent
2. Being dependecies, the targets from example_dir show up in the toplevel
solution file/Makefile. I was trying to prevent that.

I looked at the commit message which changed build_command() from returning
the native command line to returning cmake --build, at it mentions the fact
that sometimes, the native tool has to be selected based on the contents of
the solution (devenv instead of msbuild when ifort is involved). So I guess
the only way to get what I want would be with a generator expression (one
which does not currently exist).

I guess I'll stick to my workaround with dependencies. But thanks for your
help.

Petr

On Fri, Dec 5, 2014 at 4:19 PM, David Cole dlrd...@aol.com wrote:

 No, I meant exactly what I said.

 --target takes a CMake target name.


 HTH,
 D



 On Fri, Dec 5, 2014 at 9:23 AM, Petr Kmoch petr.km...@gmail.com wrote:
  I assume you actually meant 'cmake --build . --target example_dir', the
 name
  of the directory. 'examples' is the name of the custom target; if that
  target's command was to build itself, I believe it would become a fork
 bomb.
 
  Anyway, I tried it with the directory name, it doesn't work. I'm
 generating
  with VS2008, and devenv was complaining about Invalid project. Which
 kind
  of makes sense, there is no 'example_dir' project in the solution.
 
  On Fri, Dec 5, 2014 at 2:59 PM, David Cole dlrd...@aol.com wrote:
 
  Try:
 
  cmake --build . --target examples
 
  (where . represents the current working directory, and assumes
  you're in the top level build tree...)
 
 
  On Fri, Dec 5, 2014 at 5:46 AM, Petr Kmoch petr.km...@gmail.com
 wrote:
   Hi all.
  
   I'm converting a small Makefile-based project to CMake. The project is
   not
   mine, so I am trying to match its existing buildsystem as closely as
   possible.
  
   One of the rules in the original Makefile is (simplified) as follows:
  
   examples: all
 make -C example_dir all
  
   This gives a target 'examples' in the top-level Makefile, which is not
   included in 'all', but can be used to build all examples. I would like
   to
   achieve something similar with CMake.
  
   I added example_dir/CMakeLists.txt, which includes a project() command
   and
   defines all the targets for example executables. In the toplevel
   CMakeList,
   I did this:
  
   # Add the subdirectory but don't include its targets by default
   add_subdirectory(example_dir EXCLUDE_FROM_ALL)
  
   # Add a custom target to build all examples
   add_custom_target(examples ???)
  
   I'm stuck at the custom target. What I need for its command is a
   generator-agnostic equivalent for 'make -C example_dir all' (or 'make
 -f
   example_dir/Makefile all').
  
   I tried 'cmake --build ${CMAKE_CURRENT_BINARY_DIR}/example_dir ...',
 but
   this complains that example_dir does not contain a CMakeCache.txt
 (which
   is
   correct of course, it's not the toplevel directory). Then I remembered
   that
   build_command() can be used to get a command line to build a project;
   unfortunately, in 3.0 and later, this just returns 'cmake --build ...'
   and
   so is unusable in my situation.
  
   Is there a way to query CMake for the native command line (or
 something
   else) I could use to build the CMake-generated buildsystem in the
   subdirectory? I thought a bit about CMAKE_MAKE_PROGRAM, but that
 doesn't
   tell me anything about what arguments I should pass, and it's not even
   set
   on Visual Studio generators.
  
   As a workaround, I thought of not doing add_subdirectory() at all and
   instead adding a custom target with 'ctest --build-and-test ...', but
 I
   would prefer to configure  generate the two directories together. I
   plan to
   eventually add install() rules for the examples as well, and the
   examples
   also use one of the targets from the toplevel cmakelist in
   add_custom_command(OUTPUT ...), so I would really like to keep them as
   one
   CMake system. Is there a way to do so?
  
   Petr
  
   --
  
   Powered by www.kitware.com
  
   Please keep messages on-topic and check the CMake FAQ at:
   

[CMake] unexpected behavior with TARGET_FILE_DIR and Visual Studio 2010

2014-12-05 Thread Michael Ellery
Hi cmake-users,
 
I have the following setup:

CMAKE: 3.0.2
Visual Studio 2010

In one of my cmake files, I’m trying to create a preprocessor definition based 
on the TARGET_FILE_DIR of a different target … so I’m trying this:

target_compile_definitions(my_target_B PUBLIC 
  -DTARGET_A_DIR=$TARGET_FILE_DIR:my_target_A 
)

When I run this for my visual studio build (2010), I get the following settings 
created in the project file:

test/my_target_B.vcxproj:95:  
PreprocessorDefinitionsWIN32;_WINDOWS;_DEBUG;_DEBUG;TARGET_A_DIR=Y:/work/some_lib/bld_win/src/my_target_A/Debug;CMAKE_INTDIR=Debug;%(PreprocessorDefinitions)/PreprocessorDefinitions
test/my_target_B.vcxproj:99:  
PreprocessorDefinitionsWIN32;_WINDOWS;_DEBUG;_DEBUG;TARGET_A_DIR=\Y:/work/some_lib/bld_win/src/my_target_A/Debug\;CMAKE_INTDIR=\Debug\;%(PreprocessorDefinitions)/PreprocessorDefinitions
test/my_target_B.vcxproj:392:  
PreprocessorDefinitionsWIN32;_WINDOWS;NDEBUG;TARGET_A_DIR=Y:/work/some_lib/bld_win/src/my_target_A/Debug;CMAKE_INTDIR=Release;%(PreprocessorDefinitions)/PreprocessorDefinitions
test/my_target_B.vcxproj:396:  
PreprocessorDefinitionsWIN32;_WINDOWS;NDEBUG;TARGET_A_DIR=\Y:/work/some_lib/bld_win/src/my_target_A/Debug\;CMAKE_INTDIR=\Release\;%(PreprocessorDefinitions)/PreprocessorDefinitions
test/my_target_B.vcxproj:689:  
PreprocessorDefinitionsWIN32;_WINDOWS;NDEBUG;TARGET_A_DIR=Y:/work/some_lib/bld_win/src/my_target_A/Debug;CMAKE_INTDIR=MinSizeRel;%(PreprocessorDefinitions)/PreprocessorDefinitions
test/my_target_B.vcxproj:693:  
PreprocessorDefinitionsWIN32;_WINDOWS;NDEBUG;TARGET_A_DIR=\Y:/work/some_lib/bld_win/src/my_target_A/Debug\;CMAKE_INTDIR=\MinSizeRel\;%(PreprocessorDefinitions)/PreprocessorDefinitions
test/my_target_B.vcxproj:986:  
PreprocessorDefinitionsWIN32;_WINDOWS;NDEBUG;TARGET_A_DIR=Y:/work/some_lib/bld_win/src/my_target_A/Debug;CMAKE_INTDIR=RelWithDebInfo;%(PreprocessorDefinitions)/PreprocessorDefinitions
test/my_target_B.vcxproj:990:  
PreprocessorDefinitionsWIN32;_WINDOWS;NDEBUG;TARGET_A_DIR=\Y:/work/some_lib/bld_win/src/my_target_A/Debug\;CMAKE_INTDIR=\RelWithDebInfo\;%(PreprocessorDefinitions)/PreprocessorDefinitions

in other words, it looks like the generator expression is only being evaluated 
once (as Debug) and then used for ALL of the build configs in the visual studio 
project.  This isn’t exactly what I want since I need the actual output dir for 
each config to be the correct one for that build type.

This same thing works fine on my linux/makefile build since the output dir is 
the same for all builds.

Can anyone offer advice? Is this how the visual studio generator works or is 
this possibly a bug in CMake?

Thanks,
Mike


signature.asc
Description: Message signed with OpenPGP using GPGMail
-- 

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

Re: [CMake] project directive overwrites CMAKE_INSTALL_PREFIX?

2014-12-05 Thread Chris Johnson
Strangely, running cmake -DCMAKE_INSTALL_PREFIX=/some/path does NOT
rewrite the cmake_install.cmake, but does rewrite the CMakeCache.txt and
other files.  The result is a bad install path won't go away until one
manually removes the cmake_install.cmake file(s).

On Thu, Dec 4, 2014 at 9:48 PM, J Decker d3c...@gmail.com wrote:

 I find it's better to define CMAKE_INSTALL_PREFIX on the command line when
 building

 I do have this bit of code...

 IF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
   SET(CMAKE_INSTALL_PREFIX
 ${CMAKE_BINARY_DIR}/../${CMAKE_BUILD_TYPE}_out CACHE PATH Install
 default 'out' in this directory. FORCE
 )
 ENDIF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)


 which keeps it from overwriting an already set value (from the command
 line); and make sure it's in the cache so cmake-gui can edit it...

 (if  project() does something with cmake_isnstall_prefix might also be a
 bug)

 On Thu, Dec 4, 2014 at 7:27 PM, Chris Johnson cxjohn...@gmail.com wrote:

 I have a global include file used by all of the CMakeLists.txt files in
 my project. In it, I set the value of CMAKE_INSTALL_PREFIX, as well as a
 number of other variables and functions.

 In my CMakeLists.txt file, I had this:

 cmake_minimum_require(VERSION 2.8.4)
 include(global.inc)
 project(whatever)

 When I run cmake, the value of CMAKE_INSTALL_PREFIX is lost! Instead, in
 the resulting cmake_install.cmake file has been defaulted back to
 /usr/local which is completely wrong.

 However, if I change the order to this:

 cmake_minimum_require(VERSION 2.8.4)
 project(whatever)
 include(global.inc)

 It appears to work.

 I find nothing in the documentation saying that the project() directive
 will set CMAKE_INSTALL_PREFIX.

 Even more strangely, if I run cmake a second time with the first
 configuration (include before project), it will rewrite cmake_install.cmake
 with the correct value.
 ​ ​
 That is, the behavior of cmake appears to be different based on whether
 the build directory is empty or already contains cmake_install.cmake and
 CMakeCache.txt files
 ​, even though they contain the wrong path value for
 CMAKE_INSTALL_PREFIX.​

 What is going on here?






 --

 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



-- 

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

[CMake] Common language runtime

2014-12-05 Thread Apoorva Gaddagimath
Hi everyone,
I'm trying to add a .NET assembly reference to my CMake project. Various forums 
on Google suggested to use /clr. The problem I've found, is that while CMake 
sets the Common Language RunTime Support option in the C/C++ section of the 
configuration properties if /clr is in the CXX_FLAGS, it does not set the 
Common Language RunTime Support in the general configuration properties, and 
that causes problems with linking .NET references. Is there a different way to 
do this or a different approach Would greatly appreciate any help on this.

Thanks

Apoorva Gaddagimath
Software Engineer
Markit On Demand

Markit

5718 Central Avenue
Boulder, CO 80301
+1 720-648-4907
apoorva.gaddagim...@markit.commailto:apoorva.gaddagim...@markit.com
www.markit.comhttp://www.markit.com/




This e-mail, including accompanying communications and attachments, is strictly 
confidential and only for the intended recipient. Any retention, use or 
disclosure not expressly authorised by Markit is prohibited. This email is 
subject to all waivers and other terms at the following link: 
http://www.markit.com/en/about/legal/email-disclaimer.page

Please visit http://www.markit.com/en/about/contact/contact-us.page for contact 
information on our offices worldwide.
-- 

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

Re: [CMake] Common language runtime

2014-12-05 Thread J Decker
To enable compiling as/with CLR...

SET_TARGET_PROPERTIES(bag PROPERTIES
  COMPILE_FLAGS  /CLR )
# need to set unicode characters...
add_definitions( -D_UNICODE -DUNICODE )

string( REPLACE /EHsc  CMAKE_CXX_FLAGS_INIT ${CMAKE_CXX_FLAGS_INIT}
)
string( REPLACE /EHsc  CMAKE_C_FLAGS_INIT ${CMAKE_C_FLAGS_INIT} )
string( REPLACE /EHs  CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS_INIT} )
string( REPLACE /EHs  CMAKE_C_FLAGS_INIT ${CMAKE_C_FLAGS_INIT} )
string( REPLACE /RTC1  CMAKE_CXX_FLAGS_DEBUG
${CMAKE_CXX_FLAGS_DEBUG} )
# cannot set CLR for C code anyway; only C++
#string( REPLACE /RTC1 /CLR CMAKE_C_FLAGS_DEBUG
${CMAKE_C_FLAGS_DEBUG} )


set( FORCE_CXX ON )
force_cxx flag also forces compiling C as C++.

set_source_files_properties(${_SOURCES} PROPERTIES LANGUAGE CXX )



On Fri, Dec 5, 2014 at 1:11 PM, Apoorva Gaddagimath 
apoorva.gaddagim...@markit.com wrote:

  Hi everyone,

 I’m trying to add a .NET assembly reference to my CMake project. Various
 forums on Google suggested to use /clr. The problem I've found, is that
 while CMake sets the Common Language RunTime Support option in the C/C++
 section of the configuration properties if /clr is in the CXX_FLAGS, it
 does not set the Common Language RunTime Support in the general
 configuration properties, and that causes problems with linking .NET
 references. Is there a different way to do this or a different approach
 Would greatly appreciate any help on this.



 Thanks



 Apoorva Gaddagimath

 Software Engineer

 Markit On Demand



 Markit



 5718 Central Avenue

 Boulder, CO 80301

 +1 720-648-4907

 apoorva.gaddagim...@markit.com

 www.markit.com



 --

 This e-mail, including accompanying communications and attachments, is
 strictly confidential and only for the intended recipient. Any retention,
 use or disclosure not expressly authorised by Markit is prohibited. This
 email is subject to all waivers and other terms at the following link:
 http://www.markit.com/en/about/legal/email-disclaimer.page

 Please visit http://www.markit.com/en/about/contact/contact-us.page for
 contact information on our offices worldwide.

 --

 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

-- 

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

Re: [CMake] Get native build command with CMake 3+

2014-12-05 Thread J Decker
Isn't it as smiple as

add_subdirectory( examples_dir ) which has it's own CMakeLists?
Does it really have to build as an extra step or would

OPTION( BUILD_EXAMPLES Build Examples? ON )

if( BUILD_EXAMPLES)
add_subdirectory( examples_dir)
endif( BUILD_EXAMPLES)

On Fri, Dec 5, 2014 at 7:41 AM, Petr Kmoch petr.km...@gmail.com wrote:

 OK, sorry for misunderstanding. But then I don't have a target like this.
 Basically, I am trying to create a custom target that would do this:

 # When using Makefile generator
 add_custom_target(
   examples
   COMMAND make -C example_dir all
   VERBATIM
 )

 # When using vs2008 generator
 add_custom_target(
   examples
   COMMAND devenv Examples.sln /Build /Project:ALL_BUILD
 /ProjectConfig:$CONFIG
   WORKING_DIRECTORY example_dir
   VERBATIM
 )

 # When using vs2010 generator, use msbuild
 # etc...

 without having to hardcode the logic (CMake must have this info inside
 somewhere). So I am effectively trying to *create* the target 'examples'.

 My current solution is to make the custom target empty and have it depend
 on all the targets in example_dir. But this has two consequences I don't
 like:
 1. I have to collect the target names in example_dir/CMakeLists.txt, as it
 has to communicate them to its parent
 2. Being dependecies, the targets from example_dir show up in the toplevel
 solution file/Makefile. I was trying to prevent that.

 I looked at the commit message which changed build_command() from
 returning the native command line to returning cmake --build, at it
 mentions the fact that sometimes, the native tool has to be selected based
 on the contents of the solution (devenv instead of msbuild when ifort is
 involved). So I guess the only way to get what I want would be with a
 generator expression (one which does not currently exist).

 I guess I'll stick to my workaround with dependencies. But thanks for your
 help.

 Petr

 On Fri, Dec 5, 2014 at 4:19 PM, David Cole dlrd...@aol.com wrote:

 No, I meant exactly what I said.

 --target takes a CMake target name.


 HTH,
 D



 On Fri, Dec 5, 2014 at 9:23 AM, Petr Kmoch petr.km...@gmail.com wrote:
  I assume you actually meant 'cmake --build . --target example_dir', the
 name
  of the directory. 'examples' is the name of the custom target; if that
  target's command was to build itself, I believe it would become a fork
 bomb.
 
  Anyway, I tried it with the directory name, it doesn't work. I'm
 generating
  with VS2008, and devenv was complaining about Invalid project. Which
 kind
  of makes sense, there is no 'example_dir' project in the solution.
 
  On Fri, Dec 5, 2014 at 2:59 PM, David Cole dlrd...@aol.com wrote:
 
  Try:
 
  cmake --build . --target examples
 
  (where . represents the current working directory, and assumes
  you're in the top level build tree...)
 
 
  On Fri, Dec 5, 2014 at 5:46 AM, Petr Kmoch petr.km...@gmail.com
 wrote:
   Hi all.
  
   I'm converting a small Makefile-based project to CMake. The project
 is
   not
   mine, so I am trying to match its existing buildsystem as closely as
   possible.
  
   One of the rules in the original Makefile is (simplified) as follows:
  
   examples: all
 make -C example_dir all
  
   This gives a target 'examples' in the top-level Makefile, which is
 not
   included in 'all', but can be used to build all examples. I would
 like
   to
   achieve something similar with CMake.
  
   I added example_dir/CMakeLists.txt, which includes a project()
 command
   and
   defines all the targets for example executables. In the toplevel
   CMakeList,
   I did this:
  
   # Add the subdirectory but don't include its targets by default
   add_subdirectory(example_dir EXCLUDE_FROM_ALL)
  
   # Add a custom target to build all examples
   add_custom_target(examples ???)
  
   I'm stuck at the custom target. What I need for its command is a
   generator-agnostic equivalent for 'make -C example_dir all' (or
 'make -f
   example_dir/Makefile all').
  
   I tried 'cmake --build ${CMAKE_CURRENT_BINARY_DIR}/example_dir ...',
 but
   this complains that example_dir does not contain a CMakeCache.txt
 (which
   is
   correct of course, it's not the toplevel directory). Then I
 remembered
   that
   build_command() can be used to get a command line to build a project;
   unfortunately, in 3.0 and later, this just returns 'cmake --build
 ...'
   and
   so is unusable in my situation.
  
   Is there a way to query CMake for the native command line (or
 something
   else) I could use to build the CMake-generated buildsystem in the
   subdirectory? I thought a bit about CMAKE_MAKE_PROGRAM, but that
 doesn't
   tell me anything about what arguments I should pass, and it's not
 even
   set
   on Visual Studio generators.
  
   As a workaround, I thought of not doing add_subdirectory() at all and
   instead adding a custom target with 'ctest --build-and-test ...',
 but I
   would prefer to configure  generate the two directories together. I
   plan to
   eventually add 

Re: [CMake] project directive overwrites CMAKE_INSTALL_PREFIX?

2014-12-05 Thread Chris Johnson
This looks like a bug to me.  I have a very simple test case where
CMAKE_INSTALL_PREFIX is set correctly if I do so after the project()
statement, and fails to be set correctly if I do it before the project()
statement.

On Fri, Dec 5, 2014 at 2:06 PM, Chris Johnson cxjohn...@gmail.com wrote:

 Strangely, running cmake -DCMAKE_INSTALL_PREFIX=/some/path does NOT
 rewrite the cmake_install.cmake, but does rewrite the CMakeCache.txt and
 other files.  The result is a bad install path won't go away until one
 manually removes the cmake_install.cmake file(s).

 On Thu, Dec 4, 2014 at 9:48 PM, J Decker d3c...@gmail.com wrote:

 I find it's better to define CMAKE_INSTALL_PREFIX on the command line
 when building

 I do have this bit of code...

 IF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
   SET(CMAKE_INSTALL_PREFIX
 ${CMAKE_BINARY_DIR}/../${CMAKE_BUILD_TYPE}_out CACHE PATH Install
 default 'out' in this directory. FORCE
 )
 ENDIF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)


 which keeps it from overwriting an already set value (from the command
 line); and make sure it's in the cache so cmake-gui can edit it...

 (if  project() does something with cmake_isnstall_prefix might also be a
 bug)

 On Thu, Dec 4, 2014 at 7:27 PM, Chris Johnson cxjohn...@gmail.com
 wrote:

 I have a global include file used by all of the CMakeLists.txt files in
 my project. In it, I set the value of CMAKE_INSTALL_PREFIX, as well as a
 number of other variables and functions.

 In my CMakeLists.txt file, I had this:

 cmake_minimum_require(VERSION 2.8.4)
 include(global.inc)
 project(whatever)

 When I run cmake, the value of CMAKE_INSTALL_PREFIX is lost! Instead, in
 the resulting cmake_install.cmake file has been defaulted back to
 /usr/local which is completely wrong.

 However, if I change the order to this:

 cmake_minimum_require(VERSION 2.8.4)
 project(whatever)
 include(global.inc)

 It appears to work.

 I find nothing in the documentation saying that the project() directive
 will set CMAKE_INSTALL_PREFIX.

 Even more strangely, if I run cmake a second time with the first
 configuration (include before project), it will rewrite cmake_install.cmake
 with the correct value.
 ​ ​
 That is, the behavior of cmake appears to be different based on whether
 the build directory is empty or already contains cmake_install.cmake and
 CMakeCache.txt files
 ​, even though they contain the wrong path value for
 CMAKE_INSTALL_PREFIX.​

 What is going on here?






 --

 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




-- 

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

[Cmake-commits] CMake branch, next, updated. v3.1.0-rc2-1117-g677d66d

2014-12-05 Thread Daniele E . Domenichelli
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project CMake.

The branch, next has been updated
   via  677d66d06472560a5c9dedfec73e093ee40db2c6 (commit)
   via  636f0c1d4fa3f003fff406b27306cd6883bcec75 (commit)
   via  c90633df9eacb3063669ac0aad9506cea1885582 (commit)
  from  6fe28452898c3fea0bf021cacfe0885686e517dd (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=677d66d06472560a5c9dedfec73e093ee40db2c6
commit 677d66d06472560a5c9dedfec73e093ee40db2c6
Merge: 6fe2845 636f0c1
Author: Daniele E. Domenichelli daniele.domeniche...@gmail.com
AuthorDate: Fri Dec 5 04:29:03 2014 -0500
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Fri Dec 5 04:29:03 2014 -0500

Merge topic 'ExternalProject_TEST_EXCLUDE_FROM_MAIN' into next

636f0c1d ExternalProject: Add TEST_EXCLUDE_FROM_MAIN option
c90633df CMake Nightly Date Stamp


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=636f0c1d4fa3f003fff406b27306cd6883bcec75
commit 636f0c1d4fa3f003fff406b27306cd6883bcec75
Author: Daniele E. Domenichelli daniele.domeniche...@iit.it
AuthorDate: Sun Nov 30 22:28:43 2014 +0100
Commit: Daniele E. Domenichelli daniele.domeniche...@iit.it
CommitDate: Fri Dec 5 10:24:16 2014 +0100

ExternalProject: Add TEST_EXCLUDE_FROM_MAIN option

If this option is enabled, the test step is created with the
EXCLUDE_FROM_MAIN option, and if TEST_BEFORE_INSTALL is enabled, the
install step does not depend on the test step.

This means that the test step is never executed, unless the test target
is explicitly created by calling ExternalProject_Add_StepTarget, or by
passing it with the STEP_TARGETS option, or with the EP_STEP_TARGETS
directory property.

diff --git a/Help/release/dev/ExternalProject_TEST_EXCLUDE_FROM_MAIN.rst 
b/Help/release/dev/ExternalProject_TEST_EXCLUDE_FROM_MAIN.rst
new file mode 100644
index 000..dfbf108
--- /dev/null
+++ b/Help/release/dev/ExternalProject_TEST_EXCLUDE_FROM_MAIN.rst
@@ -0,0 +1,6 @@
+ExternalProject_TEST_EXCLUDE_FROM_MAIN
+--
+
+* The :module:`ExternalProject` module :command:`ExternalProject_Add`
+  command learned a ``TEST_EXCLUDE_FROM_MAIN`` option to exclude tests
+  from the main build.
diff --git a/Modules/ExternalProject.cmake b/Modules/ExternalProject.cmake
index e5616b1..7e4cc37 100644
--- a/Modules/ExternalProject.cmake
+++ b/Modules/ExternalProject.cmake
@@ -149,6 +149,8 @@ Create custom targets to build projects in external trees
 Add test step executed before install step
   ``TEST_AFTER_INSTALL 1``
 Add test step executed after install step
+  ``TEST_EXCLUDE_FROM_MAIN 1``
+Main target does not depend on the test step
   ``TEST_COMMAND cmd...``
 Command to drive test
 
@@ -2193,12 +2195,13 @@ function(_ep_add_test_command name)
 
   get_property(before TARGET ${name} PROPERTY _EP_TEST_BEFORE_INSTALL)
   get_property(after TARGET ${name} PROPERTY _EP_TEST_AFTER_INSTALL)
+  get_property(exclude TARGET ${name} PROPERTY _EP_TEST_EXCLUDE_FROM_MAIN)
   get_property(cmd_set TARGET ${name} PROPERTY _EP_TEST_COMMAND SET)
 
   # Only actually add the test step if one of the test related properties is
   # explicitly set. (i.e. the test step is omitted unless requested...)
   #
-  if(cmd_set OR before OR after)
+  if(cmd_set OR before OR after OR exclude)
 if(cmd_set)
   get_property(cmd TARGET ${name} PROPERTY _EP_TEST_COMMAND)
 else()
@@ -2206,9 +2209,21 @@ function(_ep_add_test_command name)
 endif()
 
 if(before)
-  set(dep_args DEPENDEES build DEPENDERS install)
+  set(dependees_args DEPENDEES build)
 else()
-  set(dep_args DEPENDEES install)
+  set(dependees_args DEPENDEES install)
+endif()
+
+if(exclude)
+  set(dependers_args )
+  set(exclude_args EXCLUDE_FROM_MAIN 1)
+else()
+  if(before)
+set(dependers_args DEPENDERS install)
+  else()
+set(dependers_args )
+  endif()
+  set(exclude_args )
 endif()
 
 get_property(log TARGET ${name} PROPERTY _EP_LOG_TEST)
@@ -2221,7 +2236,9 @@ function(_ep_add_test_command name)
 ExternalProject_Add_Step(${name} test
   COMMAND ${cmd}
   WORKING_DIRECTORY ${binary_dir}
-  ${dep_args}
+  ${dependees_args}
+  ${dependers_args}
+  ${exclude_args}
   ${log}
   )
   endif()
diff --git a/Tests/ExternalProjectLocal/CMakeLists.txt 
b/Tests/ExternalProjectLocal/CMakeLists.txt
index cbbb555..9476ab4 100644
--- a/Tests/ExternalProjectLocal/CMakeLists.txt
+++ b/Tests/ExternalProjectLocal/CMakeLists.txt
@@ -71,6 +71,31 @@ if(can_build_tutorial_step5)
 LOG_TEST 

[Cmake-commits] CMake branch, next, updated. v3.1.0-rc2-1124-gd13e65b

2014-12-05 Thread Brad King
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project CMake.

The branch, next has been updated
   via  d13e65b3db32a6060b833e96024a1526998b63ea (commit)
   via  65ea5eb721d820551653bf6471e83ed5f4a5ba13 (commit)
   via  644b4688d71cc52f8499d6103495de0909319557 (commit)
   via  8a4c6d2d2e66d210e5c2d59c86b3f1bff2582867 (commit)
  from  5e9dfe5a8dfb20bea7f219edb7b740b6b9ee6864 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d13e65b3db32a6060b833e96024a1526998b63ea
commit d13e65b3db32a6060b833e96024a1526998b63ea
Merge: 5e9dfe5 65ea5eb
Author: Brad King brad.k...@kitware.com
AuthorDate: Fri Dec 5 10:34:14 2014 -0500
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Fri Dec 5 10:34:14 2014 -0500

Merge topic 'custom-command-multiple-outputs' into next

65ea5eb7 Tests: Cover rebuild with multiple custom command outputs (#15116)
644b4688 Makefile: Fix rebuild with multiple custom command outputs (#15116)
8a4c6d2d Xcode: Fix rebuild with multiple custom command outputs (#15116)


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=65ea5eb721d820551653bf6471e83ed5f4a5ba13
commit 65ea5eb721d820551653bf6471e83ed5f4a5ba13
Author: Brad King brad.k...@kitware.com
AuthorDate: Fri Dec 5 09:56:26 2014 -0500
Commit: Brad King brad.k...@kitware.com
CommitDate: Fri Dec 5 09:56:26 2014 -0500

Tests: Cover rebuild with multiple custom command outputs (#15116)

Extend the BuildDepends test with a case covering multiple custom
command outputs with the second one consumed by another rule.  With the
old multiple output pair infrastructure used in the Makefile and Xcode
generators this did not work.  Now that it is fixed, test the case
explicitly.

diff --git a/Tests/BuildDepends/CMakeLists.txt 
b/Tests/BuildDepends/CMakeLists.txt
index 6209bb8..78e9e17 100644
--- a/Tests/BuildDepends/CMakeLists.txt
+++ b/Tests/BuildDepends/CMakeLists.txt
@@ -65,6 +65,7 @@ file(WRITE 
${BuildDepends_BINARY_DIR}/Project/link_depends_no_shared_exe.h
 set(link_depends_no_shared_check_txt 
${BuildDepends_BINARY_DIR}/Project/link_depends_no_shared_check.txt)
 
 file(WRITE ${BuildDepends_BINARY_DIR}/Project/external.in external 
original\n)
+file(WRITE ${BuildDepends_BINARY_DIR}/Project/multi1-in.txt multi1-in 
original\n)
 
 help_xcode_depends()
 
@@ -177,6 +178,19 @@ else()
 external.out is missing)
 endif()
 
+if(EXISTS ${BuildDepends_BINARY_DIR}/Project/multi1-out2-copy.txt)
+  file(STRINGS ${BuildDepends_BINARY_DIR}/Project/multi1-out2-copy.txt 
multi1_out)
+  if(${multi1_out} STREQUAL multi1-in original)
+message(STATUS multi1-out2-copy.txt contains '${multi1_out}')
+  else()
+message(SEND_ERROR Project did not initially build properly: 
+  multi1-out2-copy.txt contains '${multi1_out}')
+  endif()
+else()
+  message(SEND_ERROR Project did not initially build properly: 
+multi1-out2-copy.txt is missing)
+endif()
+
 message(Waiting 3 seconds...)
 execute_process(COMMAND ${CMAKE_COMMAND} -E sleep 3)
 
@@ -202,6 +216,7 @@ if(TEST_LINK_DEPENDS)
 endif()
 
 file(WRITE ${BuildDepends_BINARY_DIR}/Project/external.in external changed\n)
+file(WRITE ${BuildDepends_BINARY_DIR}/Project/multi1-in.txt multi1-in 
changed\n)
 
 help_xcode_depends()
 
@@ -319,3 +334,16 @@ else()
   message(SEND_ERROR Project did not rebuild properly: 
 external.out is missing)
 endif()
+
+if(EXISTS ${BuildDepends_BINARY_DIR}/Project/multi1-out2-copy.txt)
+  file(STRINGS ${BuildDepends_BINARY_DIR}/Project/multi1-out2-copy.txt 
multi1_out)
+  if(${multi1_out} STREQUAL multi1-in changed)
+message(STATUS multi1-out2-copy.txt contains '${multi1_out}')
+  else()
+message(SEND_ERROR Project did not rebuild properly: 
+  multi1-out2-copy.txt contains '${multi1_out}')
+  endif()
+else()
+  message(SEND_ERROR Project did not rebuild properly: 
+multi1-out2-copy.txt is missing)
+endif()
diff --git a/Tests/BuildDepends/Project/CMakeLists.txt 
b/Tests/BuildDepends/Project/CMakeLists.txt
index 9ee4a43..cb9fbf8 100644
--- a/Tests/BuildDepends/Project/CMakeLists.txt
+++ b/Tests/BuildDepends/Project/CMakeLists.txt
@@ -151,3 +151,16 @@ ExternalProject_Add(ExternalBuild
 -Dexternal_out=${CMAKE_CURRENT_BINARY_DIR}/external.out
   INSTALL_COMMAND 
   )
+
+add_custom_command(
+  OUTPUT multi1-out1.txt multi1-out2.txt
+  COMMAND ${CMAKE_COMMAND} -E copy multi1-in.txt multi1-out1.txt
+  COMMAND ${CMAKE_COMMAND} -E copy multi1-in.txt multi1-out2.txt
+  DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/multi1-in.txt
+  )
+add_custom_command(
+  OUTPUT multi1-out2-copy.txt
+  COMMAND ${CMAKE_COMMAND} -E copy multi1-out2.txt multi1-out2-copy.txt
+  

[Cmake-commits] CMake branch, next, updated. v3.1.0-rc2-1126-gf3f7acf

2014-12-05 Thread Brad King
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project CMake.

The branch, next has been updated
   via  f3f7acf67d013c432a610bea29d7d1b3b80a1150 (commit)
   via  356f7cf4457271ee85a71face453ea9579f05da3 (commit)
  from  d13e65b3db32a6060b833e96024a1526998b63ea (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f3f7acf67d013c432a610bea29d7d1b3b80a1150
commit f3f7acf67d013c432a610bea29d7d1b3b80a1150
Merge: d13e65b 356f7cf
Author: Brad King brad.k...@kitware.com
AuthorDate: Fri Dec 5 10:39:25 2014 -0500
Commit: Brad King brad.k...@kitware.com
CommitDate: Fri Dec 5 10:39:25 2014 -0500

Merge branch 'master' into next


---

Summary of changes:


hooks/post-receive
-- 
CMake
___
Cmake-commits mailing list
Cmake-commits@cmake.org
http://public.kitware.com/mailman/listinfo/cmake-commits


[Cmake-commits] CMake branch, next, updated. v3.1.0-rc2-1130-gb2dde04

2014-12-05 Thread Brad King
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project CMake.

The branch, next has been updated
   via  b2dde0459e93b316d1c9700a466b9fb78c0f1c4f (commit)
   via  97841dad2ba5a79acb0b22db9a01ae45f7b2e80b (commit)
  from  fe1b22fc00e60e37e88eacf31c369018f3eeabe9 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b2dde0459e93b316d1c9700a466b9fb78c0f1c4f
commit b2dde0459e93b316d1c9700a466b9fb78c0f1c4f
Merge: fe1b22f 97841da
Author: Brad King brad.k...@kitware.com
AuthorDate: Fri Dec 5 13:01:46 2014 -0500
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Fri Dec 5 13:01:46 2014 -0500

Merge topic 'file-LOCK-timeout-type' into next

97841dad file: Use 'long' to represent the parsed LOCK TIMEOUT value


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=97841dad2ba5a79acb0b22db9a01ae45f7b2e80b
commit 97841dad2ba5a79acb0b22db9a01ae45f7b2e80b
Author: Ruslan Baratov ruslan_bara...@yahoo.com
AuthorDate: Fri Dec 5 17:18:11 2014 +0300
Commit: Brad King brad.k...@kitware.com
CommitDate: Fri Dec 5 12:59:37 2014 -0500

file: Use 'long' to represent the parsed LOCK TIMEOUT value

Convert the StringToInt helper into a StringToLong helper with a 'long'
result type.  This will make the helper more useful to other callers
that want to use strtol.

While at it, also check errno after calling strtol in case the
conversion fails with a range error.

diff --git a/Source/cmFileCommand.cxx b/Source/cmFileCommand.cxx
index a6eb8c4..3c2dfa5 100644
--- a/Source/cmFileCommand.cxx
+++ b/Source/cmFileCommand.cxx
@@ -3521,7 +3521,7 @@ bool cmFileCommand::HandleLockCommand(
   };
   Guard guard = GUARD_PROCESS;
   std::string resultVariable;
-  unsigned timeout = static_castunsigned(-1);
+  unsigned long timeout = static_castunsigned long(-1);
 
   // Parse arguments
   if(args.size()  2)
@@ -3597,15 +3597,16 @@ bool cmFileCommand::HandleLockCommand(
 expected timeout value after TIMEOUT);
 return false;
 }
-  int scanned;
-  if(!cmSystemTools::StringToInt(args[i].c_str(), scanned) || scanned  0)
+  long scanned;
+  if(!cmSystemTools::StringToLong(args[i].c_str(), scanned)
+ || scanned  0)
 {
 cmOStringStream e;
 e  TIMEOUT value \  args[i]  \ is not an unsigned integer.;
 this-Makefile-IssueMessage(cmake::FATAL_ERROR, e.str());
 return false;
 }
-  timeout = static_castunsigned(scanned);
+  timeout = static_castunsigned long(scanned);
   }
 else
   {
diff --git a/Source/cmFileLock.cxx b/Source/cmFileLock.cxx
index 5f75637..e6aa5f4 100644
--- a/Source/cmFileLock.cxx
+++ b/Source/cmFileLock.cxx
@@ -28,7 +28,7 @@ cmFileLock::~cmFileLock()
 }
 
 cmFileLockResult cmFileLock::Lock(
-const std::string filename, unsigned timeout)
+const std::string filename, unsigned long timeout)
 {
   if (filename.empty())
 {
@@ -48,7 +48,7 @@ cmFileLockResult cmFileLock::Lock(
   cmFileLockResult result = this-OpenFile();
   if (result.IsOk())
 {
-if (timeout == static_castunsigned(-1))
+if (timeout == static_castunsigned long(-1))
   {
   result = this-LockWithoutTimeout();
   }
diff --git a/Source/cmFileLock.h b/Source/cmFileLock.h
index 4d922a0..dd959a7 100644
--- a/Source/cmFileLock.h
+++ b/Source/cmFileLock.h
@@ -37,7 +37,7 @@ class cmFileLock
 * @brief Lock the file.
 * @param timeoutSec Lock timeout. If -1 try until success or fatal error.
 */
-  cmFileLockResult Lock(const std::string filename, unsigned timeoutSec);
+  cmFileLockResult Lock(const std::string filename, unsigned long timeoutSec);
 
   /**
 * @brief Unlock the file.
@@ -57,7 +57,7 @@ class cmFileLock
 
   cmFileLockResult OpenFile();
   cmFileLockResult LockWithoutTimeout();
-  cmFileLockResult LockWithTimeout(unsigned timeoutSec);
+  cmFileLockResult LockWithTimeout(unsigned long timeoutSec);
 
 #if defined(_WIN32)
   typedef HANDLE FileId;
diff --git a/Source/cmFileLockPool.cxx b/Source/cmFileLockPool.cxx
index e84e71a..551a75a 100644
--- a/Source/cmFileLockPool.cxx
+++ b/Source/cmFileLockPool.cxx
@@ -60,7 +60,7 @@ void cmFileLockPool::PopFileScope()
 }
 
 cmFileLockResult cmFileLockPool::LockFunctionScope(
-const std::string filename, unsigned timeoutSec)
+const std::string filename, unsigned long timeoutSec)
 {
   if (this-IsAlreadyLocked(filename))
 {
@@ -74,7 +74,7 @@ cmFileLockResult cmFileLockPool::LockFunctionScope(
 }
 
 cmFileLockResult cmFileLockPool::LockFileScope(
-const std::string filename, unsigned timeoutSec)
+const std::string filename, unsigned long timeoutSec)
 {
   

[Cmake-commits] CMake branch, next, updated. v3.1.0-rc2-1132-gc00ead9

2014-12-05 Thread Brad King
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project CMake.

The branch, next has been updated
   via  c00ead9f5516d9d84da5bf365bf9d8345e1d347b (commit)
   via  fe21580b84d06c263bbcb6d90089b9e6bb91b25b (commit)
  from  b2dde0459e93b316d1c9700a466b9fb78c0f1c4f (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c00ead9f5516d9d84da5bf365bf9d8345e1d347b
commit c00ead9f5516d9d84da5bf365bf9d8345e1d347b
Merge: b2dde04 fe21580
Author: Brad King brad.k...@kitware.com
AuthorDate: Fri Dec 5 13:31:14 2014 -0500
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Fri Dec 5 13:31:14 2014 -0500

Merge topic 'doc-file-GENERATE-order' into next

fe21580b Help: Document file(GENERATE) signature option order


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=fe21580b84d06c263bbcb6d90089b9e6bb91b25b
commit fe21580b84d06c263bbcb6d90089b9e6bb91b25b
Author: Brad King brad.k...@kitware.com
AuthorDate: Fri Dec 5 13:28:24 2014 -0500
Commit: Brad King brad.k...@kitware.com
CommitDate: Fri Dec 5 13:28:24 2014 -0500

Help: Document file(GENERATE) signature option order

In commit v3.1.0-rc1~484^2 (Help: Format and revise file() command
documentation, 2014-05-23) the signature of file(GENERATE) was
accidentally simplified too much and dropped specification of the
required argument ordering.  Restore the signature to make the order
clear.

diff --git a/Help/command/file.rst b/Help/command/file.rst
index dbc4149..5d3c4a9 100644
--- a/Help/command/file.rst
+++ b/Help/command/file.rst
@@ -247,7 +247,9 @@ the ``format`` and ``UTC`` options.
 
 ::
 
-  file(GENERATE options...)
+  file(GENERATE OUTPUT output-file
+   INPUT input-file|CONTENT content
+   [CONDITION expression])
 
 Generate an output file for each build configuration supported by the current
 :manual:`CMake Generator cmake-generators(7)`.  Evaluate

---

Summary of changes:
 Help/command/file.rst |4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)


hooks/post-receive
-- 
CMake
___
Cmake-commits mailing list
Cmake-commits@cmake.org
http://public.kitware.com/mailman/listinfo/cmake-commits


[Cmake-commits] CMake branch, master, updated. v3.1.0-rc2-503-g03db9a0

2014-12-05 Thread Brad King
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project CMake.

The branch, master has been updated
   via  03db9a061aa62eb2b373010a6a38d5707749a6d7 (commit)
   via  fe21580b84d06c263bbcb6d90089b9e6bb91b25b (commit)
  from  356f7cf4457271ee85a71face453ea9579f05da3 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=03db9a061aa62eb2b373010a6a38d5707749a6d7
commit 03db9a061aa62eb2b373010a6a38d5707749a6d7
Merge: 356f7cf fe21580
Author: Brad King brad.k...@kitware.com
AuthorDate: Fri Dec 5 14:01:04 2014 -0500
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Fri Dec 5 14:01:04 2014 -0500

Merge topic 'doc-file-GENERATE-order'

fe21580b Help: Document file(GENERATE) signature option order


---

Summary of changes:
 Help/command/file.rst |4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)


hooks/post-receive
-- 
CMake
___
Cmake-commits mailing list
Cmake-commits@cmake.org
http://public.kitware.com/mailman/listinfo/cmake-commits


[Cmake-commits] CMake branch, next, updated. v3.1.0-rc2-1134-g3042e27

2014-12-05 Thread Brad King
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project CMake.

The branch, next has been updated
   via  3042e27a969b11b13a9e742e0b8d7ec662e0e350 (commit)
   via  03db9a061aa62eb2b373010a6a38d5707749a6d7 (commit)
  from  c00ead9f5516d9d84da5bf365bf9d8345e1d347b (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=3042e27a969b11b13a9e742e0b8d7ec662e0e350
commit 3042e27a969b11b13a9e742e0b8d7ec662e0e350
Merge: c00ead9 03db9a0
Author: Brad King brad.k...@kitware.com
AuthorDate: Fri Dec 5 14:01:21 2014 -0500
Commit: Brad King brad.k...@kitware.com
CommitDate: Fri Dec 5 14:01:21 2014 -0500

Merge branch 'master' into next


---

Summary of changes:


hooks/post-receive
-- 
CMake
___
Cmake-commits mailing list
Cmake-commits@cmake.org
http://public.kitware.com/mailman/listinfo/cmake-commits


[Cmake-commits] CMake branch, master, updated. v3.1.0-rc2-505-gfad59f2

2014-12-05 Thread Brad King
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project CMake.

The branch, master has been updated
   via  fad59f2dd12b72ec1b23b08a8bff7f0b296bb4b1 (commit)
   via  27141eede739fb4376a6fe2cec1b1171841bf7fb (commit)
  from  03db9a061aa62eb2b373010a6a38d5707749a6d7 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=fad59f2dd12b72ec1b23b08a8bff7f0b296bb4b1
commit fad59f2dd12b72ec1b23b08a8bff7f0b296bb4b1
Merge: 03db9a0 27141ee
Author: Brad King brad.k...@kitware.com
AuthorDate: Fri Dec 5 14:02:11 2014 -0500
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Fri Dec 5 14:02:11 2014 -0500

Merge topic 'xerces-rename'

27141eed Modules: Rename FindXerces to FindXercesC


---

Summary of changes:
 Help/manual/cmake-modules.7.rst |2 +-
 Help/module/FindXerces.rst  |1 -
 Help/module/FindXercesC.rst |1 +
 Help/release/3.1.0.rst  |2 +
 Modules/{FindXerces.cmake = FindXercesC.cmake} |   66 +++
 5 files changed, 37 insertions(+), 35 deletions(-)
 delete mode 100644 Help/module/FindXerces.rst
 create mode 100644 Help/module/FindXercesC.rst
 rename Modules/{FindXerces.cmake = FindXercesC.cmake} (55%)


hooks/post-receive
-- 
CMake
___
Cmake-commits mailing list
Cmake-commits@cmake.org
http://public.kitware.com/mailman/listinfo/cmake-commits


[Cmake-commits] CMake branch, next, updated. v3.1.0-rc2-1136-gf0fcb0b

2014-12-05 Thread Brad King
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project CMake.

The branch, next has been updated
   via  f0fcb0b3883272097f98c16d3ae33f13511b5864 (commit)
   via  fad59f2dd12b72ec1b23b08a8bff7f0b296bb4b1 (commit)
  from  3042e27a969b11b13a9e742e0b8d7ec662e0e350 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f0fcb0b3883272097f98c16d3ae33f13511b5864
commit f0fcb0b3883272097f98c16d3ae33f13511b5864
Merge: 3042e27 fad59f2
Author: Brad King brad.k...@kitware.com
AuthorDate: Fri Dec 5 14:02:20 2014 -0500
Commit: Brad King brad.k...@kitware.com
CommitDate: Fri Dec 5 14:02:20 2014 -0500

Merge branch 'master' into next


---

Summary of changes:


hooks/post-receive
-- 
CMake
___
Cmake-commits mailing list
Cmake-commits@cmake.org
http://public.kitware.com/mailman/listinfo/cmake-commits


[Cmake-commits] CMake branch, master, updated. v3.1.0-rc2-508-gce28da6

2014-12-05 Thread Brad King
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project CMake.

The branch, master has been updated
   via  ce28da6c64aba359b4399bca56ec60707a3d6073 (commit)
   via  eff4081bfbc7285ceeb5d6ec32a4f8682066cef6 (commit)
   via  c2d371034e01ce7472cafb177f272030c1242513 (commit)
  from  fad59f2dd12b72ec1b23b08a8bff7f0b296bb4b1 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -
---

Summary of changes:


hooks/post-receive
-- 
CMake
___
Cmake-commits mailing list
Cmake-commits@cmake.org
http://public.kitware.com/mailman/listinfo/cmake-commits


[Cmake-commits] CMake branch, release, updated. v3.1.0-rc2-82-geff4081

2014-12-05 Thread Brad King
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project CMake.

The branch, release has been updated
   via  eff4081bfbc7285ceeb5d6ec32a4f8682066cef6 (commit)
   via  fe21580b84d06c263bbcb6d90089b9e6bb91b25b (commit)
   via  c2d371034e01ce7472cafb177f272030c1242513 (commit)
   via  607b39dc1192a9e0f7eae66f9979c399e5126337 (commit)
  from  1c104c019a23392563befb3564dd5c679cc2c585 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -
---

Summary of changes:
 Help/command/file.rst |4 +++-
 Utilities/Sphinx/cmake.py |   12 ++--
 2 files changed, 13 insertions(+), 3 deletions(-)


hooks/post-receive
-- 
CMake
___
Cmake-commits mailing list
Cmake-commits@cmake.org
http://public.kitware.com/mailman/listinfo/cmake-commits


[Cmake-commits] CMake branch, next, updated. v3.1.0-rc2-1140-g8677735

2014-12-05 Thread Brad King
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project CMake.

The branch, next has been updated
   via  86777356c5ebfc43fbbf5aabceaeea02d6b3f84e (commit)
   via  ce28da6c64aba359b4399bca56ec60707a3d6073 (commit)
   via  eff4081bfbc7285ceeb5d6ec32a4f8682066cef6 (commit)
   via  c2d371034e01ce7472cafb177f272030c1242513 (commit)
  from  f0fcb0b3883272097f98c16d3ae33f13511b5864 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=86777356c5ebfc43fbbf5aabceaeea02d6b3f84e
commit 86777356c5ebfc43fbbf5aabceaeea02d6b3f84e
Merge: f0fcb0b ce28da6
Author: Brad King brad.k...@kitware.com
AuthorDate: Fri Dec 5 14:03:33 2014 -0500
Commit: Brad King brad.k...@kitware.com
CommitDate: Fri Dec 5 14:03:33 2014 -0500

Merge branch 'master' into next


---

Summary of changes:


hooks/post-receive
-- 
CMake
___
Cmake-commits mailing list
Cmake-commits@cmake.org
http://public.kitware.com/mailman/listinfo/cmake-commits


[Cmake-commits] CMake branch, next, updated. v3.1.0-rc2-1142-gad137b5

2014-12-05 Thread Brad King
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project CMake.

The branch, next has been updated
   via  ad137b5af4f40f7c07df7da67684082c5e4a5012 (commit)
   via  de022e8908cc5b3a6e0f179a81482fad4cfb6072 (commit)
  from  86777356c5ebfc43fbbf5aabceaeea02d6b3f84e (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ad137b5af4f40f7c07df7da67684082c5e4a5012
commit ad137b5af4f40f7c07df7da67684082c5e4a5012
Merge: 8677735 de022e8
Author: Brad King brad.k...@kitware.com
AuthorDate: Fri Dec 5 14:09:05 2014 -0500
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Fri Dec 5 14:09:05 2014 -0500

Merge topic 'optional-latest-language-dialects' into next

de022e89 Add options to build CMake without latest language dialects


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=de022e8908cc5b3a6e0f179a81482fad4cfb6072
commit de022e8908cc5b3a6e0f179a81482fad4cfb6072
Author: Brad King brad.k...@kitware.com
AuthorDate: Fri Dec 5 14:06:43 2014 -0500
Commit: Brad King brad.k...@kitware.com
CommitDate: Fri Dec 5 14:07:59 2014 -0500

Add options to build CMake without latest language dialects

Set CMAKE_C_STANDARD and CMAKE_CXX_STANDARD only if they are not
already defined.  This will allow users to add the settings with
different values to their local cache (e.g. on the command line).

diff --git a/CMakeLists.txt b/CMakeLists.txt
index ad3bb97..1812b27 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -37,8 +37,12 @@ if(${CMake_SOURCE_DIR} STREQUAL ${CMAKE_SOURCE_DIR})
 endif()
 
 # Use most-recent available language dialects with GNU and Clang
-set(CMAKE_C_STANDARD 11)
-set(CMAKE_CXX_STANDARD 14)
+if(NOT DEFINED CMAKE_C_STANDARD)
+  set(CMAKE_C_STANDARD 11)
+endif()
+if(NOT DEFINED CMAKE_CXX_STANDARD)
+  set(CMAKE_CXX_STANDARD 14)
+endif()
 
 # option to set the internal encoding of CMake to UTF-8
 option(CMAKE_ENCODING_UTF8 Use UTF-8 encoding internally (experimental). OFF)

---

Summary of changes:
 CMakeLists.txt |8 ++--
 1 file changed, 6 insertions(+), 2 deletions(-)


hooks/post-receive
-- 
CMake
___
Cmake-commits mailing list
Cmake-commits@cmake.org
http://public.kitware.com/mailman/listinfo/cmake-commits


[Cmake-commits] CMake branch, master, updated. v3.1.0-rc2-509-gbec5b3d

2014-12-05 Thread Kitware Robot
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project CMake.

The branch, master has been updated
   via  bec5b3df0148bc8ae9c9c777367386fb1a38ad04 (commit)
  from  ce28da6c64aba359b4399bca56ec60707a3d6073 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=bec5b3df0148bc8ae9c9c777367386fb1a38ad04
commit bec5b3df0148bc8ae9c9c777367386fb1a38ad04
Author: Kitware Robot kwro...@kitware.com
AuthorDate: Sat Dec 6 00:01:15 2014 -0500
Commit: Kitware Robot kwro...@kitware.com
CommitDate: Sat Dec 6 00:01:15 2014 -0500

CMake Nightly Date Stamp

diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake
index 3048b88..abaa2d0 100644
--- a/Source/CMakeVersion.cmake
+++ b/Source/CMakeVersion.cmake
@@ -1,5 +1,5 @@
 # CMake version number components.
 set(CMake_VERSION_MAJOR 3)
 set(CMake_VERSION_MINOR 1)
-set(CMake_VERSION_PATCH 20141205)
+set(CMake_VERSION_PATCH 20141206)
 #set(CMake_VERSION_RC 1)

---

Summary of changes:
 Source/CMakeVersion.cmake |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


hooks/post-receive
-- 
CMake
___
Cmake-commits mailing list
Cmake-commits@cmake.org
http://public.kitware.com/mailman/listinfo/cmake-commits