Re: [CMake] Visual Studio 2008 / VS Compiler for Python
Hi, Following up to the list for posterity with information summarized by Jc on scikit-build: https://github.com/scikit-build/scikit-build/issues/34#issuecomment-230070388 Setting the environment and using NMake generator will work. Visual Studio generator can not be used with "Microsoft C++ Compiler for Python 2.7" because neither devenv or msbuild are provided. HTH, Matt On Wed, May 11, 2016 at 10:34 AM, Michael Sarahanwrote: > In compiling TBB, a conda-forge contributor ran across issues with CMake not > finding the VS compiler for VS 2008 Win64. > > https://github.com/conda-forge/staged-recipes/pull/533 > > The exact error is at > https://ci.appveyor.com/project/conda-forge/staged-recipes/build/1.0.2118/job/t2axdaotmty35j6k#L216 > > Appveyor is an interesting platform, in that they install VS 2008 Express, > then the VS compiler for Python (which adds the 64-bit compilation support). > > How does CMake find compilers? Does it need extra instruction of some sort > here? > > This is occurring in the context of a conda build, so we have already run > the appropriate vcvars*.bat script by the time CMake runs > (https://ci.appveyor.com/project/conda-forge/staged-recipes/build/1.0.2118/job/t2axdaotmty35j6k#L185) > - but I'm not sure that really influences CMake's ability to find the > compiler. > > Any guidance much appreciated. > > Best, > Michael > > -- > > Powered by www.kitware.com > > Please keep messages on-topic and check the CMake FAQ at: > http://www.cmake.org/Wiki/CMake_FAQ > > Kitware offers various services to support the CMake community. For more > information on each offering, please visit: > > CMake Support: http://cmake.org/cmake/help/support.html > CMake Consulting: http://cmake.org/cmake/help/consulting.html > CMake Training Courses: http://cmake.org/cmake/help/training.html > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/cmake -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake
Re: [CMake] Regarding installation of ITK
Hello, Welcome to ITK! Please follow the steps described here to get started: http://itk.org/ITKSoftwareGuide/html/Book1/ITKSoftwareGuide-Book1ch2.html#x27-170002 Please also use the latest version of ITK (4.9.0) and CMake (3.5.1). Thanks, Matt On Fri, Apr 1, 2016 at 8:44 AM, Mavitha Sriwrote: > Hello Sir/Madam, > > Great Day, > > I am going to use ITK tool kit for my project,So,i tried to install ITK > tool in my system.But it showing some error when configuring the CMake. And > i have also attached the error.So,please kindly help me to solve this > error. > > ITK version-3.20.1 > CMake version-2.8.9 > > -- > > Powered by www.kitware.com > > Please keep messages on-topic and check the CMake FAQ at: > http://www.cmake.org/Wiki/CMake_FAQ > > Kitware offers various services to support the CMake community. For more > information on each offering, please visit: > > CMake Support: http://cmake.org/cmake/help/support.html > CMake Consulting: http://cmake.org/cmake/help/consulting.html > CMake Training Courses: http://cmake.org/cmake/help/training.html > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/cmake > -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake
[Cmake-commits] CMake branch, next, updated. v3.4.1-1954-g021378e
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 021378efed47f005d8b20c3d56487d68982919fe (commit) via ae32b5c91d660c30c80c29ab5b548b364e94c89b (commit) from 916741017fce97137df31effb795e93a43c4a54d (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 - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=021378efed47f005d8b20c3d56487d68982919fe commit 021378efed47f005d8b20c3d56487d68982919fe Merge: 9167410 ae32b5c Author: Matt McCormick <matt.mccorm...@kitware.com> AuthorDate: Wed Jan 13 14:15:07 2016 -0500 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Wed Jan 13 14:15:07 2016 -0500 Merge topic 'FindDCMTK-update' into next ae32b5c9 FindDCMTK: Add compatibility table to documentation. https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ae32b5c91d660c30c80c29ab5b548b364e94c89b commit ae32b5c91d660c30c80c29ab5b548b364e94c89b Author: Matt McCormick <matt.mccorm...@kitware.com> AuthorDate: Wed Jan 13 14:13:44 2016 -0500 Commit: Matt McCormick <matt.mccorm...@kitware.com> CommitDate: Wed Jan 13 14:13:44 2016 -0500 FindDCMTK: Add compatibility table to documentation. Re: Bug #15909. diff --git a/Modules/FindDCMTK.cmake b/Modules/FindDCMTK.cmake index dd0c9ff..dc663b5 100644 --- a/Modules/FindDCMTK.cmake +++ b/Modules/FindDCMTK.cmake @@ -10,11 +10,69 @@ # DCMTK_FOUND - If false, don't try to use DCMTK # DCMTK_DIR - (optional) Source directory for DCMTK # -# .. note:: -# Recent DCMTK provides a *DCMTKConfig.cmake* :manual:`package configuration file -# <cmake-packages(7)>`. To exclusively use the package configuration file -# (recommended when possible), pass the `NO_MODULE` option to -# :command:`find_package`. For example, `find_package(DCMTK NO_MODULE)`. +# Compatibility +# ^ +# +# This module is able to find a version of DCMTK that does or does not export +# a *DCMTKConfig.cmake* file. It applies a two step process: +# +# * Step 1: Attempt to find DCMTK version providing a *DCMTKConfig.cmake* file. +# * Step 2: If step 1 failed, rely on *FindDCMTK.cmake* to set `DCMTK_*` variables details below. +# +# +# `Recent DCMTK +# <http://git.dcmtk.org/web?p=dcmtk.git;a=commit;h=662ae187c493c6b9a73dd5e3875372cebd0c11fe>`_ +# provides a *DCMTKConfig.cmake* :manual:`package configuration file +# <cmake-packages(7)>`. To exclusively use the package configuration file +# (recommended when possible), pass the `NO_MODULE` option to +# :command:`find_package`. For example, `find_package(DCMTK NO_MODULE)`. +# This requires official DCMTK snapshot *3.6.1_20140617* or newer. +# +# +# Until all clients update to the more recent DCMTK, build systems will need +# to support different versions of DCMTK. +# +# On any given system, the following combinations of DCMTK versions could be +# considered: +# +# ++-+---+---+ +# || SYSTEM DCMTK | LOCAL DCMTK | Supported ? | +# ++-+---+---+ +# | Case A | NA| [ ] DCMTKConfig | YES | +# ++-+---+---+ +# | Case B | NA| [X] DCMTKConfig | YES | +# ++-+---+---+ +# | Case C | [ ] DCMTKConfig | NA | YES | +# ++-+---+---+ +# | Case D | [X] DCMTKConfig | NA | YES | +# ++-+---+---+ +# | Case E | [ ] DCMTKConfig | [ ] DCMTKConfig | YES (*) | +# ++-+---+---+ +# | Case F | [X] DCMTKConfig | [ ] DCMTKConfig | NO| +# ++-+---+---+ +# | Case G | [ ] DCMTKConfig | [X] DCMTKConfig | YES | +# ++-+---+---+ +# | Case H | [X] DCMTKConfig | [X] DCMTKConfig | YES | +# ++-+---+---+ +# +# (*) See Troubleshooting section. +# +# Legend: +# +# NA ...: Means that no System or Local DCMTK is available +# +# [ ] DCMTKConfig ..: Means that the version of DCMTK does NOT export a DCMTKConfig.cmake file
[Cmake-commits] CMake branch, next, updated. v3.4.1-1952-g9167410
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 916741017fce97137df31effb795e93a43c4a54d (commit) via ed54acf383ef7c46a2746c4423f395d399f0e525 (commit) from 1e6e2d6c5bc43ad9ff65f2e4e554fb15c70437b4 (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 - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=916741017fce97137df31effb795e93a43c4a54d commit 916741017fce97137df31effb795e93a43c4a54d Merge: 1e6e2d6 ed54acf Author: Matt McCormick <matt.mccorm...@kitware.com> AuthorDate: Wed Jan 13 10:53:25 2016 -0500 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Wed Jan 13 10:53:25 2016 -0500 Merge topic 'FindDCMTK-update' into next ed54acf3 FindDCMTK: Simplify documentation. https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ed54acf383ef7c46a2746c4423f395d399f0e525 commit ed54acf383ef7c46a2746c4423f395d399f0e525 Author: Matt McCormick <matt.mccorm...@kitware.com> AuthorDate: Wed Jan 13 10:53:03 2016 -0500 Commit: Matt McCormick <matt.mccorm...@kitware.com> CommitDate: Wed Jan 13 10:53:03 2016 -0500 FindDCMTK: Simplify documentation. diff --git a/Modules/FindDCMTK.cmake b/Modules/FindDCMTK.cmake index 1238616..dd0c9ff 100644 --- a/Modules/FindDCMTK.cmake +++ b/Modules/FindDCMTK.cmake @@ -10,92 +10,11 @@ # DCMTK_FOUND - If false, don't try to use DCMTK # DCMTK_DIR - (optional) Source directory for DCMTK # -# `DCMTK_DIR` can be used to make it simpler to find the various include -# directories and compiled libraries if you've just compiled it in the -# source tree. Just set it to the root of the tree where you extracted -# the source (default to `/usr`) -# -# -# This file is able to find version of DCMTK that does or does not export -# a *DCMTKConfig.cmake* file. -# -# .. important:: -# A set of patches has been contributed to DCMTK -# maintainers and merged upstream. As soon as: -# -# 1) it has been integrated upstream so that it is available in -# an official release (for example X.Y.Z), -# 2) code bases have been updated to build against X.Y.Z -# -# This file could be removed. -# -# The set of patches is listed here: https://github.com/commontk/DCMTK/compare/79030ba...f461865 -# -# -# Waiting for this to happen, build systems will have to be able -# to support different versions of DCMTK. -# -# On any given system, the following combination of DCMTK version could be -# considered: -# -# ++-+---+---+ -# || SYSTEM DCMTK | LOCAL DCMTK | Supported ? | -# ++-+---+---+ -# | Case A | NA| [ ] DCMTKConfig | YES | -# ++-+---+---+ -# | Case B | NA| [X] DCMTKConfig | YES | -# ++-+---+---+ -# | Case C | [ ] DCMTKConfig | NA | YES | -# ++-+---+---+ -# | Case D | [X] DCMTKConfig | NA | YES | -# ++-+---+---+ -# | Case E | [ ] DCMTKConfig | [ ] DCMTKConfig | YES (*) | -# ++-+---+---+ -# | Case F | [X] DCMTKConfig | [ ] DCMTKConfig | NO| -# ++-+---+---+ -# | Case G | [ ] DCMTKConfig | [X] DCMTKConfig | YES | -# ++-+---+---+ -# | Case H | [X] DCMTKConfig | [X] DCMTKConfig | YES | -# ++-+---+---+ -# -# (*) See Troubleshooting section. -# -# Legend: -# -# NA ...: Means that no System or Local DCMTK is available -# -# [ ] DCMTKConfig ..: Means that the version of DCMTK does NOT export a DCMTKConfig.cmake file. -# -# [X] DCMTKConfig ..: Means that the version of DCMTK exports a DCMTKConfig.cmake file. -# -# -# It is a two step process: -# -# * Step 1: Attempt to find DCMTK version providing a DCMTKConfig.cmake file. This is done with the help of `''` -# * Step 2: If step 1 failed, rely on FindDCMTK.cmake to set DCMTK_* variables details below. -# -# Troubleshooting -# ^^^ -# -# What to do if my project finds a different ve
[Cmake-commits] CMake branch, next, updated. v3.4.1-1936-ge174bc9
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 e174bc906b2f65bbc17995f6722ea2e41a78b472 (commit) via d790f4feeadc863d47ffec9d901d4bf5519001df (commit) from 21bc95c2ff3b44500bc0bb2d777f1e4acb729676 (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 - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e174bc906b2f65bbc17995f6722ea2e41a78b472 commit e174bc906b2f65bbc17995f6722ea2e41a78b472 Merge: 21bc95c d790f4f Author: Matt McCormick <matt.mccorm...@kitware.com> AuthorDate: Tue Jan 12 14:46:14 2016 -0500 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Tue Jan 12 14:46:14 2016 -0500 Merge topic 'FindDCMTK-update' into next d790f4fe FindDCMTK: Keep original copyright notice. https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d790f4feeadc863d47ffec9d901d4bf5519001df commit d790f4feeadc863d47ffec9d901d4bf5519001df Author: Matt McCormick <matt.mccorm...@kitware.com> AuthorDate: Tue Jan 12 14:44:21 2016 -0500 Commit: Matt McCormick <matt.mccorm...@kitware.com> CommitDate: Tue Jan 12 14:45:11 2016 -0500 FindDCMTK: Keep original copyright notice. This is a follow-up to 31b4700ed640bee962f9db9ce25fa84261a944d2. Remove the extra character that was added to ensure the CMake.ModuleNotices test passes. diff --git a/Modules/FindDCMTK.cmake b/Modules/FindDCMTK.cmake index 115c26b..e79c2cd 100644 --- a/Modules/FindDCMTK.cmake +++ b/Modules/FindDCMTK.cmake @@ -105,7 +105,7 @@ # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # See the License for more information. #= -# (To distributed this file outside of CMake, substitute the full +# (To distribute this file outside of CMake, substitute the full # License text for the above reference.) # --- Summary of changes: Modules/FindDCMTK.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-commits] CMake branch, next, updated. v3.4.1-1938-g3f3e6dd
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 3f3e6ddf46580649e726293f64c6808256927167 (commit) via 361c199ff602d492d4261f0387d84913a0989473 (commit) from e174bc906b2f65bbc17995f6722ea2e41a78b472 (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 - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=3f3e6ddf46580649e726293f64c6808256927167 commit 3f3e6ddf46580649e726293f64c6808256927167 Merge: e174bc9 361c199 Author: Matt McCormick <matt.mccorm...@kitware.com> AuthorDate: Tue Jan 12 15:44:40 2016 -0500 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Tue Jan 12 15:44:40 2016 -0500 Merge topic 'FindDCMTK-update' into next 361c199f FindDCMTK: Add reStructuredText formatting. https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=361c199ff602d492d4261f0387d84913a0989473 commit 361c199ff602d492d4261f0387d84913a0989473 Author: Matt McCormick <matt.mccorm...@kitware.com> AuthorDate: Tue Jan 12 15:44:10 2016 -0500 Commit: Matt McCormick <matt.mccorm...@kitware.com> CommitDate: Tue Jan 12 15:44:10 2016 -0500 FindDCMTK: Add reStructuredText formatting. diff --git a/Modules/FindDCMTK.cmake b/Modules/FindDCMTK.cmake index e79c2cd..1238616 100644 --- a/Modules/FindDCMTK.cmake +++ b/Modules/FindDCMTK.cmake @@ -1,32 +1,35 @@ #.rst: # FindDCMTK # - +# Find DCMTK libraries and applications # -# - find DCMTK libraries and applications -# The module defines the following variables: +# The module defines the following variables:: # # DCMTK_INCLUDE_DIRS - Directories to include to use DCMTK # DCMTK_LIBRARIES - Files to link against to use DCMTK # DCMTK_FOUND - If false, don't try to use DCMTK # DCMTK_DIR - (optional) Source directory for DCMTK # -# DCMTK_DIR can be used to make it simpler to find the various include +# `DCMTK_DIR` can be used to make it simpler to find the various include # directories and compiled libraries if you've just compiled it in the # source tree. Just set it to the root of the tree where you extracted -# the source (default to /usr) +# the source (default to `/usr`) # # # This file is able to find version of DCMTK that does or does not export -# a DCMTKConfig.cmake file. +# a *DCMTKConfig.cmake* file. # -# IMPORTANT: A set of patches has been contributed to DCMTK -# maintainers and merged upstream. As soon as: -# (1) it has been integrated upstream so that it is available in +# .. important:: +# A set of patches has been contributed to DCMTK +# maintainers and merged upstream. As soon as: +# +# 1) it has been integrated upstream so that it is available in # an official release (for example X.Y.Z), -# (2) code bases have been updated to build against X.Y.Z -# This file could be removed. +# 2) code bases have been updated to build against X.Y.Z +# +# This file could be removed. # -# The set of patches is listed here: https://github.com/commontk/DCMTK/compare/79030ba...f461865 +# The set of patches is listed here: https://github.com/commontk/DCMTK/compare/79030ba...f461865 # # # Waiting for this to happen, build systems will have to be able @@ -35,24 +38,25 @@ # On any given system, the following combination of DCMTK version could be # considered: # -# | SYSTEM DCMTK + LOCAL DCMTK | Supported ? | -# --- -# Case A | NA+ [ ] DCMTKConfig | YES | -# --| -# Case B | NA+ [X] DCMTKConfig | YES | -# --| -# Case C | [ ] DCMTKConfig + NA | YES | -# --| -# Case D | [X] DCMTKConfig + NA | YES | -# --| -# Case E | [ ] DCMTKConfig + [ ] DCMTKConfig | YES (*) | -# --| -# Case F | [X] DCMTKConfig + [ ] DCMTKConfig | NO| -# --| -# Case G | [ ] DCMTKConfig + [X] DCMTKConfig | YES | -# --| -# Case H | [X] DCMTKConfig +
[Cmake-commits] CMake branch, next, updated. v3.4.1-1924-g3e1fca7
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 3e1fca746416fb82ed79e02e2248c8c26f3549a2 (commit) via 8c8e53d06011ef476780d10601adac78baf8aead (commit) via d50cbbb03d53da6b990402a482a56b3163807dcb (commit) via 31b4700ed640bee962f9db9ce25fa84261a944d2 (commit) from 3a128a8198be563ea3be57b93c8c8100b515efff (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 - https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=3e1fca746416fb82ed79e02e2248c8c26f3549a2 commit 3e1fca746416fb82ed79e02e2248c8c26f3549a2 Merge: 3a128a8 8c8e53d Author: Matt McCormick <matt.mccorm...@kitware.com> AuthorDate: Tue Jan 12 12:27:23 2016 -0500 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Tue Jan 12 12:27:23 2016 -0500 Merge topic 'FindDCMTK-update' into next 8c8e53d0 FindDCMTK: Minor documentation grammatical issues. d50cbbb0 FindDCMTK: Obey QUIET option for find_package. 31b4700e FindDCMTK: Improve compatibility with DCMTKConfig.cmake. https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=8c8e53d06011ef476780d10601adac78baf8aead commit 8c8e53d06011ef476780d10601adac78baf8aead Author: Matt McCormick <matt.mccorm...@kitware.com> AuthorDate: Tue Jan 12 12:25:15 2016 -0500 Commit: Matt McCormick <matt.mccorm...@kitware.com> CommitDate: Tue Jan 12 12:25:15 2016 -0500 FindDCMTK: Minor documentation grammatical issues. Also remove CTK integration reference to avoid confusion. diff --git a/Modules/FindDCMTK.cmake b/Modules/FindDCMTK.cmake index 89e9c4f..115c26b 100644 --- a/Modules/FindDCMTK.cmake +++ b/Modules/FindDCMTK.cmake @@ -16,11 +16,11 @@ # the source (default to /usr) # # -# This file is able to find version of DCMTK that do or do not export +# This file is able to find version of DCMTK that does or does not export # a DCMTKConfig.cmake file. # # IMPORTANT: A set of patches has been contributed to DCMTK -# maintainers, as soon as: +# maintainers and merged upstream. As soon as: # (1) it has been integrated upstream so that it is available in # an official release (for example X.Y.Z), # (2) code bases have been updated to build against X.Y.Z @@ -65,22 +65,17 @@ # [X] DCMTKConfig ..: Means that the version of DCMTK exports a DCMTKConfig.cmake file. # # -# -# In CTK commits 52d953 and 74b4b07, the FindDCMTK.cmake module has been updated to be able -# to find both version of DCMTK ([ ] DCMTKConfig and [X] DCMTKConfig). -# -# It is a two steps process: +# It is a two step process: # # * Step 1: Attempt to find DCMTK version providing a DCMTKConfig.cmake file. This is done # with the help of '' -# # * Step 2: If step 1 failed, rely on FindDCMTK.cmake to set DCMTK_* variables details below. # # # # Troubleshooting: # -#What to do if my project find a different version of DCMTK ? +#What to do if my project finds a different version of DCMTK? # #Remove DCMTK entry from the CMake registry. #Search for "CMake user package registry" on http://www.cmake.org/cmake/help/v2.8.9/cmake.html#command:find_package https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d50cbbb03d53da6b990402a482a56b3163807dcb commit d50cbbb03d53da6b990402a482a56b3163807dcb Author: Matt McCormick <matt.mccorm...@kitware.com> AuthorDate: Mon Jan 11 16:46:12 2016 -0500 Commit: Matt McCormick <matt.mccorm...@kitware.com> CommitDate: Mon Jan 11 16:51:36 2016 -0500 FindDCMTK: Obey QUIET option for find_package. diff --git a/Modules/FindDCMTK.cmake b/Modules/FindDCMTK.cmake index 5693972..89e9c4f 100644 --- a/Modules/FindDCMTK.cmake +++ b/Modules/FindDCMTK.cmake @@ -135,18 +135,27 @@ set(_SAVED_DCMTK_DIR ${DCMTK_DIR}) # # Step1: Attempt to find a version of DCMTK providing a DCMTKConfig.cmake file. # -message(STATUS "Trying to find DCMTK expecting DCMTKConfig.cmake") +if(NOT DCMTK_FIND_QUIETLY) + message(STATUS "Trying to find DCMTK expecting DCMTKConfig.cmake") +endif() find_package(DCMTK QUIET NO_MODULE) if(DCMTK_FOUND AND NOT "x" STREQUAL "x${DCMTK_LIBRARIES}" AND NOT "x" STREQUAL "x${DCMTK_INCLUDE_DIRS}") - message(STATUS "Trying to find DCMTK expecting DCMTKConfig.cmake - ok") + + if(NOT DCMTK_FIND_QUIETLY) +message(STATUS "Trying to find DCMTK expecting DCMTKConfig.cmake - ok") + endif() return() else() - message(STATUS "Trying to find DCMTK expecting DCMTKConfig.cmake - failed") + if(NOT DCMTK_FIND_QUIETLY) +message(STATUS "Trying to find DCMTK expecting DCMTKConfig.
Re: [CMake] Benchmarking with CMake
Hi Mate, This blog post has an example of parsing and visualizing CTestCostData.txt. Although, that file was not created for that purpose: http://www.kitware.com/blog/home/post/556 Cheers, Matt On Mon, Nov 9, 2015 at 5:21 PM, Nagy-Egri Máté Ferencwrote: > Hi! > > > > Can anyone tell me if CMake (or CTest) can be customized in a way to produce > decent benchmark output? An .xlsx perhaps, or something GnuPlot friendly? I > have not found any examples of CTest being (ab)used in this way. > > > > Is my feeling correct, that this should be something like CBench? > > > > Cheers, > > Máté > > > > > -- > > Powered by www.kitware.com > > Please keep messages on-topic and check the CMake FAQ at: > http://www.cmake.org/Wiki/CMake_FAQ > > Kitware offers various services to support the CMake community. For more > information on each offering, please visit: > > CMake Support: http://cmake.org/cmake/help/support.html > CMake Consulting: http://cmake.org/cmake/help/consulting.html > CMake Training Courses: http://cmake.org/cmake/help/training.html > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/cmake -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake
[Cmake-commits] CMake branch, next, updated. v3.3.1-2269-g80267fb
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 80267fb9587aec657286305580fee4fc390c3cb9 (commit) via 306c9361ce1fffc85b2ffe88132885cf5955f1ba (commit) from a3443d29fec62f29990eda358e1d8dd16cff811c (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=80267fb9587aec657286305580fee4fc390c3cb9 commit 80267fb9587aec657286305580fee4fc390c3cb9 Merge: a3443d2 306c936 Author: Matt McCormick matt.mccorm...@kitware.com AuthorDate: Wed Aug 19 08:42:12 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Wed Aug 19 08:42:12 2015 -0400 Merge topic 'MSVC-quote-for-release' into next 306c9361 CMake: Silence CMP0054 warning with separate project, enable_language calls. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=306c9361ce1fffc85b2ffe88132885cf5955f1ba commit 306c9361ce1fffc85b2ffe88132885cf5955f1ba Author: Matt McCormick matt.mccorm...@kitware.com AuthorDate: Sun Aug 16 15:42:23 2015 -0400 Commit: Matt McCormick matt.mccorm...@kitware.com CommitDate: Sun Aug 16 15:42:23 2015 -0400 CMake: Silence CMP0054 warning with separate project, enable_language calls. This addresses the warning: -- The CXX compiler identification is MSVC 18.0.31101.0 CMake Warning (dev) at C:/Program Files (x86)/CMake/share/cmake-3.3/Modules/CMakeDetermineCXXCompiler.cmake:106 (if): Policy CMP0054 is not set: Only interpret if() arguments as variables or keywords when unquoted. Run cmake --help-policy CMP0054 for policy details. Use the cmake_policy command to set the policy and suppress this warning. Quoted variables like MSVC will no longer be dereferenced when the policy is set to NEW. Since the policy is not set the OLD behavior will be used. Call Stack (most recent call first): CMakeLists.txt:23 (enable_language) That occurs with MSVC / Ninja with the following CMakeLists.txt: cmake_minimum_required(VERSION 2.8.9 FATAL_ERROR) project(MyProj NONE) enable_language(C) enable_language(CXX) diff --git a/Modules/CMakeDetermineCXXCompiler.cmake b/Modules/CMakeDetermineCXXCompiler.cmake index 893c454..7e6d8dc 100644 --- a/Modules/CMakeDetermineCXXCompiler.cmake +++ b/Modules/CMakeDetermineCXXCompiler.cmake @@ -103,14 +103,17 @@ if(NOT CMAKE_CXX_COMPILER_ID_RUN) CMAKE_DETERMINE_COMPILER_ID(CXX CXXFLAGS CMakeCXXCompilerId.cpp) # Set old compiler and platform id variables. - if(${CMAKE_CXX_COMPILER_ID} MATCHES GNU) -set(CMAKE_COMPILER_IS_GNUCXX 1) - endif() - if(${CMAKE_CXX_PLATFORM_ID} MATCHES MinGW) -set(CMAKE_COMPILER_IS_MINGW 1) - elseif(${CMAKE_CXX_PLATFORM_ID} MATCHES Cygwin) -set(CMAKE_COMPILER_IS_CYGWIN 1) - endif() + cmake_policy(PUSH) +cmake_policy(SET CMP0054 NEW) +if(${CMAKE_CXX_COMPILER_ID} MATCHES GNU) + set(CMAKE_COMPILER_IS_GNUCXX 1) +endif() +if(${CMAKE_CXX_PLATFORM_ID} MATCHES MinGW) + set(CMAKE_COMPILER_IS_MINGW 1) +elseif(${CMAKE_CXX_PLATFORM_ID} MATCHES Cygwin) + set(CMAKE_COMPILER_IS_CYGWIN 1) +endif() + cmake_policy(POP) endif() if (NOT _CMAKE_TOOLCHAIN_LOCATION) --- Summary of changes: Modules/CMakeDetermineCXXCompiler.cmake | 19 +++ 1 file changed, 11 insertions(+), 8 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.3.0-1581-g22d1597
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 22d1597f20869110edca4411236e8f5263cd5ece (commit) via 6166a4a2536ec0142a12ee0ae04eee6591863e06 (commit) via dbae465c288e3240837213570b3e1e992482c180 (commit) via 7d2db56ef9735e47ccdaf8dba994ac10bc1d7ef1 (commit) from 45a48d7e23bae2590516118643d592f02f69ff4e (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=22d1597f20869110edca4411236e8f5263cd5ece commit 22d1597f20869110edca4411236e8f5263cd5ece Merge: 45a48d7 6166a4a Author: Matt McCormick matt.mccorm...@kitware.com AuthorDate: Fri Jul 31 08:37:28 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Fri Jul 31 08:37:28 2015 -0400 Merge topic 'if-test' into next 6166a4a2 ExternalProject: Silence warnings related to TEST use in if(). dbae465c CMake: Add CMP0064 for TEST operator in if() command. 7d2db56e CMake: if command understands if(TEST TestName) http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6166a4a2536ec0142a12ee0ae04eee6591863e06 commit 6166a4a2536ec0142a12ee0ae04eee6591863e06 Author: Matt McCormick matt.mccorm...@kitware.com AuthorDate: Wed Jul 29 14:46:40 2015 -0400 Commit: Matt McCormick matt.mccorm...@kitware.com CommitDate: Wed Jul 29 14:46:40 2015 -0400 ExternalProject: Silence warnings related to TEST use in if(). diff --git a/Modules/ExternalProject.cmake b/Modules/ExternalProject.cmake index f6844be..fdb146a 100644 --- a/Modules/ExternalProject.cmake +++ b/Modules/ExternalProject.cmake @@ -1211,7 +1211,7 @@ function(_ep_get_build_command name step cmd_var) if(step STREQUAL INSTALL) set(args install) endif() -if(step STREQUAL TEST) +if(x${step}x STREQUAL xTESTx) set(args test) endif() else() @@ -1230,7 +1230,7 @@ function(_ep_get_build_command name step cmd_var) list(APPEND args --target install) endif() # But for TEST drive the project with corresponding ctest. -if(step STREQUAL TEST) +if(x${step}x STREQUAL xTESTx) string(REGEX REPLACE ^(.*/)cmake([^/]*)$ \\1ctest\\2 cmd ${cmd}) set(args ) endif() @@ -1246,7 +1246,7 @@ function(_ep_get_build_command name step cmd_var) if(step STREQUAL INSTALL) set(args install) endif() - if(step STREQUAL TEST) + if(x${step}x STREQUAL xTESTx) set(args test) endif() endif() http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=dbae465c288e3240837213570b3e1e992482c180 commit dbae465c288e3240837213570b3e1e992482c180 Author: Matt McCormick matt.mccorm...@kitware.com AuthorDate: Tue Jul 28 22:43:59 2015 -0400 Commit: Matt McCormick matt.mccorm...@kitware.com CommitDate: Wed Jul 29 14:13:32 2015 -0400 CMake: Add CMP0064 for TEST operator in if() command. The new TEST operator for the if() command is not recognized until CMP0064 is set to NEW. diff --git a/Help/manual/cmake-policies.7.rst b/Help/manual/cmake-policies.7.rst index 0a313cd..590f10d 100644 --- a/Help/manual/cmake-policies.7.rst +++ b/Help/manual/cmake-policies.7.rst @@ -121,3 +121,4 @@ All Policies /policy/CMP0061 /policy/CMP0062 /policy/CMP0063 + /policy/CMP0064 diff --git a/Help/policy/CMP0064.rst b/Help/policy/CMP0064.rst new file mode 100644 index 000..e9a061b --- /dev/null +++ b/Help/policy/CMP0064.rst @@ -0,0 +1,17 @@ +CMP0064 +--- + +Recognize ``TEST`` as a operator for the :command:`if` command. + +The ``TEST`` operator was added to the :command:`if` command to determine if a +given test name was created by the :command:`add_test` command. + +The ``OLD`` behavior for this policy is to ignore the ``TEST`` operator. +The ``NEW`` behavior is to interpret the ``TEST`` operator. + +This policy was introduced in CMake version 3.4. 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. + +.. include:: DEPRECATED.txt diff --git a/Source/cmConditionEvaluator.cxx b/Source/cmConditionEvaluator.cxx index bcbc3b6..7874803 100644 --- a/Source/cmConditionEvaluator.cxx +++ b/Source/cmConditionEvaluator.cxx @@ -16,7 +16,8 @@ cmConditionEvaluator::cmConditionEvaluator(cmMakefile makefile): Makefile(makefile), Policy12Status(makefile.GetPolicyStatus(cmPolicies::CMP0012)), Policy54Status(makefile.GetPolicyStatus(cmPolicies::CMP0054)), - Policy57Status(makefile.GetPolicyStatus(cmPolicies::CMP0057)) + Policy57Status(makefile.GetPolicyStatus(cmPolicies
Re: [CMake] CMake IR
Hi Máté, There is some on-going work along the lines of separating out state. See this thread for more information: http://thread.gmane.org/gmane.comp.programming.tools.cmake.devel/12658 You may want to have further discussions on the cmake-developers list. Cheers, Matt On Wed, Jul 29, 2015 at 3:49 AM, Nagy-Egri Máté Ferenc cmake@cmake.org wrote: Dear CMake devs/users, I wanted to ask your opinion on something that has been troubling me since… well, ever since I started using CMake. I have not found a single person alive who would have said: “The script language of CMake is nice, intuitive and productive. Authoring scripts is easy, and writing custom macros is not difficult either.” There are gazillions of scripting languages one could have chosen for CMake (Python, Perl, Ruby, Powershell, Bash, etc.) that would allow developers to reuse existing skills, or learn one that is useful elsewhere, not just in terms of CMake. These languages have a lot of thought put into them. They are superior to CMake’s own in just about every regard. I came up with an idea presented here: http://1drv.ms/1MsufbF Enhancements such a change could bring about: The big selling point would be the ability to introduce arbitrary front-ends to CMake, not just CMakelists.txt. Every developer could choose an input language that suits their project/needs/skills. (It would also ease the custom implementations of cmake.exe itself in any language, but that is just a side-effect.) It would modularize the internals of CMake in a cleaner fashion Facilitate the introduction of new languages understood by CMake (such as work put into C# and Swift currently) Would allow for configure-time validating of compiler-specific options Use deferred makefile generation by default (making the implementation of tools like Cotire for precompiled headers trivial to implement, as well NMake batch mode, or detecting multiple/cyclic linkage, by making use of global information about the build process) Many features could automatically be reused by all generators. (Imagine Swift, and Fortran libraries being compiled as NuGet packages and publishing them without any hassle on user side, or having to implement anything in the XCode generator.) SIGNIFICANTLY increase interoperability with other tools. Implementing GUI front-ends (such as in CLion, or Visual Studio (work in progress)) are orders of magnitude simpler by generating a stateless IR, as opposed to generating a stateful script. While it is a refactor of the entire toolchain, it is something that could be done incrementally, with the existing parts functioning normally. I believe CMake is an invaluable tool, but it could do far better. 0/10 CMake users I’ve met say they are “happy” CMake users. The learning curve is steep, and the skills gained are not reusable. CMake could gain even greater momentum (not by ditching, but) by offering alternate input languages with entities (classes, functions, macros, etc.) that feel natural in the given context. Initial feedback in my vicinity was favorable, even those with zealous CMake opposition aggreed this were something awesome to pull off (though they expressed their disbelief in Kitware and the community approving such a radical change). This mail along with the document only intends to get the ball rolling and hopefully manifest in something similar, starting with CMake 4.0 perhaps. Eagerly await the rolling ball. With all due respect, Máté -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake
Re: [CMake] CMake inconsistent with python libraries
Nils Guillermin nils.guillermin@... writes: Hello everyone, My first time posting to this mailing list so forgive me if I'm off base. I first wanted to make sure this was a new problem before I posted a bug report, as the cmake website asks. Welcome to the lists! I was trying to install gr-air-modes (https://github.com/bistromath/gr-air- modes/) and I ran into an issue where CMake straight up says two things at once and the eventual result is a fatal Python error due to mismatched libraries. First, the cmake command I use is a plain `cmake ../`. The relevant part of the build output is-- Found PythonLibs: /usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/l ib/libpython2.7.dylib (found version 2.7.6) -- Found PythonLibs: /usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/l ib/libpython2.7.dylib (found suitable version 2.7.6, minimum required is 2) As far as I understand, it found python 2.7.10 files, but for some reason is calling them version 2.7.6. I'd expect it to say found suitable version '2.7.10' but perhaps I'm wrong. After this it builds fine, but when run immediately crashes with a Fatal Python Error, and the Error Reporter that comes up makes it clear that its a problem of mismatched libraries. I can post that if anyone needs. There are some known issues with Homebrew: http://www.cmake.org/Bug/view.php?id=14809 But it would be worthwhile trying CMake Git master: http://www.cmake.org/Wiki/CMake/Git Hope this helps, Matt -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake
[Cmake-commits] CMake branch, next, updated. v3.3.0-rc3-807-ga1c8ac3
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 a1c8ac3911b6af3f34a634ff9c7cb3657abdc228 (commit) via 0925f5f17364ed7e98349aebdb616e68efc392c6 (commit) from 5d3276f7d3a1b99fc985d0fa587987c1271fc407 (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=a1c8ac3911b6af3f34a634ff9c7cb3657abdc228 commit a1c8ac3911b6af3f34a634ff9c7cb3657abdc228 Merge: 5d3276f 0925f5f Author: Matt McCormick matt.mccorm...@kitware.com AuthorDate: Fri Jul 3 05:34:46 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Fri Jul 3 05:34:46 2015 -0400 Merge topic 'osx-pythondotorg-libs' into next 0925f5f1 FindPythonLibs: Find the python.org libraries. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0925f5f17364ed7e98349aebdb616e68efc392c6 commit 0925f5f17364ed7e98349aebdb616e68efc392c6 Author: Matt McCormick matt.mccorm...@kitware.com AuthorDate: Thu Jul 2 11:21:08 2015 -0400 Commit: Matt McCormick matt.mccorm...@kitware.com CommitDate: Thu Jul 2 13:09:34 2015 -0400 FindPythonLibs: Find the python.org libraries. Per issue #0014809, this addresses the test case cmake_minimum_required(VERSION 2.8) set(Python_ADDITIONAL_VERSIONS 3.4 3.5 3.6) find_package(PythonLibs 3 REQUIRED) with a Python 3.4.x .pkg installed from python.org on OSX. Temporarily set CMAKE_PREFIX_PATH to LAST to avoid finding the system Python.h prematurely. Add directories inside the frameworks to the search list for the library as is done for the header. diff --git a/Modules/FindPythonLibs.cmake b/Modules/FindPythonLibs.cmake index cc875ad..b80d3ce 100644 --- a/Modules/FindPythonLibs.cmake +++ b/Modules/FindPythonLibs.cmake @@ -53,6 +53,15 @@ include(${CMAKE_CURRENT_LIST_DIR}/CMakeFindFrameworks.cmake) # Search for the python framework on Apple. CMAKE_FIND_FRAMEWORKS(Python) +# Save CMAKE_FIND_FRAMEWORK +if(DEFINED CMAKE_FIND_FRAMEWORK) + set(_PythonLibs_CMAKE_FIND_FRAMEWORK ${CMAKE_FIND_FRAMEWORK}) +else() + unset(_PythonLibs_CMAKE_FIND_FRAMEWORK) +endif() +# To avoid picking up the system Python.h pre-maturely. +set(CMAKE_FIND_FRAMEWORK LAST) + set(_PYTHON1_VERSIONS 1.6 1.5) set(_PYTHON2_VERSIONS 2.7 2.6 2.5 2.4 2.3 2.2 2.1 2.0) set(_PYTHON3_VERSIONS 3.4 3.3 3.2 3.1 3.0) @@ -111,14 +120,22 @@ foreach(_CURRENT_VERSION ${_Python_VERSIONS}) ) endif() + set(PYTHON_FRAMEWORK_LIBRARIES) + if(Python_FRAMEWORKS AND NOT PYTHON_LIBRARY) +foreach(dir ${Python_FRAMEWORKS}) + list(APPEND PYTHON_FRAMEWORK_LIBRARIES + ${dir}/Versions/${_CURRENT_VERSION}/lib) +endforeach() + endif() find_library(PYTHON_LIBRARY NAMES -python${_CURRENT_VERSION_NO_DOTS} -python${_CURRENT_VERSION}mu -python${_CURRENT_VERSION}m -python${_CURRENT_VERSION}u -python${_CURRENT_VERSION} + python${_CURRENT_VERSION_NO_DOTS} + python${_CURRENT_VERSION}mu + python${_CURRENT_VERSION}m + python${_CURRENT_VERSION}u + python${_CURRENT_VERSION} PATHS + ${PYTHON_FRAMEWORK_LIBRARIES} [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${_CURRENT_VERSION}\\InstallPath]/libs [HKEY_CURRENT_USER\\SOFTWARE\\Python\\PythonCore\\${_CURRENT_VERSION}\\InstallPath]/libs # Avoid finding the .dll in the PATH. We want the .lib. @@ -143,8 +160,8 @@ foreach(_CURRENT_VERSION ${_Python_VERSIONS}) set(PYTHON_FRAMEWORK_INCLUDES) if(Python_FRAMEWORKS AND NOT PYTHON_INCLUDE_DIR) foreach(dir ${Python_FRAMEWORKS}) - set(PYTHON_FRAMEWORK_INCLUDES ${PYTHON_FRAMEWORK_INCLUDES} -${dir}/Versions/${_CURRENT_VERSION}/include/python${_CURRENT_VERSION}) + list(APPEND PYTHON_FRAMEWORK_INCLUDES + ${dir}/Versions/${_CURRENT_VERSION}/include/python${_CURRENT_VERSION}) endforeach() endif() @@ -201,6 +218,14 @@ SELECT_LIBRARY_CONFIGURATIONS(PYTHON) # for historical reasons. unset(PYTHON_FOUND) +# Restore CMAKE_FIND_FRAMEWORK +if(DEFINED _PythonLibs_CMAKE_FIND_FRAMEWORK) + set(CMAKE_FIND_FRAMEWORK ${_PythonLibs_CMAKE_FIND_FRAMEWORK}) + unset(_PythonLibs_CMAKE_FIND_FRAMEWORK) +else() + unset(CMAKE_FIND_FRAMEWORK) +endif() + include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake) FIND_PACKAGE_HANDLE_STANDARD_ARGS(PythonLibs REQUIRED_VARS PYTHON_LIBRARIES PYTHON_INCLUDE_DIRS --- Summary of changes: Modules/FindPythonLibs.cmake | 39 --- 1 file changed, 32 insertions(+), 7 deletions
[Cmake-commits] CMake branch, next, updated. v3.2.1-1544-g8c53953
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 8c5395350cd986450525b06ca9983325d5e19158 (commit) via e89194cfbbad6bd67355764aeb465cbc2ffd7970 (commit) via 95a6495f689e74993311533f877632071e4ab97a (commit) via 0fac937bc25f6b6f0860e714ae9175f62e5fd30d (commit) from aa9c5b862759f694dff2afb3e45cfe74e8c6d034 (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=8c5395350cd986450525b06ca9983325d5e19158 commit 8c5395350cd986450525b06ca9983325d5e19158 Merge: aa9c5b8 e89194c Author: Matt McCormick matt.mccorm...@kitware.com AuthorDate: Tue Apr 7 08:56:29 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Tue Apr 7 08:56:29 2015 -0400 Merge topic 'emulator-property' into next e89194cf TestGenerator: Add CROSSCOMPILING_EMULATOR support. 95a6495f try_run: Use CMAKE_CROSSCOMPILING_EMULATOR. 0fac937b Properties: Add CROSSCOMPILING_EMULATOR target property. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e89194cfbbad6bd67355764aeb465cbc2ffd7970 commit e89194cfbbad6bd67355764aeb465cbc2ffd7970 Author: Matt McCormick matt.mccorm...@kitware.com AuthorDate: Sat Mar 28 22:05:35 2015 -0400 Commit: Matt McCormick matt.mccorm...@kitware.com CommitDate: Tue Apr 7 00:53:07 2015 -0400 TestGenerator: Add CROSSCOMPILING_EMULATOR support. Prefix test commands with the CROSSCOMPILING_EMULATOR property for target executables. This allows test suites to be run on the host when crosscompiling. diff --git a/Help/prop_tgt/CROSSCOMPILING_EMULATOR.rst b/Help/prop_tgt/CROSSCOMPILING_EMULATOR.rst index 2b5fd4d..3ef8e03 100644 --- a/Help/prop_tgt/CROSSCOMPILING_EMULATOR.rst +++ b/Help/prop_tgt/CROSSCOMPILING_EMULATOR.rst @@ -1,4 +1,6 @@ CROSSCOMPILING_EMULATOR --- -Use the given emulator to run executables created when crosscompiling. +Use the given emulator to run executables created when crosscompiling. This +command will be added as a prefix to :command:`add_test` test commands for +built target system executables. diff --git a/Source/cmTestGenerator.cxx b/Source/cmTestGenerator.cxx index f87a535..add80fa 100644 --- a/Source/cmTestGenerator.cxx +++ b/Source/cmTestGenerator.cxx @@ -82,11 +82,31 @@ void cmTestGenerator::GenerateScriptForConfig(std::ostream os, // be translated. std::string exe = command[0]; cmMakefile* mf = this-Test-GetMakefile(); + cmLocalGenerator* lg = mf-GetLocalGenerator(); cmTarget* target = mf-FindTargetToUse(exe); if(target target-GetType() == cmTarget::EXECUTABLE) { // Use the target file on disk. exe = target-GetFullPath(config); + +// Prepend with the emulator when cross compiling if required. +const char * emulator = + target-GetProperty(CROSSCOMPILING_EMULATOR); +if (emulator != 0) + { + std::vectorstd::string emulatorWithArgs; + cmSystemTools::ExpandListArgument(emulator, emulatorWithArgs); + std::string emulatorExe(emulatorWithArgs[0]); + cmSystemTools::ConvertToUnixSlashes(emulatorExe); + os lg-EscapeForCMake(emulatorExe) ; + for(std::vectorstd::string::const_iterator ei = + emulatorWithArgs.begin()+1; + ei != emulatorWithArgs.end(); + ++ei) +{ +os lg-EscapeForCMake(*ei) ; +} + } } else { @@ -96,7 +116,6 @@ void cmTestGenerator::GenerateScriptForConfig(std::ostream os, } // Generate the command line with full escapes. - cmLocalGenerator* lg = mf-GetLocalGenerator(); os lg-EscapeForCMake(exe); for(std::vectorstd::string::const_iterator ci = command.begin()+1; ci != command.end(); ++ci) diff --git a/Tests/RunCMake/CrosscompilingEmulator/AddTest-check.cmake b/Tests/RunCMake/CrosscompilingEmulator/AddTest-check.cmake new file mode 100644 index 000..1ed8dd9 --- /dev/null +++ b/Tests/RunCMake/CrosscompilingEmulator/AddTest-check.cmake @@ -0,0 +1,12 @@ +set(testfile ${RunCMake_TEST_BINARY_DIR}/CTestTestfile.cmake) +if(EXISTS ${testfile}) + file(READ ${testfile} testfile_contents) +else() + message(FATAL_ERROR Could not find expected CTestTestfile.cmake.) +endif() +if(testfile_contents MATCHES add_test[(]DoesNotUseEmulator [^ ]+pseudo_emulator.+$) + message(SEND_ERROR Used emulator when it should not be used.) +endif() +if(NOT testfile_contents MATCHES add_test[(]UsesEmulator [^ ]+pseudo_emulator.+$) + message(SEND_ERROR Did not use emulator when it should be used.) +endif() diff --git a/Tests/RunCMake/CrosscompilingEmulator/AddTest.cmake b/Tests/RunCMake/CrosscompilingEmulator/AddTest.cmake new
Re: [cmake-developers] A CMAKE_EMULATOR variable
On Mon, Apr 6, 2015 at 10:24 AM, Brad King brad.k...@kitware.com wrote: On 04/05/2015 11:07 PM, Matt McCormick wrote: In each place that you ExpandListArgument to get the emulator command and arguments and write them out before an executable name, you need to be sure to make the proper call to escape each argument. In each case the code just below your hunk does this for the test arguments. Good catch. Fixed. Thanks. In try_run: +finalCommand += ; +for (std::vectorstd::string::const_iterator ei = + emulatorWithArgs.begin()+1; + ei != emulatorWithArgs.end(); ++ei) + { + finalCommand += *ei; + finalCommand += ; + } This still doesn't quote the arguments to the emulator. It needs to be quoted enough to get through the command line parsing that try_run does later. Or, things need to be refactored to avoid extra quoting/parsing steps. Missed that one. Quotes have been added. The Tests/RunCMake/pseudo_emulator.cxx tool must be able to compile with any of the compilers we test, not just those that host the build of CMake. It will be more portable to use a .c file with stdio.h and printf. The pseudo_emulator still needs to be converted to C, please. Done. Thanks for the reviews. Merged to next. Thanks, Matt -- 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.1-1566-g72847dd
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 72847dde8e43bb6417d802bf4c5dbff62390b574 (commit) via 9688d98c90d1c496891e8e51caa7e741d5901cb7 (commit) via 0d9099a42bde7ba464d0001d6c0b33c3c3d35bec (commit) via 579c4bec6e2352448f78d9333f7382ff34a08e5a (commit) from 0fd9668fc749941a67e3aadd1cf2444f764e5742 (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=72847dde8e43bb6417d802bf4c5dbff62390b574 commit 72847dde8e43bb6417d802bf4c5dbff62390b574 Merge: 0fd9668 9688d98 Author: Matt McCormick matt.mccorm...@kitware.com AuthorDate: Tue Apr 7 13:51:00 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Tue Apr 7 13:51:00 2015 -0400 Merge topic 'emulator-property' into next 9688d98c TestGenerator: Add CROSSCOMPILING_EMULATOR support. 0d9099a4 try_run: Use CMAKE_CROSSCOMPILING_EMULATOR. 579c4bec Properties: Add CROSSCOMPILING_EMULATOR target property. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=9688d98c90d1c496891e8e51caa7e741d5901cb7 commit 9688d98c90d1c496891e8e51caa7e741d5901cb7 Author: Matt McCormick matt.mccorm...@kitware.com AuthorDate: Sat Mar 28 22:05:35 2015 -0400 Commit: Matt McCormick matt.mccorm...@kitware.com CommitDate: Tue Apr 7 13:33:34 2015 -0400 TestGenerator: Add CROSSCOMPILING_EMULATOR support. Prefix test commands with the CROSSCOMPILING_EMULATOR property for target executables. This allows test suites to be run on the host when crosscompiling. diff --git a/Help/prop_tgt/CROSSCOMPILING_EMULATOR.rst b/Help/prop_tgt/CROSSCOMPILING_EMULATOR.rst index 2b5fd4d..3ef8e03 100644 --- a/Help/prop_tgt/CROSSCOMPILING_EMULATOR.rst +++ b/Help/prop_tgt/CROSSCOMPILING_EMULATOR.rst @@ -1,4 +1,6 @@ CROSSCOMPILING_EMULATOR --- -Use the given emulator to run executables created when crosscompiling. +Use the given emulator to run executables created when crosscompiling. This +command will be added as a prefix to :command:`add_test` test commands for +built target system executables. diff --git a/Source/cmTestGenerator.cxx b/Source/cmTestGenerator.cxx index f87a535..add80fa 100644 --- a/Source/cmTestGenerator.cxx +++ b/Source/cmTestGenerator.cxx @@ -82,11 +82,31 @@ void cmTestGenerator::GenerateScriptForConfig(std::ostream os, // be translated. std::string exe = command[0]; cmMakefile* mf = this-Test-GetMakefile(); + cmLocalGenerator* lg = mf-GetLocalGenerator(); cmTarget* target = mf-FindTargetToUse(exe); if(target target-GetType() == cmTarget::EXECUTABLE) { // Use the target file on disk. exe = target-GetFullPath(config); + +// Prepend with the emulator when cross compiling if required. +const char * emulator = + target-GetProperty(CROSSCOMPILING_EMULATOR); +if (emulator != 0) + { + std::vectorstd::string emulatorWithArgs; + cmSystemTools::ExpandListArgument(emulator, emulatorWithArgs); + std::string emulatorExe(emulatorWithArgs[0]); + cmSystemTools::ConvertToUnixSlashes(emulatorExe); + os lg-EscapeForCMake(emulatorExe) ; + for(std::vectorstd::string::const_iterator ei = + emulatorWithArgs.begin()+1; + ei != emulatorWithArgs.end(); + ++ei) +{ +os lg-EscapeForCMake(*ei) ; +} + } } else { @@ -96,7 +116,6 @@ void cmTestGenerator::GenerateScriptForConfig(std::ostream os, } // Generate the command line with full escapes. - cmLocalGenerator* lg = mf-GetLocalGenerator(); os lg-EscapeForCMake(exe); for(std::vectorstd::string::const_iterator ci = command.begin()+1; ci != command.end(); ++ci) diff --git a/Tests/RunCMake/CrosscompilingEmulator/AddTest-check.cmake b/Tests/RunCMake/CrosscompilingEmulator/AddTest-check.cmake new file mode 100644 index 000..0aae06c --- /dev/null +++ b/Tests/RunCMake/CrosscompilingEmulator/AddTest-check.cmake @@ -0,0 +1,12 @@ +set(testfile ${RunCMake_TEST_BINARY_DIR}/CTestTestfile.cmake) +if(EXISTS ${testfile}) + file(READ ${testfile} testfile_contents) +else() + message(FATAL_ERROR Could not find expected CTestTestfile.cmake.) +endif() +if(testfile_contents MATCHES add_test[(]DoesNotUseEmulator ^(pseudo_emulator)+$) + message(SEND_ERROR Used emulator when it should not be used.) +endif() +if(NOT testfile_contents MATCHES add_test[(]UsesEmulator .+pseudo_emulator.+$) + message(SEND_ERROR Did not use emulator when it should be used.) +endif() diff --git a/Tests/RunCMake/CrosscompilingEmulator/AddTest.cmake b/Tests/RunCMake/CrosscompilingEmulator/AddTest.cmake new file
Re: [cmake-developers] A CMAKE_EMULATOR variable
In each place that you ExpandListArgument to get the emulator command and arguments and write them out before an executable name, you need to be sure to make the proper call to escape each argument. In each case the code just below your hunk does this for the test arguments. Good catch. Fixed. The Tests/RunCMake/pseudo_emulator.cxx tool must be able to compile with any of the compilers we test, not just those that host the build of CMake. It will be more portable to use a .c file with stdio.h and printf. Also, please make it print out each argument in quotes so one could match expected output in the future. Done. If I recall correctly, there are not other tests that try to verify try_run output, so I did not open that can of worms. +RunCMake_TEST:STRING=AddTest Why is this needed in InitialCache.cmake? Seems like leftover cruft. Removed. Thanks for the review. The new branch has been force pushed to the stage as emulator-property. Thanks, Matt -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake-developers
Re: [cmake-developers] A CMAKE_EMULATOR variable
Hi Brad, On Thu, Mar 5, 2015 at 9:51 AM, Brad King brad.k...@kitware.com wrote: On 03/04/2015 08:15 PM, Matt McCormick wrote: On Wed, Mar 4, 2015 at 12:00 PM, Brad King wrote: I do not think a global setting like this makes sense. We cannot unconditionally add the cross-compiling target launcher in front of all tests. Some tests may be running host tools. See below. This set of patches does not globally and unconditionally add a launcher in front of all tests. It uses build system knowledge to add the emulator commands in front of target executables only. Good, but it may take more work. I see the key logic here: cmTarget* target = mf-FindTargetToUse(exe); if(target target-GetType() == cmTarget::EXECUTABLE) { // Use the target file on disk. exe = target-GetFullPath(config); + +// Prepend with the emulator when cross compiling if required. This if() condition is not sufficient to know that the executable is for the target architecture. The cmTarget could be IMPORTED, in which case we don't know whether it references a host tool or one built for the target architecture. Some kind of target property may be needed to say use the emulator to run me more explicitly. Once we have such a property, then it might as well refer to the tool to be used, e.g. add_executable(myexe ...) set_property(TARGET myexe PROPERTY CROSSCOMPILING_EMULATOR ${emulator}) The point about the overloaded meaning of targets is a good one. I think the best name is then CMAKE_CROSSCOMPILING_EMULATOR. Sounds good. This variable could be used to initialize the above property on target creation (see SetPropertyDefault calls). In try_run we simply need to pass the value into the inner project and its executable will pick it up too. That sounds cool. I have implemented it in the emulator-property branch [1]. The variable name that defines the default for the CROSSCOMPILING_EMULATOR property is CMAKE_CROSSCOMPILING_EMULATOR. Thanks, Matt [1] http://www.cmake.org/gitweb?p=stage/cmake.git;a=shortlog;h=refs/heads/emulator-property -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake-developers
Re: [cmake-developers] A CMAKE_EMULATOR variable
Yes: it emulates the target system when cross-compiling, and executables built for the target system can be run when passed to the emulator. is exactly correct. Perhaps the name CMAKE_TARGET_SYSTEM_EMULATOR is necessary to resolve the ambiguity. Or... Thanks, Matt On Wed, Mar 4, 2015 at 6:49 AM, David Cole dlrd...@aol.com wrote: What does CMAKE_EMULATOR emulate? From its name, it sounds like it emulates CMake. But from your description, I'm thinking that doesn't make sense... Because you actually run CMake and pass it CMAKE_EMULATOR. So it must be emulating something else while running CMake? I'm guessing it emulates the target system when cross-compiling, and executables built for the target system can be run when passed to the emulator? Is that right? D On Wednesday, March 4, 2015, Matt McCormick matt.mccorm...@kitware.com wrote: Hi, I have pushed to stage [1] support for a CMAKE_EMULATOR variable to help when cross-compiling. The goal is to improve cross compiling with CMake by making it easier to build and run tests. In principle, the commands cmake -DCMAKE_TOOLCHAIN_FILE=/path/to/toolchain.cmake -DCMAKE_EMULATOR=/path/to/emulator ~/src/project cmake -D Experimental are all that is needed generate a dashboard report, complete with test results. This should inch C/C++ closer to being the write once, run anywhere languages :-). The emulator is used to run try_run results, which avoids manual population of TryRunResults.cmake. This can be a painful, time-consuming process otherwise. It is also used to run tests on executables that are built for the target system. Without this approach, it is difficult to know which tests should be executed on the target system. Tests are often passed absolute paths to input on the host system. The use of an emulator is a way to avoid complexities and transfer overhead related to reproducing the host filesystem on the target filesystem to run the tests. With some fixes to ITK [2], this was used to build and test for four cases of interest. The emulator approach works best with MinGW and WINE to build and test on Linux for Windows [3]. The qemu-arm emulator provided by QEMU User Mode can be used with the Android NDK toolchain [4]. A gotcha is that Android tries to be fancy and uses its own dynamic loader. To get around this, I tested with completely static executables. Also, QEMU User Mode does not currently support multi-threading well, so tests were run single-threaded. An alternative approach may be to use an emulator script that is a wrapper around adb. The qemu-arm emulator was used again with the Raspberry Pi toolchain [5]. A symbolic link was created in the expected location for ld-linux-armhf.so.3, and dynamic loading works. To run the tests, LD_LIBRARY_PATH was populated with the path to libc and libstdcxx. One of the most interesting combinations is the Emscripten toolchain with NodeJS as the emulator [6]. There are some WIP workarounds to get Emscripten to configure cleanly for scientific libraries [7], and code had to be injected into the test driver to mount local filesystems for node, but this works surprisingly well. Testing and feedback are appreciated. Thanks, Matt [1] http://www.cmake.org/gitweb?p=stage/cmake.git;a=shortlog;h=refs/heads/emulator [2] https://github.com/thewtex/ITK/tree/cmake-emulator [3] https://open.cdash.org/buildSummary.php?buildid=3694578 [4] https://open.cdash.org/buildSummary.php?buildid=3694810 [5] https://open.cdash.org/buildSummary.php?buildid=3694810 [6] https://open.cdash.org/buildSummary.php?buildid=3705525 [7] https://github.com/thewtex/emscripten/tree/test-big-endian -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake-developers -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake
Re: [cmake-developers] A CMAKE_EMULATOR variable
On Wed, Mar 4, 2015 at 12:00 PM, Brad King brad.k...@kitware.com wrote: However, I do not think a global setting like this makes sense. We cannot unconditionally add the cross-compiling target launcher in front of all tests. Some tests may be running host tools. See below. This set of patches does not globally and unconditionally add a launcher in front of all tests. It uses build system knowledge to add the emulator commands in front of target executables only. Test with host executables run with the host command. This is why it is advantageous to use the emulator in this way. On 03/04/2015 11:40 AM, Florent Castelli wrote: not just about an emulator but a wrapper Wrapping or launching almost always has to be configurable on a per-test basis. Any kind of global setting will always need a local setting to override it. That raises the question of which one should take precedence. There are too many possible semantics here for standard wrapper interfaces to be defined cleanly IMO. Wrappers are difficult and take tweaking, but wrappers are a diversion here -- this is intended to be used with emulators or programs that act very close to emulators. It has been shown to work with ITK, a very large and complex project, and with a number of diverse cross-compiling toolchains and targets. No per-test tweaks were made in ITK's over 2500 tests. The point about the overloaded meaning of targets is a good one. I think the best name is then CMAKE_CROSSCOMPILING_EMULATOR. Thanks, Matt -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake-developers
[cmake-developers] A CMAKE_EMULATOR variable
Hi, I have pushed to stage [1] support for a CMAKE_EMULATOR variable to help when cross-compiling. The goal is to improve cross compiling with CMake by making it easier to build and run tests. In principle, the commands cmake -DCMAKE_TOOLCHAIN_FILE=/path/to/toolchain.cmake -DCMAKE_EMULATOR=/path/to/emulator ~/src/project cmake -D Experimental are all that is needed generate a dashboard report, complete with test results. This should inch C/C++ closer to being the write once, run anywhere languages :-). The emulator is used to run try_run results, which avoids manual population of TryRunResults.cmake. This can be a painful, time-consuming process otherwise. It is also used to run tests on executables that are built for the target system. Without this approach, it is difficult to know which tests should be executed on the target system. Tests are often passed absolute paths to input on the host system. The use of an emulator is a way to avoid complexities and transfer overhead related to reproducing the host filesystem on the target filesystem to run the tests. With some fixes to ITK [2], this was used to build and test for four cases of interest. The emulator approach works best with MinGW and WINE to build and test on Linux for Windows [3]. The qemu-arm emulator provided by QEMU User Mode can be used with the Android NDK toolchain [4]. A gotcha is that Android tries to be fancy and uses its own dynamic loader. To get around this, I tested with completely static executables. Also, QEMU User Mode does not currently support multi-threading well, so tests were run single-threaded. An alternative approach may be to use an emulator script that is a wrapper around adb. The qemu-arm emulator was used again with the Raspberry Pi toolchain [5]. A symbolic link was created in the expected location for ld-linux-armhf.so.3, and dynamic loading works. To run the tests, LD_LIBRARY_PATH was populated with the path to libc and libstdcxx. One of the most interesting combinations is the Emscripten toolchain with NodeJS as the emulator [6]. There are some WIP workarounds to get Emscripten to configure cleanly for scientific libraries [7], and code had to be injected into the test driver to mount local filesystems for node, but this works surprisingly well. Testing and feedback are appreciated. Thanks, Matt [1] http://www.cmake.org/gitweb?p=stage/cmake.git;a=shortlog;h=refs/heads/emulator [2] https://github.com/thewtex/ITK/tree/cmake-emulator [3] https://open.cdash.org/buildSummary.php?buildid=3694578 [4] https://open.cdash.org/buildSummary.php?buildid=3694810 [5] https://open.cdash.org/buildSummary.php?buildid=3694810 [6] https://open.cdash.org/buildSummary.php?buildid=3705525 [7] https://github.com/thewtex/emscripten/tree/test-big-endian -- 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.1.1-2278-ga80a6fc
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 a80a6fc857c5f77840c27caa89b499e22518f68d (commit) via fe6b4fad790428480b0b7f69b77da12ec795af8d (commit) from e00d75e25aaa93c38b59df54163ba468adac1c8a (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=a80a6fc857c5f77840c27caa89b499e22518f68d commit a80a6fc857c5f77840c27caa89b499e22518f68d Merge: e00d75e fe6b4fa Author: Matt McCormick matt.mccorm...@kitware.com AuthorDate: Fri Jan 23 10:40:18 2015 -0500 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Fri Jan 23 10:40:18 2015 -0500 Merge topic 'try-run-link-libraries' into next fe6b4fad try_run: Do not expect ImportExport runs to succeed. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=fe6b4fad790428480b0b7f69b77da12ec795af8d commit fe6b4fad790428480b0b7f69b77da12ec795af8d Author: Matt McCormick matt.mccorm...@kitware.com AuthorDate: Fri Jan 23 10:39:27 2015 -0500 Commit: Matt McCormick matt.mccorm...@kitware.com CommitDate: Fri Jan 23 10:39:27 2015 -0500 try_run: Do not expect ImportExport runs to succeed. Some exotic systems have trouble finding the mock system library at execute time. diff --git a/Tests/ExportImport/Import/A/CMakeLists.txt b/Tests/ExportImport/Import/A/CMakeLists.txt index d64e917..358776b 100644 --- a/Tests/ExportImport/Import/A/CMakeLists.txt +++ b/Tests/ExportImport/Import/A/CMakeLists.txt @@ -321,8 +321,8 @@ if (((CMAKE_C_COMPILER_ID STREQUAL GNU AND CMAKE_C_COMPILER_VERSION VERSION_GREA LINK_LIBRARIES exp_systemlib OUTPUT_VARIABLE OUTPUT ) - if(NOT EXP_COMPILE_VAR OR NOT EXP_RUN_VAR EQUAL 0) -message(SEND_ERROR try_run failed, but it was expected to succeed ${OUTPUT}.) + if(NOT EXP_COMPILE_VAR) +message(SEND_ERROR try_run compile failed, but it was expected to succeed ${OUTPUT}.) endif() endif() @@ -352,8 +352,8 @@ if (((CMAKE_C_COMPILER_ID STREQUAL GNU AND CMAKE_C_COMPILER_VERSION VERSION_GREA LINK_LIBRARIES bld_systemlib OUTPUT_VARIABLE OUTPUT ) - if(NOT BLD_COMPILE_VAR OR NOT BLD_RUN_VAR EQUAL 0) -message(SEND_ERROR try_run failed, but it was expected to succeed ${OUTPUT}.) + if(NOT BLD_COMPILE_VAR) +message(SEND_ERROR try_run compile failed, but it was expected to succeed ${OUTPUT}.) endif() endif() endif() --- Summary of changes: Tests/ExportImport/Import/A/CMakeLists.txt |8 1 file changed, 4 insertions(+), 4 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.1.1-2244-gda9ed6b
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 da9ed6be3896a3bdaed9cddfbf2fccc944992451 (commit) via 52a4fe75063d77f2b79ffd9bb93b1e48cd7af3dd (commit) from 2d65931be441528733687bb62f2d111eee659e27 (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=da9ed6be3896a3bdaed9cddfbf2fccc944992451 commit da9ed6be3896a3bdaed9cddfbf2fccc944992451 Merge: 2d65931 52a4fe7 Author: Matt McCormick matt.mccorm...@kitware.com AuthorDate: Thu Jan 22 14:00:16 2015 -0500 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Thu Jan 22 14:00:16 2015 -0500 Merge topic 'if-test' into next 52a4fe75 Tests: Move if command TestName test to RunCMake group. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=52a4fe75063d77f2b79ffd9bb93b1e48cd7af3dd commit 52a4fe75063d77f2b79ffd9bb93b1e48cd7af3dd Author: Matt McCormick matt.mccorm...@kitware.com AuthorDate: Thu Jan 22 13:58:53 2015 -0500 Commit: Matt McCormick matt.mccorm...@kitware.com CommitDate: Thu Jan 22 13:58:53 2015 -0500 Tests: Move if command TestName test to RunCMake group. The RunCMake group is preferred over the Complex test. diff --git a/Tests/Complex/Executable/CMakeLists.txt b/Tests/Complex/Executable/CMakeLists.txt index 102da6b..bbd5878 100644 --- a/Tests/Complex/Executable/CMakeLists.txt +++ b/Tests/Complex/Executable/CMakeLists.txt @@ -21,19 +21,6 @@ if(TARGET NotATarget) message(FATAL_ERROR if(TARGET NotATarget) returned true!) endif() -# Test if(TEST... -add_test(NAME TestThatExists COMMAND ${CMAKE_COMMAND} -E echo A CMake Test) -if(TEST TestThatExists) - message(STATUS if(TestThatExists) is true) -else() - message(FATAL_ERROR if(TestThatExists is false) -endif() -if(TEST TestThatDoesNotExist) - message(FATAL_ERROR if(TestThatDoesNotExist is true) -else() - message(STATUS if(TestThatDoesNotExist) is false) -endif() - # Use LINK_LIBRARIES instead of TARGET_LINK_LIBRARIES to set(COMPLEX_LIBS CMakeTestLibrary;CMakeTestLibraryShared;CMakeTestCLibraryShared) link_libraries(${COMPLEX_LIBS}) diff --git a/Tests/RunCMake/if/RunCMakeTest.cmake b/Tests/RunCMake/if/RunCMakeTest.cmake index 6b6b74b..9db79e9 100644 --- a/Tests/RunCMake/if/RunCMakeTest.cmake +++ b/Tests/RunCMake/if/RunCMakeTest.cmake @@ -2,3 +2,6 @@ include(RunCMake) run_cmake(IsDirectory) run_cmake(IsDirectoryLong) + +run_cmake(TestNameThatExists) +run_cmake(TestNameThatDoesNotExist) diff --git a/Tests/RunCMake/if/TestNameThatDoesNotExist-stdout.txt b/Tests/RunCMake/if/TestNameThatDoesNotExist-stdout.txt new file mode 100644 index 000..8874ca8 --- /dev/null +++ b/Tests/RunCMake/if/TestNameThatDoesNotExist-stdout.txt @@ -0,0 +1 @@ +TestThatDoesNotExist is false diff --git a/Tests/RunCMake/if/TestNameThatDoesNotExist.cmake b/Tests/RunCMake/if/TestNameThatDoesNotExist.cmake new file mode 100644 index 000..68ad6e3 --- /dev/null +++ b/Tests/RunCMake/if/TestNameThatDoesNotExist.cmake @@ -0,0 +1,5 @@ +if(TEST TestThatDoesNotExist) + message(FATAL_ERROR if TestThatDoesNotExist is true) +else() + message(STATUS if TestThatDoesNotExist is false) +endif() diff --git a/Tests/RunCMake/if/TestNameThatExists-stdout.txt b/Tests/RunCMake/if/TestNameThatExists-stdout.txt new file mode 100644 index 000..54911bc --- /dev/null +++ b/Tests/RunCMake/if/TestNameThatExists-stdout.txt @@ -0,0 +1 @@ +TestThatExists is true diff --git a/Tests/RunCMake/if/TestNameThatExists.cmake b/Tests/RunCMake/if/TestNameThatExists.cmake new file mode 100644 index 000..e03e148 --- /dev/null +++ b/Tests/RunCMake/if/TestNameThatExists.cmake @@ -0,0 +1,6 @@ +add_test(NAME TestThatExists COMMAND ${CMAKE_COMMAND} -E echo A CMake Test) +if(TEST TestThatExists) + message(STATUS if TestThatExists is true) +else() + message(FATAL_ERROR if TestThatExists is false) +endif() --- Summary of changes: Tests/Complex/Executable/CMakeLists.txt | 13 - Tests/RunCMake/if/RunCMakeTest.cmake |3 +++ Tests/RunCMake/if/TestNameThatDoesNotExist-stdout.txt |1 + Tests/RunCMake/if/TestNameThatDoesNotExist.cmake |5 + Tests/RunCMake/if/TestNameThatExists-stdout.txt |1 + Tests/RunCMake/if/TestNameThatExists.cmake|6 ++ 6 files changed, 16 insertions(+), 13 deletions(-) create mode 100644 Tests/RunCMake/if/TestNameThatDoesNotExist-stdout.txt create mode 100644 Tests/RunCMake/if/TestNameThatDoesNotExist.cmake create mode 100644 Tests/RunCMake/if/TestNameThatExists-stdout.txt create mode 100644 Tests/RunCMake
[Cmake-commits] CMake branch, next, updated. v3.1.0-2304-g1c17514
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 1c175147e32341d5a9bf4c54fc8ea7cd9831c31c (commit) via c33cbbd852f384883a56a027c6e7b96642559db0 (commit) from b6aa7393f5501c658afc1c83001fcecec7a86e7a (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=1c175147e32341d5a9bf4c54fc8ea7cd9831c31c commit 1c175147e32341d5a9bf4c54fc8ea7cd9831c31c Merge: b6aa739 c33cbbd Author: Matt McCormick matt.mccorm...@kitware.com AuthorDate: Wed Jan 21 22:50:29 2015 -0500 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Wed Jan 21 22:50:29 2015 -0500 Merge topic 'try-run-link-libraries' into next c33cbbd8 try_run: Add support for LINK_LIBRARIES option. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c33cbbd852f384883a56a027c6e7b96642559db0 commit c33cbbd852f384883a56a027c6e7b96642559db0 Author: Matt McCormick matt.mccorm...@kitware.com AuthorDate: Thu Jan 1 22:30:08 2015 -0500 Commit: Matt McCormick matt.mccorm...@kitware.com CommitDate: Mon Jan 5 12:41:56 2015 -0500 try_run: Add support for LINK_LIBRARIES option. Most functionality is already implemented in Source/cmCoreTryCompile.{h,cxx}. Document and improve argument parsing. This functionality is already being used by a number of modules, like CheckCSourceCompiles.cmake, but it is not documented. diff --git a/Help/command/try_run.rst b/Help/command/try_run.rst index 9a17ad9..66245f6 100644 --- a/Help/command/try_run.rst +++ b/Help/command/try_run.rst @@ -6,8 +6,9 @@ Try compiling and then running some code. :: try_run(RUN_RESULT_VAR COMPILE_RESULT_VAR - bindir srcfile [CMAKE_FLAGS Flags] + bindir srcfile [CMAKE_FLAGS flags] [COMPILE_DEFINITIONS flags] + [LINK_LIBRARIES libs] [COMPILE_OUTPUT_VARIABLE comp] [RUN_OUTPUT_VARIABLE run] [OUTPUT_VARIABLE var] diff --git a/Source/cmTryRunCommand.cxx b/Source/cmTryRunCommand.cxx index 8f2deeb..8bd33d0 100644 --- a/Source/cmTryRunCommand.cxx +++ b/Source/cmTryRunCommand.cxx @@ -48,7 +48,8 @@ bool cmTryRunCommand { ++i; while (i argv.size() argv[i] != COMPILE_DEFINITIONS - argv[i] != CMAKE_FLAGS) + argv[i] != CMAKE_FLAGS + argv[i] != LINK_LIBRARIES) { runArgs += ; runArgs += argv[i]; --- Summary of changes: Help/command/try_run.rst |3 ++- Source/cmTryRunCommand.cxx |3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.1.0-2306-g65ebdf1
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 65ebdf17ae3f463dd10862a4f1bec017f2c15cb5 (commit) via ab1f20025d42a781e4d9d0a446089892f121bde2 (commit) from 1c175147e32341d5a9bf4c54fc8ea7cd9831c31c (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=65ebdf17ae3f463dd10862a4f1bec017f2c15cb5 commit 65ebdf17ae3f463dd10862a4f1bec017f2c15cb5 Merge: 1c17514 ab1f200 Author: Matt McCormick matt.mccorm...@kitware.com AuthorDate: Wed Jan 21 23:00:15 2015 -0500 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Wed Jan 21 23:00:15 2015 -0500 Merge topic 'if-test' into next ab1f2002 Help: if(TEST) consistent argument name. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ab1f20025d42a781e4d9d0a446089892f121bde2 commit ab1f20025d42a781e4d9d0a446089892f121bde2 Author: Matt McCormick matt.mccorm...@kitware.com AuthorDate: Wed Jan 21 22:58:38 2015 -0500 Commit: Matt McCormick matt.mccorm...@kitware.com CommitDate: Wed Jan 21 22:58:38 2015 -0500 Help: if(TEST) consistent argument name. Consistent with other if expression argument names. diff --git a/Help/command/if.rst b/Help/command/if.rst index 2caf8d3..93ff6d3 100644 --- a/Help/command/if.rst +++ b/Help/command/if.rst @@ -70,7 +70,7 @@ Possible expressions are: created by the :command:`add_executable`, :command:`add_library`, or :command:`add_custom_target` commands. -``if(TEST test)`` +``if(TEST test-name)`` True if the given name is an existing test name created by the :command:`add_test` command. --- Summary of changes: Help/command/if.rst |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-commits] CMake branch, next, updated. v3.1.0-2302-gb6aa739
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 b6aa7393f5501c658afc1c83001fcecec7a86e7a (commit) via 52685ecbafd9f5a59eb88830dbb6121602ea7dc7 (commit) from 45049eca97e8931721f4a371e136a012c0473e8d (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=b6aa7393f5501c658afc1c83001fcecec7a86e7a commit b6aa7393f5501c658afc1c83001fcecec7a86e7a Merge: 45049ec 52685ec Author: Matt McCormick matt.mccorm...@kitware.com AuthorDate: Wed Jan 21 22:45:21 2015 -0500 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Wed Jan 21 22:45:21 2015 -0500 Merge topic 'if-test' into next 52685ecb CMake: if command understands if(TEST TestName) http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=52685ecbafd9f5a59eb88830dbb6121602ea7dc7 commit 52685ecbafd9f5a59eb88830dbb6121602ea7dc7 Author: Matt McCormick matt.mccorm...@kitware.com AuthorDate: Mon Dec 29 20:47:48 2014 -0500 Commit: Matt McCormick matt.mccorm...@kitware.com CommitDate: Mon Dec 29 21:08:46 2014 -0500 CMake: if command understands if(TEST TestName) if(TEST TestNameThatExists) will return true if a test with the name TestNameThatExists has been added with add_test. The syntax is similar to if(TARGET TargetName). diff --git a/Help/command/if.rst b/Help/command/if.rst index 79e5d21..2caf8d3 100644 --- a/Help/command/if.rst +++ b/Help/command/if.rst @@ -70,6 +70,10 @@ Possible expressions are: created by the :command:`add_executable`, :command:`add_library`, or :command:`add_custom_target` commands. +``if(TEST test)`` + True if the given name is an existing test name created by the + :command:`add_test` command. + ``if(EXISTS path-to-file-or-directory)`` True if the named file or directory exists. Behavior is well-defined only for full paths. diff --git a/Source/cmConditionEvaluator.cxx b/Source/cmConditionEvaluator.cxx index aba26de..29a71c7 100644 --- a/Source/cmConditionEvaluator.cxx +++ b/Source/cmConditionEvaluator.cxx @@ -507,6 +507,14 @@ bool cmConditionEvaluator::HandleLevel1(cmArgumentList newArgs, this-Makefile.FindTargetToUse(argP1-GetValue())?true:false, reducible, arg, newArgs, argP1, argP2); } + // does a test exist + if (this-IsKeyword(TEST, *arg) argP1 != newArgs.end()) +{ +const cmTest* haveTest = this-Makefile.GetTest(argP1-c_str()); +this-HandlePredicate( + haveTest?true:false, + reducible, arg, newArgs, argP1, argP2); +} // is a variable defined if (this-IsKeyword(DEFINED, *arg) argP1 != newArgs.end()) { diff --git a/Tests/Complex/Executable/CMakeLists.txt b/Tests/Complex/Executable/CMakeLists.txt index bf23d4a..102da6b 100644 --- a/Tests/Complex/Executable/CMakeLists.txt +++ b/Tests/Complex/Executable/CMakeLists.txt @@ -21,7 +21,20 @@ if(TARGET NotATarget) message(FATAL_ERROR if(TARGET NotATarget) returned true!) endif() - # Use LINK_LIBRARIES instead of TARGET_LINK_LIBRARIES to +# Test if(TEST... +add_test(NAME TestThatExists COMMAND ${CMAKE_COMMAND} -E echo A CMake Test) +if(TEST TestThatExists) + message(STATUS if(TestThatExists) is true) +else() + message(FATAL_ERROR if(TestThatExists is false) +endif() +if(TEST TestThatDoesNotExist) + message(FATAL_ERROR if(TestThatDoesNotExist is true) +else() + message(STATUS if(TestThatDoesNotExist) is false) +endif() + +# Use LINK_LIBRARIES instead of TARGET_LINK_LIBRARIES to set(COMPLEX_LIBS CMakeTestLibrary;CMakeTestLibraryShared;CMakeTestCLibraryShared) link_libraries(${COMPLEX_LIBS}) --- Summary of changes: Help/command/if.rst |4 Source/cmConditionEvaluator.cxx |8 Tests/Complex/Executable/CMakeLists.txt | 15 ++- 3 files changed, 26 insertions(+), 1 deletion(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
Re: [cmake-developers] [ITK-dev] find_package issues with ITK and VTK (and SlicerExecution Model)
Hi Kent, On Tue, Sep 30, 2014 at 10:14 AM, Williams, Norman K norman-k-willi...@uiowa.edu wrote: This is a problem that has been cropping up in our projects that use ITK, VTK and SlicerExecutionModel. You won’t see it UNLESS you turn on the ITKVTK/ITKVtkGlue modules. The problem is this: if you find packages in this order: find_package(VTK REQUIRED) find_package(ITK REQUIRED) You can’t real compile anything that needs VTK, because down in the ITK deployment stuff, it calls find_package(VTK) like this: find_package(VTK COMPONENTS vtkCommonCore vtkRenderingCore vtkRenderingOpenGL vtkRenderingFreeType vtkInteractionStyle vtkIOImage vtkImagingSources REQUIRED) Which blows away the larger list of include directories and libraries that the first find_package(VTK REQUIRED) built. Even better — or worse — Modules/Segmentation/LevelSetsv4Visualization/CMakeLists.txt also include find_package(VTK) — so ITK tries to import VTK twice, with different module lists. It doesn’t even help to reverse the order: find_package(ITK REQUIRED) find_package(VTK REQUIRED) because apparently there’s some hangover from the find_package(VTK) inside the ITK CMake deployment files. The only thing that works is to use COMPONENTS, i.e. find_package(ITK REQUIRED) find_package(VTK COMPONENTS vtkCommonCore vtkRenderingAnnotation … REQUIRED) Which seems to trigger a proper re-scan and build of the library/include lists. This was discussed in this thread [1]. There does not seem to be interest at this time to have mixed COMPONENTS / non-COMPONENTS calls to find_package. It is also recommended to use the MODULE option to find_package. A newer version of VTK 6 is also required. It gets even worse if you use find_package(SlicerExecutionModel) after find_package(ITK), for the same reason — SlicerExecutionModel depends on ITK, so it clobbers the include/library lists from the first find_package(ITK). A patch was merged a few days ago that might address this issue [2]. Is this behavior still see with current ITK? Thanks, Matt [1] http://public.kitware.com/pipermail/vtk-developers/2014-September/015376.html [2] http://review.source.kitware.com/#/c/16963/ -- 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.0.0-rc1-525-gdca36fa
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 dca36fada79b68ecc0eb9cb7d8b9fa269e92ff38 (commit) via 3b579421ce1709c2599f801e8e8a4e54fc0ad24d (commit) from 1405ef800f1f07673b647c0fa46320076ce95fde (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=dca36fada79b68ecc0eb9cb7d8b9fa269e92ff38 commit dca36fada79b68ecc0eb9cb7d8b9fa269e92ff38 Merge: 1405ef8 3b57942 Author: Matt McCormick matt.mccorm...@kitware.com AuthorDate: Wed Mar 5 17:44:26 2014 -0500 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Wed Mar 5 17:44:26 2014 -0500 Merge topic 'python-3.4' into next 3b579421 FindPython{Interp,Libs}: Search for Python 3.4. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=3b579421ce1709c2599f801e8e8a4e54fc0ad24d commit 3b579421ce1709c2599f801e8e8a4e54fc0ad24d Author: Matt McCormick matt.mccorm...@kitware.com AuthorDate: Wed Mar 5 17:41:47 2014 -0500 Commit: Matt McCormick matt.mccorm...@kitware.com CommitDate: Wed Mar 5 17:41:47 2014 -0500 FindPython{Interp,Libs}: Search for Python 3.4. Python 3.4.0rnc1 was released on 2014-02-20. diff --git a/Modules/FindPythonInterp.cmake b/Modules/FindPythonInterp.cmake index 8da848c..e23a58b 100644 --- a/Modules/FindPythonInterp.cmake +++ b/Modules/FindPythonInterp.cmake @@ -47,7 +47,7 @@ unset(_Python_NAMES) set(_PYTHON1_VERSIONS 1.6 1.5) set(_PYTHON2_VERSIONS 2.7 2.6 2.5 2.4 2.3 2.2 2.1 2.0) -set(_PYTHON3_VERSIONS 3.3 3.2 3.1 3.0) +set(_PYTHON3_VERSIONS 3.4 3.3 3.2 3.1 3.0) if(PythonInterp_FIND_VERSION) if(PythonInterp_FIND_VERSION_COUNT GREATER 1) diff --git a/Modules/FindPythonLibs.cmake b/Modules/FindPythonLibs.cmake index 27d9e45..a366372 100644 --- a/Modules/FindPythonLibs.cmake +++ b/Modules/FindPythonLibs.cmake @@ -51,7 +51,7 @@ CMAKE_FIND_FRAMEWORKS(Python) set(_PYTHON1_VERSIONS 1.6 1.5) set(_PYTHON2_VERSIONS 2.7 2.6 2.5 2.4 2.3 2.2 2.1 2.0) -set(_PYTHON3_VERSIONS 3.3 3.2 3.1 3.0) +set(_PYTHON3_VERSIONS 3.4 3.3 3.2 3.1 3.0) if(PythonLibs_FIND_VERSION) if(PythonLibs_FIND_VERSION_COUNT GREATER 1) --- Summary of changes: Modules/FindPythonInterp.cmake |2 +- Modules/FindPythonLibs.cmake |2 +- 2 files changed, 2 insertions(+), 2 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.2-1818-gb18cb5a
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 b18cb5acb5b1a094e46457514f7bf02cb3b9b735 (commit) via 6b47af939d49c22178f7e841bbaaea73aae1ed25 (commit) from 8c2a1f91d3625a3afdf667a9d7507c357059a0e1 (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=b18cb5acb5b1a094e46457514f7bf02cb3b9b735 commit b18cb5acb5b1a094e46457514f7bf02cb3b9b735 Merge: 8c2a1f9 6b47af9 Author: Matt McCormick matt.mccorm...@kitware.com AuthorDate: Thu Feb 27 13:04:15 2014 -0500 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Thu Feb 27 13:04:15 2014 -0500 Merge topic 'different-python-header-libs-exe-0013794' into next 6b47af93 BUG: Find consistent Python interp, headers, libs #0013794 http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6b47af939d49c22178f7e841bbaaea73aae1ed25 commit 6b47af939d49c22178f7e841bbaaea73aae1ed25 Author: Matt McCormick matt.mccorm...@kitware.com AuthorDate: Wed Feb 26 21:47:20 2014 -0500 Commit: Matt McCormick matt.mccorm...@kitware.com CommitDate: Thu Feb 27 11:36:46 2014 -0500 BUG: Find consistent Python interp, headers, libs #0013794 When possible, get consistent version of the Python interpreter, headers path, and library. find_package(PythonLibs) internally calls find_package(PythonInterp QUIET) and uses the resulting PYTHON_VERSION_MAJOR and PYTHON_VERSION_MINOR to prefer these versions when looking for the header path and library. The Python_ADDITIONAL_VERSIONS variable has priority over the interpreter version. Co-authored-by: Adam Wolf Co-authored-by: Gert Wollny gw.foss...@gmail.com diff --git a/Modules/FindPythonLibs.cmake b/Modules/FindPythonLibs.cmake index 0749efc..27d9e45 100644 --- a/Modules/FindPythonLibs.cmake +++ b/Modules/FindPythonLibs.cmake @@ -80,10 +80,15 @@ endif() # Set up the versions we know about, in the order we will search. Always add # the user supplied additional versions to the front. -set(_Python_VERSIONS - ${Python_ADDITIONAL_VERSIONS} - ${_PYTHON_FIND_OTHER_VERSIONS} - ) +# If FindPythonInterp has already found the major and minor version, +# insert that version between the user supplied versions and the stock +# version list. +find_package(PythonInterp QUIET) +set(_Python_VERSIONS ${Python_ADDITIONAL_VERSIONS}) +if(DEFINED PYTHON_VERSION_MAJOR AND DEFINED PYTHON_VERSION_MINOR) + list(APPEND _Python_VERSIONS ${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}) +endif() +list(APPEND _Python_VERSIONS ${_PYTHON_FIND_OTHER_VERSIONS}) unset(_PYTHON_FIND_OTHER_VERSIONS) unset(_PYTHON1_VERSIONS) --- Summary of changes: Modules/FindPythonLibs.cmake | 13 + 1 file changed, 9 insertions(+), 4 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.1-7253-g7699c35
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 7699c35215babd00f1b41af868592a4ae0046e78 (commit) via a432b93b7919d34e37e202b0c992775a029928d3 (commit) via 1cb9ef817334235fa9ebb57060b6df78d1a0b058 (commit) via f73f0fb357eee40f794abc55a0091e77f50cc62d (commit) via b5e2265fc3a1e8505c6a230b79a2bbb768e5efc5 (commit) from ce5523022767b284f4189f277373f793d3f2ad22 (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=7699c35215babd00f1b41af868592a4ae0046e78 commit 7699c35215babd00f1b41af868592a4ae0046e78 Merge: ce55230 a432b93 Author: Matt McCormick matt.mccorm...@kitware.com AuthorDate: Thu Jan 23 17:39:47 2014 -0500 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Thu Jan 23 17:39:47 2014 -0500 Merge topic 'robust-ep-download-verify' into next a432b93b file DOWNLOAD: Display the curl result status when a hash mismatch occurs. 1cb9ef81 file DOWNLOAD: Test non-zero return status. f73f0fb3 file DOWNLOAD: Add test for bad hash. b5e2265f ExternalProject: Reattempt download when verification fails. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a432b93b7919d34e37e202b0c992775a029928d3 commit a432b93b7919d34e37e202b0c992775a029928d3 Author: Matt McCormick matt.mccorm...@kitware.com AuthorDate: Wed Jan 15 20:08:44 2014 -0500 Commit: Matt McCormick matt.mccorm...@kitware.com CommitDate: Wed Jan 15 20:08:44 2014 -0500 file DOWNLOAD: Display the curl result status when a hash mismatch occurs. diff --git a/Source/cmFileCommand.cxx b/Source/cmFileCommand.cxx index 311763b..e79bc6c 100644 --- a/Source/cmFileCommand.cxx +++ b/Source/cmFileCommand.cxx @@ -2983,6 +2983,8 @@ cmFileCommand::HandleDownloadCommand(std::vectorstd::string const args) for file: [ file ] std::endl expected hash: [ expectedHash ] std::endl actual hash: [ actualHash ] std::endl +status: [ (int)res ;\ + ::curl_easy_strerror(res) \] std::endl ; this-SetError(oss.str().c_str()); return false; http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=1cb9ef817334235fa9ebb57060b6df78d1a0b058 commit 1cb9ef817334235fa9ebb57060b6df78d1a0b058 Author: Matt McCormick matt.mccorm...@kitware.com AuthorDate: Wed Jan 15 19:40:28 2014 -0500 Commit: Matt McCormick matt.mccorm...@kitware.com CommitDate: Wed Jan 15 19:43:25 2014 -0500 file DOWNLOAD: Test non-zero return status. diff --git a/Tests/CMakeTests/FileDownloadTest.cmake.in b/Tests/CMakeTests/FileDownloadTest.cmake.in index 91086c6..83ade2b 100644 --- a/Tests/CMakeTests/FileDownloadTest.cmake.in +++ b/Tests/CMakeTests/FileDownloadTest.cmake.in @@ -94,3 +94,16 @@ file(DOWNLOAD EXPECTED_MD5 d16778650db435bda3a8c3435c3ff5d1 ) message(STATUS ${status}) + +message(STATUS FileDownload:11) +file(DOWNLOAD + badhostname.png + ${dir}/file11.png + TIMEOUT 2 + STATUS status + ) +message(STATUS ${status}) +list(GET status 0 status_code) +if(NOT ${status_code} EQUAL 6) + message(SEND_ERROR error: expected status code 6 for bad host name, got: ${status_code}) +endif() http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f73f0fb357eee40f794abc55a0091e77f50cc62d commit f73f0fb357eee40f794abc55a0091e77f50cc62d Author: Matt McCormick matt.mccorm...@kitware.com AuthorDate: Wed Jan 15 19:27:26 2014 -0500 Commit: Matt McCormick matt.mccorm...@kitware.com CommitDate: Wed Jan 15 19:43:23 2014 -0500 file DOWNLOAD: Add test for bad hash. diff --git a/Tests/CMakeTests/CMakeLists.txt b/Tests/CMakeTests/CMakeLists.txt index 41714f6..ce36830 100644 --- a/Tests/CMakeTests/CMakeLists.txt +++ b/Tests/CMakeTests/CMakeLists.txt @@ -38,6 +38,10 @@ AddCMakeTest(FileDownload ) set_property(TEST CMake.FileDownload PROPERTY PASS_REGULAR_EXPRESSION file already exists with expected MD5 sum ) +AddCMakeTest(FileDownloadBadHash ) +set_property(TEST CMake.FileDownloadBadHash PROPERTY + WILL_FAIL TRUE + ) AddCMakeTest(FileUpload ) diff --git a/Tests/CMakeTests/FileDownloadBadHashTest.cmake.in b/Tests/CMakeTests/FileDownloadBadHashTest.cmake.in new file mode 100644 index 000..4a47c06 --- /dev/null +++ b/Tests/CMakeTests/FileDownloadBadHashTest.cmake.in @@ -0,0 +1,10 @@ +set(url file://@CMAKE_CURRENT_SOURCE_DIR@/FileDownloadInput.png) +set(dir @CMAKE_CURRENT_BINARY_DIR@/downloads) + +file(DOWNLOAD + ${url} + ${dir}/file3.png + TIMEOUT 2 + STATUS status + EXPECTED_HASH SHA1= + ) http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h
Re: [cmake-developers] Review Request: Topic ExternalProject_GitUpdate
Hi Daniele, Brad, On Tue, Nov 26, 2013 at 3:57 AM, Daniele E. Domenichelli daniele.domeniche...@gmail.com wrote: On 25/11/13 18:04, Jean-Christophe Fillion-Robin wrote: After copying the ExternalProject.cmake in the Module directory of the CMake installation I used for daily work, I didn't see any issue / side effect. Considering the external projects I am dealing with always specify the SHA1, I didn't have a chance to explicitly test the case if(is_remote_ref) ... Thanks for testing! Did anyone try it with a remote branch? Testing locally, it worked great for me! Thanks, Matt -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
[Cmake-commits] CMake branch, next, updated. v2.8.12.1-5362-g5ec4796
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 5ec479646713160d72463e3e8cdf32624b4b6824 (commit) via 07674740704c59d587c977d37bd0b9e517a58dd4 (commit) from 0072ba93394deb607ed645ad54754528884bd337 (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=5ec479646713160d72463e3e8cdf32624b4b6824 commit 5ec479646713160d72463e3e8cdf32624b4b6824 Merge: 0072ba9 0767474 Author: Matt McCormick matt.mccorm...@kitware.com AuthorDate: Tue Nov 19 11:44:02 2013 -0500 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Tue Nov 19 11:44:02 2013 -0500 Merge topic 'FindLATEX-ps2pdf' into next 0767474 FindLATEX: Find ps2pdf with MikTeX. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=07674740704c59d587c977d37bd0b9e517a58dd4 commit 07674740704c59d587c977d37bd0b9e517a58dd4 Author: Matt McCormick matt.mccorm...@kitware.com AuthorDate: Wed Sep 25 15:51:29 2013 + Commit: Matt McCormick matt.mccorm...@kitware.com CommitDate: Thu Oct 24 12:06:31 2013 + FindLATEX: Find ps2pdf with MikTeX. diff --git a/Modules/FindLATEX.cmake b/Modules/FindLATEX.cmake index e78d5bf..62eedd6 100644 --- a/Modules/FindLATEX.cmake +++ b/Modules/FindLATEX.cmake @@ -104,8 +104,9 @@ find_program(DVIPDF_CONVERTER if (WIN32) find_program(PS2PDF_CONVERTER -NAMES ps2pdf14.bat +NAMES ps2pdf14.bat ps2pdf PATHS ${GHOSTSCRIPT_LIBRARY_PATH} + ${MIKTEX_BINARY_PATH} ) else () find_program(PS2PDF_CONVERTER --- Summary of changes: Modules/FindLATEX.cmake |3 ++- 1 files changed, 2 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
Re: [cmake-developers] Review Request: Topic ExternalProject_GitUpdate
Hi Daniele, Thanks for the contribution! Code review looks good -- I like how there is a reset --hard to the previous head_sha and message if the stash pop does not work as expected. I have checkout out the branch, will test it locally, and make any notes of unexpected behavior. Thanks, Matt On Mon, Nov 18, 2013 at 10:39 AM, Robert Maynard robert.mayn...@kitware.com wrote: I am understanding properly that the last paragraph properly, this will fix the problem that setting GIT_TAG to a named branch doesn't keep the branch up to date with the remotes version of the branch? Overall I really like this change to ExternalProject, and I see it being more in line with how I would guess GIT_TAG to behave like. On Mon, Nov 18, 2013 at 6:19 AM, Daniele E. Domenichelli daniele.domeniche...@gmail.com wrote: Hello, Please review the topic ExternalProject_GitUpdate ExternalProject handles git remote branches by commit hash. Due to this, the git repository ends in detached states, and local commits are discarded. This patch uses git pull --rebase for remote branches instead of git checkout. If there are local changes, git stash is used to save the changes and restore them after the pull. If any of these operation fails, it tries to restore the original status and exits with a fatal error, asking the user to resolve the conflicts manually. This also makes the behaviour of ExternalProject using git more similar to the svn version, and probably more likely to what the user expects by setting GIT_TAG to a branch. Cheers, Daniele -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
[Cmake-commits] CMake branch, next, updated. v2.8.12-4087-g819d956
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 819d956ed877f010b7bb39678484f864f3eda22e (commit) via 7eddefd8f1375c5c6f2fbe6e0e51f14bdc1f8886 (commit) from c241975a8215694ed022a4746d4f955add519811 (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=819d956ed877f010b7bb39678484f864f3eda22e commit 819d956ed877f010b7bb39678484f864f3eda22e Merge: c241975 7eddefd Author: Matt McCormick matt.mccorm...@kitware.com AuthorDate: Wed Oct 16 22:55:08 2013 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Wed Oct 16 22:55:08 2013 -0400 Merge topic 'coverity-generated-tests' into next 7eddefd TestDriver.cxx.in: Untrusted array index read. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=7eddefd8f1375c5c6f2fbe6e0e51f14bdc1f8886 commit 7eddefd8f1375c5c6f2fbe6e0e51f14bdc1f8886 Author: Matt McCormick matt.mccorm...@kitware.com AuthorDate: Mon Oct 7 17:10:06 2013 + Commit: Matt McCormick matt.mccorm...@kitware.com CommitDate: Wed Oct 16 10:11:20 2013 + TestDriver.cxx.in: Untrusted array index read. As reported by Coverity Scan, if the configured file contains a #include, Untrusted array index read The array index could be controlled by an attacker, leading to reads outside the bounds of the array. In main: Read from array at index computed using an unscrutinized value from an untrusted source (CWE-129) CID 1081283 (#1 of 1): Untrusted array index read (TAINTED_SCALAR) 25. tainted_data: Using tainted variable testToRun as an index into an array cmakeGeneratedFunctionMapEntries. diff --git a/Templates/TestDriver.cxx.in b/Templates/TestDriver.cxx.in index f4510bb..03916bf 100644 --- a/Templates/TestDriver.cxx.in +++ b/Templates/TestDriver.cxx.in @@ -137,6 +137,13 @@ int main(int ac, char *av[]) { int result; @CMAKE_TESTDRIVER_BEFORE_TESTMAIN@ +if (testToRun 0 || testToRun = NumTests) + { + printf( +testToRun was modified by TestDriver code to an invalid value: %3d.\n, +testNum); + return -1; + } result = (*cmakeGeneratedFunctionMapEntries[testToRun].func)(ac, av); @CMAKE_TESTDRIVER_AFTER_TESTMAIN@ return result; --- Summary of changes: Templates/TestDriver.cxx.in |7 +++ 1 files changed, 7 insertions(+), 0 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits
[cmake-developers] FindLATEX ps2pdf with MikTeX
Hi Miguel, As the LATEX CMake module maintainer according to [1], I'm passing along the attached patch for FindLATEX so that it detects ps2pdf with MikTeX. Thank you for your efforts, Matt [1] http://www.cmake.org/Wiki/CMake:Module_Maintainers#List 0001-FindLATEX-Find-ps2pdf-with-MikTeX.patch Description: Binary data -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [cmake-developers] Request for Comments: Will implementing an interactive CMake debugger be welcome?
Hi Shlomi, I also think this would be a great feature. I started on an implementation here: https://github.com/thewtex/cmakedbg but I have not had time to follow it through. The user interface is written in Python/Cython for fast prototyping purposes, but it could be written all C/C++ if you would like. I believe I got to the point where it was possible to set a breakpoint. I was building against this branch: https://github.com/thewtex/CMake/tree/cmakedbg Overall, I think the approach is fairly solid. When CMake processes a line, it asks a debugger if it is interested. For there, the debugger can pause if a breakpoint is set at that point, let the user print the content of current variables that are defined, ... Since it uses CMake for processing all the code, the debugger will behave exactly the same as a cmake executable. Feel free to take the project and run with it. Matt On Thu, Jan 3, 2013 at 3:46 PM, Stephen Kelly steve...@gmail.com wrote: Shlomi Fish wrote: Hi all, following a discussion we had on ##llvm on irc.oftc.net (the main LLVM channel, because LLVM+clang can be built using CMake), I've been wondering if you would like someone (like me) to implement an interactive debugger (or debugging mode) for cmake invocations, similar to gdb, perl -d, pdb.py, etc.? I saw this thread: http://www.cmake.org/pipermail/cmake/2009-July/030728.html Where it was recommended to use cmake --trace, and I've been using MESSAGE ( ... ) and MESSAGE (FATAL_ERROR ...) for most of my debugging, but I'm interested in something better. I can try working on it given the time and motivation (in a separate git branch on a GitHub/Bitbucket repository), but I want to get a green light for it, because once introduced, it naturally should be supported in the future (and if I'm going to write it, I am willing to help support it). Hi there, I'm sure such an addition would be welcome, but it would be a lot of work. Before writing such a feature, do you have enough familiarity with the cmake codebase already to describe how much work it would be? Thanks, Steve. -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers
Re: [CMake] bash completion for cmake
2010/7/27 Eric Noulard eric.noul...@...: Here comes a proposal for a bash completion for cmake. Awesome. Thanks a lot for submitting this. Works great here on gentoo. ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FIND modules for Xerces-C++ and Xalan-C++
Andreas Heck andreash...@... writes: I've found this module via google too and it's not a problem to use my own FIND modules. The reason is that i was just wondering why a feature request since 2003 exists and til now cmake doesn't include a Xerces module. I use the module found here: http://public.kitware.com/mantis/view.php?id=9074 What is the way to introduce a module or am i the only one who need this module? There is documentation for becoming a module maintainer here: http://www.itk.org/Wiki/CMake:Module_Maintainers Now that CMake has moved to git, being a module maintainer should be much easier. ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] ctest amp;amp; peak memory usage
Clinton Stimpson clin...@... writes: Is there some way to put that result into the ctest output file, Test.xml, as a measurement? Clint I'm not a CTest expert, so I am not sure. You can output it to stdout or to another file, and if there is a way those into Test.xml... As a side note, I know CTest has integrated support for valgrind's memory leak checking. Regards, Matt ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] ctest amp; peak memory usage
Clinton Stimpson clin...@... writes: Hi, Can ctest report peak memory usage like it reports time and other measurements? Thanks, Clint ___ You could have ctest run valgind's massif tool. An example can be found here: http://insight-journal.org/browse/publication/722 The source is downloadable. The output of massif is processed with ms_print, which is parsed by a python script for the peak. ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] CMake amp;amp;amp; Matlab
Bill Hoffman bill.hoff...@... writes: Either way, it is necessary to build cmake from patched source. All the changes in that patch are in the Modules directory. So, no need to patch cmake. Just create the changed files and use CMAKE_MODULE_PATH to point to the patched versions of the files. I believe I had tried that, but it does not work. I believe the culprit is (in CMake-2.8.1 source: CMakeDetermineCXXCompiler.cmake 141 CMAKE_DETERMINE_COMPILER_ID(CXX CXXFLAGS CMakeCXXCompilerId.cpp) CMakeDetermineCompilerId.cmake 72 FILE(READ ${CMAKE_ROOT}/Modules/${src}.in ID_CONTENT_IN) The use of CMAKE_ROOT in those files prevent them from being overridden. I would be willing to move this into cmake if it had a maintainer, and that maintainer figured out how to do nightly tests that verify that this stuff works. Unfortunately, I don't use Matlab much at all anymore, so I am hesitant to take that responsibility. Writing a test would not be that hard. The Hello World could be could. The pain comes about keeping a Matlab license current and the executable talking to their scheme. Regards, Matt -Bill ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] CMake amp; Matlab
James C. Sutherland james.sutherl...@... writes: I have been trying to get CMake to build Matlab MEX files without any success. 1. It seems that FindMatlab.cmake is not very functional. I am on a Mac with If I recall correctly, it is rather out of date. 2. The instructions on http://www.cmake.org/Wiki/CMake:MatlabMex don't seem to work either. I tried following the approach of setting MEX as the CC and CXX compiler, but even on the trivial hello world example posted on the wiki page, CMake fails during the configure phase: The C compiler /Applications/MATLAB_R2010a.app/bin/mex is not able to compile a simple test program. Did you apply to the patch linked on the wiki page and build your out custom CMake? ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] CMake amp;amp; Matlab
James C. Sutherland james.sutherl...@... writes: I didn't apply the patch because I assumed that it had been fixed in 2.8.0 (which is what I am using). Is that not the case? ___ No, it has not been applied yet. I haven't tried the patch with 2.8, but it may work. If not, you can still grab the 2.6 source. Either way, it is necessary to build cmake from patched source. ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] 2 questions :)
add_subdirectory (/mylib/src /mylib/bin) I'm surprised this works, but for good practice, I would leave out the first slash since it usually used to indicate an absolute path, i.e. mylib/src instead of /mylib/src. Everything works like a charm, but when I add a dependency add_dependencies (myproject mylib) It doesn't work, saying mylib is an unknown target. However, the same things works for other projects which libraries are not imported. Am I doing something wrong ? Or dependency on imported target is not supported ? I know I could simplify my life with target_link_libraries, but I'm trying to build a solid framework which would scale correctly if mylib is converted to a full cmake project one day. CMake automagically defines the usual dependencies for you, so in most cases you don't have to worry about using add_dependencies. Just use target_link_libraries. Also, if I'm trying to make a project with both executable in it, with something like: add_subdirectory (/myexe1/src /myexe1/bin) add_subdirectory (/myexe2/srr /myexe2/bin) since both project try to add the same lib, I get an error saying the binary directory is already used (when doing exe2). Is there any way around this problem or do I have to handle this situation manually ? Not sure what you mean here. add_library should be called once. ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
[CMake] create ctest dependency for ctest -jN
Hi, Is there a way to add a dependency for a test created with add_test() on another test created with add_test() so 'ctest -jN' will work properly? Thanks. ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] create ctest dependency for ctest -jN
On Wednesday 10 March 2010 01:25:38 pm Matt McCormick wrote: Hi, Is there a way to add a dependency for a test created with add_test() on another test created with add_test() so 'ctest -jN' will work properly? set_tests_properties(test1 PROPERTIES DEPENDS test2) Thanks, Clint. Works great. I filed a documentation request here: http://public.kitware.com/Bug/view.php?id=10402 ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] CMake Python support
Andreas Pakulat ap...@... writes: On 19.08.09 08:34:26, Philip Lowman wrote: Speaking of the existing FindPython* scripts they do not support v3.0 yet. Is there a need to maintain support for picking 2.x if two versions of python are installed? As Py2 and Py3 are basically incompatible IMHO A separate FindPython3 would be better than letting the module try to guess py2 vs. py3 if both are installed. The project using Python should have decide on wether it works with Py3 or not. Andreas Python 2.X are also incompatible with each other sometimes, and a user can have multiple 2.X and 3.X installed. IMHO, having different modules for every version is not the write way to go. Just make it a configuration variable in FindPythonLibs.cmake ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] Modules standardization...
Asmodehn Shade asmod...@... writes: Hi,First sorry if this has been addressed in the past but I could find any reference to it...I am using a Module FindFoo.cmake.I know I am expecting it to set FOO_FOUND and other variables such as FOO_INCLUDE_DIR, FOO_LIBRARIES, etc.My question is : what is the exact operation that I should use to transform Foo in FOO...I am having a problem now because I am writing a simple macro that takes the name of the package, and then check the different variables after the find_package() call. That seems like something that should be documented here... http://www.cmake.org/cgi-bin/viewcvs.cgi/Modules/readme.txt?root=CMakeview=markup looking at /usr/share/cmake/Modules, the convention seems to be CamelCase with ALL CAPS for abbreviations, though not all seem to follow to unified trend. ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] Cmake + Matlab mex
..., but what I want to do is compile a file for use in Matlab using the mex compiler. I can do this by hand by executing the following in a shell: $ mex foo.cpp This would produce a foo.mexglx binary which matlab would be able to use. This is great if your foo.cpp is self-contained, however my foo.cpp depends on libraries and include files which I generate in my CMake build. Manually what I would do to handle this is: $ mex -I/my/include/path -L/my/library/path -lmylib ... foo.cpp I would like to make a CMake target which does the command above, taking into account any library or include dependencies I specify in my CMakeLists.txt. Is this possible? I have implemented this behavior. Please see http://www.cmake.org/Wiki/CMake:MatlabMex Kick the tires. I have tried this on Linux and WindowsXP, and it seems works in these cases, at least on my system. ___ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
[CMake] website looking tight
Just wanted to call peoples' attention to the new website design. I thought the old design was pretty good, but the facelift looks great. Well done cmake/kitware. ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
[CMake] Re: Migration to subversion
Jesper Eskilson [EMAIL PROTECTED] writes: Mike Jackson wrote: http://www.youtube.com/watch?v=4XpnKHJAok8 Git - straight from Linus.. Kinda long but interesting.. as long as you can get past Linus' personality. Check out this presentation by Randal Schwartz on git. He describes it, how it works, and its advantages quite well. He also mentions that it contains a CVS server, so people can continue to use CVS to interact with the repository if they want. http://video.google.com/videoplay?docid=-352944619245780 ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake