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

Reply via email to