Print

Print


Commit in lcio/cmake on je20110308_new_cmakelists
FindILCSOFT_CMAKE_MODULES.cmake+28added 1.1.2.1
FindROOT.cmake+250added 1.1.2.1
MacroAddSharedLibrary.cmake+25added 1.1.2.1
MacroCheckPackageLibs.cmake+164added 1.1.2.1
MacroCheckPackageVersion.cmake+108added 1.1.2.1
MacroDisplayStandardVariables.cmake+54added 1.1.2.1
MacroGeneratePackageConfigFiles.cmake+44added 1.1.2.1
MacroInstallDirectory.cmake+13added 1.1.2.1
MacroInstallSharedLibrary.cmake+14added 1.1.2.1
MacroRootDict.cmake+130added 1.1.2.1
cmake_uninstall.cmake.in+27added 1.1.2.1
ilcsoft_build_32bit_compatible.cmake+26added 1.1.2.1
ilcsoft_default_build_output_directories.cmake+7added 1.1.2.1
ilcsoft_default_build_type.cmake+9added 1.1.2.1
ilcsoft_default_enable_ctest.cmake+6added 1.1.2.1
ilcsoft_default_install_prefix.cmake+9added 1.1.2.1
ilcsoft_default_library_versioning.cmake+5added 1.1.2.1
ilcsoft_default_rpath_settings.cmake+14added 1.1.2.1
ilcsoft_default_settings.cmake+37added 1.1.2.1
ilcsoft_default_uninstall_target.cmake+13added 1.1.2.1
+983
20 added files
added cmake modules from ilcutil

lcio/cmake
FindILCSOFT_CMAKE_MODULES.cmake added at 1.1.2.1
diff -N FindILCSOFT_CMAKE_MODULES.cmake
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ FindILCSOFT_CMAKE_MODULES.cmake	9 Mar 2011 11:19:33 -0000	1.1.2.1
@@ -0,0 +1,28 @@
+
+# --------- CMakeModules version ----------------
+SET( ILCSOFT_CMAKE_MODULES_VERSION_MAJOR 1 )
+SET( ILCSOFT_CMAKE_MODULES_VERSION_MINOR 11 )
+SET( ILCSOFT_CMAKE_MODULES_VERSION_PATCH 0 )
+SET( ILCSOFT_CMAKE_MODULES_VERSION_TWEAK 0 )
+# -----------------------------------------------
+
+
+SET( ILCSOFT_CMAKE_MODULES_VERSION ${ILCSOFT_CMAKE_MODULES_VERSION_MAJOR}.${ILCSOFT_CMAKE_MODULES_VERSION_MINOR}.${ILCSOFT_CMAKE_MODULES_VERSION_PATCH}.${ILCSOFT_CMAKE_MODULES_VERSION_TWEAK} )
+
+GET_FILENAME_COMPONENT( ILCSOFT_CMAKE_MODULES_ROOT ${CMAKE_CURRENT_LIST_FILE} PATH )
+IF( NOT ILCSOFT_CMAKE_MODULES_FIND_QUIETLY )
+    MESSAGE( STATUS "Check for ILCSOFT_CMAKE_MODULES: ${ILCSOFT_CMAKE_MODULES_ROOT}" )
+ENDIF()
+
+INCLUDE( MacroCheckPackageVersion )
+CHECK_PACKAGE_VERSION( ILCSOFT_CMAKE_MODULES ${ILCSOFT_CMAKE_MODULES_VERSION} )
+
+SET( ILCSOFT_CMAKE_MODULES_VERSION_SUITABLE TRUE )
+IF( PACKAGE_VERSION_UNSUITABLE )
+     SET( ILCSOFT_CMAKE_MODULES_VERSION_SUITABLE FALSE )
+ENDIF()
+
+# ---------- final checking ---------------------------------------------------
+INCLUDE( FindPackageHandleStandardArgs )
+FIND_PACKAGE_HANDLE_STANDARD_ARGS( ILCSOFT_CMAKE_MODULES DEFAULT_MSG ILCSOFT_CMAKE_MODULES_VERSION_SUITABLE )
+

lcio/cmake
FindROOT.cmake added at 1.1.2.1
diff -N FindROOT.cmake
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ FindROOT.cmake	9 Mar 2011 11:19:33 -0000	1.1.2.1
@@ -0,0 +1,250 @@
+###############################################################################
+# cmake module for finding ROOT
+#
+# requires:
+#   MacroCheckPackageLibs.cmake for checking package libraries
+#
+# Following cmake variables are returned by this module:
+#
+#   ROOT_FOUND              : set to TRUE if ROOT found
+#       If FIND_PACKAGE is called with REQUIRED and COMPONENTS arguments
+#       ROOT_FOUND is only set to TRUE if ALL components are found.
+#       If REQUIRED is NOT set components may or may not be available
+#
+#   ROOT_LIBRARIES          : list of ROOT libraries (NOT including COMPONENTS)
+#   ROOT_INCLUDE_DIRS       : list of paths to be used with INCLUDE_DIRECTORIES
+#   ROOT_LIBRARY_DIRS       : list of paths to be used with LINK_DIRECTORIES
+#   ROOT_COMPONENT_LIBRARIES    : list of ROOT component libraries
+#   ROOT_${COMPONENT}_FOUND     : set to TRUE or FALSE for each library
+#   ROOT_${COMPONENT}_LIBRARY   : path to individual libraries
+#   
+#
+#   Please note that by convention components should be entered exactly as
+#   the library names, i.e. the component name equivalent to the library
+#   $ROOTSYS/lib/libMathMore.so should be called MathMore and NOT:
+#       mathmore or Mathmore or MATHMORE
+#
+#   However to follow the usual cmake convention it is agreed that the
+#   ROOT_${COMPONENT}_FOUND and ROOT_${COMPONENT}_LIBRARY variables are ALL
+#   uppercase, i.e. the MathMore component returns: ROOT_MATHMORE_FOUND and
+#   ROOT_MATHMORE_LIBRARY NOT ROOT_MathMore_FOUND or ROOT_MathMore_LIBRARY
+#
+#
+# The additional ROOT components should be defined as follows:
+# FIND_PACKAGE( ROOT COMPONENTS MathMore Gdml Geom ...)
+#
+# If components are required use:
+# FIND_PACKAGE( ROOT REQUIRED COMPONENTS MathMore Gdml Geom ...)
+#
+# If only root is required and components are NOT required use:
+# FIND_PACKAGE( ROOT REQUIRED )
+# FIND_PACKAGE( ROOT COMPONENTS MathMore Gdml Geom ... QUIET )
+#   then you need to check for ROOT_MATHMORE_FOUND, ROOT_GDML_FOUND, etc.
+#
+# The variable ROOT_USE_COMPONENTS can also be used before calling
+# FIND_PACKAGE, i.e.:
+# SET( ROOT_USE_COMPONENTS MathMore Gdml Geom )
+# FIND_PACKAGE( ROOT REQUIRED ) # all ROOT_USE_COMPONENTS must also be found
+# FIND_PACKAGE( ROOT ) # check for ROOT_FOUND, ROOT_MATHMORE_FOUND, etc.
+#
+# @author Jan Engels, DESY
+###############################################################################
+
+
+# find root-config
+SET( ROOT_CONFIG_EXECUTABLE ROOT_CONFIG_EXECUTABLE-NOTFOUND )
+MARK_AS_ADVANCED( ROOT_CONFIG_EXECUTABLE )
+FIND_PROGRAM( ROOT_CONFIG_EXECUTABLE root-config PATHS ${ROOT_DIR}/bin NO_DEFAULT_PATH )
+IF( NOT ROOT_DIR )
+    FIND_PROGRAM( ROOT_CONFIG_EXECUTABLE root-config )
+ENDIF()
+
+# find rootcint
+SET( ROOT_CINT_EXECUTABLE ROOT_CINT_EXECUTABLE-NOTFOUND )
+MARK_AS_ADVANCED( ROOT_CINT_EXECUTABLE )
+FIND_PROGRAM( ROOT_CINT_EXECUTABLE rootcint PATHS ${ROOT_DIR}/bin NO_DEFAULT_PATH )
+IF( NOT ROOT_DIR )
+    FIND_PROGRAM( ROOT_CINT_EXECUTABLE rootcint )
+ENDIF()
+
+IF( NOT ROOT_FIND_QUIETLY )
+    MESSAGE( STATUS "Check for ROOT_CONFIG_EXECUTABLE: ${ROOT_CONFIG_EXECUTABLE}" )
+    MESSAGE( STATUS "Check for ROOT_CINT_EXECUTABLE: ${ROOT_CINT_EXECUTABLE}" )
+ENDIF()
+
+
+IF( ROOT_CONFIG_EXECUTABLE )
+
+
+    # ==============================================
+    # ===          ROOT_VERSION                  ===
+    # ==============================================
+
+    INCLUDE( MacroCheckPackageVersion )
+    
+    EXECUTE_PROCESS( COMMAND "${ROOT_CONFIG_EXECUTABLE}" --version
+        OUTPUT_VARIABLE _version
+        RESULT_VARIABLE _exit_code
+        OUTPUT_STRIP_TRAILING_WHITESPACE
+    )
+    IF( _exit_code EQUAL 0 )
+
+        # set required variables for MacroCheckPackageVersion
+        STRING(REGEX REPLACE "^([0-9]+).*" "\\1" ROOT_VERSION_MAJOR "${_version}")
+        STRING(REGEX REPLACE "^[0-9]+.([0-9]+).*" "\\1" ROOT_VERSION_MINOR "${_version}")
+        STRING(REGEX REPLACE "^[0-9]+.[0-9]+.([0-9]+).*" "\\1" ROOT_VERSION_PATCH "${_version}")
+
+        SET( ROOT_VERSION "${ROOT_VERSION_MAJOR}.${ROOT_VERSION_MINOR}.${ROOT_VERSION_PATCH}" )
+    ENDIF()
+
+    CHECK_PACKAGE_VERSION( ROOT ${ROOT_VERSION} )
+
+
+
+    # ==============================================
+    # ===          ROOT_INCLUDE_DIR              ===
+    # ==============================================
+
+    # get include dir from root-config output
+    EXECUTE_PROCESS( COMMAND "${ROOT_CONFIG_EXECUTABLE}" --incdir
+        OUTPUT_VARIABLE _inc_dir
+        RESULT_VARIABLE _exit_code
+        OUTPUT_STRIP_TRAILING_WHITESPACE
+    )
+    IF( NOT _exit_code EQUAL 0 )
+        # clear _inc_dir if root-config exits with error
+        # it might contain garbage
+        SET( _inc_dir )
+    ENDIF()
+
+
+    SET( ROOT_INCLUDE_DIRS ROOT_INCLUDE_DIRS-NOTFOUND )
+    MARK_AS_ADVANCED( ROOT_INCLUDE_DIRS )
+
+    FIND_PATH( ROOT_INCLUDE_DIRS
+        NAMES TH1.h
+        PATHS ${ROOT_DIR}/include ${_inc_dir}
+        NO_DEFAULT_PATH
+    )
+
+
+
+    # ==============================================
+    # ===            ROOT_LIBRARIES              ===
+    # ==============================================
+
+    # get library dir from root-config output
+    EXECUTE_PROCESS( COMMAND "${ROOT_CONFIG_EXECUTABLE}" --libdir
+        OUTPUT_VARIABLE ROOT_LIBRARY_DIR
+        RESULT_VARIABLE _exit_code
+        OUTPUT_STRIP_TRAILING_WHITESPACE
+    )
+    IF( NOT _exit_code EQUAL 0 )
+        # clear ROOT_LIBRARY_DIR if root-config exits with error
+        # it might contain garbage
+        SET( ROOT_LIBRARY_DIR )
+    ENDIF()
+
+
+
+    # ========== standard root libraries =================
+
+    # standard root libraries (without components)
+    SET( _root_libnames )
+
+    # get standard root libraries from 'root-config --libs' output
+    EXECUTE_PROCESS( COMMAND "${ROOT_CONFIG_EXECUTABLE}" --noauxlibs --libs
+        OUTPUT_VARIABLE _aux
+        RESULT_VARIABLE _exit_code
+        OUTPUT_STRIP_TRAILING_WHITESPACE
+    )
+    IF( _exit_code EQUAL 0 )
+        
+        # create a list out of the output
+        SEPARATE_ARGUMENTS( _aux )
+
+        # remove first item -L compiler flag
+        LIST( REMOVE_AT _aux 0 )
+
+        FOREACH( _lib ${_aux} )
+
+            # extract libnames from -l compiler flags
+            STRING( REGEX REPLACE "^-.(.*)$" "\\1" _libname "${_lib}")
+
+            # fix for some root-config versions which export -lz even if using --noauxlibs
+            IF( NOT _libname STREQUAL "z" )
+
+                # append all library names into a list
+                LIST( APPEND _root_libnames ${_libname} )
+
+            ENDIF()
+
+        ENDFOREACH()
+
+    ENDIF()
+
+
+
+    # ========== additional root components =================
+
+    #LIST( APPEND ROOT_FIND_COMPONENTS Minuit2 ) # DEPRECATED !!!
+
+
+    # ---------- libraries --------------------------------------------------------
+    INCLUDE( MacroCheckPackageLibs )
+
+    SET( ROOT_LIB_SEARCH_PATH ${ROOT_LIBRARY_DIR} )
+
+    # only standard libraries should be passed as arguments to CHECK_PACKAGE_LIBS
+    # additional components are set by cmake in variable PKG_FIND_COMPONENTS
+    # first argument should be the package name
+    CHECK_PACKAGE_LIBS( ROOT ${_root_libnames} )
+
+
+
+
+    # ====== DL LIBRARY ==================================================
+    # workaround for cmake bug in 64 bit:
+    # see: http://public.kitware.com/mantis/view.php?id=10813
+    IF( CMAKE_SIZEOF_VOID_P EQUAL 8 )
+        FIND_LIBRARY( DL_LIB NAMES ${CMAKE_DL_LIBS} dl PATHS /usr/lib64 /lib64 NO_DEFAULT_PATH )
+    ENDIF( CMAKE_SIZEOF_VOID_P EQUAL 8 )
+
+    FIND_LIBRARY( DL_LIB NAMES ${CMAKE_DL_LIBS} dl )
+    MARK_AS_ADVANCED( DL_LIB )
+
+    IF( NOT ROOT_FIND_QUIETLY )
+        MESSAGE( STATUS "Check for libdl.so: ${DL_LIB}" )
+    ENDIF()
+
+ENDIF( ROOT_CONFIG_EXECUTABLE )
+
+# Threads library
+#FIND_PACKAGE( Threads REQUIRED)
+
+
+# ---------- final checking ---------------------------------------------------
+INCLUDE( FindPackageHandleStandardArgs )
+# set ROOT_FOUND to TRUE if all listed variables are TRUE and not empty
+# ROOT_COMPONENT_VARIABLES will be set if FIND_PACKAGE is called with REQUIRED argument
+FIND_PACKAGE_HANDLE_STANDARD_ARGS( ROOT DEFAULT_MSG ROOT_INCLUDE_DIRS ROOT_LIBRARIES ${ROOT_COMPONENT_VARIABLES} PACKAGE_VERSION_COMPATIBLE DL_LIB )
+
+IF( ROOT_FOUND )
+    LIST( APPEND ROOT_LIBRARIES ${DL_LIB} )
+    # FIXME DEPRECATED
+    SET( ROOT_DEFINITIONS "-DUSEROOT -DUSE_ROOT -DMARLIN_USE_ROOT" )
+    MARK_AS_ADVANCED( ROOT_DEFINITIONS )
+
+    # file including MACROS for generating root dictionary sources
+    GET_FILENAME_COMPONENT( _aux ${CMAKE_CURRENT_LIST_FILE} PATH )
+    SET( ROOT_DICT_MACROS_FILE ${_aux}/MacroRootDict.cmake )
+
+ENDIF( ROOT_FOUND )
+
+# ---------- cmake bug --------------------------------------------------------
+# ROOT_FIND_REQUIRED is not reset between FIND_PACKAGE calls, i.e. the following
+# code fails when geartgeo component not available: (fixed in cmake 2.8)
+# FIND_PACKAGE( ROOT REQUIRED )
+# FIND_PACKAGE( ROOT COMPONENTS geartgeo QUIET )
+SET( ROOT_FIND_REQUIRED )
+

lcio/cmake
MacroAddSharedLibrary.cmake added at 1.1.2.1
diff -N MacroAddSharedLibrary.cmake
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ MacroAddSharedLibrary.cmake	9 Mar 2011 11:19:33 -0000	1.1.2.1
@@ -0,0 +1,25 @@
+# create symbolic lib target for calling library targets
+#ADD_CUSTOM_TARGET( lib )
+
+MACRO( ADD_SHARED_LIBRARY _name )
+
+    ADD_LIBRARY( ${_name} SHARED ${ARGN} )
+    
+    #ADD_DEPENDENCIES( lib ${_name} )
+   
+    # change lib_target properties
+    SET_TARGET_PROPERTIES( ${_name} PROPERTIES
+        # create *nix style library versions + symbolic links
+        VERSION ${${PROJECT_NAME}_VERSION}
+        SOVERSION ${${PROJECT_NAME}_SOVERSION}
+    )
+    
+    # install library
+    #INSTALL( TARGETS ${_name} DESTINATION lib PERMISSIONS
+    #        OWNER_READ OWNER_WRITE OWNER_EXECUTE
+    #        GROUP_READ GROUP_EXECUTE
+    #        WORLD_READ WORLD_EXECUTE
+    #)
+
+ENDMACRO( ADD_SHARED_LIBRARY )
+

