The following issue has been SUBMITTED. 
====================================================================== 
https://cmake.org/Bug/view.php?id=16031 
====================================================================== 
Reported By:                Thibault Notargiacomo
Assigned To:                
====================================================================== 
Project:                    CMake
Issue ID:                   16031
Category:                   CMake
Reproducibility:            always
Severity:                   major
Priority:                   high
Status:                     new
====================================================================== 
Date Submitted:             2016-03-22 13:09 EDT
Last Modified:              2016-03-22 13:09 EDT
====================================================================== 
Summary:                    FindCUDA.cmake - CUDA_SEPARABLE_COMPILATION fails
because of escape character
Description: 
When using
set( CUDA_SEPARABLE_COMPILATION ON )
in cunjunction with
find_package(CUDA 7.5 REQUIRED)

I get a problem in the make command generated for the link with the intermediate
object file, especially, the "-ccbin" option that should give to the cuda
command line the $CXX variable (in my case).




Steps to Reproduce: 
Try to setup in a directory the following files:

===================================================
test.cu:
#include "test.cu.h"
#include "thrust/device_vector.h"

void A::doIt()
{
        thrust::device_vector<float> a(10,10);
        std::cout <<"A = "<<a[0]<<std::endl;
}

===================================================
test.cu.h:
#include <iostream>

class A
{
public:
        A()=default;
        virtual ~A()=default;
        virtual void doIt();
private:
        int m_a;
};
===================================================
main.cpp:
#include <cstdlib>
#include "test.cu.h"

int main(int argc, char* argv[])
{
        A a;
        a.doIt();
        return EXIT_SUCCESS;
}

===================================================
CMakeLists.txt:
cmake_minimum_required (VERSION 3.5)

ADD_DEFINITIONS( ${CMAKE_CXX_FLAGS} "-std=c++11" )
find_package(CUDA 7.5 REQUIRED)
set( CUDA_SEPARABLE_COMPILATION ON )
cuda_add_executable( testit test.cu main.cpp )

Additional Information: 
Extract of the build.make file that I had to modify in order to bypass the
problem temporarily:

CMakeFiles/testit.dir/testit_intermediate_link.o:
CMakeFiles/testit.dir/testit_generated_test.cu.o
        @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold
--progress-dir=/home/technic105/Documents/test/cmake35Bug/CMakeFiles
--progress-num=$(CMAKE_PROGRESS_2) "Building NVCC intermediate link file
CMakeFiles/testit.dir/testit_intermediate_link.o"
        /usr/local/cuda/bin/nvcc -m64 -ccbin 
\"/opt/rh/devtoolset-2/root/usr/bin/gcc\"
-dlink
/home/technic105/Documents/test/cmake35Bug/CMakeFiles/testit.dir//./testit_generated_test.cu.o
-o
/home/technic105/Documents/test/cmake35Bug/CMakeFiles/testit.dir/./testit_intermediate_link.o


Notice the -ccbin \"/opt/rh/devtoolset-2/root/usr/bin/gcc\" that causes the
build to fail on my machine
====================================================================== 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2016-03-22 13:09 Thibault NotargiacomoNew Issue                                 
  
======================================================================

-- 

Powered by www.kitware.com

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

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

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

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

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake-developers

Reply via email to