Re: [CMake] Faking a library

2013-10-19 Thread Magnus Therning
On Wed, Oct 16, 2013 at 11:36:53PM +0200, Alexander Neundorf wrote:
 On Wednesday 16 October 2013, Magnus Therning wrote:
 When defining a library via add_library() it's possible to link
 against it by just putting its name into target_link_libraries().
 Is there some way of wrapping up an external library in a similar
 way?
 
 As a concrete example I'm playing around with gtest[1] via
 externalproject_add() like this:
 
 externalproject_add(gtest
 SOURCE_DIR ${PROJECT_SOURCE_DIR}/gtest
 BINARY_DIR gtest-build
 INSTALL_COMMAND  # omit installation
 )
 
 Then to link to it I need to use
 
 target_link_libraries(test
 -L${CMAKE_BINARY_DIR}/gtest-build -lgtest -lpthread
 )
 
 Is there some way to wrap that all up in a target that I can pass
 straight to target_link_libraries()?
 
 Or is my only option to create a variable that expands to those
 compiler flags?
 
 You may create an imported target, and set some properties on it:
 
 add_library(gtest STATIC IMPORTED)
 set_target_properties(gtest PROPERTIES
  IMPORTED_LOCATION  ${CMAKE_BINARY_DIR}/libgtest-build.a)
 
 You may need to set a few more properties like
 IMPORTED_LINK_INTERFACE_LIBRARIES, and you may want to use
 ${CMAKE_STATIC_LIBRARY_PREFIX}libgtest-build.${CMAKE_STATIC_LIBRARY_SUFFIX}
 instead of hardcoding lib and a.

Thanks, it works to add the following:

add_library(gtest STATIC IMPORTED)
set_target_properties(gtest PROPERTIES
IMPORTED_LOCATION ${CMAKE_BINARY_DIR}/gtest-build/libgtest.a
IMPORTED_LINK_INTERFACE_LIBRARIES -lpthread
)

Now the only thing remaining is that all targets using this lib also
needs to find its header files.  At the moment I'm defining a variable
for it:

set(GTEST_INCDIR ${PROJECT_SOURCE_DIR}/gtest/include)

and then I need to put that into a target_include_directories(), e.g.:

target_include_directories(test_one PRIVATE
${GTEST_INCDIR}
...
)

Is it possible to put the include path in some property on the library
as well, to avoid using a separate variable for that?

If there's no standard property for it, would it be possible to use a
custom one, say INC_DIR, and then use the generator
$TARGET_PROPERTY:gtest,INC_DIR to extract it?  (I'm at all sure I've
understood generators though ;-)

/M

-- 
Magnus Therning  OpenPGP: 0xAB4DFBA4 
email: mag...@therning.org   jabber: mag...@therning.org
twitter: magthe   http://therning.org/magnus

The right to search for truth implies also a duty; one must not
conceal any part of what one has recognized to be true.
 -- Albert Einstein


pgpeWUwWcJotf.pgp
Description: PGP signature
--

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Re: [CMake] Faking a library

2013-10-19 Thread Игорь Пашев
2013/10/19 Magnus Therning mag...@therning.org:
 Is it possible to put the include path in some property on the library
 as well, to avoid using a separate variable for that?

SET_TARGET_PROPERTIES (target PROPERTIES VARIABLE-NAME VARIABLE-VALUE)
--

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] Faking a library

2013-10-19 Thread Magnus Therning
On Sat, Oct 19, 2013 at 11:28:53AM +0400, Игорь Пашев wrote:
 2013/10/19 Magnus Therning mag...@therning.org:
  Is it possible to put the include path in some property on the library
  as well, to avoid using a separate variable for that?
 
 SET_TARGET_PROPERTIES (target PROPERTIES VARIABLE-NAME VARIABLE-VALUE)

Of course, but then how do I use it conveniently?

Would it be possible, by choosing a good property name, to simply do

target_include_directories(one_test PRIVATE
target
)

Or would I have to

get_target_property(INC_DIR target variable-name)
target_include_directories(one_test PRIVATE
${INC_DIR}
)

in which case using a property wouldn't give me very much.

/M

-- 
Magnus Therning  OpenPGP: 0xAB4DFBA4 
email: mag...@therning.org   jabber: mag...@therning.org
twitter: magthe   http://therning.org/magnus

The British have the perfect temperament to be hackers--technically
skilled, slightly disrespectful of authority, and just a touch of
criminal behavior.
 -- Mary Ann Davidson, Oracle's Security Chief


pgpq1S3NF1_dR.pgp
Description: PGP signature
--

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Re: [CMake] Faking a library

2013-10-19 Thread Nick Hutchinson
As of 2.8.12, you can set target properties on an imported library to
specify its include directories, compile options etc, and these will be
automatically propagated to any other target that links to it via
target_link_libraries(). No more tedious faffing about with global
variables like GTEST_INCLUDE_DIRS, GTEST_LIBRARIES etc. It's really quite
nice.

Check the 2.8.12 CMake docs for target properties that start with
INTERFACE.

Nick


On 19 October 2013 08:59, Magnus Therning mag...@therning.org wrote:

 On Sat, Oct 19, 2013 at 11:28:53AM +0400, Игорь Пашев wrote:
  2013/10/19 Magnus Therning mag...@therning.org:
   Is it possible to put the include path in some property on the library
   as well, to avoid using a separate variable for that?
 
  SET_TARGET_PROPERTIES (target PROPERTIES VARIABLE-NAME
 VARIABLE-VALUE)

 Of course, but then how do I use it conveniently?

 Would it be possible, by choosing a good property name, to simply do

 target_include_directories(one_test PRIVATE
 target
 )

 Or would I have to

 get_target_property(INC_DIR target variable-name)
 target_include_directories(one_test PRIVATE
 ${INC_DIR}
 )

 in which case using a property wouldn't give me very much.

 /M

 --
 Magnus Therning  OpenPGP: 0xAB4DFBA4
 email: mag...@therning.org   jabber: mag...@therning.org
 twitter: magthe   http://therning.org/magnus

 The British have the perfect temperament to be hackers--technically
 skilled, slightly disrespectful of authority, and just a touch of
 criminal behavior.
  -- Mary Ann Davidson, Oracle's Security Chief

 --

 Powered by www.kitware.com

 Please keep messages on-topic and check the CMake FAQ at:
 http://www.cmake.org/Wiki/CMake_FAQ

 Kitware offers various services to support the CMake community. For more
 information on each offering, please visit:

 CMake Support: http://cmake.org/cmake/help/support.html
 CMake Consulting: http://cmake.org/cmake/help/consulting.html
 CMake Training Courses: http://cmake.org/cmake/help/training.html

 Visit other Kitware open-source projects at
 http://www.kitware.com/opensource/opensource.html

 Follow this link to subscribe/unsubscribe:
 http://www.cmake.org/mailman/listinfo/cmake

--

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Re: [CMake] Faking a library

2013-10-19 Thread Alexander Neundorf
On Saturday 19 October 2013, you wrote:
 On Sat, Oct 19, 2013 at 11:28:53AM +0400, Игорь Пашев wrote:
  2013/10/19 Magnus Therning mag...@therning.org:
   Is it possible to put the include path in some property on the library
   as well, to avoid using a separate variable for that?
  
  SET_TARGET_PROPERTIES (target PROPERTIES VARIABLE-NAME
  VARIABLE-VALUE)
 
 Of course, but then how do I use it conveniently?
 
 Would it be possible, by choosing a good property name, to simply do
 
 target_include_directories(one_test PRIVATE
 target
 )
 
 Or would I have to
 
 get_target_property(INC_DIR target variable-name)
 target_include_directories(one_test PRIVATE
 ${INC_DIR}
 )
 
 in which case using a property wouldn't give me very much.

This depends on which version of cmake you are using.
If you require a very recent one, i.e. 2.8.11 or newer, you can set 
INTERFACE_INCLUDE_DIRECTORIES, and then you'll get the include dirs 
automatically when linking against the target, I think.

Alex
--

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Re: [CMake] Faking a library

2013-10-19 Thread Magnus Therning
On Sat, Oct 19, 2013 at 08:11:52PM +0100, Nick Hutchinson wrote:
 As of 2.8.12, you can set target properties on an imported library
 to specify its include directories, compile options etc, and these
 will be automatically propagated to any other target that links to
 it via target_link_libraries(). No more tedious faffing about with
 global variables like GTEST_INCLUDE_DIRS, GTEST_LIBRARIES etc. It's
 really quite nice.
 
 Check the 2.8.12 CMake docs for target properties that start with
 INTERFACE.

That's very nice indeed :)

My complete configuration for the external library is now


externalproject_add(gtest-external
SOURCE_DIR ${PROJECT_SOURCE_DIR}/gtest
BINARY_DIR gtest-build
INSTALL_COMMAND  # omit installation
)
add_library(gtest STATIC IMPORTED)
set_target_properties(gtest PROPERTIES
IMPORTED_LOCATION ${CMAKE_BINARY_DIR}/gtest-build/libgtest.a
IMPORTED_LINK_INTERFACE_LIBRARIES -lpthread
INTERFACE_INCLUDE_DIRECTORIES ${PROJECT_SOURCE_DIR}/gtest/include
)


And all I need a user of the library to do is


target_link_libraries(one_test gtest)


Sweet!

