[Pki-devel] CMake and eclipse

Andreas Schneider asn at redhat.com
Wed Aug 17 07:24:59 UTC 2011


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




More information about the Pki-devel mailing list