lcio/cmake
MacroCheckPackageLibs.cmake added at 1.1.2.1
diff -N MacroCheckPackageLibs.cmake
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ MacroCheckPackageLibs.cmake	9 Mar 2011 11:19:33 -0000	1.1.2.1
@@ -0,0 +1,164 @@
+##############################################################################
+# macro for checkin package libraries in ${PKG_ROOT}/lib
+#
+#
+# macro usage:
+#   CHECK_PACKAGE_LIBS( PACKAGE_NAME stdlib1 stdlib2 ... stdlibn )
+#       only standard libraries should be passed as arguments to the macro
+#       component libraries are set by cmake in PKG_FIND_COMPONENTS (when
+#       calling FIND_PACKAGE with COMPONENTS argument) or through the
+#       variable PKG_USE_COMPONENTS
+#
+#
+# required variables:
+#   PKG_ROOT    : path to PKG root directory
+#
+#
+# returns following variables:
+#   PKG_LIBRARY_DIRS : list of paths to be used with LINK_DIRECTORIES
+#   PGK_LIBRARIES    : list of STANDARD libraries (NOT including COMPONENTS)
+#   PKG_COMPONENT_LIBRARIES    : list of COMPONENT libraries
+#   PKG_${COMPONENT}_FOUND     : set to TRUE or FALSE for each library
+#   PKG_${COMPONENT}_LIBRARY   : path to each individual library
+#
+#
+# PKG_LIBRARIES and PKG_LIBRARY_DIRS will be empty if any of the standard
+#   libraries is missing
+#
+# @author Jan Engels, Desy
+##############################################################################
+
+
+SET( CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS TRUE )
+
+MACRO( CHECK_PACKAGE_LIBS _pkgname )
+
+    SET( _std_lib_missing FALSE )
+    SET( _ext_lib_missing FALSE )
+
+    SET( _std_libnames ${ARGN} )
+    SET( _ext_libnames ${${_pkgname}_FIND_COMPONENTS} ${${_pkgname}_USE_COMPONENTS} )
+
+    IF( _ext_libnames )
+        SEPARATE_ARGUMENTS( _ext_libnames )
+        LIST( REMOVE_DUPLICATES _ext_libnames )
+    ENDIF()
+
+    IF( NOT ${_pkgname}_FIND_QUIETLY )
+        MESSAGE( STATUS "Check for ${_pkgname}_LIBRARIES: ${_std_libnames}" )
+        IF( _ext_libnames )
+            MESSAGE( STATUS "Check for ${_pkgname}_COMPONENT_LIBRARIES: ${_ext_libnames}" )
+        ENDIF()
+    ENDIF()
+
+    SET( ${_pkgname}_LIBRARY_DIRS )
+    MARK_AS_ADVANCED( ${_pkgname}_LIBRARY_DIRS )
+
+    SET( ${_pkgname}_LIBRARIES )
+    MARK_AS_ADVANCED( ${_pkgname}_LIBRARIES )
+    
+    SET( ${_pkgname}_COMPONENT_LIBRARIES )
+    MARK_AS_ADVANCED( ${_pkgname}_COMPONENT_LIBRARIES )
+
+    SET( ${_pkgname}_COMPONENT_VARIABLES )
+    MARK_AS_ADVANCED( ${_pkgname}_COMPONENT_VARIABLES )
+
+    FOREACH( _libname ${_std_libnames} ${_ext_libnames} )
+
+        # flag to check if it is a standard or a component library
+        LIST( FIND _std_libnames "${_libname}" _aux )
+        IF( ${_aux} LESS 0 )
+           SET( _is_std_lib FALSE )
+        ELSE()
+           SET( _is_std_lib TRUE )
+        ENDIF()
+
+        # libname in upper case
+        STRING( TOUPPER ${_libname} _ulibname )
+
+        SET( ${_pkgname}_${_ulibname}_LIBRARY ${_pkgname}_${_ulibname}_LIBRARY-NOTFOUND )
+        MARK_AS_ADVANCED( ${_pkgname}_${_ulibname}_LIBRARY )
+
+        # WARNING: using PATH_SUFFIXES may cause problems when using variable CMAKE_FIND_ROOT_PATH
+        #           this problem does not occur if expanding PATHS
+        #           look in FindMySQL.cmake for more info
+        #FIND_LIBRARY( ${_pkgname}_${_ulibname}_LIBRARY NAMES ${_libname} PATHS
+        #    ${${_pkgname}_ROOT} ${${_pkgname}_DIR} ${${_pkgname}_LIB_SEARCH_PATH}
+        #    PATH_SUFFIXES lib64 lib
+        #    NO_DEFAULT_PATH
+        #)
+
+        FIND_LIBRARY( ${_pkgname}_${_ulibname}_LIBRARY NAMES ${_libname} PATHS
+            ${${_pkgname}_ROOT}/lib64 ${${_pkgname}_ROOT}/lib
+            ${${_pkgname}_DIR}/lib64 ${${_pkgname}_DIR}/lib
+            ${${_pkgname}_LIB_SEARCH_PATH} ${${_pkgname}_LIB_SEARCH_PATH}/lib64 ${${_pkgname}_LIB_SEARCH_PATH}/lib
+            NO_DEFAULT_PATH
+        )
+
+        IF( NOT ${_pkgname}_DIR )
+            FIND_LIBRARY( ${_pkgname}_${_ulibname}_LIBRARY NAMES ${_libname} )
+        ENDIF()
+        
+        IF( ${_pkgname}_FIND_REQUIRED )
+            LIST( APPEND ${_pkgname}_COMPONENT_VARIABLES ${_pkgname}_${_ulibname}_LIBRARY )
+        ENDIF()
+
+        IF( ${_pkgname}_${_ulibname}_LIBRARY ) # if library found
+
+            SET( ${_pkgname}_${_ulibname}_FOUND TRUE )
+            
+            # split libraries in PKG_LIBRARIES and PKG_COMPONENT_LIBRARIES
+            IF( _is_std_lib )
+                LIST( APPEND ${_pkgname}_LIBRARIES ${${_pkgname}_${_ulibname}_LIBRARY} )
+            ELSE()
+                LIST( APPEND ${_pkgname}_COMPONENT_LIBRARIES ${${_pkgname}_${_ulibname}_LIBRARY} )
+            ENDIF()
+
+            GET_FILENAME_COMPONENT( _aux ${${_pkgname}_${_ulibname}_LIBRARY} PATH )
+            LIST( APPEND ${_pkgname}_LIBRARY_DIRS ${_aux} )
+
+            IF( NOT ${_pkgname}_FIND_QUIETLY )
+                MESSAGE( STATUS "Check for ${_pkgname}_${_ulibname}_LIBRARY: ${${_pkgname}_${_ulibname}_LIBRARY} -- ok" )
+            ENDIF()
+
+        ELSE() # library not found
+
+            SET( ${_pkgname}_${_ulibname}_FOUND FALSE )
+
+            IF( _is_std_lib )
+                SET( _std_lib_missing TRUE )
+            ELSE()
+                SET( _ext_lib_missing TRUE )
+            ENDIF()
+
+            IF( NOT ${_pkgname}_FIND_QUIETLY )
+                MESSAGE( STATUS "Check for ${_pkgname}_${_ulibname}_LIBRARY: ${_libname} -- failed" )
+            ENDIF()
+
+        ENDIF()
+
+    ENDFOREACH()
+
+    # clear PKG_LIBRARIES if standard library is missing
+    IF( _std_lib_missing )
+        SET( ${_pkgname}_LIBRARIES )
+    ENDIF()
+
+    # clear PKG_COMPONENT_LIBRARIES if a component library is missing and
+    # FIND_PACKAGE called with REQUIRED argument
+    IF( _ext_lib_missing AND ${_pkgname}_FIND_REQUIRED )
+        SET( ${_pkgname}_COMPONENT_LIBRARIES )
+    ENDIF()
+
+    # remove duplicate paths in PKG_LIBRARY_DIRS
+    IF( ${_pkgname}_LIBRARY_DIRS )
+        LIST( REMOVE_DUPLICATES ${_pkgname}_LIBRARY_DIRS )
+    ENDIF()
+
+    # debug
+    #MESSAGE( STATUS "${_pkgname}_LIBRARIES: ${${_pkgname}_LIBRARIES}" )
+    #MESSAGE( STATUS "${_pkgname}_COMPONENT_LIBRARIES: ${${_pkgname}_COMPONENT_LIBRARIES}" )
+    #MESSAGE( STATUS "${_pkgname}_LIBRARY_DIRS: ${${_pkgname}_LIBRARY_DIRS}" )
+
+ENDMACRO( CHECK_PACKAGE_LIBS _pkgname )
+

lcio/cmake
MacroCheckPackageVersion.cmake added at 1.1.2.1
diff -N MacroCheckPackageVersion.cmake
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ MacroCheckPackageVersion.cmake	9 Mar 2011 11:19:33 -0000	1.1.2.1
@@ -0,0 +1,108 @@
+##############################################################################
+# macro for checking a package version
+#
+# this macro should be called from your PKGVersion.cmake or from a
+#   FindPKG.cmake module with the following arguments:
+#       _pkgname    : The package name
+#       _iversion   : The installed version of the package
+#
+#
+# the following conventions are used:
+#
+#   if FIND_PACKAGE is called with EXACT argument than the version has to
+#   match EXACTLY, i.e.:
+#       1.5 == 1.5
+#       1.5 == 1.5.0
+#       1.5 == 1.5.0.0
+#       1.5.2 == 1.5.2.0
+#       1.5.2.1 == 1.5.2.1
+#       1.5.2 != 1.5.2.1
+#       1.5 != 1.5.0.1
+#
+#
+#   otherwise a MINIMUM_REQUIRED version is checked for, i.e. the same
+#   behavior as with the cmake variable CMAKE_MINIMUM_REQUIRED, e.g.:
+#       searching: 1.2     --> installed: 1.5.2.2 --> compatible
+#       searching: 1.5     --> installed: 1.5.2.2 --> compatible
+#       searching: 1.5.2.1 --> installed: 1.5.2.2 --> compatible
+#       searching: 1.5.2.3 --> installed: 1.5.2.2 --> unsuitable
+#       searching: 1.7     --> installed: 1.5.2.2 --> unsuitable
+#
+#
+# following variables are returned (internally to cmake):
+#   PACKAGE_VERSION_EXACT       : set to TRUE if exact version was found
+#   PACKAGE_VERSION_COMPATIBLE  : set to TRUE if version is compatible
+#   PACKAGE_VERSION_UNSUITABLE  : set to TRUE if version found is unsuitable
+#
+#
+# @author Jan Engels, Desy IT
+##############################################################################
+
+# these variables are evaluated internally by the cmake command FIND_PACKAGE to mark this
+# package as suitable or not depending on the required version
+SET( PACKAGE_VERSION_EXACT FALSE )
+SET( PACKAGE_VERSION_COMPATIBLE TRUE )
+SET( PACKAGE_VERSION_UNSUITABLE FALSE )
+
+
+# cmake internal variable PACKAGE_FIND_NAME is not defined on FindPKG.cmake
+# modules, therefore it is passed as an argument to the macro
+# _iversion is the installed version of the package
+# _sversion is the version searched by the user with FIND_PACKAGE
+#MACRO( CHECK_PACKAGE_VERSION _pkgname _iversion )
+MACRO( CHECK_PACKAGE_VERSION _pkgname ) # left with one argument only for backwards compatibility
+
+    IF( NOT "${ARGV1}" STREQUAL "" )
+        SET( _iversion ${ARGV1} )
+    ELSE()
+        SET( _iversion ${${_pkgname}_VERSION_MAJOR}.${${_pkgname}_VERSION_MINOR}.${${_pkgname}_VERSION_PATCH}.${${_pkgname}_VERSION_TWEAK} )
+    ENDIF()
+
+    #SET( _sversion_major ${${_pkgname}_FIND_VERSION_MAJOR} )
+    #SET( _sversion_minor ${${_pkgname}_FIND_VERSION_MINOR} )
+
+    SET( _sversion ${${_pkgname}_FIND_VERSION} )
+
+    IF( NOT ${_pkgname}_FIND_QUIETLY )
+        MESSAGE( STATUS "Check for ${_pkgname} (${_iversion})" )
+    ENDIF()
+
+    # only do work if FIND_PACKAGE called with a version argument
+    IF( _sversion )
+
+        #IF( NOT ${_pkgname}_FIND_QUIETLY )
+        #    MESSAGE( STATUS "Check for ${_pkgname}: looking for version ${_sversion}" )
+        #ENDIF()
+
+        IF( ${_iversion} VERSION_EQUAL ${_sversion} ) # if version matches EXACTLY
+            #IF( NOT ${_pkgname}_FIND_QUIETLY )
+            #    MESSAGE( STATUS "Check for ${_pkgname}: exact version found: ${_iversion}" )
+            #ENDIF()
+            SET( PACKAGE_VERSION_EXACT TRUE )
+        ELSE() # if version does not match EXACTLY, check if it is compatible/suitable
+
+            # installed version must be greater or equal than version searched by the user, i.e.
+            # like with the CMAKE_MINIMUM_REQUIRED commando
+            # if user asks for version 1.2.5 then any version >= 1.2.5 is suitable/compatible
+            IF( NOT ${_sversion} VERSION_LESS ${_iversion} )
+                SET( PACKAGE_VERSION_UNSUITABLE TRUE )
+            ENDIF()
+            # -------------------------------------------------------------------------------------
+
+            IF( ${_pkgname}_FIND_VERSION_EXACT ) # if exact version was required search must fail!!
+                #IF( NOT ${_pkgname}_FIND_QUIETLY )
+                #    MESSAGE( "Check for ${_pkgname}: could not find exact version" )
+                #ENDIF()
+                SET( PACKAGE_VERSION_UNSUITABLE TRUE )
+            ENDIF()
+
+        ENDIF()
+
+        IF( PACKAGE_VERSION_UNSUITABLE )
+            SET( PACKAGE_VERSION_COMPATIBLE FALSE )
+        ENDIF()
+
+    ENDIF( _sversion )
+
+ENDMACRO( CHECK_PACKAGE_VERSION )
+

lcio/cmake
MacroDisplayStandardVariables.cmake added at 1.1.2.1
diff -N MacroDisplayStandardVariables.cmake
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ MacroDisplayStandardVariables.cmake	9 Mar 2011 11:19:33 -0000	1.1.2.1
@@ -0,0 +1,54 @@
+
+# helper macro to display standard cmake variables and force write to cache
+# otherwise outdated values may appear in ccmake gui
+MACRO( DISPLAY_STD_VARIABLES )
+    MESSAGE( STATUS )
+    MESSAGE( STATUS "-------------------------------------------------------------------------------" )
+    MESSAGE( STATUS "Change values with: cmake -D<Variable>=<Value>" )
+
+    IF( DEFINED CMAKE_INSTALL_PREFIX )
+        MESSAGE( STATUS "CMAKE_INSTALL_PREFIX = ${CMAKE_INSTALL_PREFIX}" )
+    ENDIF()
+
+
+    IF( DEFINED CMAKE_BUILD_TYPE )
+        MESSAGE( STATUS "CMAKE_BUILD_TYPE = ${CMAKE_BUILD_TYPE}" )
+    ENDIF()
+
+    IF( DEFINED BUILD_SHARED_LIBS )
+        MESSAGE( STATUS "BUILD_SHARED_LIBS = ${BUILD_SHARED_LIBS}" )
+    ENDIF()
+
+    IF( DEFINED BUILD_TESTING )
+        MESSAGE( STATUS "BUILD_TESTING = ${BUILD_TESTING}" )
+    ENDIF()
+
+    IF( DEFINED INSTALL_DOC )
+        MESSAGE( STATUS "INSTALL_DOC = ${INSTALL_DOC}" )
+    ENDIF()
+
+    IF( DEFINED CMAKE_PREFIX_PATH )
+        LIST( REMOVE_DUPLICATES CMAKE_PREFIX_PATH )
+        #MESSAGE( STATUS "CMAKE_PREFIX_PATH = ${CMAKE_PREFIX_PATH}" )
+        MESSAGE( STATUS "CMAKE_PREFIX_PATH =" )
+        FOREACH( _path ${CMAKE_PREFIX_PATH} )
+            MESSAGE( STATUS "   ${_path};" )
+        ENDFOREACH()
+        #SET( CMAKE_PREFIX_PATH "${CMAKE_PREFIX_PATH}" CACHE PATH "CMAKE_PREFIX_PATH" FORCE )
+    ENDIF()
+
+    IF( DEFINED CMAKE_MODULE_PATH )
+        LIST( REMOVE_DUPLICATES CMAKE_MODULE_PATH )
+        #MESSAGE( STATUS "CMAKE_MODULE_PATH = ${CMAKE_MODULE_PATH}" )
+        MESSAGE( STATUS "CMAKE_MODULE_PATH =" )
+        FOREACH( _path ${CMAKE_MODULE_PATH} )
+            MESSAGE( STATUS "   ${_path};" )
+        ENDFOREACH()
+        SET( CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH}" CACHE PATH "CMAKE_MODULE_PATH" FORCE )
+    ENDIF()
+
+    MESSAGE( STATUS "-------------------------------------------------------------------------------" )
+    MESSAGE( STATUS )
+
+ENDMACRO( DISPLAY_STD_VARIABLES )
+

