Re: [cmake-developers] patch for FindCUDA.cmake

2015-01-05 Thread Rolf Eike Beer
Am Montag, 5. Januar 2015, 00:22:51 schrieb Mark Abraham:
 On Sun, Jan 4, 2015 at 3:02 PM, Rolf Eike Beer e...@sf-mail.de wrote:
  Mark Abraham wrote:
   Hi,
   
   The FindCUDA.cmake module since v3.0 has had a bug because it assumes
   that when cross compiling that CMAKE_SYSTEM_PROCESSOR will be defined.
   That definition is documented as optional at
   http://www.vtk.org/Wiki/CMake_Cross_Compiling, and the module can't
   work if it happens to be undefined. Attached patch
   wraps the uses of CMAKE_SYSTEM_PROCESSOR in quotes so that interpolation
   will lead to the intended behaviour in all cases.
  
  The easier and better fix would be to just remove the dereference, i.e.
  
  if (… CMAKE_SYSTEM_PROCESSOR MATCHES arm …)

 True, once you look at the minutae of if(... MATCHES ...) :-)
 
 Updated patch attached.

Fix pushed to next: 
http://www.cmake.org/gitweb?p=cmake.git;a=commitdiff;h=52d4ff49d973d77dba480e0b60b08c6c70e94538

Brad, it is based on release in case you want to pick it for 3.1.1.

Eike

signature.asc
Description: This is a digitally signed message part.
-- 

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] patch for FindCUDA.cmake

2015-01-04 Thread Mark Abraham
Hi,

The FindCUDA.cmake module since v3.0 has had a bug because it assumes that
when cross compiling that CMAKE_SYSTEM_PROCESSOR will be defined. That
definition is documented as optional at
http://www.vtk.org/Wiki/CMake_Cross_Compiling, and the module can't work if
it happens to be undefined. Attached patch
wraps the uses of CMAKE_SYSTEM_PROCESSOR in quotes so that interpolation
will lead to the intended behaviour in all cases.

I haven't filed a bug report, per
http://www.cmake.org/Wiki/CMake_FAQ#I_found_a_Bug.21_What_should_I_do.3F

Thanks,

Mark
From ff32fca999767e57b48ec68c30b093207c560a2f Mon Sep 17 00:00:00 2001
From: Mark Abraham mark.j.abra...@gmail.com
Date: Sun, 4 Jan 2015 14:37:51 +0100
Subject: [PATCH] Fix FindCUDA.cmake assumption about cross-compiling

CMAKE_SYSTEM_PROCESSOR is not guaranteed to be defined (per
http://www.vtk.org/Wiki/CMake_Cross_Compiling), and when cross
compiling where it happens to be undefined, this module was broken.
---
 Modules/FindCUDA.cmake | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Modules/FindCUDA.cmake b/Modules/FindCUDA.cmake
index 29bb875..55b868e 100644
--- a/Modules/FindCUDA.cmake
+++ b/Modules/FindCUDA.cmake
@@ -613,7 +613,7 @@ endif()
 set(CUDA_VERSION_STRING ${CUDA_VERSION})
 
 # Support for arm cross compilation with CUDA 5.5
-if(CUDA_VERSION VERSION_GREATER 5.0 AND CMAKE_CROSSCOMPILING AND ${CMAKE_SYSTEM_PROCESSOR} MATCHES arm AND EXISTS ${CUDA_TOOLKIT_ROOT_DIR}/targets/armv7-linux-gnueabihf)
+if(CUDA_VERSION VERSION_GREATER 5.0 AND CMAKE_CROSSCOMPILING AND ${CMAKE_SYSTEM_PROCESSOR} MATCHES arm AND EXISTS ${CUDA_TOOLKIT_ROOT_DIR}/targets/armv7-linux-gnueabihf)
   set(CUDA_TOOLKIT_TARGET_DIR ${CUDA_TOOLKIT_ROOT_DIR}/targets/armv7-linux-gnueabihf CACHE PATH Toolkit target location.)
 else()
   set(CUDA_TOOLKIT_TARGET_DIR ${CUDA_TOOLKIT_ROOT_DIR} CACHE PATH Toolkit target location.)
@@ -621,7 +621,7 @@ endif()
 mark_as_advanced(CUDA_TOOLKIT_TARGET_DIR)
 
 # Target CPU architecture
-if(CUDA_VERSION VERSION_GREATER 5.0 AND CMAKE_CROSSCOMPILING AND ${CMAKE_SYSTEM_PROCESSOR} MATCHES arm)
+if(CUDA_VERSION VERSION_GREATER 5.0 AND CMAKE_CROSSCOMPILING AND ${CMAKE_SYSTEM_PROCESSOR} MATCHES arm)
   set(_cuda_target_cpu_arch_initial ARM)
 else()
   set(_cuda_target_cpu_arch_initial )
-- 
2.2.1

-- 

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] patch for FindCUDA.cmake

