我在Mac OSX 10.6上使用cmake 2.8.1和CUDA 3.0。因此,我添加了一个CUDA目标,需要将BLOCK_SIZE设置为某个数字以进行编译。
当运行
现在问题是:如果
cuda_add_executable(SimpleTestsCUDA
SimpleTests.cu
BlockMatrix.cpp
Matrix.cpp
)
set_target_properties(SimpleTestsCUDA PROPERTIES COMPILE_FLAGS -DBLOCK_SIZE=3)
当运行
make VERBOSE=1
时,我注意到nvcc
被调用时没有使用-DBLOCK_SIZE=3
,这会导致一个错误,因为代码中使用了BLOCK_SIZE
,但没有定义。现在我在CPU目标(使用add_executable(...)
)中使用了相同的定义,它可以工作。现在问题是:如果
set_target_properties
指向CUDA目标,我该如何找出cmake
对其执行了什么操作?到处搜索并没有帮助,有个解决方法会很棒...