The following issue has been SUBMITTED. ====================================================================== http://public.kitware.com/Bug/view.php?id=15157 ====================================================================== Reported By: bchretien Assigned To: ====================================================================== Project: CMake Issue ID: 15157 Category: Modules Reproducibility: always Severity: major Priority: high Status: new ====================================================================== Date Submitted: 2014-09-14 12:39 EDT Last Modified: 2014-09-14 12:39 EDT ====================================================================== Summary: FindCUDA.cmake: separate compilation not working as expected Description: I tried using separate compilation for CUDA with CMake, but I had the issue described by someone else on Stack Overflow: https://stackoverflow.com/questions/22540783/nvlink-error-when-linking-cuda-code-against-cuda-static-library-cmake
In the CUDA SDK samples, there's a "simpleSeparateCompilation" sample that uses a Makefile to build a device static library and link it to the executable. I tried to adapt it to CMake, but the same CUDA linker error arises. If this is simply because this should be done some other way, then I guess the documentation in FindCUDA.cmake should be completed. Else, this may be an error in the module. Steps to Reproduce: Add the enclosed CMakeLists to $CUDA_HOME/samples/0_Simple/simpleSeparateCompilation. $ mkdir /tmp/test && cd /tmp/test $ cmake $CUDA_HOME/samples/0_Simple/simpleSeparateCompilation $ make ... [100%] Building NVCC intermediate link file CMakeFiles/simpleSeparateCompilation.dir/./simpleSeparateCompilation_intermediate_link.o nvlink error : Undefined reference to '_Z13multiplyByTwof' in '/tmp/test/CMakeFiles/simpleSeparateCompilation.dir//./simpleSeparateCompilation_generated_simpleSeparateCompilation.cu.o' nvlink error : Undefined reference to '_Z11divideByTwof' in '/tmp/test/CMakeFiles/simpleSeparateCompilation.dir//./simpleSeparateCompilation_generated_simpleSeparateCompilation.cu.o' CMakeFiles/simpleSeparateCompilation.dir/build.make:61: recipe for target 'CMakeFiles/simpleSeparateCompilation.dir/./simpleSeparateCompilation_intermediate_link.o' failed Additional Information: I tested this on Arch Linux with CUDA 6.5 and CMake 3.0.2. ====================================================================== Issue History Date Modified Username Field Change ====================================================================== 2014-09-14 12:39 bchretien New Issue 2014-09-14 12:39 bchretien File Added: CMakeLists.txt ====================================================================== -- 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