2015-01-04 Thread Rolf Eike Beer
Mark Abraham wrote:
 Hi,
 
 The FindCUDA.cmake module since v3.0 has had a bug because it assumes that
 when cross compiling that CMAKE_SYSTEM_PROCESSOR will be defined. That
 definition is documented as optional at
 http://www.vtk.org/Wiki/CMake_Cross_Compiling, and the module can't work if
 it happens to be undefined. Attached patch
 wraps the uses of CMAKE_SYSTEM_PROCESSOR in quotes so that interpolation
 will lead to the intended behaviour in all cases.

The easier and better fix would be to just remove the dereference, i.e.

if (… CMAKE_SYSTEM_PROCESSOR MATCHES arm …)

Eike
-- 

signature.asc
Description: This is a digitally signed message part.
-- 

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] patch for FindCUDA.cmake

2015-01-04 Thread Mark Abraham
On Sun, Jan 4, 2015 at 3:02 PM, Rolf Eike Beer e...@sf-mail.de wrote:

 Mark Abraham wrote:
  Hi,
 
  The FindCUDA.cmake module since v3.0 has had a bug because it assumes
 that
  when cross compiling that CMAKE_SYSTEM_PROCESSOR will be defined. That
  definition is documented as optional at
  http://www.vtk.org/Wiki/CMake_Cross_Compiling, and the module can't
 work if
  it happens to be undefined. Attached patch
  wraps the uses of CMAKE_SYSTEM_PROCESSOR in quotes so that interpolation
  will lead to the intended behaviour in all cases.

 The easier and better fix would be to just remove the dereference, i.e.

 if (… CMAKE_SYSTEM_PROCESSOR MATCHES arm …)


Hi,

True, once you look at the minutae of if(... MATCHES ...) :-)

Updated patch attached.

Mark



 Eike
 --
From cc313f608775d4c3f68c0a106a3054aa3f7a7075 Mon Sep 17 00:00:00 2001
From: Mark Abraham mark.j.abra...@gmail.com
Date: Sun, 4 Jan 2015 14:37:51 +0100
Subject: [PATCH] Fix FindCUDA.cmake assumption about cross-compiling

CMAKE_SYSTEM_PROCESSOR is not guaranteed to be defined (per
http://www.vtk.org/Wiki/CMake_Cross_Compiling), and when cross
compiling where it happens to be undefined, this module was broken.
---
 Modules/FindCUDA.cmake | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Modules/FindCUDA.cmake b/Modules/FindCUDA.cmake
index 29bb875..ecfc781 100644
--- a/Modules/FindCUDA.cmake
+++ b/Modules/FindCUDA.cmake
@@ -613,7 +613,7 @@ endif()
 set(CUDA_VERSION_STRING ${CUDA_VERSION})
 
 # Support for arm cross compilation with CUDA 5.5
-if(CUDA_VERSION VERSION_GREATER 5.0 AND CMAKE_CROSSCOMPILING AND ${CMAKE_SYSTEM_PROCESSOR} MATCHES arm AND EXISTS ${CUDA_TOOLKIT_ROOT_DIR}/targets/armv7-linux-gnueabihf)
+if(CUDA_VERSION VERSION_GREATER 5.0 AND CMAKE_CROSSCOMPILING AND CMAKE_SYSTEM_PROCESSOR MATCHES arm AND EXISTS ${CUDA_TOOLKIT_ROOT_DIR}/targets/armv7-linux-gnueabihf)
   set(CUDA_TOOLKIT_TARGET_DIR ${CUDA_TOOLKIT_ROOT_DIR}/targets/armv7-linux-gnueabihf CACHE PATH Toolkit target location.)
 else()
   set(CUDA_TOOLKIT_TARGET_DIR ${CUDA_TOOLKIT_ROOT_DIR} CACHE PATH Toolkit target location.)
@@ -621,7 +621,7 @@ endif()
 mark_as_advanced(CUDA_TOOLKIT_TARGET_DIR)
 
 # Target CPU architecture
-if(CUDA_VERSION VERSION_GREATER 5.0 AND CMAKE_CROSSCOMPILING AND ${CMAKE_SYSTEM_PROCESSOR} MATCHES arm)
+if(CUDA_VERSION VERSION_GREATER 5.0 AND CMAKE_CROSSCOMPILING AND CMAKE_SYSTEM_PROCESSOR MATCHES arm)
   set(_cuda_target_cpu_arch_initial ARM)
 else()
   set(_cuda_target_cpu_arch_initial )
-- 
2.2.1

-- 

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