Print

Print


Commit in lcio on MAIN
CMakeLists.txt+45-481.65 -> 1.66
src/cpp/CMakeLists.txt+74-111.29 -> 1.30
+119-59
2 modified files
generate cxx header files individually from aid files

lcio
CMakeLists.txt 1.65 -> 1.66
diff -u -r1.65 -r1.66
--- CMakeLists.txt	18 Jun 2010 09:33:20 -0000	1.65
+++ CMakeLists.txt	18 Jun 2010 15:34:10 -0000	1.66
@@ -90,44 +90,44 @@
 ENDIF()
 
 # set environment variables to generate header files and jar library
-SET( ENV{JDK_HOME} "${JAVA_HOME}" )
-SET( ENV{JAVA_HOME} "${JAVA_HOME}" )
-SET( ENV{LCIO} "${PROJECT_SOURCE_DIR}" )
-SET( ENV{PATH} "${PROJECT_SOURCE_DIR}/tools:${JAVA_BIN_PATH}:$ENV{PATH}" )
+#SET( ENV{JDK_HOME} "${JAVA_HOME}" )
+#SET( ENV{JAVA_HOME} "${JAVA_HOME}" )
+#SET( ENV{LCIO} "${PROJECT_SOURCE_DIR}" )
+#SET( ENV{PATH} "${PROJECT_SOURCE_DIR}/tools:${JAVA_BIN_PATH}:$ENV{PATH}" )
 
 # generate header files ( ant aid.generate )
-IF( NOT EXISTS "${PROJECT_SOURCE_DIR}/src/cpp/include/EVENT/LCIO.h" )
-
-    MESSAGE( STATUS "Generating header files with ant aid.generate..." )
-    EXEC_PROGRAM( ant "${PROJECT_SOURCE_DIR}"
-        ARGS aid.generate
-        OUTPUT_VARIABLE out_tmp
-        RETURN_VALUE out_ret )
-    # check if everything went ok
-    IF( NOT out_ret )
-        MESSAGE( STATUS "Header files successfully generated..." )
-    ELSE()
-        MESSAGE( STATUS "Error generating header files!!" )
-        MESSAGE( FATAL_ERROR "${out_tmp}" )
-    ENDIF()
-ENDIF()
+#IF( NOT EXISTS "${PROJECT_SOURCE_DIR}/src/cpp/include/EVENT/LCIO.h" )
+#
+#    MESSAGE( STATUS "Generating header files with ant aid.generate..." )
+#    EXEC_PROGRAM( ant "${PROJECT_SOURCE_DIR}"
+#        ARGS aid.generate
+#        OUTPUT_VARIABLE out_tmp
+#        RETURN_VALUE out_ret )
+#    # check if everything went ok
+#    IF( NOT out_ret )
+#        MESSAGE( STATUS "Header files successfully generated..." )
+#    ELSE()
+#        MESSAGE( STATUS "Error generating header files!!" )
+#        MESSAGE( FATAL_ERROR "${out_tmp}" )
+#    ENDIF()
+#ENDIF()
 
 # generate lcio jar library ( ant aid )
-IF( NOT EXISTS "${PROJECT_SOURCE_DIR}/lib/lcio.jar" )
-
-    MESSAGE( STATUS "Generating lcio jar library with ant aid..." )
-    EXEC_PROGRAM( ant "${PROJECT_SOURCE_DIR}"
-        ARGS aid
-        OUTPUT_VARIABLE out_tmp
-        RETURN_VALUE out_ret )
-    # check if everything went ok
-    IF( NOT out_ret )
-        MESSAGE( STATUS "lcio jar library successfully generated..." )
-    ELSE()
-        MESSAGE( STATUS "Error generating lcio.jar!!" )
-        MESSAGE( FATAL_ERROR "${out_tmp}" )
-    ENDIF()
-ENDIF()
+#IF( NOT EXISTS "${PROJECT_SOURCE_DIR}/lib/lcio.jar" )
+#
+#    MESSAGE( STATUS "Generating lcio jar library with ant aid..." )
+#    EXEC_PROGRAM( ant "${PROJECT_SOURCE_DIR}"
+#        ARGS aid
+#        OUTPUT_VARIABLE out_tmp
+#        RETURN_VALUE out_ret )
+#    # check if everything went ok
+#    IF( NOT out_ret )
+#        MESSAGE( STATUS "lcio jar library successfully generated..." )
+#    ELSE()
+#        MESSAGE( STATUS "Error generating lcio.jar!!" )
+#        MESSAGE( FATAL_ERROR "${out_tmp}" )
+#    ENDIF()
+#ENDIF()
 
 
 # add custom target for building all documentation
@@ -167,17 +167,6 @@
             COMMENT "Generating header files with ant aid.generate..."
             VERBATIM )
         
-        # moved to src/cpp/CMakeLists.txt
-        #ADD_CUSTOM_COMMAND(
-        #    OUTPUT "${PROJECT_SOURCE_DIR}/src/cpp/include/EVENT/LCIO.h"
-        #    COMMAND ${SH} ARGS "${PROJECT_BINARY_DIR}/lcio_env_init.sh" ant aid.generate
-        #    WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
-        #    COMMENT "Generating header files with ant aid.generate..."
-        #    VERBATIM )
-        
-        #ADD_CUSTOM_TARGET( headers DEPENDS
-        #        "${PROJECT_BINARY_DIR}/src/cpp/include/EVENT/LCIO.h" )
-
         # create "always out-of-date" jar target
         ADD_CUSTOM_TARGET( jar
             COMMAND ${SH} "${PROJECT_BINARY_DIR}/lcio_env_init.sh" ant aid
@@ -194,9 +183,14 @@
 
         # tell make clean to also erase lcio.jar
         SET_DIRECTORY_PROPERTIES( PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES
-            "${PROJECT_SOURCE_DIR}/lib/lcio.jar;${PROJECT_SOURCE_DIR}/src/cpp/include/EVENT/LCIO.h"
+            "${PROJECT_SOURCE_DIR}/lib/lcio.jar;${PROJECT_SOURCE_DIR}/src/cpp/include/EVENT;${PROJECT_SOURCE_DIR}/src/cpp/include/IO"
         )
 
+        # unfortunately this does not work with *.java
+        #SET_DIRECTORY_PROPERTIES( PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES
+        #    "${PROJECT_SOURCE_DIR}/src/java/hep/lcio/event/*java;${PROJECT_SOURCE_DIR}/src/java/hep/lcio/io"
+        #)
+
         #JAVADOC
         IF( JAVA_DOC )
             ADD_CUSTOM_COMMAND(
@@ -314,12 +308,15 @@
 
 # installation rules
 #IF( INSTALL_JAR )
-#    # make sure jar is built before calling make install
 #    INSTALL( CODE "EXEC_PROGRAM(${CMAKE_BUILD_TOOL} ${PROJECT_BINARY_DIR} ARGS jar)" )
 #    # install jar
 #    INSTALL( FILES "${PROJECT_SOURCE_DIR}/lib/lcio.jar" DESTINATION lib )
 #ENDIF()
-INSTALL( FILES "${PROJECT_SOURCE_DIR}/lib/lcio.jar" DESTINATION lib OPTIONAL )
+#INSTALL( FILES "${PROJECT_SOURCE_DIR}/lib/lcio.jar" DESTINATION lib OPTIONAL )
+# make sure jar is built before calling make install
+INSTALL( CODE "EXEC_PROGRAM(${CMAKE_BUILD_TOOL} ${PROJECT_BINARY_DIR} ARGS jar)" )
+INSTALL( FILES "${PROJECT_SOURCE_DIR}/lib/lcio.jar" DESTINATION lib )
+
 IF( INSTALL_DOC )
     # make sure documentation is built before make install is called
     INSTALL( CODE "EXEC_PROGRAM(${CMAKE_BUILD_TOOL} ${PROJECT_BINARY_DIR} ARGS doc)" )

lcio/src/cpp
CMakeLists.txt 1.29 -> 1.30
diff -u -r1.29 -r1.30
--- CMakeLists.txt	17 Jun 2010 12:29:00 -0000	1.29
+++ CMakeLists.txt	18 Jun 2010 15:34:10 -0000	1.30
@@ -4,9 +4,15 @@
 # @author Jan Engels, DESY
 #################################
 
+#SET( AID_GEN_CXX_HEADERS_DIR "${LCIO_SOURCE_DIR}/src/cpp/include" )
+SET( AID_GEN_CXX_HEADERS_DIR "${LCIO_BINARY_DIR}/include" )
+
+SET_DIRECTORY_PROPERTIES( PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${AID_GEN_CXX_HEADERS_DIR}" )
+
 INCLUDE_DIRECTORIES (
     "${LCIO_SOURCE_DIR}/sio/include"
     "${LCIO_SOURCE_DIR}/src/cpp/include"
+    "${AID_GEN_CXX_HEADERS_DIR}"
 )
 
 SET( LCIO_CPPFORT_SRCS
@@ -63,15 +69,6 @@
   ./src/IMPL/VertexImpl.cc
 )
 
-ADD_CUSTOM_COMMAND(
-    OUTPUT "${PROJECT_SOURCE_DIR}/src/cpp/include/EVENT/LCIO.h"
-    COMMAND ${SH} ARGS "${PROJECT_BINARY_DIR}/lcio_env_init.sh" ant aid.generate
-    WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
-    COMMENT "Generating header files with ant aid.generate..."
-)
-
-SET_SOURCE_FILES_PROPERTIES( ${LCIO_IMPL_SRCS} PROPERTIES OBJECT_DEPENDS "${LCIO_SOURCE_DIR}/src/cpp/include/EVENT/LCIO.h" )
-
 SET( LCIO_IOIMPL_SRCS
   ./src/IOIMPL/LCFactory.cc
 )
@@ -126,6 +123,72 @@
   ./src/UTIL/PIDHandler.cc
 )
 
+# EVENT aid files
+FILE( GLOB aid_headers "${LCIO_SOURCE_DIR}/src/aid/EVENT/*.aid" )
+
+SET( EVENT_AID_HEADERS_DEP_LIST ) 
+
+FOREACH( aid_file ${aid_headers} )
+
+    #MESSAGE( STATUS "looping: ${aid_file}" )
+
+    GET_FILENAME_COMPONENT( aid_file_basename ${aid_file} NAME_WE )
+
+    SET( gen_header_file "${AID_GEN_CXX_HEADERS_DIR}/EVENT/${aid_file_basename}.h" )
+
+    LIST( APPEND EVENT_AID_HEADERS_DEP_LIST "${gen_header_file}" )
+    LIST( APPEND EVENT_AID_HEADERS_DEP_LIST "${aid_file}" )
+
+    ADD_CUSTOM_COMMAND(
+        OUTPUT "${gen_header_file}"
+        #COMMAND echo "run: ${SH} ${PROJECT_BINARY_DIR}/lcio_env_init.sh" java -cp '${LCIO_SOURCE_DIR}/tools/freehep-base.jar:${LCIO_SOURCE_DIR}/tools/freehep-aid.jar:${LCIO_SOURCE_DIR}/tools/freehep-buildtools.jar' org.freehep.aid.Aid -directory '${AID_GEN_CXX_HEADERS_DIR}/' -property config CPPHeaderGenerator "${aid_file}"
+        COMMAND ${SH} ARGS "${PROJECT_BINARY_DIR}/lcio_env_init.sh" java -cp '${LCIO_SOURCE_DIR}/tools/freehep-base.jar:${LCIO_SOURCE_DIR}/tools/freehep-aid.jar:${LCIO_SOURCE_DIR}/tools/freehep-buildtools.jar' org.freehep.aid.Aid -directory '${AID_GEN_CXX_HEADERS_DIR}/' -property config CPPHeaderGenerator "${aid_file}"
+        #COMMAND ${SH} ARGS "${PROJECT_BINARY_DIR}/lcio_env_init.sh" ant aid.generate
+        DEPENDS "${aid_file}"
+        WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
+        COMMENT "Generating header file ${aid_file_basename}.h"
+    )
+
+    #SET_SOURCE_FILES_PROPERTIES( "${gen_header_file}" PROPERTIES HEADER_FILE_ONLY TRUE )
+    #SET_SOURCE_FILES_PROPERTIES( "${gen_header_file}" PROPERTIES GENERATED TRUE )
+
+ENDFOREACH()
+
+# IO aid files
+FILE( GLOB aid_headers "${LCIO_SOURCE_DIR}/src/aid/IO/*.aid" )
+
+SET( IO_AID_HEADERS_DEP_LIST ) 
+
+FOREACH( aid_file ${aid_headers} )
+
+    #MESSAGE( STATUS "looping: ${aid_file}" )
+
+    GET_FILENAME_COMPONENT( aid_file_basename ${aid_file} NAME_WE )
+
+    SET( gen_header_file "${AID_GEN_CXX_HEADERS_DIR}/IO/${aid_file_basename}.h" )
+
+    LIST( APPEND IO_AID_HEADERS_DEP_LIST "${gen_header_file}" )
+    LIST( APPEND IO_AID_HEADERS_DEP_LIST "${aid_file}" )
+
+    ADD_CUSTOM_COMMAND(
+        OUTPUT "${gen_header_file}"
+        #COMMAND echo "run: ${SH} ${PROJECT_BINARY_DIR}/lcio_env_init.sh" java -cp '${LCIO_SOURCE_DIR}/tools/freehep-base.jar:${LCIO_SOURCE_DIR}/tools/freehep-aid.jar:${LCIO_SOURCE_DIR}/tools/freehep-buildtools.jar' org.freehep.aid.Aid -directory '${AID_GEN_CXX_HEADERS_DIR}/' -property config CPPHeaderGenerator "${aid_file}"
+        COMMAND ${SH} ARGS "${PROJECT_BINARY_DIR}/lcio_env_init.sh" java -cp '${LCIO_SOURCE_DIR}/tools/freehep-base.jar:${LCIO_SOURCE_DIR}/tools/freehep-aid.jar:${LCIO_SOURCE_DIR}/tools/freehep-buildtools.jar' org.freehep.aid.Aid -directory '${AID_GEN_CXX_HEADERS_DIR}/' -property config CPPHeaderGenerator "${aid_file}"
+        DEPENDS "${aid_file}"
+        WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
+        COMMENT "Generating header file ${aid_file_basename}.h"
+    )
+
+    #SET_SOURCE_FILES_PROPERTIES( "${gen_header_file}" PROPERTIES HEADER_FILE_ONLY TRUE )
+    #SET_SOURCE_FILES_PROPERTIES( "${gen_header_file}" PROPERTIES GENERATED TRUE )
+
+ENDFOREACH()
+
+SET_SOURCE_FILES_PROPERTIES( ${LCIO_IMPL_SRCS} PROPERTIES OBJECT_DEPENDS "${EVENT_AID_HEADERS_DEP_LIST}" )
+SET_SOURCE_FILES_PROPERTIES( ${LCIO_IOIMPL_SRCS} PROPERTIES OBJECT_DEPENDS "${IO_AID_HEADERS_DEP_LIST}" )
+
+
+
 #------ require proper C++ -------
 ADD_DEFINITIONS( "-Wall -ansi -pedantic" )
 #----- need long long for int64 for now ------
@@ -160,8 +223,6 @@
   ${LCIO_SIO_SRCS}
 )
 
-ADD_DEPENDENCIES( lib_LCIO "${LCIO_SOURCE_DIR}/src/cpp/include/EVENT/LCIO.h" )
-
 SET_TARGET_PROPERTIES( lib_LCIO PROPERTIES
     # create *nix style library versions + symbolic links
     VERSION ${LCIO_VERSION}
@@ -409,6 +470,8 @@
   PATTERN "*CPPFORT*" EXCLUDE
   PATTERN "*CVS*" EXCLUDE)
 
+# install generated c++ headers (from aid files)
+INSTALL(DIRECTORY ${LCIO_BINARY_DIR}/include/ DESTINATION include )
 
 
 
CVSspam 0.2.8