[CMake] What is the preferred way to avoid "same name already exists" error

Jimi Damon jdamon at accesio.com
Thu Oct 3 14:24:49 EDT 2013


Hi,

I have a number of directories that are named according to an 
acquisition board in our full product line.  Under each directory there 
are sample programs labeled "sample1.c", "sample2.c" ...etc.   While 
this isn't a very useful naming convention, I ran into the problem of 
when I migrated the current GNU makefile based system over to CMAKE, I 
tried to create a structure like the following

add_subdirectory( samples/Product1 )
add_subdirectory( samples/Product2 )


What happens is that I get the error saying
* add_executable cannot create target "sample" because another target with
   the same name already exists.  The existing target is an executable 
created
   in source directory*

What I was trying to get is a namespace encapsulated sample, such that I 
would have to issue a

make samples/Product1/sample1  in order to build that sample.

Is there a way to prevent these namespace collisions other than just 
renaming every single executable to have a unique name ? I want to know 
the correct answer to this because I have a feeling that in the future I 
won't always want to keep every single target name unique.

Thanks

-Jimi


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20131003/a5049a27/attachment.htm>


More information about the CMake mailing list