[CMake] CUDA: COMPILE_DEFINITIONS not picked up

Karl Ljungkvist karl.ljungkvist at it.uu.se
Tue Aug 30 05:02:29 EDT 2016


Peter,

I use CMake 3.5.1 and 3.0.2, and this works the same with both.

Thanks for your suggestions. It does indeed work if I define them
explicitly like that, but the reason why I want to use something like
COMPILE_DEFINITIONS is that we have a large library that has several
targets with different setups (release and debug mode, for instance).

Most of the library is regular C++ and there the COMPILE_DEFINITIONS
propagates to all source files. Now I want it to propagate to any CUDA
.cu files too.

What would it take to FindCUDA respect COMPILE_DEFINITIONS too?

Best,
Karl

On 2016-08-26 09:41, Peter Steinbach wrote:
> Hey Karl,
>
> just gave it another shot ... so I can confirm what you saw with cmake
> 3.3 (btw, what cmake version did you use?). I should try a more recent
> one to make sure as well.
>
> anyhow, there 2 global workarounds that you have at your disposal:
> 1) set(CUDA_NVCC_FLAGS "-Dfoo") needs to be called *BEFORE* any
> cuda_add_xxx according to `cmake --help-module FindCUDA`
>
> 2) add_definitions(-Dfoo), I called it before cuda_add_xxx too and it
> worked as well
>
> Hope that get's you going -
> P

-- 
Karl Ljungkvist
PhD student

Uppsala University
Dept. of Information Technology
Div. of Scientific Computing
Box 337
SE-751 05 Uppsala, Sweden
Email: karl.ljungkvist at it.uu.se
Phone:  +46 18 471 2967
Mobile: +46 70 2003565



More information about the CMake mailing list