Print

Print


Commit in lcio on MAIN
CMakeLists.txt+58-621.66 -> 1.67
src/cpp/CMakeLists.txt+26-21.30 -> 1.31
+84-64
2 modified files
bug fixes:
- cmake 2.4 (complains about non-existing directories in INSTALL commando)
- CPPFORT_SRCS depend on EVENT and IO generated headers
- added lcio.jar dependency to' tests' target
- include generated cxx headers before src/cpp/include

lcio
CMakeLists.txt 1.66 -> 1.67
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
CMakeLists.txt 1.30 -> 1.31
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)
 
 
 
CVSspam 0.2.8