Hi all, I am trying to convert a project to cmake which has mixed java and c compilations. Here's the project layout,
project/ -> src/c -> src/java I get the java project to build fine if I use the top level CMakeLists.txt file, but if I use add_subdirectory(src/java) in the top level CMakeLists.txt and create a CMakeLists.txt file in src/java it appears to break (below is the error) The -d option of the javac command line appears to be coming out wrong ... CMakeFiles/luajava.dir/org/keplerproject/luajava should actually be src/java/CMakeFiles/luajava.dir/org/keplerproject/luajava I took a look in Modules/CMakeJavaInformation.cmake and here's what I found, # compile a Java file into an object file IF(NOT CMAKE_Java_COMPILE_OBJECT) SET(CMAKE_Java_COMPILE_OBJECT "<CMAKE_Java_COMPILER> <FLAGS> <SOURCE> -d <OBJECT_DIR>") ENDIF(NOT CMAKE_Java_COMPILE_OBJECT) OBJECT_DIR seems to be the wrong place, any ideas on the best way to fix this? TIA, George. bash-3.00$ make VERBOSE=1 /usr/bin/cmake -H/home/gneill/tmp/luajava-1.1 -B/home/gneill/tmp/luajava-1.1/build --check-build-system CMakeFiles/Makefile.cmake 0 /usr/bin/cmake -E cmake_progress_start /home/gneill/tmp/luajava-1.1/build/CMakeFiles 9 make -f CMakeFiles/Makefile2 all make[1]: Entering directory `/home/gneill/tmp/luajava-1.1/build' make -f src/java/CMakeFiles/luajava.dir/build.make src/java/CMakeFiles/luajava.dir/depend make[2]: Entering directory `/home/gneill/tmp/luajava-1.1/build' make[2]: Nothing to be done for `src/java/CMakeFiles/luajava.dir/depend'. make[2]: Leaving directory `/home/gneill/tmp/luajava-1.1/build' make -f src/java/CMakeFiles/luajava.dir/build.make src/java/CMakeFiles/luajava.dir/build make[2]: Entering directory `/home/gneill/tmp/luajava-1.1/build' /usr/bin/cmake -E cmake_progress_report /home/gneill/tmp/luajava-1.1/build/CMakeFiles 1 [ 11%] Building Java object src/java/CMakeFiles/luajava.dir/org/keplerproject/luajava/CPtr.class /usr/java6_64/bin/javac -sourcepath /home/gneill/tmp/luajava-1.1/src/java /home/gneill/tmp/luajava-1.1/src/java/org/keplerproject/luajava/CPtr.java -d CMakeFiles/luajava.dir/org/keplerproject/luajava javac: directory not found: CMakeFiles/luajava.dir/org/keplerproject/luajava Usage: javac <options> <source files> use -help for a list of possible options make[2]: *** [src/java/CMakeFiles/luajava.dir/org/keplerproject/luajava/CPtr.class] Error 2 make[2]: Leaving directory `/home/gneill/tmp/luajava-1.1/build' make[1]: *** [src/java/CMakeFiles/luajava.dir/all] Error 2 make[1]: Leaving directory `/home/gneill/tmp/luajava-1.1/build' make: *** [all] Error 2 _______________________________________________ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake