[CMake] Makefile doesn't automatically create executable path as Ninja

Felipe Menezes Machado felipou at gmail.com
Tue Sep 3 13:21:45 EDT 2013


Hi,

I'm having trouble understanding this behavior: what happens if the
directory of the executable doesn't exist?

I created a minimum example CMakeLists.txt (where foo.cpp is just a hello
world):

add_executable(test/test.bin foo.cpp)

If the "test" directory doesn't exist, should the build system create it?
Does that depend on the build system?

I tested with make, it gives an error when executing "ld":

/usr/bin/ld: cannot open output file test/test.bin: No such file or
directory

The command that generates the executable and gives the error is (from
"make VERBOSE=1"):

/usr/bin/c++       CMakeFiles/test/test.bin.dir/foo.cpp.o  -o test/test.bin
-rdynamic

On the other hand, when I tested it with Ninja, it created the directory
and finished without errors.

Shouldn't cmake's makefile proceed like that too?

Thanks!

-- 
[]s

Relax, it's only ONES and ZEROS!!!!

Felipe Menezes Machado
Mestre em Ciência da Computação - DCC - UFMG
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20130903/9911505f/attachment.htm>


More information about the CMake mailing list