On 11.03.10 09:56:35, mika.raj...@patria.fi wrote: > > Hi > > The problem: > > >From a shared CMakeLists.txt i get the following error when defining a > library target. > Policy CMP0002 is not set: Logival target names must be globally unique. > > > The situation: > > Let's assume i have the following cmake files in the following folders with > the svn:externals properties. > > C:\project\CMakeLists.txt > add_subdirectory(ProjectA) > add_subdirectory(ProjectB) > > C:\project\ProjectA (svn:externals LibraryA <svn_path_to_libA>) > add_subdirectory(LibraryA) > > c:\project\ProjectB (svn:externals LibraryA <svn_path_to_libA>) > add_subdirectory(LibraryA) > > c:\project\LibraryA > add_library(LibraryA) > > Thoughts: > > I don't know if this causes any problem, I tried reading some > documentations but I couldn't figure it out.
Yes it does. The library target is defined multiple times, thats not possible. Each version of "LibraryA/CMakeLists.txt" has to use its own name for LibraryA if you want that directory layout to work. Target names must be globally unique as the error message says. >From a quick glance I see two options: - drop the externals and let the projects depend on a "LibraryA" target being defined (you need to use the add_subdirectory call for it to the fron then - find a way to test in LibraryA/CMakeLists.txt wether its under ProjectA, ProjectB or project and adjust the target name then. Andreas -- Questionable day. Ask somebody something. _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake