lcio
diff -u -r1.66 -r1.67
--- CMakeLists.txt 18 Jun 2010 15:34:10 -0000 1.66
+++ CMakeLists.txt 21 Jun 2010 08:34:58 -0000 1.67
@@ -135,6 +135,7 @@
# code for *nix only!
IF( UNIX )
+
# find shell
FIND_PROGRAM( SH
sh
@@ -147,71 +148,66 @@
)
MARK_AS_ADVANCED( SH )
- IF( SH )
- # generate shell script for setting environment
- # and calling ant aid
- IF( NOT EXISTS "${PROJECT_BINARY_DIR}/lcio_env_init.sh" )
- MESSAGE( STATUS "Generating LCIO env init script..." )
- FILE( WRITE "${PROJECT_BINARY_DIR}/lcio_env_init.sh"
- "export LCIO=${PROJECT_SOURCE_DIR}\n"
- "export JDK_HOME=${JAVA_HOME}\n"
- "export JAVA_HOME=${JAVA_HOME}\n"
- "export PATH=${PROJECT_SOURCE_DIR}/tools:${JAVA_BIN_PATH}:$PATH\n"
- "eval $*" )
- ENDIF()
-
- # create "always out-of-date" headers target
- ADD_CUSTOM_TARGET( headers
- COMMAND ${SH} "${PROJECT_BINARY_DIR}/lcio_env_init.sh" ant aid.generate
+ IF( NOT SH )
+ MESSAGE( FATAL_ERROR "unix shell not found" )
+ ENDIF()
+
+
+ # generate shell script for setting environment
+ # and calling ant aid
+ IF( NOT EXISTS "${PROJECT_BINARY_DIR}/lcio_env_init.sh" )
+ MESSAGE( STATUS "Generating LCIO env init script..." )
+ FILE( WRITE "${PROJECT_BINARY_DIR}/lcio_env_init.sh"
+ "export LCIO=${PROJECT_SOURCE_DIR}\n"
+ "export JDK_HOME=${JAVA_HOME}\n"
+ "export JAVA_HOME=${JAVA_HOME}\n"
+ "export PATH=${PROJECT_SOURCE_DIR}/tools:${JAVA_BIN_PATH}:$PATH\n"
+ "eval $*" )
+ ENDIF()
+
+ # create "always out-of-date" headers target
+ ADD_CUSTOM_TARGET( headers
+ COMMAND ${SH} "${PROJECT_BINARY_DIR}/lcio_env_init.sh" ant aid.generate
+ WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
+ COMMENT "Generating header files with ant aid.generate..."
+ VERBATIM )
+
+ # create "always out-of-date" jar target
+ ADD_CUSTOM_TARGET( jar
+ COMMAND ${SH} "${PROJECT_BINARY_DIR}/lcio_env_init.sh" ant aid
+ WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
+ COMMENT "Building lcio jar library..."
+ VERBATIM )
+
+ # create custom target for cleaning class files
+ #ADD_CUSTOM_TARGET( jar_clean
+ # COMMAND ${SH} "${PROJECT_BINARY_DIR}/lcio_env_init.sh" ant clean
+ # WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
+ # COMMENT "Cleaning java classes with ant clean..."
+ # VERBATIM )
+
+ # 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;${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(
+ OUTPUT "${PROJECT_SOURCE_DIR}/doc/api/index.html"
+ COMMAND ${SH} ARGS "${PROJECT_BINARY_DIR}/lcio_env_init.sh" ant doc
WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
- COMMENT "Generating header files with ant aid.generate..."
+ COMMENT "Building Java API Documentation..."
VERBATIM )
- # create "always out-of-date" jar target
- ADD_CUSTOM_TARGET( jar
- COMMAND ${SH} "${PROJECT_BINARY_DIR}/lcio_env_init.sh" ant aid
- WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
- COMMENT "Building lcio jar library..."
- VERBATIM )
-
- # create custom target for cleaning class files
- #ADD_CUSTOM_TARGET( jar_clean
- # COMMAND ${SH} "${PROJECT_BINARY_DIR}/lcio_env_init.sh" ant clean
- # WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
- # COMMENT "Cleaning java classes with ant clean..."
- # VERBATIM )
-
- # 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;${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(
- OUTPUT "${PROJECT_SOURCE_DIR}/doc/api/index.html"
- COMMAND ${SH} ARGS "${PROJECT_BINARY_DIR}/lcio_env_init.sh" ant doc
- WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
- COMMENT "Building Java API Documentation..."
- VERBATIM )
-
- ADD_CUSTOM_TARGET( doc_java DEPENDS "${PROJECT_SOURCE_DIR}/doc/api/index.html" )
- # tell doc target to call doc_java
- ADD_DEPENDENCIES( doc doc_java )
- ENDIF()
- ELSE()
- MESSAGE( STATUS "Unix Shell needed for calling ant not found!!" )
- IF( INSTALL_DOC )
- MESSAGE( STATUS "WARNING: INSTALL_DOC forced to OFF and doc_java disabled!" )
- SET( INSTALL_DOC OFF )
- ELSE()
- MESSAGE( STATUS "WARNING: doc_java target disabled!" )
- ENDIF()
+ ADD_CUSTOM_TARGET( doc_java DEPENDS "${PROJECT_SOURCE_DIR}/doc/api/index.html" )
+ # tell doc target to call doc_java
+ ADD_DEPENDENCIES( doc doc_java )
ENDIF()
ENDIF()
lcio/src/cpp
diff -u -r1.30 -r1.31
--- CMakeLists.txt 18 Jun 2010 15:34:10 -0000 1.30
+++ CMakeLists.txt 21 Jun 2010 08:34:58 -0000 1.31
@@ -9,10 +9,13 @@
SET_DIRECTORY_PROPERTIES( PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${AID_GEN_CXX_HEADERS_DIR}" )
+
+INCLUDE_DIRECTORIES ( BEFORE "${AID_GEN_CXX_HEADERS_DIR}" )
+
INCLUDE_DIRECTORIES (
"${LCIO_SOURCE_DIR}/sio/include"
"${LCIO_SOURCE_DIR}/src/cpp/include"
- "${AID_GEN_CXX_HEADERS_DIR}"
+# "${AID_GEN_CXX_HEADERS_DIR}"
)
SET( LCIO_CPPFORT_SRCS
@@ -184,6 +187,9 @@
ENDFOREACH()
+SET_SOURCE_FILES_PROPERTIES( ${LCIO_CPPFORT_SRCS} PROPERTIES OBJECT_DEPENDS
+ "${EVENT_AID_HEADERS_DEP_LIST};${IO_AID_HEADERS_DEP_LIST}" )
+
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}" )
@@ -429,6 +435,21 @@
# create symbolic target for calling targets test_XXX
ADD_CUSTOM_TARGET( tests )
+
+# custom command to generate jar library
+ADD_CUSTOM_COMMAND(
+ OUTPUT "${PROJECT_SOURCE_DIR}/lib/lcio.jar"
+ COMMAND ${SH} "${PROJECT_BINARY_DIR}/lcio_env_init.sh" ant aid
+ WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
+ COMMENT "generating lcio.jar"
+)
+
+# create target to create jar library
+ADD_CUSTOM_TARGET( lib_jar DEPENDS "${PROJECT_SOURCE_DIR}/lib/lcio.jar" )
+
+# jar lib is needed for java tests
+ADD_DEPENDENCIES( tests lib_jar )
+
# ==== a macro for adding binaries from the TESTS directory =====
MACRO( ADD_LCIO_CTEST file )
IF( BUILD_LCIO_TESTS )
@@ -471,7 +492,10 @@
PATTERN "*CVS*" EXCLUDE)
# install generated c++ headers (from aid files)
-INSTALL(DIRECTORY ${LCIO_BINARY_DIR}/include/ DESTINATION include )
+IF( "${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.6 )
+ FILE(MAKE_DIRECTORY ${AID_GEN_CXX_HEADERS_DIR})
+ENDIF()
+INSTALL(DIRECTORY ${AID_GEN_CXX_HEADERS_DIR}/ DESTINATION include)