----- 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(a)redhat.com
Samba Team asn(a)samba.org