slicPandora
diff -N CMakeLists.txt.old
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ CMakeLists.txt.old 4 Mar 2011 00:06:02 -0000 1.1
@@ -0,0 +1,288 @@
+########################################################
+# cmake file for building Marlin example Package
+# @author Jan Engels, DESY
+########################################################
+
+
+########################################################
+# CMake compatibility issues: don't modify this, please!
+CMAKE_MINIMUM_REQUIRED( VERSION 2.4.6 )
+#SET( CMAKE_BACKWARDS_COMPATIBILITY 2.4.6 )
+MARK_AS_ADVANCED(CMAKE_BACKWARDS_COMPATIBILITY)
+# allow more human readable "if then else" constructs
+SET( CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS TRUE )
+########################################################
+
+
+
+####################################################################################################
+# User section: modify as needed
+####################################################################################################
+
+
+# project name
+PROJECT( SlicPandora )
+
+# project version
+SET( ${PROJECT_NAME}_MAJOR_VERSION 1 )
+SET( ${PROJECT_NAME}_MINOR_VERSION 0 )
+SET( ${PROJECT_NAME}_PATCH_LEVEL 0 )
+
+
+### SETTINGS #################################################################
+
+# project options
+OPTION( BUILD_SHARED_LIBS "Set to OFF to build static libraries" ON )
+OPTION( BUILD_32BIT_COMPATIBLE "Set to ON to build in 32 bit compatibility mode" ON )
+OPTION( INSTALL_DOC "Set to OFF to skip build/install Documentation" ON )
+
+# project dependencies
+# e.g. SET( ${PROJECT_NAME}_DEPENDS "Marlin MarlinUtil LCIO GEAR CLHEP GSL RAIDA ROOT" )
+#SET( ${PROJECT_NAME}_DEPENDS "LCIO PandoraPFANew ROOT" )
+
+SET( ${PROJECT_NAME}_DEPENDS "LCIO ROOT" )
+
+IF( APPLE )
+ LIST(APPEND ${PROJECT_NAME}_DEPENDS "streamlog")
+ENDIF()
+
+# 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()
+
+# set default install prefix to project root directory
+IF( CMAKE_INSTALL_PREFIX STREQUAL "/usr/local" )
+ SET( CMAKE_INSTALL_PREFIX "${PROJECT_SOURCE_DIR}" )
+ENDIF()
+
+
+MESSAGE( STATUS "PROJECT_SOURCE_DIR : ${PROJECT_SOURCE_DIR}" )
+#---------------- 32/64 bit issues ---------------------------------------
+IF( CMAKE_SIZEOF_VOID_P EQUAL 4 )
+ MESSAGE( STATUS "32 bit architecture detected" )
+ENDIF()
+
+IF( CMAKE_SIZEOF_VOID_P EQUAL 8 )
+ MESSAGE( STATUS "64 bit architecture detected" )
+
+ IF( BUILD_32BIT_COMPATIBLE )
+ IF( COMMAND SET_PROPERTY )
+ SET_PROPERTY(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS 0)
+ SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32" )
+ ELSE()
+ MESSAGE( FATAL_ERROR "to build in 32 bit compatibility mode you need cmake >= 2.6" )
+ ENDIF()
+ MESSAGE( STATUS "Build in 32 bit compatibility mode" )
+ ELSE()
+ MESSAGE( STATUS "Build in native 64 bit mode" )
+ ENDIF()
+ENDIF()
+#-------------------------------------------------------------------------
+
+
+### INCLUDES #################################################################
+
+#include directories
+INCLUDE_DIRECTORIES( "${PROJECT_SOURCE_DIR}/include")
+INCLUDE_DIRECTORIES( "${PandoraPFANew_HOME}/include")
+INCLUDE_DIRECTORIES( "${PandoraPFANew_HOME}/Framework/include/")
+INCLUDE_DIRECTORIES( "${PandoraPFANew_HOME}/FineGranularityContent/include/")
+INCLUDE_DIRECTORIES( "${PandoraMonitoring_HOME}/include")
+
+# install include files
+INSTALL( DIRECTORY "${PROJECT_SOURCE_DIR}/include"
+ DESTINATION .
+ PATTERN "*~" EXCLUDE
+ PATTERN ".svn*" EXCLUDE
+ PATTERN "*#*" EXCLUDE
+ PATTERN ".#*" EXCLUDE
+ PATTERN "*CVS*" EXCLUDE )
+
+### SOURCES ##################################################################
+
+# require proper c++
+# FIXME -pedantic flag crashes under sl4
+ADD_DEFINITIONS( "-Wall -ansi" )
+
+# get list of all source files
+AUX_SOURCE_DIRECTORY( src library_sources )
+
+# Add link libraries.
+LINK_DIRECTORIES( "${PandoraPFANew_HOME}/lib" )
+LINK_DIRECTORIES( "${PandoraMonitoring_HOME}/lib" )
+
+#SET(PROGRAMS JobManagerTest PandoraFrontend SimpleGeometryLoader )
+SET(PROGRAMS PandoraFrontend )
+FOREACH(program ${PROGRAMS})
+ ADD_EXECUTABLE(${program} ${PROJECT_SOURCE_DIR}/tests/${program}.cpp)
+ TARGET_LINK_LIBRARIES(${program} lib_${PROJECT_NAME})
+ENDFOREACH(program)
+
+# PandoraPFANew libraries.
+TARGET_LINK_LIBRARIES( PandoraFrontend PandoraFramework PandoraFineGranularityContent PandoraKMeansContent )
+
+# PandoraMonitoring dep.
+FIND_PACKAGE( PandoraMonitoring QUIET )
+IF( PandoraMonitoring_FOUND )
+ ADD_DEFINITIONS( -DMONITORING )
+ LINK_LIBRARIES( "${PandoraMonitoring_LIBRARIES}" )
+ELSE()
+ MESSAGE( STATUS "PandoraMonitoring not found -- please set PandoraMonitoring_DIR to activate PandoraMonitoring" )
+ENDIF()
+
+### DOCUMENTATION ############################################################
+
+FIND_PACKAGE( Doxygen )
+IF( DOXYGEN_FOUND )
+
+ ADD_CUSTOM_COMMAND(
+ OUTPUT "${PROJECT_SOURCE_DIR}/doc/html"
+ COMMAND "${DOXYGEN_EXECUTABLE}"
+ WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}/doc"
+ COMMENT "Building API Documentation..."
+ VERBATIM )
+
+ # add doc target
+ ADD_CUSTOM_TARGET( doc DEPENDS
+ "${PROJECT_SOURCE_DIR}/doc/html" )
+ELSE()
+ MESSAGE( STATUS "Doxygen not found in your system!!" )
+ IF( INSTALL_DOC )
+ MESSAGE( STATUS "INSTALL_DOC forced to OFF" )
+ SET( INSTALL_DOC OFF )
+ ENDIF()
+ENDIF()
+
+# install documentation
+IF( INSTALL_DOC )
+ # make sure doxygen is executed (make doc) before make install
+ INSTALL( CODE "EXEC_PROGRAM(${CMAKE_BUILD_TOOL} ${PROJECT_BINARY_DIR} ARGS doc)" )
+ # install documentation
+ INSTALL( DIRECTORY "${PROJECT_SOURCE_DIR}/doc"
+ DESTINATION .
+ PATTERN "*CVS*" EXCLUDE )
+ENDIF()
+
+
+##########################################################################################
+# End of User section: please try not to modify below this line
+##########################################################################################
+
+
+# library *nix style versioning
+SET( ${PROJECT_NAME}_SOVERSION "${${PROJECT_NAME}_MAJOR_VERSION}.${${PROJECT_NAME}_MINOR_VERSION}" )
+SET( ${PROJECT_NAME}_VERSION "${${PROJECT_NAME}_SOVERSION}.${${PROJECT_NAME}_PATCH_LEVEL}" )
+
+# add 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 )
+
+# output directories
+SET( EXECUTABLE_OUTPUT_PATH "${PROJECT_BINARY_DIR}/bin" CACHE PATH
+ "EXECUTABLE_OUTPUT_PATH" FORCE )
+SET( LIBRARY_OUTPUT_PATH "${PROJECT_BINARY_DIR}/lib" CACHE PATH
+ "LIBRARY_OUTPUT_PATH" FORCE )
+MARK_AS_ADVANCED( EXECUTABLE_OUTPUT_PATH LIBRARY_OUTPUT_PATH )
+
+# DEPENDENCIES: this code has to be placed before adding any library or
+# executable so that these are linked properly against the dependencies
+IF( DEFINED ${PROJECT_NAME}_DEPENDS OR DEFINED BUILD_WITH OR DEFINED LINK_WITH )
+ IF( NOT DEFINED CMAKE_MODULE_PATH )
+ MESSAGE( FATAL_ERROR "CMAKE_MODULE_PATH not set! Set it with: "
+ "-DCMAKE_MODULE_PATH=\"/path_to_ilcsoft/CMakeModules\"" )
+ ENDIF()
+ # load macro
+ INCLUDE( "MacroCheckDeps" )
+ CHECK_DEPS()
+ENDIF()
+
+# LIBRARY
+ADD_LIBRARY( lib_${PROJECT_NAME} ${library_sources} )
+# create symbolic lib target for calling target lib_XXX
+ADD_CUSTOM_TARGET( lib DEPENDS lib_${PROJECT_NAME} )
+# change lib_target properties
+SET_TARGET_PROPERTIES( lib_${PROJECT_NAME} PROPERTIES
+ # create *nix style library versions + symbolic links
+ VERSION ${${PROJECT_NAME}_VERSION}
+ SOVERSION ${${PROJECT_NAME}_SOVERSION}
+ # allow creating static and shared libs without conflicts
+ CLEAN_DIRECT_OUTPUT 1
+ # avoid conflicts between library and binary target names
+ OUTPUT_NAME ${PROJECT_NAME} )
+
+
+# install library
+INSTALL( TARGETS lib_${PROJECT_NAME} DESTINATION lib PERMISSIONS
+ OWNER_READ OWNER_WRITE OWNER_EXECUTE
+ GROUP_READ GROUP_EXECUTE
+ WORLD_READ WORLD_EXECUTE )
+
+# create uninstall configuration file
+CONFIGURE_FILE( "${PROJECT_SOURCE_DIR}/cmake_uninstall.cmake.in"
+ "${PROJECT_BINARY_DIR}/cmake_uninstall.cmake"
+ IMMEDIATE @ONLY )
+
+# create uninstall target
+ADD_CUSTOM_TARGET( uninstall
+ "${CMAKE_COMMAND}" -P "${PROJECT_BINARY_DIR}/cmake_uninstall.cmake" )
+
+# create configuration file from .in file
+CONFIGURE_FILE( "${PROJECT_SOURCE_DIR}/${PROJECT_NAME}Config.cmake.in"
+ "${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake" @ONLY )
+
+# install configuration file
+INSTALL( FILES "${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake" DESTINATION . )
+
+# display status message for important variables
+MESSAGE( STATUS )
+MESSAGE( STATUS "-------------------------------------------------------------------------------" )
+MESSAGE( STATUS "BUILD_SHARED_LIBS = ${BUILD_SHARED_LIBS}" )
+MESSAGE( STATUS "CMAKE_INSTALL_PREFIX = ${CMAKE_INSTALL_PREFIX}" )
+MESSAGE( STATUS "CMAKE_BUILD_TYPE = ${CMAKE_BUILD_TYPE}" )
+MESSAGE( STATUS "CMAKE_MODULE_PATH = ${CMAKE_MODULE_PATH}" )
+IF( CMAKE_SIZEOF_VOID_P EQUAL 8 )
+ MESSAGE( STATUS "BUILD_32BIT_COMPATIBLE = ${BUILD_32BIT_COMPATIBLE}" )
+ENDIF()
+MESSAGE( STATUS "${PROJECT_NAME}_DEPENDS = \"${${PROJECT_NAME}_DEPENDS}\"" )
+MESSAGE( STATUS "BUILD_WITH = \"${BUILD_WITH}\"" )
+MESSAGE( STATUS "INSTALL_DOC = ${INSTALL_DOC}" )
+MESSAGE( STATUS "Change a value with: cmake -D<Variable>=<Value>" )
+MESSAGE( STATUS "-------------------------------------------------------------------------------" )
+MESSAGE( STATUS )
+
+# force some variables that could be defined in the command line
+# to be written to cache
+SET( BUILD_SHARED_LIBS "${BUILD_SHARED_LIBS}" CACHE BOOL
+ "Set to OFF to build static libraries" FORCE )
+SET( CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}" CACHE PATH
+ "Where to install ${PROJECT_NAME}" FORCE )
+SET( CMAKE_BUILD_TYPE "${CMAKE_BUILD_TYPE}" CACHE STRING
+ "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel." FORCE )
+SET( BUILD_32BIT_COMPATIBLE "${BUILD_32BIT_COMPATIBLE}" CACHE BOOL
+ "Set to ON to build 32 bit compatible" FORCE )
+SET( CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH}" CACHE PATH
+ "Path to custom CMake Modules" FORCE )
+SET( INSTALL_DOC "${INSTALL_DOC}" CACHE BOOL
+ "Set to OFF to skip build/install Documentation" FORCE )
+
+# export build settings
+INCLUDE( CMakeExportBuildSettings )
+CMAKE_EXPORT_BUILD_SETTINGS( "${PROJECT_NAME}BuildSettings.cmake" )
+INSTALL( FILES "${PROJECT_BINARY_DIR}/${PROJECT_NAME}BuildSettings.cmake" DESTINATION lib/cmake )
+
+# export library dependencies (keep this as the last line in the file)
+EXPORT_LIBRARY_DEPENDENCIES( "${PROJECT_NAME}LibDeps.cmake" )
+INSTALL( FILES "${PROJECT_BINARY_DIR}/${PROJECT_NAME}LibDeps.cmake" DESTINATION lib/cmake )
+