[CMake] Order of compilation of Java files
Andreas Pakulat
apaku at gmx.de
Thu Mar 8 11:32:55 EST 2012
On 08.03.12 06:39:37, Kedzierski, Artur CIV NSWC Corona, PA13 wrote:
> I am trying to use CMake for a small Java project that's part of a bigger C++ project.
> I have a Java project that looks like that:
>
> project(MyProject Java)
> include_directories("${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/MyProject.dir")
> add_library(MyProject
> file1.java
> file2.java
> file3.java
> )
>
> It works on Linux. However, when I tried it on Windows, I've ran into two problems:
> 1) The resulting *.class files were placed in "${CMAKE_CURRENT_BINARY_DIR}". As a
> work around, I changed include_directories to be:
> include_directories("${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/MyProject.dir" "${CMAKE_CURRENT_BINARY_DIR}")
> Is there a way to specify where the *.class file will be generated?
>
> 2) Unlike on Linux, the java files are not compiled in a listed order. I have dependencies where
> one file2.java depends on file1.class so it doesn't compile.
> How can I tell it to compile the *.java files in specific order? Is there a way for CMake to automatically
> determine the dependencies?
I've looked at using CMake to build some Java files (in an otherwise
C++/C project) some time ago and the result was that Java-support simply
does not fit with CMake's language and functions - at least not in the
way include_directories() and co are currently implemented for Java. So
I've simply opted for custom-command's and targets to compile Java.
Andreas
More information about the CMake
mailing list