Thanks for all the help.

/M

-- 
Magnus Therning  OpenPGP: 0xAB4DFBA4 
email: mag...@therning.org   jabber: mag...@therning.org
twitter: magthe   http://therning.org/magnus

The early bird may get the worm, but the second mouse gets the cheese.


pgp62eZTeKd5C.pgp
Description: PGP signature
--

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

[CMake] cmake-2.8.12: generator expression error when linker flags have comma

2013-10-19 Thread Jed Brown
I just upgraded from cmake-2.8.11.2 to 2.8.12 and now get errors when a
comma ',' appears in a linker flag.  Test case below.  Note that this is
but one of many reasons for a comma to appear in linker flags.

https://gist.github.com/jedbrown/7062540

$ mkdir build  cd build
$ cmake -DDEP_LIBS:STRING='-Wl,--start-group -llapack -lblas 
-Wl,--end-group' ..
-- The C compiler identification is GNU 4.8.2
-- The CXX compiler identification is GNU 4.8.2
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Configuring done
CMake Error:
  Error evaluating generator expression:

$LINK_ONLY:-Wl,--start-group -llapack -lblas -Wl,--end-group

  $LINK_ONLY expression requires exactly one parameter.

CMake Warning (dev) in CMakeLists.txt:
  Policy CMP0022 is not set: INTERFACE_LINK_LIBRARIES defines the link
  interface.  Run cmake --help-policy CMP0022 for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  Static library target foo has a INTERFACE_LINK_LIBRARIES property.  This
  should be preferred as the source of the link interface for this library.
  Ignoring the property and using the link implementation as the link
  interface instead.
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Generating done
-- Build files have been written to: /tmp/cmake-comma/build


cmake_minimum_required(VERSION 2.8)
project(foo)

add_library(foo foo.cc)
target_link_libraries(foo ${DEP_LIBS})

add_library(bar bar.cc)
target_link_libraries(bar foo)
int foo() {return 0;}
int bar() {return 0;}


pgpk2iKZYIg2i.pgp
Description: PGP signature
--

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

[Cmake-commits] CMake branch, next, updated. v2.8.12-4170-gf55f0a2

2013-10-19 Thread Stephen Kelly
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  f55f0a2563c6f8639f69d738717fa7c874d84f02 (commit)
   via  3e7b6921e731d49c832327e3dd0eccff14f1e3f1 (commit)
  from  2fa8b0049f961ea721c3d15aaa49c52629cdd981 (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=f55f0a2563c6f8639f69d738717fa7c874d84f02
commit f55f0a2563c6f8639f69d738717fa7c874d84f02
Merge: 2fa8b00 3e7b692
Author: Stephen Kelly steve...@gmail.com
AuthorDate: Sat Oct 19 02:48:51 2013 -0400
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Sat Oct 19 02:48:51 2013 -0400

Merge topic 'double-colon-is-imported' into next

3e7b692 Consider targets with double colons to be IMPORTED or ALIAS targets.


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=3e7b6921e731d49c832327e3dd0eccff14f1e3f1
commit 3e7b6921e731d49c832327e3dd0eccff14f1e3f1
Author: Stephen Kelly steve...@gmail.com
AuthorDate: Tue Jul 30 09:51:56 2013 +0200
Commit: Stephen Kelly steve...@gmail.com
CommitDate: Sat Oct 19 08:48:13 2013 +0200

Consider targets with double colons to be IMPORTED or ALIAS targets.

Introduce a policy to control the behavior.

The AliasTargets unit test already tests that using a
double-semicolon in the name is not an error. Change the ExportImport
test to use a namespace with a double-semicolon too.

diff --git a/Help/manual/cmake-policies.7.rst b/Help/manual/cmake-policies.7.rst
index 658620f..f03cbe1 100644
--- a/Help/manual/cmake-policies.7.rst
+++ b/Help/manual/cmake-policies.7.rst
@@ -37,3 +37,4 @@ All Policies
/policy/CMP0025
/policy/CMP0026
/policy/CMP0027
+   /policy/CMP0028
diff --git a/Help/policy/CMP0028.rst b/Help/policy/CMP0028.rst
new file mode 100644
index 000..ec318a0
--- /dev/null
+++ b/Help/policy/CMP0028.rst
@@ -0,0 +1,23 @@
+CMP0028
+---
+
+Double colon in target name means ALIAS or IMPORTED target.
+
+CMake 2.8.12 and lower allowed the use of targets and files with double
+colons in target_link_libraries, with some buildsystem generators.
+
+The use of double-colons is a common pattern used to namespace IMPORTED
+targets and ALIAS targets.  When computing the link dependencies of a target,
+the name of each dependency could either be a target, or a file on disk.
+Previously, if a target was not found with a matching name, the name was
+considered to refer to a file on disk.  This can lead to confusing error
+messages if there is a typo in what should be a target name.
+
+The OLD behavior for this policy is to search for targets, then files on disk,
+even if the search term contains double-colons.  The NEW behavior for this
+policy is to issue a FATAL_ERROR if a link dependency contains
+double-colons but is not an IMPORTED target or an ALIAS target.
+
+This policy was introduced in CMake version 3.0.0.  CMake version
+|release| warns when the policy is not set and uses OLD behavior.  Use
+the cmake_policy command to set it to OLD or NEW explicitly.
diff --git a/Source/cmPolicies.cxx b/Source/cmPolicies.cxx
index ffab8e5..f7efc1e 100644
--- a/Source/cmPolicies.cxx
+++ b/Source/cmPolicies.cxx
@@ -241,6 +241,11 @@ cmPolicies::cmPolicies()
 CMP0027, CMP0027,
 Conditionally linked imported targets with missing include directories.,
 3,0,0,0, cmPolicies::WARN);
+
+  this-DefinePolicy(
+CMP0028, CMP0028,
+Double colon in target name means ALIAS or IMPORTED target.,
+3,0,0,0, cmPolicies::WARN);
 }
 
 cmPolicies::~cmPolicies()
diff --git a/Source/cmPolicies.h b/Source/cmPolicies.h
index 39c2afb..68cd7c2 100644
--- a/Source/cmPolicies.h
+++ b/Source/cmPolicies.h
@@ -79,6 +79,7 @@ public:
 CMP0026, /// Disallow use of the LOCATION target property.
 CMP0027, /// Conditionally linked imported targets with missing include
 /// directories.
+CMP0028, /// Double colon in target name means ALIAS or IMPORTED target.
 
 /** \brief Always the last entry.
  *
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx
index b6182ab..647eb76 100644
--- a/Source/cmTarget.cxx
+++ b/Source/cmTarget.cxx
@@ -5483,6 +5483,46 @@ void cmTarget::ComputeLinkImplementation(const char* 
config,
   {
   continue;
   }
+cmTarget *tgt = this-Makefile-FindTargetToUse(li-c_str());
+
+if(!tgt  std::string(item).find(::) != std::string::npos)
+  {
+  bool noMessage = false;
+  cmake::MessageType messageType = cmake::FATAL_ERROR;
+  cmOStringStream e;
+  switch(this-Makefile-GetPolicyStatus(cmPolicies::CMP0028))
+{
+case cmPolicies::WARN:
+  {
+  e  (this-Makefile-GetPolicies()
+   

[Cmake-commits] CMake branch, next, updated. v2.8.12-4172-g7a74a10

2013-10-19 Thread Peter Kuemmel
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  7a74a1028bfcd9f8c02fb9f9d05af1ce7571025e (commit)
   via  ba54dc09fb69488ab95cb967240b09e30a0006b4 (commit)
  from  f55f0a2563c6f8639f69d738717fa7c874d84f02 (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=7a74a1028bfcd9f8c02fb9f9d05af1ce7571025e
commit 7a74a1028bfcd9f8c02fb9f9d05af1ce7571025e
Merge: f55f0a2 ba54dc0
Author: Peter Kuemmel syntheti...@gmx.net
AuthorDate: Sat Oct 19 03:35:26 2013 -0400
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Sat Oct 19 03:35:26 2013 -0400

Merge topic 'ninja-remove-cmcldeps' into next

ba54dc0 Ninja: use deps = gcc/msvc feature


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ba54dc09fb69488ab95cb967240b09e30a0006b4
commit ba54dc09fb69488ab95cb967240b09e30a0006b4
Author: Peter Kümmel syntheti...@gmx.net
AuthorDate: Fri Oct 18 12:59:47 2013 +0200
Commit: Peter Kümmel syntheti...@gmx.net
CommitDate: Fri Oct 18 22:40:40 2013 +0200

Ninja: use deps = gcc/msvc feature

cmcldeps is now only used for .rc file processing

diff --git a/Modules/CMakeCCompiler.cmake.in b/Modules/CMakeCCompiler.cmake.in
index 3e8d4ff..804cce2 100644
--- a/Modules/CMakeCCompiler.cmake.in
+++ b/Modules/CMakeCCompiler.cmake.in
@@ -55,4 +55,4 @@ set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES 
@CMAKE_C_IMPLICIT_LINK_DIRECTORIES@)
 set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES 
@CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES@)
 
 @SET_CMAKE_CMCLDEPS_EXECUTABLE@
-@SET_CMAKE_CL_SHOWINCLUDE_PREFIX@
+@SET_CMAKE_CL_SHOWINCLUDES_PREFIX@
diff --git a/Modules/CMakeCXXCompiler.cmake.in 
b/Modules/CMakeCXXCompiler.cmake.in
index 777f007..35aa6c4 100644
--- a/Modules/CMakeCXXCompiler.cmake.in
+++ b/Modules/CMakeCXXCompiler.cmake.in
@@ -56,4 +56,4 @@ set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES 
@CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES@)
 set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES 
@CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES@)
 
 @SET_CMAKE_CMCLDEPS_EXECUTABLE@
-@SET_CMAKE_CL_SHOWINCLUDE_PREFIX@
+@SET_CMAKE_CL_SHOWINCLUDES_PREFIX@
diff --git a/Modules/CMakeClDeps.cmake b/Modules/CMakeClDeps.cmake
index 0214ead..b46e7c2 100644
--- a/Modules/CMakeClDeps.cmake
+++ b/Modules/CMakeClDeps.cmake
@@ -20,7 +20,7 @@
 # in front of each include path, so it can remove it.
 #
 
-if(MSVC_C_ARCHITECTURE_ID AND CMAKE_GENERATOR MATCHES Ninja AND 
CMAKE_C_COMPILER AND CMAKE_COMMAND)
+if(CMAKE_GENERATOR MATCHES Ninja AND CMAKE_C_COMPILER AND CMAKE_COMMAND)
   string(REPLACE cmake.exe cmcldeps.exe  CMAKE_CMCLDEPS_EXECUTABLE 
${CMAKE_COMMAND})
   set(showdir ${CMAKE_BINARY_DIR}/CMakeFiles/ShowIncludes)
   file(WRITE ${showdir}/foo.h \n)
@@ -30,5 +30,5 @@ if(MSVC_C_ARCHITECTURE_ID AND CMAKE_GENERATOR MATCHES Ninja 
AND CMAKE_C_COMPIL
   string(REGEX MATCH \n([^:]*:[^:]*:[ \t]*) tmp ${outLine})
   set(localizedPrefix ${CMAKE_MATCH_1})
   set(SET_CMAKE_CMCLDEPS_EXECUTABLE   set(CMAKE_CMCLDEPS_EXECUTABLE 
\${CMAKE_CMCLDEPS_EXECUTABLE}\))
-  set(SET_CMAKE_CL_SHOWINCLUDE_PREFIX set(CMAKE_CL_SHOWINCLUDE_PREFIX 
\${localizedPrefix}\))
+  set(SET_CMAKE_CL_SHOWINCLUDES_PREFIX set(CMAKE_CL_SHOWINCLUDES_PREFIX 
\${localizedPrefix}\))
 endif()
diff --git a/Modules/CMakeDetermineCCompiler.cmake 
b/Modules/CMakeDetermineCCompiler.cmake
index 8769c66..ce0978c 100644
--- a/Modules/CMakeDetermineCCompiler.cmake
+++ b/Modules/CMakeDetermineCCompiler.cmake
@@ -176,12 +176,13 @@ if (CMAKE_CROSSCOMPILING  AND NOT _CMAKE_TOOLCHAIN_PREFIX)
 
 endif ()
 
-include(${CMAKE_ROOT}/Modules/CMakeClDeps.cmake)
 include(CMakeFindBinUtils)
 if(MSVC_C_ARCHITECTURE_ID)
+  include(${CMAKE_ROOT}/Modules/CMakeClDeps.cmake)
   set(SET_MSVC_C_ARCHITECTURE_ID
 set(MSVC_C_ARCHITECTURE_ID ${MSVC_C_ARCHITECTURE_ID}))
 endif()
+
 # configure variables set in this file for fast reload later on
 configure_file(${CMAKE_ROOT}/Modules/CMakeCCompiler.cmake.in
   ${CMAKE_PLATFORM_INFO_DIR}/CMakeCCompiler.cmake
diff --git a/Modules/CMakeDetermineCXXCompiler.cmake 
b/Modules/CMakeDetermineCXXCompiler.cmake
index c79ba89..d821dcc 100644
--- a/Modules/CMakeDetermineCXXCompiler.cmake
+++ b/Modules/CMakeDetermineCXXCompiler.cmake
@@ -175,12 +175,13 @@ if (CMAKE_CROSSCOMPILING  AND NOT  
_CMAKE_TOOLCHAIN_PREFIX)
 
 endif ()
 
-include(${CMAKE_ROOT}/Modules/CMakeClDeps.cmake)
 include(CMakeFindBinUtils)
 if(MSVC_CXX_ARCHITECTURE_ID)
+  include(${CMAKE_ROOT}/Modules/CMakeClDeps.cmake)
   set(SET_MSVC_CXX_ARCHITECTURE_ID
 set(MSVC_CXX_ARCHITECTURE_ID ${MSVC_CXX_ARCHITECTURE_ID}))
 endif()
+
 # configure all variables set in this file
 

[Cmake-commits] CMake branch, next, updated. v2.8.12-4174-g7bc8069

2013-10-19 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  7bc80698845a1c34d334be563f47118960476912 (commit)
   via  abfebefbb981a95837ffe88f98956785d936306d (commit)
  from  7a74a1028bfcd9f8c02fb9f9d05af1ce7571025e (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=7bc80698845a1c34d334be563f47118960476912
commit 7bc80698845a1c34d334be563f47118960476912
Merge: 7a74a10 abfebef
Author: Brad King brad.k...@kitware.com
AuthorDate: Sat Oct 19 06:48:54 2013 -0400
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Sat Oct 19 06:48:54 2013 -0400

Merge topic 'target-LOCATION-policy' into next

abfebef Cygwin: Avoid legacy warnings in RunCMake.CMP0026 test


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=abfebefbb981a95837ffe88f98956785d936306d
commit abfebefbb981a95837ffe88f98956785d936306d
Author: Brad King brad.k...@kitware.com
AuthorDate: Sat Oct 19 06:43:09 2013 -0400
Commit: Brad King brad.k...@kitware.com
CommitDate: Sat Oct 19 06:47:12 2013 -0400

Cygwin: Avoid legacy warnings in RunCMake.CMP0026 test

Set the minimum required version of CMake high enough to avoid the
warning for CMAKE_LEGACY_CYGWIN_WIN32.  The warning appears on stderr
and breaks the expected output matching.

diff --git a/Tests/RunCMake/CMP0026/CMakeLists.txt 
b/Tests/RunCMake/CMP0026/CMakeLists.txt
index e8db6b0..12cd3c7 100644
--- a/Tests/RunCMake/CMP0026/CMakeLists.txt
+++ b/Tests/RunCMake/CMP0026/CMakeLists.txt
@@ -1,3 +1,3 @@
-cmake_minimum_required(VERSION 2.8)
+cmake_minimum_required(VERSION 2.8.4)
 project(${RunCMake_TEST} NONE)
 include(${RunCMake_TEST}.cmake)

---

Summary of changes:
 Tests/RunCMake/CMP0026/CMakeLists.txt |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)


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


[Cmake-commits] CMake branch, next, updated. v2.8.12-4176-gdead7bc

2013-10-19 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  dead7bc2b76f797aa6b060d79a1c09d19cb5805b (commit)
   via  1b7117a8248da32038c6f3503ffebe38089f8610 (commit)
  from  7bc80698845a1c34d334be563f47118960476912 (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=dead7bc2b76f797aa6b060d79a1c09d19cb5805b
commit dead7bc2b76f797aa6b060d79a1c09d19cb5805b
Merge: 7bc8069 1b7117a
Author: Brad King brad.k...@kitware.com
AuthorDate: Sat Oct 19 06:49:14 2013 -0400
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Sat Oct 19 06:49:14 2013 -0400

Merge topic 'vs-intel-compiler' into next

1b7117a VS 6: Do not try Intel Fortran .vfproj file with msdev


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=1b7117a8248da32038c6f3503ffebe38089f8610
commit 1b7117a8248da32038c6f3503ffebe38089f8610
Author: Brad King brad.k...@kitware.com
AuthorDate: Sat Oct 19 06:30:57 2013 -0400
Commit: Brad King brad.k...@kitware.com
CommitDate: Sat Oct 19 06:37:22 2013 -0400

VS 6: Do not try Intel Fortran .vfproj file with msdev

Teach CMakeDetermineCompilerId to skip trying to build a .vfproj
file for Intel Fortran under Visual Studio 6.  The msdev command-line
build produces a popup error dialog that hangs the configuration.

diff --git a/Modules/CMakeDetermineCompilerId.cmake 
b/Modules/CMakeDetermineCompilerId.cmake
index e591f2c..0d7aa61 100644
--- a/Modules/CMakeDetermineCompilerId.cmake
+++ b/Modules/CMakeDetermineCompilerId.cmake
@@ -109,7 +109,11 @@ Id flags: ${testflags}
 )
 
   # Compile the compiler identification source.
-  if(${CMAKE_GENERATOR} MATCHES Visual Studio ([0-9]+))
+  if(CMAKE_GENERATOR STREQUAL Visual Studio 6 AND
+  lang STREQUAL Fortran)
+set(CMAKE_${lang}_COMPILER_ID_RESULT 1)
+set(CMAKE_${lang}_COMPILER_ID_OUTPUT No Intel Fortran in VS 6)
+  elseif(${CMAKE_GENERATOR} MATCHES Visual Studio ([0-9]+))
 set(vs_version ${CMAKE_MATCH_1})
 set(id_platform ${CMAKE_VS_PLATFORM_NAME})
 set(id_lang ${lang})

---

Summary of changes:
 Modules/CMakeDetermineCompilerId.cmake |6 +-
 1 files changed, 5 insertions(+), 1 deletions(-)


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


[Cmake-commits] CMake branch, next, updated. v2.8.12-4184-g644e016

2013-10-19 Thread Stephen Kelly
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  644e016780484da5cb71a6e78c634f542b352417 (commit)
   via  f0ba27dfe888cb1f3480201bc20b34b153be9f4c (commit)
   via  0ac6eea7e876457440b0d03f22958d4c13566c83 (commit)
  from  55725c9e77666b61e08ef92f22ddde3c6b1279c0 (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=644e016780484da5cb71a6e78c634f542b352417
commit 644e016780484da5cb71a6e78c634f542b352417
Merge: 55725c9 f0ba27d
Author: Stephen Kelly steve...@gmail.com
AuthorDate: Sat Oct 19 11:46:00 2013 -0400
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Sat Oct 19 11:46:00 2013 -0400

Merge topic 'INTERFACE_LIBRARY-build-targets' into next

f0ba27d Clear the depends info for INTERFACE_LIBRARY targets.
0ac6eea Revert Revert Make INTERFACE_LIBRARY targets part of the all 
target by default.


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f0ba27dfe888cb1f3480201bc20b34b153be9f4c
commit f0ba27dfe888cb1f3480201bc20b34b153be9f4c
Author: Stephen Kelly steve...@gmail.com
AuthorDate: Sat Oct 19 17:30:19 2013 +0200
Commit: Stephen Kelly steve...@gmail.com
CommitDate: Sat Oct 19 17:45:32 2013 +0200

Clear the depends info for INTERFACE_LIBRARY targets.

It contains a /clean entry for the previous target in the loop.

diff --git a/Source/cmGlobalUnixMakefileGenerator3.cxx 
b/Source/cmGlobalUnixMakefileGenerator3.cxx
index 9c8468a..3a261e2 100644
--- a/Source/cmGlobalUnixMakefileGenerator3.cxx
+++ b/Source/cmGlobalUnixMakefileGenerator3.cxx
@@ -771,9 +771,11 @@ cmGlobalUnixMakefileGenerator3
 progressDir += t-first;
 lg-AppendEcho(commands,progressDir.c_str());
 }
-
+  else
+{
+depends.clear();
+}
   this-AppendGlobalTargetDepends(depends,t-second);
-
   lg-WriteMakeRule(ruleFileStream, All Build rule for target.,
 localName.c_str(), depends, commands, true);
 

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0ac6eea7e876457440b0d03f22958d4c13566c83
commit 0ac6eea7e876457440b0d03f22958d4c13566c83
Author: Stephen Kelly steve...@gmail.com
AuthorDate: Sat Oct 19 17:45:26 2013 +0200
Commit: Stephen Kelly steve...@gmail.com
CommitDate: Sat Oct 19 17:45:32 2013 +0200

Revert Revert Make INTERFACE_LIBRARY targets part of the all target by 
default.

This reverts commit 076044130c98b7458e4de29190d9a2e89fa6a839.

diff --git a/Source/cmGlobalUnixMakefileGenerator3.cxx 
b/Source/cmGlobalUnixMakefileGenerator3.cxx
index 8ee7b44..9c8468a 100644
--- a/Source/cmGlobalUnixMakefileGenerator3.cxx
+++ b/Source/cmGlobalUnixMakefileGenerator3.cxx
@@ -777,17 +777,14 @@ cmGlobalUnixMakefileGenerator3
   lg-WriteMakeRule(ruleFileStream, All Build rule for target.,
 localName.c_str(), depends, commands, true);
 
-  if(t-second.GetType() != cmTarget::INTERFACE_LIBRARY)
+  // add the all/all dependency
+  if(!this-IsExcluded(this-LocalGenerators[0], t-second))
 {
-// add the all/all dependency
-if(!this-IsExcluded(this-LocalGenerators[0], t-second))
-  {
-  depends.clear();
-  depends.push_back(localName);
-  commands.clear();
-  lg-WriteMakeRule(ruleFileStream, Include target in all.,
-all, depends, commands, true);
-  }
+depends.clear();
+depends.push_back(localName);
+commands.clear();
+lg-WriteMakeRule(ruleFileStream, Include target in all.,
+  all, depends, commands, true);
 }
 
   // Write the rule.
diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt
index d779cdb..198ce04 100644
--- a/Tests/CMakeLists.txt
+++ b/Tests/CMakeLists.txt
@@ -273,7 +273,6 @@ if(BUILD_TESTING)
   --build-two-config
   ${build_generator_args}
   --build-project InterfaceBuildTargets
-  --build-target iface
   --test-command ${CMAKE_CMAKE_COMMAND} -E touch_nocreate 
${InterfaceBuildTargets_libname}
   )
 list(APPEND TEST_BUILD_DIRS 
${CMake_BINARY_DIR}/Tests/InterfaceBuildTargets)
diff --git a/Tests/InterfaceBuildTargets/CMakeLists.txt 
b/Tests/InterfaceBuildTargets/CMakeLists.txt
index 630259d..a00e5d5 100644
--- a/Tests/InterfaceBuildTargets/CMakeLists.txt
+++ b/Tests/InterfaceBuildTargets/CMakeLists.txt
@@ -1,6 +1,6 @@
 project(InterfaceBuildTargets)
 
-add_library(testlib testlib.cxx)
+add_library(testlib EXCLUDE_FROM_ALL testlib.cxx)
 set_property(TARGET testlib PROPERTY PREFIX )
 if(CMAKE_GENERATOR MATCHES Borland|Watcom)
   # These librarians add the .lib 

[Cmake-commits] CMake branch, next, updated. v2.8.12-4186-g0d9c91f

2013-10-19 Thread Stephen Kelly
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  0d9c91f449bd744bb7662b6227e719ea80fdc91b (commit)
   via  cd8b8cb304cfabf50facffeb208942bfca0c9d98 (commit)
  from  644e016780484da5cb71a6e78c634f542b352417 (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=0d9c91f449bd744bb7662b6227e719ea80fdc91b
commit 0d9c91f449bd744bb7662b6227e719ea80fdc91b
Merge: 644e016 cd8b8cb
Author: Stephen Kelly steve...@gmail.com
AuthorDate: Sat Oct 19 11:46:16 2013 -0400
Commit: CMake Topic Stage kwro...@kitware.com
CommitDate: Sat Oct 19 11:46:16 2013 -0400

Merge topic 'INTERFACE_LIBRARY-build-targets' into next

cd8b8cb Clear the depends info for INTERFACE_LIBRARY targets.


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=cd8b8cb304cfabf50facffeb208942bfca0c9d98
commit cd8b8cb304cfabf50facffeb208942bfca0c9d98
Author: Stephen Kelly steve...@gmail.com
AuthorDate: Sat Oct 19 17:30:19 2013 +0200
Commit: Stephen Kelly steve...@gmail.com
CommitDate: Sat Oct 19 17:46:09 2013 +0200

Clear the depends info for INTERFACE_LIBRARY targets.

It contains a /clean entry for the previous target in the loop.

diff --git a/Source/cmGlobalUnixMakefileGenerator3.cxx 
b/Source/cmGlobalUnixMakefileGenerator3.cxx
index 9c8468a..3a261e2 100644
--- a/Source/cmGlobalUnixMakefileGenerator3.cxx
+++ b/Source/cmGlobalUnixMakefileGenerator3.cxx
@@ -771,9 +771,11 @@ cmGlobalUnixMakefileGenerator3
 progressDir += t-first;
 lg-AppendEcho(commands,progressDir.c_str());
 }
-
+  else
+{
+depends.clear();
+}
   this-AppendGlobalTargetDepends(depends,t-second);
-
   lg-WriteMakeRule(ruleFileStream, All Build rule for target.,
 localName.c_str(), depends, commands, true);
 

---

Summary of changes:


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


[Cmake-commits] CMake branch, master, updated. v2.8.12-355-g2e68516

2013-10-19 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  2e685168181db59dc9004524ac6c44b4244e1127 (commit)
  from  0645d74118603991dae3aa76787873fe7fb3948f (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=2e685168181db59dc9004524ac6c44b4244e1127
commit 2e685168181db59dc9004524ac6c44b4244e1127
Author: Kitware Robot kwro...@kitware.com
AuthorDate: Sun Oct 20 00:01:17 2013 -0400
Commit: Kitware Robot kwro...@kitware.com
CommitDate: Sun Oct 20 00:01:17 2013 -0400

CMake Nightly Date Stamp

diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake
index 038bfa7..64ec644 100644
--- a/Source/CMakeVersion.cmake
+++ b/Source/CMakeVersion.cmake
@@ -2,5 +2,5 @@
 set(CMake_VERSION_MAJOR 2)
 set(CMake_VERSION_MINOR 8)
 set(CMake_VERSION_PATCH 12)
-set(CMake_VERSION_TWEAK 20131019)
+set(CMake_VERSION_TWEAK 20131020)
 #set(CMake_VERSION_RC 1)

---

Summary of changes:
 Source/CMakeVersion.cmake |2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)


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