lcio
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
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 )