cMake: Ich habs zwar echt gehasst, weil die Dokumentation sich in einer einzelnen ellenlangen WebSeite ergiesst, ohne Anker und ohne Beispiele. Teilweise findet man mehr Info im Wiki unter den FAQ etc. Im Mailinglistenarchiv findet man viele Leute die u.a. auch Java mit cMake builden wollen. Fast immer antwortet ihnen aber keiner. Daher hier mal ein Loesungsansatz von mir:
Wichtige Tipps fuer cMake: geht was nicht, bzgl. dass er das tut was frueher mal im CMakeLists.txt File stand CMakeCache loeschen. Ggf. auch das Verzeichnis CMakeFiles. Gebuildet wird mit cmake . im entsprechenden Verzeichnis.
Im folgenden Beispiel moechten wir ein Java Projekt java2cpp builden, welches sich im Pfad src/org/java2cpp ausgehend vom aktuellen Pfad befindet. Dazu compilen wir zunaechst die java Klassen, und bilden dann ein jar Archiv. Dieses wird dann noch wohinauchimmer installiert.
Falls man erst ein CMakeLists.txt unterhalb eines anderen SubDirectories abarbeiten moechte in das CMakeLists.txt des derzeitigen Verzeichnisses:
ADD_SUBDIRECTORY(src/org/java2cpp)
In diesem Verzeichnis in die CMakeLists.txt z.B. reinhaemmern:
PROJECT (java2cpp Java)
SET(CMAKE_VERBOSE_MAKEFILE 1)
SET (CLASS_DIR "class")
SET (JAR_DIR "jar")
FILE(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${CLASS_DIR})
FILE(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${JAR_DIR})
SET (JAR_FILE java2cpp.jar)
SET (JAVA_FILES
ClassInfo FileInfo Java2Cpp PackageInfo Tokenizer
Consts FileProc MainInfo QualifiedName TranslatorException
DSortMap FileScan Modifiers SyntaxException TypeInfo
)
# compile all .java files with javac to .class
ADD_CUSTOM_COMMAND(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${JAVA_FILES}.class
COMMAND ${CMAKE_Java_COMPILER}
ARGS -d ${CMAKE_CURRENT_SOURCE_DIR}/${CLASS_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/*.java
)
# build .jar file from .class files
ADD_CUSTOM_COMMAND(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${JAR_FILE}
DEPENDS
${CMAKE_CURRENT_BINARY_DIR}/${JAVA_FILES}.class
COMMAND ${CMAKE_COMMAND}
ARGS -E chdir ${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_Java_ARCHIVE} -cfCv ${JAR_DIR}/${JAR_FILE} ${CLASS_DIR} org/java2cpp
)
# the target
ADD_CUSTOM_TARGET(
${JAR_FILE}
ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${JAR_FILE})
# GLOBAL_ADD_ITEM( ${JAR_FILE} )
INSTALL_FILES( ${CMAKE_CURRENT_BINARY_DIR}/wohinauchimmer/bin FILES ${JAR_FILE} )
i should compile it, but i don't know how!!
i used your cmakelists.txt
but i dinit know hwo to modifi it
please give me your email to send u my cmaketexts.txt.
please help me.
thank's