[Cmake-commits] CMake branch, master, updated. v3.2.2-1287-g7e2984e
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 7e2984e279aea93f26dfc8a210e6fa68c3d2acaf (commit) from d0f59d359830c68fc7f1a295b9f0ba7ce331d867 (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=7e2984e279aea93f26dfc8a210e6fa68c3d2acaf commit 7e2984e279aea93f26dfc8a210e6fa68c3d2acaf Author: Kitware Robot kwro...@kitware.com AuthorDate: Sat May 23 00:01:06 2015 -0400 Commit: Kitware Robot kwro...@kitware.com CommitDate: Sat May 23 00:01:06 2015 -0400 CMake Nightly Date Stamp diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake index d5ab129..44d8edc 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 2) -set(CMake_VERSION_PATCH 20150522) +set(CMake_VERSION_PATCH 20150523) #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
[cmake-developers] [CMake 0015580]: PROTOBUF_GENERATE_CPP does not add __attribute__(const|pure) to the suitable, generated, functions.
The following issue has been SUBMITTED. == http://public.kitware.com/Bug/view.php?id=15580 == Reported By:J McG Assigned To: == Project:CMake Issue ID: 15580 Category: CMake Reproducibility:always Severity: minor Priority: normal Status: new == Date Submitted: 2015-05-22 06:06 EDT Last Modified: 2015-05-22 06:06 EDT == Summary:PROTOBUF_GENERATE_CPP does not add __attribute__(const|pure) to the suitable, generated, functions. Description: FindProtobuf.cmake makes the PROTOBUF_GENERATE_CPP macro available. If I attempt to add_compile_options(-Wall -Wsuggest-attribute=pure -Wsuggest-attribute=const) I note that the generated code has not had these optimisation options applied. Steps to Reproduce: 1. find_package(ProtoBuf) 2. add_compile_options(-Wall -Wsuggest-attribute=pure -Wsuggest-attribute=const) 3. PROTOBUF_GENERATE_CPP(PROTO_SRCS PROTO_HDRS ${PROTOCOLS}) 4. add_library(${PROJECT_NAME} OBJECT ${PROTO_SRCS} ${PROTO_HDRS}) Additional Information: Surely modifying the generator to add these attribute to the function generator should be pretty easy. == Issue History Date ModifiedUsername FieldChange == 2015-05-22 06:06 J McG New Issue == -- 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-commits] CMake branch, master, updated. v3.2.2-1286-gd0f59d3
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 d0f59d359830c68fc7f1a295b9f0ba7ce331d867 (commit) via 8b4b9631f5f79ffee11b33c1e8826cd4064b3a23 (commit) via 46656aa1fa69b79aa0c645a131d7abfdc34e621c (commit) via 55fc5e7c9ad018bbb90fbcee6ac09cf224b46246 (commit) via ca7cc2ebd0bd17b70279a51a3a087b5629175f06 (commit) via fa752bf3393e583851b333cc41d2507dc217e9a8 (commit) from edf84ab3e9a20cb00fc2763dc71b073aa3322909 (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=d0f59d359830c68fc7f1a295b9f0ba7ce331d867 commit d0f59d359830c68fc7f1a295b9f0ba7ce331d867 Merge: edf84ab 8b4b963 Author: Brad King brad.k...@kitware.com AuthorDate: Fri May 22 09:39:54 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Fri May 22 09:39:54 2015 -0400 Merge topic 'clean-up-backtrace-handling' 8b4b9631 cmake: Add IssueMessage overload taking a single cmListFileContext. 46656aa1 cmake: Extract displayMessage method. 55fc5e7c cmake: Extract printMessageText method. ca7cc2eb cmake: Extract PrintMessagePreamble method. fa752bf3 cmake: Move isError determination to a more-natural place. --- Summary of changes: Source/cmCommandArgumentParserHelper.cxx |9 ++-- Source/cmMakefile.cxx| 40 +++--- Source/cmake.cxx | 83 +- Source/cmake.h |5 ++ 4 files changed, 86 insertions(+), 51 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.2.2-1280-gedf84ab
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 edf84ab3e9a20cb00fc2763dc71b073aa3322909 (commit) via 2f4bb4e9b033e1ac3daf63c0dc7c588ccbd70bf4 (commit) from cd679aa8207790d9f25ec4a9b8c15f7e5bfa245f (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=edf84ab3e9a20cb00fc2763dc71b073aa3322909 commit edf84ab3e9a20cb00fc2763dc71b073aa3322909 Merge: cd679aa 2f4bb4e Author: Brad King brad.k...@kitware.com AuthorDate: Fri May 22 09:39:52 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Fri May 22 09:39:52 2015 -0400 Merge topic 'vs-cleanup-internal-configs' 2f4bb4e9 VS: Do not accumulate configurations globally (#15577) --- Summary of changes: Source/cmGlobalVisualStudio71Generator.cxx | 19 -- Source/cmGlobalVisualStudio71Generator.h |4 +- Source/cmGlobalVisualStudio7Generator.cxx | 89 +++--- Source/cmGlobalVisualStudio7Generator.h| 13 ++-- Source/cmGlobalVisualStudio8Generator.cxx | 12 ++-- Source/cmGlobalVisualStudio8Generator.h|4 +- Source/cmLocalVisualStudio7Generator.cxx | 54 +++- Source/cmLocalVisualStudio7Generator.h |4 +- Source/cmVisualStudio10TargetGenerator.cxx | 95 Source/cmVisualStudio10TargetGenerator.h |1 + 10 files changed, 119 insertions(+), 176 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.2.2-3070-g5dba43b
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 5dba43bdcf386dfdc6f1697138926f5945e78ce6 (commit) via 0de47b05f74bd12d41b46634f00aea3bcb6f3678 (commit) from d4cac214dac01aa5dde668b592d8b800b168c246 (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=5dba43bdcf386dfdc6f1697138926f5945e78ce6 commit 5dba43bdcf386dfdc6f1697138926f5945e78ce6 Merge: d4cac21 0de47b0 Author: Brad King brad.k...@kitware.com AuthorDate: Fri May 22 09:31:23 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Fri May 22 09:31:23 2015 -0400 Merge topic 'ExternalData-no-symlinks' into next 0de47b05 ExternalData: Add option to disable use of symlinks http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0de47b05f74bd12d41b46634f00aea3bcb6f3678 commit 0de47b05f74bd12d41b46634f00aea3bcb6f3678 Author: Brad King brad.k...@kitware.com AuthorDate: Fri May 22 09:15:07 2015 -0400 Commit: Brad King brad.k...@kitware.com CommitDate: Fri May 22 09:21:47 2015 -0400 ExternalData: Add option to disable use of symlinks Add an ExternalData_NO_SYMLINKS to enable use of copies instead of symlinks to populate the real data files behind a DATA{} reference. This will be useful on UNIX-like systems when the underlying filesystem does not actually support symbolic links. Suggested-by: Matt McCormick matt.mccorm...@kitware.com diff --git a/Help/release/dev/ExternalData-no-symlinks.rst b/Help/release/dev/ExternalData-no-symlinks.rst new file mode 100644 index 000..9323cca --- /dev/null +++ b/Help/release/dev/ExternalData-no-symlinks.rst @@ -0,0 +1,7 @@ +ExternalData-no-symlinks + + +* The :module:`ExternalData` module learned a new + :variable:`ExternalData_NO_SYMLINKS` option to disable use of + symbolic links to populate the real data files and use copies + instead. diff --git a/Modules/ExternalData.cmake b/Modules/ExternalData.cmake index 883ab69..a3f460d 100644 --- a/Modules/ExternalData.cmake +++ b/Modules/ExternalData.cmake @@ -117,6 +117,13 @@ calling any of the functions provided by this module. data fetch rule created for the content link will use the staged object if it cannot be found using any URL template. +.. variable:: ExternalData_NO_SYMLINKS + + The real data files named by expanded ``DATA{}`` references may be made + available under ``ExternalData_BINARY_ROOT`` using symbolic links on + some platforms. The ``ExternalData_NO_SYMLINKS`` variable may be set + to disable use of symbolic links and enable use of copies instead. + .. variable:: ExternalData_OBJECT_STORES The ``ExternalData_OBJECT_STORES`` variable may be set to a list of local @@ -842,7 +849,7 @@ function(_ExternalData_link_or_copy src dst) file(MAKE_DIRECTORY ${dst_dir}) _ExternalData_random(random) set(tmp ${dst}.tmp${random}) - if(UNIX) + if(UNIX AND NOT ExternalData_NO_SYMLINKS) # Create a symbolic link. set(tgt ${src}) if(relative_top) diff --git a/Modules/ExternalData_config.cmake.in b/Modules/ExternalData_config.cmake.in index 4434e4b..18be6b3 100644 --- a/Modules/ExternalData_config.cmake.in +++ b/Modules/ExternalData_config.cmake.in @@ -2,4 +2,5 @@ set(ExternalData_OBJECT_STORES @ExternalData_OBJECT_STORES@) set(ExternalData_URL_TEMPLATES @ExternalData_URL_TEMPLATES@) set(ExternalData_TIMEOUT_INACTIVITY @ExternalData_TIMEOUT_INACTIVITY@) set(ExternalData_TIMEOUT_ABSOLUTE @ExternalData_TIMEOUT_ABSOLUTE@) +set(ExternalData_NO_SYMLINKS @ExternalData_NO_SYMLINKS@) @_ExternalData_CONFIG_CODE@ diff --git a/Tests/Module/ExternalData/CMakeLists.txt b/Tests/Module/ExternalData/CMakeLists.txt index b6e24d2..f07ab71 100644 --- a/Tests/Module/ExternalData/CMakeLists.txt +++ b/Tests/Module/ExternalData/CMakeLists.txt @@ -53,3 +53,4 @@ ExternalData_Add_Target(Data1) add_subdirectory(Data2) add_subdirectory(Data3) add_subdirectory(Data4) +add_subdirectory(DataNoSymlinks) diff --git a/Tests/Module/ExternalData/DataNoSymlinks/CMakeLists.txt b/Tests/Module/ExternalData/DataNoSymlinks/CMakeLists.txt new file mode 100644 index 000..d3df7fc --- /dev/null +++ b/Tests/Module/ExternalData/DataNoSymlinks/CMakeLists.txt @@ -0,0 +1,8 @@ +set(ExternalData_NO_SYMLINKS 1) +ExternalData_Add_Test(DataNoSymlinks + NAME DataNoSymlinksCheck + COMMAND ${CMAKE_COMMAND} +-D Data=DATA{Data.dat} +-P ${CMAKE_CURRENT_SOURCE_DIR}/DataNoSymlinksCheck.cmake + ) +ExternalData_Add_Target(DataNoSymlinks) diff --git a/Tests/Module/ExternalData/DataNoSymlinks/Data.dat.md5 b/Tests/Module/ExternalData/DataNoSymlinks/Data.dat.md5 new file
[Cmake-commits] CMake branch, next, updated. v3.2.2-3068-gd4cac21
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 d4cac214dac01aa5dde668b592d8b800b168c246 (commit) via b3475ba57bc839125440fe8d21f611198041434e (commit) from d2a981afa7e038dfb44e2643e263f089bfd12541 (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=d4cac214dac01aa5dde668b592d8b800b168c246 commit d4cac214dac01aa5dde668b592d8b800b168c246 Merge: d2a981a b3475ba Author: Brad King brad.k...@kitware.com AuthorDate: Fri May 22 08:48:04 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Fri May 22 08:48:04 2015 -0400 Merge topic 'run-include-what-you-use' into next b3475ba5 Makefile: Fix LANG_INCLUDE_WHAT_YOU_USE with CTEST_USE_LAUNCHERS http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b3475ba57bc839125440fe8d21f611198041434e commit b3475ba57bc839125440fe8d21f611198041434e Author: Brad King brad.k...@kitware.com AuthorDate: Thu May 21 15:35:45 2015 -0400 Commit: Brad King brad.k...@kitware.com CommitDate: Fri May 22 08:44:46 2015 -0400 Makefile: Fix LANG_INCLUDE_WHAT_YOU_USE with CTEST_USE_LAUNCHERS The 'ctest --launch' command must be placed before the IWYU launcher on the compiler command line. Extend the RunCMake.IncludeWhatYouUse test to cover this case. The Ninja generator already does it correctly. diff --git a/Source/cmMakefileTargetGenerator.cxx b/Source/cmMakefileTargetGenerator.cxx index 893b70d..b28a701 100644 --- a/Source/cmMakefileTargetGenerator.cxx +++ b/Source/cmMakefileTargetGenerator.cxx @@ -761,13 +761,6 @@ cmMakefileTargetGenerator source.GetFullPath(), workingDirectory, compileCommand); } - // Expand placeholders in the commands. - for(std::vectorstd::string::iterator i = compileCommands.begin(); - i != compileCommands.end(); ++i) -{ -this-LocalGenerator-ExpandRuleVariables(*i, vars); -} - // Maybe insert an include-what-you-use runner. if (!compileCommands.empty() (lang == C || lang == CXX)) { @@ -782,6 +775,13 @@ cmMakefileTargetGenerator } } + // Expand placeholders in the commands. + for(std::vectorstd::string::iterator i = compileCommands.begin(); + i != compileCommands.end(); ++i) +{ +this-LocalGenerator-ExpandRuleVariables(*i, vars); +} + // Change the command working directory to the local build tree. this-LocalGenerator-CreateCDCommand (compileCommands, diff --git a/Tests/RunCMake/IncludeWhatYouUse/C-launch-Build-stdout.txt b/Tests/RunCMake/IncludeWhatYouUse/C-launch-Build-stdout.txt new file mode 100644 index 000..cb74677 --- /dev/null +++ b/Tests/RunCMake/IncludeWhatYouUse/C-launch-Build-stdout.txt @@ -0,0 +1,4 @@ +Warning: include-what-you-use reported diagnostics: +should add these lines: +* +#include \.\.\. diff --git a/Tests/RunCMake/IncludeWhatYouUse/C-launch.cmake b/Tests/RunCMake/IncludeWhatYouUse/C-launch.cmake new file mode 100644 index 000..e66ca20 --- /dev/null +++ b/Tests/RunCMake/IncludeWhatYouUse/C-launch.cmake @@ -0,0 +1,3 @@ +set(CTEST_USE_LAUNCHERS 1) +include(CTestUseLaunchers) +include(C.cmake) diff --git a/Tests/RunCMake/IncludeWhatYouUse/CXX-launch-Build-stdout.txt b/Tests/RunCMake/IncludeWhatYouUse/CXX-launch-Build-stdout.txt new file mode 100644 index 000..cb74677 --- /dev/null +++ b/Tests/RunCMake/IncludeWhatYouUse/CXX-launch-Build-stdout.txt @@ -0,0 +1,4 @@ +Warning: include-what-you-use reported diagnostics: +should add these lines: +* +#include \.\.\. diff --git a/Tests/RunCMake/IncludeWhatYouUse/CXX-launch.cmake b/Tests/RunCMake/IncludeWhatYouUse/CXX-launch.cmake new file mode 100644 index 000..3002c9d --- /dev/null +++ b/Tests/RunCMake/IncludeWhatYouUse/CXX-launch.cmake @@ -0,0 +1,3 @@ +set(CTEST_USE_LAUNCHERS 1) +include(CTestUseLaunchers) +include(CXX.cmake) diff --git a/Tests/RunCMake/IncludeWhatYouUse/RunCMakeTest.cmake b/Tests/RunCMake/IncludeWhatYouUse/RunCMakeTest.cmake index 68c6bd7..8f99eb1 100644 --- a/Tests/RunCMake/IncludeWhatYouUse/RunCMakeTest.cmake +++ b/Tests/RunCMake/IncludeWhatYouUse/RunCMakeTest.cmake @@ -16,3 +16,7 @@ endfunction() run_iwyu(C) run_iwyu(CXX) +if (NOT RunCMake_GENERATOR STREQUAL Watcom WMake) + run_iwyu(C-launch) + run_iwyu(CXX-launch) +endif() --- Summary of changes: Source/cmMakefileTargetGenerator.cxx | 14 +++--- .../{C-Build-stdout.txt = C-launch-Build-stdout.txt}|0 Tests/RunCMake/IncludeWhatYouUse/C-launch.cmake |3 +++ .../{C-Build-stdout.txt = CXX-launch-Build-stdout.txt} |0
[Cmake-commits] CMake branch, master, updated. v3.2.2-1278-gcd679aa
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 cd679aa8207790d9f25ec4a9b8c15f7e5bfa245f (commit) via deec97d8eca4db67be09031757fd11f66c1a037b (commit) from 57b5b074618d7adc8a50181c12fc944a84112495 (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=cd679aa8207790d9f25ec4a9b8c15f7e5bfa245f commit cd679aa8207790d9f25ec4a9b8c15f7e5bfa245f Merge: 57b5b07 deec97d Author: Brad King brad.k...@kitware.com AuthorDate: Fri May 22 09:39:50 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Fri May 22 09:39:50 2015 -0400 Merge topic 'revert-extra-qbs-generator' deec97d8 Revert Qbs: Add new 'extra' generator for qbs project files --- Summary of changes: Help/generator/Qbs.rst | 25 --- Help/manual/cmake-generators.7.rst |1 - Help/release/dev/add-extra-qbs-generator.rst |6 - Source/CMakeLists.txt|2 - Source/cmExtraQbsGenerator.cxx | 262 -- Source/cmExtraQbsGenerator.h | 48 - Source/cmake.cxx |4 - Tests/CMakeLists.txt | 16 +- 8 files changed, 1 insertion(+), 363 deletions(-) delete mode 100644 Help/generator/Qbs.rst delete mode 100644 Help/release/dev/add-extra-qbs-generator.rst delete mode 100644 Source/cmExtraQbsGenerator.cxx delete mode 100644 Source/cmExtraQbsGenerator.h 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.2.2-3075-gec41ea7
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 ec41ea7f997c56cfb8f07e1c8f95209545b8378d (commit) via d0f59d359830c68fc7f1a295b9f0ba7ce331d867 (commit) via edf84ab3e9a20cb00fc2763dc71b073aa3322909 (commit) via cd679aa8207790d9f25ec4a9b8c15f7e5bfa245f (commit) via 57b5b074618d7adc8a50181c12fc944a84112495 (commit) from 5dba43bdcf386dfdc6f1697138926f5945e78ce6 (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=ec41ea7f997c56cfb8f07e1c8f95209545b8378d commit ec41ea7f997c56cfb8f07e1c8f95209545b8378d Merge: 5dba43b d0f59d3 Author: Brad King brad.k...@kitware.com AuthorDate: Fri May 22 09:40:03 2015 -0400 Commit: Brad King brad.k...@kitware.com CommitDate: Fri May 22 09:40:03 2015 -0400 Merge branch 'master' into next --- 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
Re: [CMake] (no subject)
Hi, On 21 May 2015 at 23:00, lucas.pet...@engilitycorp.com wrote: Hello, I am trying to compile a code written in C, but using an external library that contains C++ functions. I am on a Cray system and everything works if I manually link with the cray CC wrapper. When I change the linker language with this command: set_property(TARGET adh PROPERTY LINKER_LANGUAGE CXX) CMake is using the CC wrapper, but adding -lstdc++ to the link line. This causes an error. Can anyone tell me how to not get this added library? Why are you telling CMake that the linker language is C++ in the target you are building is C code? The C code you are compiling be must calling into extern C functions in the external library you mention which means the linker (at compile time) should not need to know about C++ at all. At runtime the linker needs to know that your external library depends on C++ but you don't need to be concerned with this because when your external library was built those dependencies end up in the shared library. E.g. ``` $ readelf -d /usr/lib/libboost_program_options.so ... TagType Name/Value ... 0x0001 (NEEDED) Shared library: [libstdc++.so.6] ... ``` Does your target build if you just leave LINKER_LANGUAGE alone (i.e. set C)? I would expect that it would. Thanks, Dan. -- 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] (no subject)
The Cray system requires static libraries, so all symbols are defined during the linking process. Leaving out the LINKER_LANGUAGE CXX statement, CMake sees all the source files as C files, uses the C linker and I get undefined symbol errors. Manually linking with the C++ linker but excluding the -lstdc++ flag generates an executable. I really just need CMake to use the C++ linker without adding that flag. Thanks, Lucas Pettey, PhD HPCMP PETTT EQM CTA Lead ERDC-DSRC OnSite Vicksburg, MS 512-297-9833 Mobile (preferred) 601-634-2980 Office lucas.pet...@engilitycorp.com From: Dan Liew [d...@su-root.co.uk] Sent: Friday, May 22, 2015 7:19 AM To: Pettey, Lucas @ EngilityCorp Cc: cmake@cmake.org Subject: Re: [CMake] (no subject) Hi, On 21 May 2015 at 23:00, lucas.pet...@engilitycorp.com wrote: Hello, I am trying to compile a code written in C, but using an external library that contains C++ functions. I am on a Cray system and everything works if I manually link with the cray CC wrapper. When I change the linker language with this command: set_property(TARGET adh PROPERTY LINKER_LANGUAGE CXX) CMake is using the CC wrapper, but adding -lstdc++ to the link line. This causes an error. Can anyone tell me how to not get this added library? Why are you telling CMake that the linker language is C++ in the target you are building is C code? The C code you are compiling be must calling into extern C functions in the external library you mention which means the linker (at compile time) should not need to know about C++ at all. At runtime the linker needs to know that your external library depends on C++ but you don't need to be concerned with this because when your external library was built those dependencies end up in the shared library. E.g. ``` $ readelf -d /usr/lib/libboost_program_options.so ... TagType Name/Value ... 0x0001 (NEEDED) Shared library: [libstdc++.so.6] ... ``` Does your target build if you just leave LINKER_LANGUAGE alone (i.e. set C)? I would expect that it would. Thanks, Dan. -- 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-developers] [CMake 0015581]: cmake gets confused on apple because of the caseless files system
The following issue has been SUBMITTED. == http://public.kitware.com/Bug/view.php?id=15581 == Reported By:herc4mac Assigned To: == Project:CMake Issue ID: 15581 Category: CMake Reproducibility:always Severity: major Priority: normal Status: new == Date Submitted: 2015-05-22 17:58 CEST Last Modified: 2015-05-22 17:58 CEST == Summary:cmake gets confused on apple because of the caseless files system Description: MY symptom ... CMAKE does not honor the setting of CMAKE_iINSTALL_PREFIX and CMAKE_BUILD_TYPE long to describe in words, easier to follow the steps to reproduce. I am one of the developers of the Hercules emulator for the IBM s370/s390/zArch mainframes my directory structure is /Hercules /Hercules/. == source and CMakeLists.txt /Hercules/.release please observe the capitalisation of the root directory my CMakeLists will determine the install prefix an the build type by parsing the name of the build directory the install prefix will be /Hercules/ the build type will be Release my best regards Enrico PS even if it might be hard to fix, it should be STRONGLY documented I said severity major because a SUDO make install might break things Steps to Reproduce: from a terminal window cd /Hercules cd .release rm * == for a clean build cmake ../. make make install everything works as a charm! but if instead of cd /Hercules CAPITALIZED I type cd /hercules LOWER CASE cd .release ... ... ... make make install cmake will try to install to /usr/local another side effect is start from scratch cd /Hercules cd .release cmake ../. make and afterwards I start over but with cd /hercules == note the all lower cd .release cmake ../. cmake should do nothing because nothing has changed ( looks like ) but a subsequent make will rebuild everything now thatI know I will be more careful in my cdS ... same behaviour with cmake 3.2.1 == Issue History Date ModifiedUsername FieldChange == 2015-05-22 17:58 herc4mac New Issue == -- 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-commits] CMake branch, next, updated. v3.2.2-3082-gb3fe4c5
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 b3fe4c5ab4028294418cbb99192d8204a9a7626a (commit) via 43e5af801205dfa3acde29a47e16b18427c7c080 (commit) via 50de5dbbf5bd9293b26cad674fbdb681df89ac5e (commit) via 771f1b00dc1e9422e543534ca2ea823c98b3e2be (commit) via ab55b3b5faac694c28d8725e235923803fb83a8d (commit) from 4137baa4331d7cf7359870682fdd06cb7c0ac529 (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=b3fe4c5ab4028294418cbb99192d8204a9a7626a commit b3fe4c5ab4028294418cbb99192d8204a9a7626a Merge: 4137baa 43e5af8 Author: Brad King brad.k...@kitware.com AuthorDate: Fri May 22 15:29:41 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Fri May 22 15:29:41 2015 -0400 Merge topic 'extend-visibility-properties' into next 43e5af80 Honor visibility properties for all target types (#15556) 50de5dbb Help: Format visibility property and variable documentation 771f1b00 Tests: Rename Visibility{InlinesHidden =} ab55b3b5 Tests: Refactor RunCMake.VisibilityPreset test setup http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=43e5af801205dfa3acde29a47e16b18427c7c080 commit 43e5af801205dfa3acde29a47e16b18427c7c080 Author: Brad King brad.k...@kitware.com AuthorDate: Fri May 22 14:01:44 2015 -0400 Commit: Brad King brad.k...@kitware.com CommitDate: Fri May 22 15:27:43 2015 -0400 Honor visibility properties for all target types (#15556) The LANG_VISIBILITY_PRESET and VISIBILITY_INLINES_HIDDEN are useful for sources in all target types because they may be later linked into shared libraries or executables with exports. Introduce policy CMP0063 to enable them for all target types while preserving compatibility with existing projects that do not expect this. diff --git a/Help/manual/cmake-policies.7.rst b/Help/manual/cmake-policies.7.rst index 2cc3a47..c5970bb 100644 --- a/Help/manual/cmake-policies.7.rst +++ b/Help/manual/cmake-policies.7.rst @@ -120,3 +120,4 @@ All Policies /policy/CMP0060 /policy/CMP0061 /policy/CMP0062 + /policy/CMP0063 diff --git a/Help/policy/CMP0063.rst b/Help/policy/CMP0063.rst new file mode 100644 index 000..298e9c2 --- /dev/null +++ b/Help/policy/CMP0063.rst @@ -0,0 +1,26 @@ +CMP0063 +--- + +Honor visibility properties for all target types. + +The :prop_tgt:`LANG_VISIBILITY_PRESET` and +:prop_tgt:`VISIBILITY_INLINES_HIDDEN` target properties affect visibility +of symbols during dynamic linking. When first introduced these properties +affected compilation of sources only in shared libraries, module libraries, +and executables with the :prop_tgt:`ENABLE_EXPORTS` property set. This +was sufficient for the basic use cases of shared libraries and executables +with plugins. However, some sources may be compiled as part of static +libraries or object libraries and then linked into a shared library later. +CMake 3.3 and above prefer to honor these properties for sources compiled +in all target types. This policy preserves compatibility for projects +expecting the properties to work only for some target types. + +The ``OLD`` behavior for this policy is to ignore the visibility properties +for static libraries, object libraries, and executables without exports. +The ``NEW`` behavior for this policy is to honor the visibility properties +for all target types. + +This policy was introduced in CMake version 3.3. CMake version +|release| warns when the policy is not set and uses ``OLD`` behavior. Use +the :command:`cmake_policy()` command to set it to ``OLD`` or ``NEW`` +explicitly. diff --git a/Help/prop_tgt/LANG_VISIBILITY_PRESET.rst b/Help/prop_tgt/LANG_VISIBILITY_PRESET.rst index dfed1c4..5d34e20 100644 --- a/Help/prop_tgt/LANG_VISIBILITY_PRESET.rst +++ b/Help/prop_tgt/LANG_VISIBILITY_PRESET.rst @@ -5,7 +5,9 @@ Value for symbol visibility compile flags The ``LANG_VISIBILITY_PRESET`` property determines the value passed in a visibility related compile option, such as ``-fvisibility=`` for ``LANG``. -This property only has an affect for libraries and executables with -exports. This property is initialized by the value of the +This property affects compilation in sources of all types of targets +(subject to policy :policy:`CMP0063`). + +This property is initialized by the value of the :variable:`CMAKE_LANG_VISIBILITY_PRESET` variable if it is set when a target is created. diff --git a/Help/prop_tgt/VISIBILITY_INLINES_HIDDEN.rst b/Help/prop_tgt/VISIBILITY_INLINES_HIDDEN.rst index 9a1c9c1..adbbc71 100644 --- a/Help/prop_tgt/VISIBILITY_INLINES_HIDDEN.rst