Da es im Blog eh meist um allgemeinere Dinge ging, und weniger speziell um Bot-Trap, zieht es nun auf Airport1 um. Da Airport1 sowieso seit ca. Oktober 2007 10jaehriges Jubilaeum feiert, benoetigt es eh wieder mal etwas Neues
PS: Zu den Problemen mit Bot-Trap und den damit verbundenen Ausfaellen u.U. hier in Kuerze mehr!
Samstag, 23. Februar 2008
Blog zieht von Bot-Trap auf Airport1 um
Freitag, 22. Februar 2008
cMake and Java: it works! How to build Java Projects with cMake
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} )
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} )
Sonntag, 17. Februar 2008
Franzoesisch-Schnellkurs im TGV Stuttgart-Paris
Im TGV von Stuttgart nach Paris kann man waehrend der rasanten Fahrt von 3,5h eine Art Schnellkurs in Franzoesisch buchen (ca. 30 Euro). Normalerweise muss man dies vorher buchen, wenns aber zu wenig Teilnehmer sind, werden bei Fahrtantritt noch dynamisch weitere Teilnehmer gesucht. Achja, das einfache Ticket gibts schon ab 39 Euro, man muss nur im Automaten stoebern
Letzte Kommentare