lcio/cmake
MacroGeneratePackageConfigFiles.cmake added at 1.1.2.1
diff -N MacroGeneratePackageConfigFiles.cmake
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ MacroGeneratePackageConfigFiles.cmake	9 Mar 2011 11:19:33 -0000	1.1.2.1
@@ -0,0 +1,44 @@
+#GET_FILENAME_COMPONENT( _current_dir ${CMAKE_CURRENT_LIST_FILE} PATH )
+
+# helper macro for generating project configuration file
+MACRO( GENERATE_PACKAGE_CONFIGURATION_FILES )
+
+    FOREACH( arg ${ARGN} )
+        IF( ${arg} MATCHES "Config.cmake" )
+            IF( EXISTS "${PROJECT_SOURCE_DIR}/cmake/${arg}.in" )
+                CONFIGURE_FILE( "${PROJECT_SOURCE_DIR}/cmake/${arg}.in"
+                                "${PROJECT_BINARY_DIR}/${arg}" @ONLY
+                )
+                INSTALL( FILES "${PROJECT_BINARY_DIR}/${arg}" DESTINATION . )
+                #IF( EXISTS "${_current_dir}/MacroCheckPackageLibs.cmake" )
+                #    INSTALL( FILES "${_current_dir}/MacroCheckPackageLibs.cmake" DESTINATION cmake )
+                #ENDIF()
+                #IF( EXISTS "${_current_dir}/MacroExportPackageDeps.cmake" )
+                #    INSTALL( FILES "${_current_dir}/MacroExportPackageDeps.cmake" DESTINATION cmake )
+                #ENDIF()
+            ENDIF()
+        ENDIF()
+
+
+        IF( ${arg} MATCHES "ConfigVersion.cmake" )
+            # version configuration file
+            IF( EXISTS "${PROJECT_SOURCE_DIR}/cmake/${arg}.in" )
+                CONFIGURE_FILE( "${PROJECT_SOURCE_DIR}/cmake/${arg}.in"
+                                "${PROJECT_BINARY_DIR}/${arg}" @ONLY
+                )
+                INSTALL( FILES "${PROJECT_BINARY_DIR}/${arg}" DESTINATION . )
+                #IF( EXISTS "${_current_dir}/MacroCheckPackageVersion.cmake" )
+                #    INSTALL( FILES "${_current_dir}/MacroCheckPackageVersion.cmake" DESTINATION cmake )
+                #ENDIF()
+            ENDIF( EXISTS "${PROJECT_SOURCE_DIR}/cmake/${arg}.in" )
+        ENDIF()
+
+        IF( ${arg} MATCHES "LibDeps.cmake" )
+            EXPORT_LIBRARY_DEPENDENCIES( "${arg}" )
+            INSTALL( FILES "${PROJECT_BINARY_DIR}/${arg}" DESTINATION lib/cmake )
+        ENDIF()
+
+    ENDFOREACH()
+
+ENDMACRO( GENERATE_PACKAGE_CONFIGURATION_FILES )
+

lcio/cmake
MacroInstallDirectory.cmake added at 1.1.2.1
diff -N MacroInstallDirectory.cmake
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ MacroInstallDirectory.cmake	9 Mar 2011 11:19:33 -0000	1.1.2.1
@@ -0,0 +1,13 @@
+# wrapper macro to install a directory
+# excluding any backup, temporary files
+# and .svn / CVS directories
+MACRO( INSTALL_DIRECTORY )
+    INSTALL( DIRECTORY ${ARGN}
+        PATTERN "*~" EXCLUDE
+        PATTERN "*#*" EXCLUDE
+        PATTERN ".#*" EXCLUDE
+        PATTERN "*CVS" EXCLUDE
+        PATTERN "*.svn" EXCLUDE
+    )
+ENDMACRO( INSTALL_DIRECTORY )
+

lcio/cmake
MacroInstallSharedLibrary.cmake added at 1.1.2.1
diff -N MacroInstallSharedLibrary.cmake
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ MacroInstallSharedLibrary.cmake	9 Mar 2011 11:19:33 -0000	1.1.2.1
@@ -0,0 +1,14 @@
+# wrapper macro for installing a shared library with
+# correct permissions
+MACRO( INSTALL_SHARED_LIBRARY )
+
+    # install library
+    INSTALL( TARGETS ${ARGN}
+        PERMISSIONS
+        OWNER_READ OWNER_WRITE OWNER_EXECUTE
+        GROUP_READ GROUP_EXECUTE
+        WORLD_READ WORLD_EXECUTE
+    )
+
+ENDMACRO( INSTALL_SHARED_LIBRARY )
+

