----- Original Message -----
You've done a nice job on the Java support. I know of no other build system that works so cleanly for both Java and other native compilers. The fact that it works so well with the dependencies from Fedora put it a notch above Maven in my book.
Hi Adam, thank for the flowers :)
You might not find any performance difference. Javac is actually pretty good at determining what needs to be rebuilt. Ant and Maven both delegate this to javac. I built a Makefile long ago that attempted to determin the dependncies automatically based on imports. When I stopped, and just let javac do the hard work, it decreased our build time by an order of magnatidue. I don't find that the Java builds are that slow in PKI, but I haven't looked in to what CMake actually puts into the Makefiles.
add_jar probably should be extended to allow the other Java archive names like .war, .ear and .sar.
Added and pushed for staging. You can do now: add_jar(foobar.java ldapjdk.jar) The more feedback I get before the release the more I can add and fix :)
I notice that the paths to search for Jar files is duplicated through the pki CMakeLists.txt
find_file(LDAPJDK_JAR NAMES ldapjdk.jar PATHS /usr/lib/java /usr/share/java )
Is this one of the things the find_jar simplifies?
Yes, it is. It is already looking in default path, you can add more and it has version support. find_jar(<VAR> name | NAMES name1 [name2 ...] [PATHS path1 [path2 ... ENV var]] [VERSIONS version1 [version2]] [DOC "cache documentation string"] ) The name of the full path to a file that is searched for is specified by the names listed after NAMES argument. Additional search locations can be specified after the PATHS argument. If you require special a version of a jar file you can specify it with the VERSIONS argument. The argument after DOC will be used for the documentation string in the cache. So the line above would be: find_jar(LDAPJDK_JAR ldapjdk) and could be find_jar(LDAPJDC_JAR NAMES ldapjdk ldap-jdk VERSION 1.5 ) -- andreas -- Andreas Schneider GPG-ID: 8B7EB4B8 Red Hat asn@redhat.com Samba Team asn@samba.org