Re: [CMake] Faking a library
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 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
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
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
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
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
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
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
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
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
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
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
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
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