Right, when I modify FindCUDA.cmake as you describe everything works. So that's
good.
Without doing that, I still don't see CMAKE_CXX_FLAGS_DEBUG propagating its
flags to the intermediate link file. Did you mean to put message commands into
CUDA_LINK_SEPARABLE_COMPILATION_OBJECTS itself? When I put them into my main
CMakeLists.txt, nothing is printed for ${nvcc_flags} or the other variables.
James Bigler wrote:
On Tue, Jan 6, 2015 at 8:54 AM, Irwin Zaid
<irwin.z...@physics.ox.ac.uk <mailto:irwin.z...@physics.ox.ac.uk>> wrote:
Okay, an update on this.
2) This is trickier and, unfortunately, still not working. We are
already adding -fPIC to CMAKE_CXX_FLAGS, should that not be
enough? I also tried adding it to both CMAKE_CXX_FLAGS_DEBUG and
CMAKE_CXX_FLAGS_RELEASE, with no effect.
Looking into FindCUDA.CMake at
CUDA_LINK_SEPARABLE___COMPILATION_OBJECTS, I find code very
similar to what you are describing. Are you saying that in
addition to what is below, we need to add what you proposed? This
is what I see.
--
It can be put here (before this foreach).
foreach(config ${CUDA_configuration_types})
string(TOUPPER ${config} config_upper)
# Add config specific flags
foreach(f ${CUDA_NVCC_FLAGS_${config___upper}})
list(APPEND config_specific_flags $<$<CONFIG:${config}>:${f}>)
endforeach()
set(important_host_flags)
_cuda_get_important_host___flags(important_host_flags
${CMAKE_${CUDA_C_OR_CXX}___FLAGS_${config_upper}})
foreach(f ${important_host_flags})
list(APPEND flags $<$<CONFIG:${config}>:-__Xcompiler>
$<$<CONFIG:${config}>:${f}>)
endforeach()
endforeach()
Or it can be put here (or after the foreach).
I'm concerned that the flag didn't show up after adding it to the
_DEBUG or _RELEASE variants. If you could add a few message commands
around that might help see what is going on. The flag needs to be
propagated.
You could sprinkle a few commands like this:
message("going to run COMMAND ${CUDA_NVCC_EXECUTABLE} ${nvcc_flags}
-dlink ${object_files} -o ${output_file}
${flags}")
--
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