On Mon, Sep 12, 2011 at 3:35 PM, James Bigler <jamesbig...@gmail.com> wrote:
> I need some advice on how to fix a problem I'm having with files with the > same name. > > I have two CUDA files with the same name in different directories: > > CUDA_ADD_EXECUTABLE(test-conflict > "path with spaces/conflict.cpp" > "path with spaces/conflict.cu" > "path with spaces/no-conflict.cpp" > "path with spaces/no-conflict.cu" > conflict-main.cpp > conflict.cpp > conflict.cu > ) > > I notice that the cpp files get the following outputs: > > path with spaces/no-conflict.cpp: test-conflict.dir\Debug > path with spaces/conflict.cpp: > "test-conflict.dir\Debug\/path_with_spaces/conflict.cpp.obj" > conflict.cpp: "test-conflict.dir\Debug\/conflict.cpp.obj" > > This seems to work well and everyone is happy. > > The FindCUDA code is a different story, and one I wish to get some more > input on. The current implementation takes the basename and merges it in > with the target name like so (one example given): > > > "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${cuda_target}_generated_${basename}${generated_extension}" > > The problem is two files with the same basename can cause collisions in the > naming scheme. I'm wondering if the best solution is to keep a per target > list of basenames as a directory property and when collisions happen, create > a new sub-directory to be used by the build script. My question at this > point is what and how to compute the non-conflicting directories. Does > anyone have any good suggestions for how to implement this? > > Thanks, > James > > How about telling me where I can find how CMake does this for the C code? I notice that it only puts sub directories when there's a conflict, so there's logic somewhere that determines this and then determines what the intermediate directories should be. Thanks, James
_______________________________________________ cmake-developers mailing list cmake-developers@cmake.org http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers