lcio/src/cpp/include/rootDict
diff -u -r1.2 -r1.3
--- CMakeLists.txt 24 Jun 2010 09:10:28 -0000 1.2
+++ CMakeLists.txt 25 Jun 2010 09:51:00 -0000 1.3
@@ -64,7 +64,7 @@
OUTPUT ${dict_src_file}
#COMMAND ${ROOT_HOME}/bin/rootcint
#COMMAND $ENV{ROOTSYS}/bin/rootcint
- COMMAND rootcint
+ COMMAND ${ROOT_CINT}
ARGS -f ${dict_src_file} -c -DHANDLE_LCIO_EXCEPTIONS=IGNORED_FOR_CINT
-I${AID_GEN_CXX_HEADERS_DIR} -I${LCIO_CXX_HEADERS_DIR} ${header_full_path} ${dict_hdr_file}
WORKING_DIRECTORY "${LCIO_BINARY_DIR}"
@@ -77,130 +77,129 @@
ENDMACRO()
#===================================================================
-# EVENT aid files
-FILE( GLOB aid_headers
- "${LCIO_AID_HEADERS_DIR}/EVENT/*.aid"
- "${LCIO_AID_HEADERS_DIR}/IO/*.aid"
-)
-
-FOREACH( aid_file ${aid_headers} )
-
- FILE( RELATIVE_PATH aid_file_basepath ${LCIO_AID_HEADERS_DIR} ${aid_file} )
- STRING( REPLACE ".aid" ".h" header_basepath ${aid_file_basepath} )
-
- SET( gen_header_file "${AID_GEN_CXX_HEADERS_DIR}/${header_basepath}" )
-
- ADD_ROOT_DICT_OBJ( ${gen_header_file} ${header_basepath} )
-
-ENDFOREACH()
-
-
-
+INCLUDE( ${LCIO_SOURCE_DIR}/FindROOT.cmake )
+# should rootcint be detected in FindROOT.cmake ?
+SET( ROOT_CINT ROOT_CINT-NOTFOUND )
+FIND_PROGRAM( ROOT_CINT
+ rootcint
+ ${ROOT_HOME}/bin
+)
-INCLUDE_DIRECTORIES ( BEFORE "${AID_GEN_CXX_HEADERS_DIR}" )
-INCLUDE_DIRECTORIES (
- "${LCIO_SOURCE_DIR}/sio/include"
- "${LCIO_CXX_HEADERS_DIR}"
-)
+IF( ROOT_FOUND AND ROOT_CINT )
+ #SET( ENV{ROOTSYS} "${ROOT_HOME}" )
+ #SET( ENV{PATH} $ENV{ROOTSYS}/bin:$ENV{PATH} )
+ #SET( ENV{LD_LIBRARY_PATH} $ENV{ROOTSYS}/lib:$ENV{LD_LIBRARY_PATH} )
+
+ # FIXME variables must be set by FindROOT.cmake
+ #SET( cint_script "${PROJECT_BINARY_DIR}/rootcint.cmake" )
+ #FILE( WRITE "${cint_script}" "# little script to run rootcint\n" )
+ #FILE( APPEND "${cint_script}" "SET( ENV{ROOTSYS} ${ROOT_HOME} )\n" )
+ #FILE( APPEND "${cint_script}" "SET( ENV{PATH} \$ENV{ROOTSYS}/bin:\$ENV{PATH} )\n" )
+ #FILE( APPEND "${cint_script}" "SET( ENV{LD_LIBRARY_PATH} \$ENV{ROOTSYS}/lib:\$ENV{LD_LIBRARY_PATH} )\n" )
+ #FILE( APPEND "${cint_script}" "EXEC_PROGRAM( rootcint -f \${dict_src_file} -c -DHANDLE_LCIO_EXCEPTIONS=IGNORED_FOR_CINT -Iinclude \${lcio_hdr_rel_path} \${dict_hdr_file} )\n" )
-#------ require proper C++ -------
-ADD_DEFINITIONS( "-Wall -ansi" )
-#----- need long long for int64 for now ------
-ADD_DEFINITIONS( "-Wno-long-long -fno-strict-aliasing" )
-INCLUDE( ${LCIO_SOURCE_DIR}/FindROOT.cmake )
+ # EVENT aid files
+ FILE( GLOB aid_headers
+ "${LCIO_AID_HEADERS_DIR}/EVENT/*.aid"
+ "${LCIO_AID_HEADERS_DIR}/IO/*.aid"
+ )
-IF( ROOT_FOUND )
+ FOREACH( aid_file ${aid_headers} )
+ FILE( RELATIVE_PATH aid_file_basepath ${LCIO_AID_HEADERS_DIR} ${aid_file} )
+ STRING( REPLACE ".aid" ".h" header_basepath ${aid_file_basepath} )
-SET( ENV{ROOTSYS} "${ROOT_HOME}" )
-SET( ENV{PATH} $ENV{ROOTSYS}/bin:$ENV{PATH} )
-SET( ENV{LD_LIBRARY_PATH} $ENV{ROOTSYS}/lib:$ENV{LD_LIBRARY_PATH} )
+ SET( gen_header_file "${AID_GEN_CXX_HEADERS_DIR}/${header_basepath}" )
+ ADD_ROOT_DICT_OBJ( ${gen_header_file} ${header_basepath} )
-#TODO test ROOT_FOUND and ${ROOT_HOME}/bin/rootcint
+ ENDFOREACH()
-# list of headers
-FILE( GLOB_RECURSE lcio_headers ${LCIO_CXX_HEADERS_DIR}/*.h )
-# list of headers to exclude
-FILE( GLOB_RECURSE exclude_headers
- ${LCIO_CXX_HEADERS_DIR}/empty_ignore.h
- ${LCIO_CXX_HEADERS_DIR}/EVENT/*.h
- ${LCIO_CXX_HEADERS_DIR}/IO/*.h
- ${LCIO_CXX_HEADERS_DIR}/SIO/*.h
- ${LCIO_CXX_HEADERS_DIR}/CPPFORT/*.h
- ${LCIO_CXX_HEADERS_DIR}/UTIL/CellIDDecoder.h
- ${LCIO_CXX_HEADERS_DIR}/UTIL/LCWarning.h
-)
+ INCLUDE_DIRECTORIES ( BEFORE "${AID_GEN_CXX_HEADERS_DIR}" )
-# remove items to exclude
-LIST( REMOVE_ITEM lcio_headers ${exclude_headers} )
+ INCLUDE_DIRECTORIES (
+ "${LCIO_SOURCE_DIR}/sio/include"
+ "${LCIO_CXX_HEADERS_DIR}"
+ )
-SET( dict_lib_srcs )
-# FIXME variables must be set by FindROOT.cmake
-#SET( cint_script "${PROJECT_BINARY_DIR}/rootcint.cmake" )
-#FILE( WRITE "${cint_script}" "# little script to run rootcint\n" )
-#FILE( APPEND "${cint_script}" "SET( ENV{ROOTSYS} ${ROOT_HOME} )\n" )
-#FILE( APPEND "${cint_script}" "SET( ENV{PATH} \$ENV{ROOTSYS}/bin:\$ENV{PATH} )\n" )
-#FILE( APPEND "${cint_script}" "SET( ENV{LD_LIBRARY_PATH} \$ENV{ROOTSYS}/lib:\$ENV{LD_LIBRARY_PATH} )\n" )
-#FILE( APPEND "${cint_script}" "EXEC_PROGRAM( rootcint -f \${dict_src_file} -c -DHANDLE_LCIO_EXCEPTIONS=IGNORED_FOR_CINT -Iinclude \${lcio_hdr_rel_path} \${dict_hdr_file} )\n" )
+ #------ require proper C++ -------
+ ADD_DEFINITIONS( "-Wall -ansi" )
+ #----- need long long for int64 for now ------
+ ADD_DEFINITIONS( "-Wno-long-long -fno-strict-aliasing" )
+
+
+ # list of headers
+ FILE( GLOB_RECURSE lcio_headers ${LCIO_CXX_HEADERS_DIR}/*.h )
+
+ # list of headers to exclude
+ FILE( GLOB_RECURSE exclude_headers
+ ${LCIO_CXX_HEADERS_DIR}/empty_ignore.h
+ ${LCIO_CXX_HEADERS_DIR}/EVENT/*.h
+ ${LCIO_CXX_HEADERS_DIR}/IO/*.h
+ ${LCIO_CXX_HEADERS_DIR}/SIO/*.h
+ ${LCIO_CXX_HEADERS_DIR}/CPPFORT/*.h
+ ${LCIO_CXX_HEADERS_DIR}/UTIL/CellIDDecoder.h
+ ${LCIO_CXX_HEADERS_DIR}/UTIL/LCWarning.h
+ )
+ # remove items to exclude
+ LIST( REMOVE_ITEM lcio_headers ${exclude_headers} )
-FOREACH( lcio_hdr ${lcio_headers} )
- #MESSAGE( STATUS "processing header file: ${lcio_hdr}" )
-
- # get the relative path
- #STRING( REPLACE "${LCIO_CXX_HEADERS_DIR}" "" lcio_hdr_rel_path ${lcio_hdr} )
- FILE( RELATIVE_PATH lcio_hdr_rel_path "${LCIO_CXX_HEADERS_DIR}" ${lcio_hdr} )
+ FOREACH( lcio_hdr ${lcio_headers} )
- #MESSAGE( STATUS "header file relpath: ${lcio_hdr_rel_path}" )
+ #MESSAGE( STATUS "processing header file: ${lcio_hdr}" )
+
+ # get the relative path
+ #STRING( REPLACE "${LCIO_CXX_HEADERS_DIR}" "" lcio_hdr_rel_path ${lcio_hdr} )
+ FILE( RELATIVE_PATH lcio_hdr_rel_path "${LCIO_CXX_HEADERS_DIR}" ${lcio_hdr} )
- ADD_ROOT_DICT_OBJ( ${lcio_hdr} ${lcio_hdr_rel_path} )
-
-ENDFOREACH()
+ #MESSAGE( STATUS "header file relpath: ${lcio_hdr_rel_path}" )
-INCLUDE_DIRECTORIES( "${DICT_OUTPUT_DIR}" )
-INCLUDE_DIRECTORIES( "${ROOT_INCLUDE_DIRS}" )
+ ADD_ROOT_DICT_OBJ( ${lcio_hdr} ${lcio_hdr_rel_path} )
+
+ ENDFOREACH()
-ADD_LIBRARY( lib_LCIODICT ${ROOT_DICT_LIB_SRCS} ${LCIO_RIO_SRCS} )
-INSTALL( TARGETS lib_LCIODICT DESTINATION lib )
+ INCLUDE_DIRECTORIES( "${DICT_OUTPUT_DIR}" )
+ INCLUDE_DIRECTORIES( "${ROOT_INCLUDE_DIRS}" )
+ ADD_LIBRARY( lib_LCIODICT ${ROOT_DICT_LIB_SRCS} ) # ${LCIO_RIO_SRCS} )
+ INSTALL( TARGETS lib_LCIODICT DESTINATION lib )
-IF( APPLE )
- SET( ROOT_DICT_LINK_FLAGS "-single_module -undefined dynamic_lookup -bind_at_load")
-# ADD_LIBRARY( lib_LCIO ${LCIO_RIO_SRCS} )
-ELSE( APPLE )
- SET( ROOT_DICT_LINK_FLAGS " " )
-ENDIF( APPLE )
-SET_TARGET_PROPERTIES( lib_LCIODICT PROPERTIES
- # create *nix style library versions + symbolic links
- VERSION ${LCIO_VERSION}
- SOVERSION ${LCIO_SOVERSION}
- # allow creating static and shared libs without conflicts
- CLEAN_DIRECT_OUTPUT 1
- # avoid conflicts between library and binary target names
- OUTPUT_NAME lcioDict
- LINKER_FLAGS ${ROOT_DICT_LINK_FLAGS}
- )
+ IF( APPLE )
+ SET( ROOT_DICT_LINK_FLAGS "-single_module -undefined dynamic_lookup -bind_at_load")
+ # ADD_LIBRARY( lib_LCIO ${LCIO_RIO_SRCS} )
+ ELSE( APPLE )
+ SET( ROOT_DICT_LINK_FLAGS " " )
+ ENDIF( APPLE )
-ADD_CUSTOM_TARGET( dict DEPENDS lib_LCIODICT )
+ SET_TARGET_PROPERTIES( lib_LCIODICT PROPERTIES
+ # create *nix style library versions + symbolic links
+ VERSION ${LCIO_VERSION}
+ SOVERSION ${LCIO_SOVERSION}
+ # allow creating static and shared libs without conflicts
+ CLEAN_DIRECT_OUTPUT 1
+ # avoid conflicts between library and binary target names
+ OUTPUT_NAME lcioDict
+ LINKER_FLAGS ${ROOT_DICT_LINK_FLAGS}
+ )
-TARGET_LINK_LIBRARIES( lib_LCIODICT ${ROOT_LIBRARIES} lib_LCIO)
+ ADD_CUSTOM_TARGET( dict DEPENDS lib_LCIODICT )
+ TARGET_LINK_LIBRARIES( lib_LCIODICT ${ROOT_LIBRARIES} lib_LCIO)
-ELSE( ROOT_FOUND )
+ELSE()
- MESSAGE( STATUS " NO ROOT found :-( " )
+ MESSAGE( STATUS " NO ROOT found :-( " )
-
-ENDIF( ROOT_FOUND )
+ENDIF()
#----------------------------------------------