lcio/cmake
MacroRootDict.cmake added at 1.1.2.1
diff -N MacroRootDict.cmake
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ MacroRootDict.cmake	9 Mar 2011 11:19:33 -0000	1.1.2.1
@@ -0,0 +1,130 @@
+IF(APPLE)
+    SET( LD_LIBRARY_PATH_VAR DYLD_LIBRARY_PATH )
+ELSE()
+    SET( LD_LIBRARY_PATH_VAR LD_LIBRARY_PATH )
+ENDIF()
+SET( LD_LIBRARY_PATH_CONTENTS $ENV{${LD_LIBRARY_PATH_VAR}} )
+#MESSAGE( STATUS "LD_LIBRARY_PATH_CONTENTS: ${LD_LIBRARY_PATH_CONTENTS}" )
+
+SET( ROOT_CINT_WRAPPER ${LD_LIBRARY_PATH_VAR}=${ROOT_LIBRARY_DIR}:${LD_LIBRARY_PATH_CONTENTS} ${ROOT_CINT_EXECUTABLE} )
+
+IF( NOT DEFINED ROOT_DICT_OUTPUT_DIR )
+    SET( ROOT_DICT_OUTPUT_DIR "${PROJECT_BINARY_DIR}/rootdict" )
+ENDIF()
+
+# clean generated header files with 'make clean'
+SET_DIRECTORY_PROPERTIES( PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${ROOT_DICT_OUTPUT_DIR}" )
+
+IF( NOT ROOT_FIND_QUIETLY )
+    MESSAGE( STATUS "Check for ROOT_DICT_OUTPUT_DIR: ${PROJECT_BINARY_DIR}/rootdict" )
+    MESSAGE( STATUS "Check for ROOT_DICT_CINT_DEFINITIONS: ${ROOT_DICT_CINT_DEFINITIONS}" )
+ENDIF()
+
+
+# ============================================================================
+# helper macro to prepare input headers for GEN_ROOT_DICT_SOURCES
+#   sorts LinkDef.h to be the last header (required by rootcint)
+#
+# arguments:
+#   input_dir - directory to search for headers matching *.h
+#
+# returns:
+#   ROOT_DICT_INPUT_HEADERS - all header files found in input_dir with
+#       LinkDef.h as the last header (if found)
+#
+# ----------------------------------------------------------------------------
+MACRO( PREPARE_ROOT_DICT_HEADERS _input_dir )
+
+    FILE( GLOB ROOT_DICT_INPUT_HEADERS "${_input_dir}/*.h" )
+    FILE( GLOB _linkdef_hdr "${_input_dir}/LinkDef.h" )
+
+    #LIST( FIND ROOT_DICT_INPUT_HEADERS ${_linkdef_hdr} _aux )
+    #IF( ${_aux} EQUAL 0 OR ${_aux} GREATER 0 )
+    #    LIST( REMOVE_ITEM ROOT_DICT_INPUT_HEADERS "${_linkdef_hdr}" )
+    #    LIST( APPEND ROOT_DICT_INPUT_HEADERS "${_linkdef_hdr}" )
+    #ENDIF()
+
+    IF( _linkdef_hdr )
+        LIST( REMOVE_ITEM ROOT_DICT_INPUT_HEADERS "${_linkdef_hdr}" )
+        LIST( APPEND ROOT_DICT_INPUT_HEADERS "${_linkdef_hdr}")
+    ENDIF()
+
+    #MESSAGE( STATUS "ROOT_DICT_INPUT_HEADERS: ${ROOT_DICT_INPUT_HEADERS}" )
+
+ENDMACRO( PREPARE_ROOT_DICT_HEADERS )
+
+
+
+# ============================================================================
+# helper macro to generate Linkdef.h files for rootcint
+#
+# arguments:
+#   namespace - prefix used for creating header <namespace>_Linkdef.h
+#   ARGN      - list of sources to be used for generating Linkdef.h
+#
+# returns:
+#   ROOT_DICT_INPUT_HEADERS - all header files + <namespace>_LinkDef.h in the
+#       correct order to be used by macro GEN_ROOT_DICT_SOURCES
+#
+# ----------------------------------------------------------------------------
+MACRO( GEN_ROOT_DICT_LINKDEF_HEADER _namespace )
+
+    SET( _linkdef_header "${ROOT_DICT_OUTPUT_DIR}/${_namespace}_Linkdef.h" )
+
+    IF( NOT EXISTS "${_linkdef_header}" )
+        FOREACH( _header ${ARGN} )
+            FILE( APPEND "${_linkdef_header}" "#pragma link C++ defined_in \"${_header}\";\n" )
+        ENDFOREACH()
+    ENDIF()
+
+    SET( ROOT_DICT_INPUT_HEADERS ${ARGN} ${_linkdef_header} )
+
+ENDMACRO()
+
+
+# ============================================================================
+# macro for generating root dict sources with rootcint
+#
+# requires following variables:
+#       ROOT_DICT_INPUT_SOURCES - list of sources to generate
+#       ROOT_DICT_INPUT_HEADERS - list of headers needed to generate dict sources
+#           * if LinkDef.h is in the list it must be at the end !!
+#       ROOT_DICT_INCLUDE_DIRS - list of include dirs to pass to rootcint -I..
+#       ROOT_DICT_CINT_DEFINITIONS - extra definitions to pass to rootcint
+#       ROOT_DICT_OUTPUT_DIR - where sources should be generated
+#
+# returns:
+#       ROOT_DICT_OUTPUT_SOURCES - list containing all generated sources
+# ----------------------------------------------------------------------------
+MACRO( GEN_ROOT_DICT_SOURCES ROOT_DICT_INPUT_SOURCES )
+
+    # TODO check for ROOT_CINT_EXECUTABLE
+
+    # need to prefix all include dirs with -I
+    set( _dict_includes )
+    FOREACH( _inc ${ROOT_DICT_INCLUDE_DIRS} )
+        SET( _dict_includes "${_dict_includes}\t-I${_inc}")  #fg: the \t fixes a wired string expansion 
+        #SET( _dict_includes ${_dict_includes} -I${_inc} )
+    ENDFOREACH()
+
+
+    SET( ROOT_DICT_OUTPUT_SOURCES )
+    FOREACH( _dict_src_filename ${ROOT_DICT_INPUT_SOURCES} )
+        STRING( REPLACE "/" "_" _dict_src_filename ${_dict_src_filename} )
+        SET( _dict_src_file ${ROOT_DICT_OUTPUT_DIR}/${_dict_src_filename} )
+        STRING( REGEX REPLACE "^(.*)\\.(.*)$" "\\1.h" _dict_hdr_file "${_dict_src_file}" )
+        ADD_CUSTOM_COMMAND(
+            OUTPUT  ${_dict_src_file} ${_dict_hdr_file}
+            COMMAND mkdir ARGS -p ${ROOT_DICT_OUTPUT_DIR}
+            COMMAND ${ROOT_CINT_WRAPPER}
+            ARGS -f "${_dict_src_file}" -c ${ROOT_DICT_CINT_DEFINITIONS} ${_dict_includes} ${ROOT_DICT_INPUT_HEADERS}
+            WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
+            DEPENDS ${ROOT_DICT_INPUT_HEADERS}
+            COMMENT "generating: ${_dict_src_file} ${_dict_hdr_file}"
+        )
+        LIST( APPEND ROOT_DICT_OUTPUT_SOURCES ${_dict_src_file} )
+    ENDFOREACH()
+
+ENDMACRO( GEN_ROOT_DICT_SOURCES ROOT_DICT_INPUT_SOURCES )
+# ============================================================================
+

lcio/cmake
cmake_uninstall.cmake.in added at 1.1.2.1
diff -N cmake_uninstall.cmake.in
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ cmake_uninstall.cmake.in	9 Mar 2011 11:19:33 -0000	1.1.2.1
@@ -0,0 +1,27 @@
+##########################################
+# create an uninstall target for cmake
+# http://www.cmake.org/Wiki/CMake_FAQ
+##########################################
+
+IF(NOT EXISTS "@[log in to unmask]")
+  MESSAGE(FATAL_ERROR "Cannot find install manifest: \"@[log in to unmask]\"")
+ENDIF(NOT EXISTS "@[log in to unmask]")
+
+FILE(READ "@[log in to unmask]" files)
+STRING(REGEX REPLACE "\n" ";" files "${files}")
+FOREACH(file ${files})
+  MESSAGE(STATUS "Uninstalling \"$ENV{DESTDIR}${file}\"")
+  IF(EXISTS "$ENV{DESTDIR}${file}")
+    EXEC_PROGRAM(
+      "@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\""
+      OUTPUT_VARIABLE rm_out
+      RETURN_VALUE rm_retval
+      )
+    IF("${rm_retval}" STREQUAL 0)
+    ELSE("${rm_retval}" STREQUAL 0)
+      MESSAGE(FATAL_ERROR "Problem when removing \"$ENV{DESTDIR}${file}\"")
+    ENDIF("${rm_retval}" STREQUAL 0)
+  ELSE(EXISTS "$ENV{DESTDIR}${file}")
+    MESSAGE(STATUS "File \"$ENV{DESTDIR}${file}\" does not exist.")
+  ENDIF(EXISTS "$ENV{DESTDIR}${file}")
+ENDFOREACH(file)

lcio/cmake
ilcsoft_build_32bit_compatible.cmake added at 1.1.2.1
diff -N ilcsoft_build_32bit_compatible.cmake
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ ilcsoft_build_32bit_compatible.cmake	9 Mar 2011 11:19:33 -0000	1.1.2.1
@@ -0,0 +1,26 @@
+#---------------- 32/64 bit issues ---------------------------------------
+OPTION( BUILD_32BIT_COMPATIBLE "Set to ON to build in 32 bit compatibility mode" ON )
+
+IF( BUILD_32BIT_COMPATIBLE )
+
+    IF( CMAKE_SIZEOF_VOID_P EQUAL 8 ) # 64 bit architecture detected
+
+        IF( COMMAND SET_PROPERTY )
+            SET_PROPERTY(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS 0)
+        ELSE()
+            MESSAGE( "Command SET_PROPERTY not found. do you have cmake >= 2.6 ?" )
+        ENDIF()
+
+        SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32" )
+        SET( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m32" )
+        SET( CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -m32" )
+        SET( CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -m32" )
+        SET( CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -m32" )
+        SET( CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -m32" )
+
+    ENDIF()
+
+ENDIF()
+#MESSAGE( STATUS "BUILD_32BIT_COMPATIBLE = ${BUILD_32BIT_COMPATIBLE}" )
+#-------------------------------------------------------------------------
+

lcio/cmake
ilcsoft_default_build_output_directories.cmake added at 1.1.2.1
diff -N ilcsoft_default_build_output_directories.cmake
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ ilcsoft_default_build_output_directories.cmake	9 Mar 2011 11:19:33 -0000	1.1.2.1
@@ -0,0 +1,7 @@
+
+# output directories
+SET( EXECUTABLE_OUTPUT_PATH "${PROJECT_BINARY_DIR}/bin" )
+SET( LIBRARY_OUTPUT_PATH "${PROJECT_BINARY_DIR}/lib" )
+MARK_AS_ADVANCED( EXECUTABLE_OUTPUT_PATH )
+MARK_AS_ADVANCED( LIBRARY_OUTPUT_PATH )
+

lcio/cmake
ilcsoft_default_build_type.cmake added at 1.1.2.1
diff -N ilcsoft_default_build_type.cmake
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ ilcsoft_default_build_type.cmake	9 Mar 2011 11:19:34 -0000	1.1.2.1
@@ -0,0 +1,9 @@
+
+# set default cmake build type to RelWithDebInfo
+# possible options are: None Debug Release RelWithDebInfo MinSizeRel
+IF( NOT CMAKE_BUILD_TYPE )
+    SET( CMAKE_BUILD_TYPE "RelWithDebInfo" )
+ENDIF()
+
+# write this variable to cache
+SET( CMAKE_BUILD_TYPE "${CMAKE_BUILD_TYPE}" CACHE STRING "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel." FORCE )

lcio/cmake
ilcsoft_default_enable_ctest.cmake added at 1.1.2.1
diff -N ilcsoft_default_enable_ctest.cmake
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ ilcsoft_default_enable_ctest.cmake	9 Mar 2011 11:19:34 -0000	1.1.2.1
@@ -0,0 +1,6 @@
+
+# enable ctest
+ENABLE_TESTING()
+INCLUDE(CTest)
+MARK_AS_ADVANCED( DART_TESTING_TIMEOUT )
+

lcio/cmake
ilcsoft_default_install_prefix.cmake added at 1.1.2.1
diff -N ilcsoft_default_install_prefix.cmake
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ ilcsoft_default_install_prefix.cmake	9 Mar 2011 11:19:34 -0000	1.1.2.1
@@ -0,0 +1,9 @@
+# set default install prefix to project root directory
+# instead of the cmake default /usr/local
+IF( CMAKE_INSTALL_PREFIX STREQUAL "/usr/local" )
+    SET( CMAKE_INSTALL_PREFIX "${PROJECT_SOURCE_DIR}" )
+ENDIF()
+
+# write this variable to cache
+SET( CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}" CACHE PATH "Where to install ${PROJECT_NAME}" FORCE )
+

lcio/cmake
ilcsoft_default_library_versioning.cmake added at 1.1.2.1
diff -N ilcsoft_default_library_versioning.cmake
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ ilcsoft_default_library_versioning.cmake	9 Mar 2011 11:19:34 -0000	1.1.2.1
@@ -0,0 +1,5 @@
+
+# library *nix style versioning
+SET( ${PROJECT_NAME}_SOVERSION "${${PROJECT_NAME}_VERSION_MAJOR}.${${PROJECT_NAME}_VERSION_MINOR}" )
+SET( ${PROJECT_NAME}_VERSION   "${${PROJECT_NAME}_SOVERSION}.${${PROJECT_NAME}_VERSION_PATCH}" )
+

lcio/cmake
ilcsoft_default_rpath_settings.cmake added at 1.1.2.1
diff -N ilcsoft_default_rpath_settings.cmake
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ ilcsoft_default_rpath_settings.cmake	9 Mar 2011 11:19:34 -0000	1.1.2.1
@@ -0,0 +1,14 @@
+# add library install path to the rpath list
+SET( CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib" )
+MARK_AS_ADVANCED( CMAKE_INSTALL_RPATH )
+
+# add install path to the rpath list (apple)
+IF( APPLE )
+    SET( CMAKE_INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib" )
+    MARK_AS_ADVANCED( CMAKE_INSTALL_NAME_DIR )
+ENDIF()
+
+# append link pathes to rpath list
+SET( CMAKE_INSTALL_RPATH_USE_LINK_PATH 1 )
+MARK_AS_ADVANCED( CMAKE_INSTALL_RPATH_USE_LINK_PATH )
+

lcio/cmake
ilcsoft_default_settings.cmake added at 1.1.2.1
diff -N ilcsoft_default_settings.cmake
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ ilcsoft_default_settings.cmake	9 Mar 2011 11:19:34 -0000	1.1.2.1
@@ -0,0 +1,37 @@
+MARK_AS_ADVANCED( CMAKE_BACKWARDS_COMPATIBILITY )
+SET( CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS TRUE ) # default in cmake 2.6
+
+# DEPRECATED
+#OPTION( BUILD_SHARED_LIBS "Set to OFF to build static libraries" ON )
+#SET( BUILD_SHARED_LIBS "${BUILD_SHARED_LIBS}" CACHE BOOL "Set to OFF to build static libraries" FORCE )
+
+# include helper macros
+INCLUDE( MacroAddSharedLibrary )
+INCLUDE( MacroInstallSharedLibrary )
+INCLUDE( MacroInstallDirectory )
+INCLUDE( MacroDisplayStandardVariables )
+INCLUDE( MacroGeneratePackageConfigFiles )
+
+
+# include ilcsoft default settings
+INCLUDE( ilcsoft_default_install_prefix )
+INCLUDE( ilcsoft_default_build_type )
+INCLUDE( ilcsoft_default_enable_ctest )
+INCLUDE( ilcsoft_default_library_versioning )
+INCLUDE( ilcsoft_default_build_output_directories )
+INCLUDE( ilcsoft_default_rpath_settings )
+#INCLUDE( ilcsoft_build_32bit_compatible )
+
+
+# uninstall target may only be created once per project
+# otherwise problems occur due to duplicate targets. even
+# setting CMAKE_POLICY(SET CMP0002 OLD) causes an error
+# calling 'make uninstall'
+# e.g. streamlog in Marlin
+IF( NOT _ilcsoft_default_settings_loaded )
+
+    INCLUDE( ilcsoft_default_uninstall_target )
+
+    SET( _ilcsoft_default_settings_loaded TRUE )
+
+ENDIF()

lcio/cmake
ilcsoft_default_uninstall_target.cmake added at 1.1.2.1
diff -N ilcsoft_default_uninstall_target.cmake
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ ilcsoft_default_uninstall_target.cmake	9 Mar 2011 11:19:34 -0000	1.1.2.1
@@ -0,0 +1,13 @@
+GET_FILENAME_COMPONENT( _current_dir ${CMAKE_CURRENT_LIST_FILE} PATH )
+
+IF( EXISTS "${_current_dir}/cmake_uninstall.cmake.in" )
+
+    # create uninstall configuration file 
+    CONFIGURE_FILE( "${_current_dir}/cmake_uninstall.cmake.in"
+                    "${PROJECT_BINARY_DIR}/cmake_uninstall.cmake" @ONLY )
+
+    # add uninstall target
+    ADD_CUSTOM_TARGET( uninstall "${CMAKE_COMMAND}" -P "${PROJECT_BINARY_DIR}/cmake_uninstall.cmake" )
+
+ENDIF( EXISTS "${_current_dir}/cmake_uninstall.cmake.in" )
+
CVSspam 0.2.8