Print

Print


Commit in slicPandora on MAIN
CMakeLists.txt.old+288added 1.1
keep the old CMake file around in case it is needed by someone

slicPandora
CMakeLists.txt.old added at 1.1
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 )
+
CVSspam 0.2.8