[CMake] make - cannot open output file . (dot)

tom at unforbidable.com tom at unforbidable.com
Fri Jul 3 18:40:41 EDT 2009


So I tried to set EXECUTABLE_OUTPUT_PATH to the same path as
PROJECT_BINARY_DIR like so:

SET(EXECUTABLE_OUTPUT_PATH "${PROJECT_BINARY_DIR}" CACHE
PATH "Single output directory for building all executables."
FORCE)

This works on Windows (nmake makefiles) but when using cmake
on Gentoo (standard unix makefiles) and calling make then I
get the following:

Scanning dependencies of target libfurc
[ 50%] Building CXX object
libfurc/CMakeFiles/libfurc.dir/base/furcadiasettings.cpp.o
/home/tom/opendreamer/src/libfurc/base/furcadiasettings.cpp:26:2:
warning: no newline at end of file
Linking CXX static library liblibfurc.a
[ 50%] Built target libfurc
Scanning dependencies of target tstfurcsettings
[100%] Building CXX object
tstfurcsettings/CMakeFiles/tstfurcsettings.dir/main.cpp.o
Linking CXX executable .
/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/../../../../i686-pc-linux-gnu/bin/ld:
cannot open output file .: Is a directory
collect2: ld returned 1 exit status
make[2]: *** [tstfurcsettings] Error 1
make[1]: ***
[tstfurcsettings/CMakeFiles/tstfurcsettings.dir/all] Error 2
make: *** [all] Error 2

The dot is clearly there.  I got rid of the error by setting
the path like so:

SET(EXECUTABLE_OUTPUT_PATH "${PROJECT_BINARY_DIR}/bin" CACHE
PATH "Single output directory for building all executables."
FORCE)

Both cmakes are the same version (2.6-patch 4). 

I don't think I am doing anything wrong although this is my
first day with cmake.  I decided to post this in case it was
not an known problem.  I obviously failed to google anything
up because the key word is . (dot).

Tomas



More information about the CMake mailing list