MantisBT - CMake | |||||||||||||||
View Issue Details | |||||||||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||||||||
0015723 | CMake | CMake | public | 2015-09-02 06:31 | 2016-02-01 09:10 | ||||||||||
Reporter | Adam Strzelecki | ||||||||||||||
Assigned To | Rolf Eike Beer | ||||||||||||||
Priority | normal | Severity | major | Reproducibility | always | ||||||||||
Status | closed | Resolution | fixed | ||||||||||||
Platform | OS | OS Version | |||||||||||||
Product Version | CMake 3.3.1 | ||||||||||||||
Target Version | CMake 3.4 | Fixed in Version | CMake 3.4 | ||||||||||||
Summary | 0015723: Regression: FindCUDA fails for C++ only projects in CMake 3.3.1 due find_package(Threads), while it works well in CMake 3.2.3 | ||||||||||||||
Description | CUDA language is C++ superset, so developers may prefer using C++ only project together with CUDA. FindCUDA already supports such case (1) when neither CUDA_HOST_COMPILER nor CMAKE_C_COMPILER is defined, just skips adding --ccbin. Another case (2) is that user defined its own CUDA_HOST_COMPILER that is different than CMAKE_C_COMPILER, then custom host compiler is passed to --ccbin. The problem is that recently CUDA_USE_STATIC_CUDA_RUNTIME (default ON) started calling find_package(Threads REQUIRED) that tries to lookup pthread using CMAKE_C_COMPILER which is invalid in both cases (1) (2). However I don't see any clear solution here. I understand that linking CUDA static rt requires pthread linkage, but maybe we should just check if current linker can either link -lpthread or -pthread, rather falling back to C compiler that may be undefined for the project? | ||||||||||||||
Steps To Reproduce | # CMakeList.txt cmake_minimum_required(VERSION 2.6) project(OnlyCXXCUDA CXX) find_package(CUDA) $ cmake . -- The CXX compiler identification is AppleClang 7.0.0.7000059 -- Check for working CXX compiler: /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -- Check for working CXX compiler: /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Looking for include file pthread.h CMake Error at /Applications/CMake.app/Contents/share/cmake-3.3/Modules/CheckIncludeFiles.cmake:79 (try_compile): Unknown extension ".c" for file /Users/ono/Documents/Bugs/CMake/FindCUDA/CMakeFiles/CMakeTmp/CheckIncludeFiles.c try_compile() works only for enabled languages. Currently these are: CXX See project() command to enable other languages. Call Stack (most recent call first): /Applications/CMake.app/Contents/share/cmake-3.3/Modules/FindThreads.cmake:123 (CHECK_INCLUDE_FILES) /Applications/CMake.app/Contents/share/cmake-3.3/Modules/FindCUDA.cmake:741 (find_package) CMakeLists.txt:3 (find_package) -- Looking for include file pthread.h - not found CMake Error at /Applications/CMake.app/Contents/share/cmake-3.3/Modules/FindPackageHandleStandardArgs.cmake:148 (message): Could NOT find Threads (missing: Threads_FOUND) Call Stack (most recent call first): /Applications/CMake.app/Contents/share/cmake-3.3/Modules/FindPackageHandleStandardArgs.cmake:388 (_FPHSA_FAILURE_MESSAGE) /Applications/CMake.app/Contents/share/cmake-3.3/Modules/FindThreads.cmake:204 (FIND_PACKAGE_HANDLE_STANDARD_ARGS) /Applications/CMake.app/Contents/share/cmake-3.3/Modules/FindCUDA.cmake:741 (find_package) CMakeLists.txt:3 (find_package) -- Configuring incomplete, errors occurred! See also "/Users/ono/Documents/Bugs/CMake/FindCUDA/CMakeFiles/CMakeOutput.log". See also "/Users/ono/Documents/Bugs/CMake/FindCUDA/CMakeFiles/CMakeError.log". | ||||||||||||||
Additional Information | |||||||||||||||
Tags | No tags attached. | ||||||||||||||
Relationships |
| ||||||||||||||
Attached Files | |||||||||||||||
Issue History | |||||||||||||||
Date Modified | Username | Field | Change | ||||||||||||
2015-09-02 06:31 | Adam Strzelecki | New Issue | |||||||||||||
2015-09-02 09:04 | Brad King | Relationship added | related to 0015482 | ||||||||||||
2015-09-02 09:05 | Brad King | Note Added: 0039363 | |||||||||||||
2015-09-02 09:06 | Brad King | Target Version | => CMake 3.4 | ||||||||||||
2015-09-02 09:13 | Brad King | Note Added: 0039364 | |||||||||||||
2015-09-10 14:12 | Thiago M. | Note Added: 0039399 | |||||||||||||
2015-09-10 14:16 | Thiago M. | Note Edited: 0039399 | bug_revision_view_page.php?bugnote_id=39399#r1889 | ||||||||||||
2015-09-10 14:18 | Brad King | Relationship added | related to 0014905 | ||||||||||||
2015-09-14 14:07 | Brad King | Target Version | CMake 3.4 => | ||||||||||||
2015-09-23 05:42 | Rolf Eike Beer | Note Added: 0039473 | |||||||||||||
2015-09-25 10:14 | Brad King | Note Added: 0039479 | |||||||||||||
2015-09-25 10:14 | Brad King | Assigned To | => Rolf Eike Beer | ||||||||||||
2015-09-25 10:14 | Brad King | Status | new => resolved | ||||||||||||
2015-09-25 10:14 | Brad King | Resolution | open => fixed | ||||||||||||
2015-09-25 10:14 | Brad King | Fixed in Version | => CMake 3.4 | ||||||||||||
2015-09-25 10:14 | Brad King | Target Version | => CMake 3.4 | ||||||||||||
2016-02-01 09:10 | Robert Maynard | Note Added: 0040418 | |||||||||||||
2016-02-01 09:10 | Robert Maynard | Status | resolved => closed |
Notes | |||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|