# Create a library called "libgenfit" which includes the source files given in # the array . # The extension is already found. Any number of sources could be listed here. set(INCLUDE_DIRECTORIES ${ROOT_INCLUDE_DIR} ${CLHEP_INCLUDE_DIR} ${CMAKE_SOURCE_DIR}/genfit #{CMAKE_SOURCE_DIR}/genfit/test ) include_directories( ${INCLUDE_DIRECTORIES}) set(LINK_DIRECTORIES ${ROOT_LIBRARY_DIR} ) set(GENFIT_SRCS ./eventDisplay/src/EventDisplay.cc ./core/src/DetPlane.cc ./core/src/AbsMeasurement.cc ./core/src/AbsFitter.cc ./core/src/AbsFitterInfo.cc ./core/src/MaterialProperties.cc ./core/src/AbsFinitePlane.cc ./core/src/Exception.cc ./core/src/TrackCandHit.cc ./core/src/FieldManager.cc ./core/src/TrackPoint.cc ./core/src/TrackCand.cc ./core/src/ThinScatterer.cc ./core/src/FitStatus.cc ./core/src/StateOnPlane.cc ./core/src/Tools.cc ./core/src/MeasuredStateOnPlane.cc ./core/src/MeasurementOnPlane.cc ./core/src/AbsTrackRep.cc ./core/src/Track.cc ./finitePlanes/src/RectangularFinitePlane.cc ./trackReps/src/RKTrackRep.cc ./trackReps/src/StepLimits.cc ./trackReps/src/RKTools.cc ./trackReps/src/TGeoMaterialInterface.cc ./trackReps/src/MaterialEffects.cc ./measurements/src/WirePointMeasurement.cc ./measurements/src/SpacepointMeasurement.cc ./measurements/src/HMatrixPhi.cc ./measurements/src/FullMeasurement.cc ./measurements/src/WireTrackCandHit.cc ./measurements/src/PlanarMeasurement.cc ./measurements/src/ProlateSpacepointMeasurement.cc ./measurements/src/HMatrixUnit.cc ./measurements/src/HMatrixU.cc ./measurements/src/WireMeasurement.cc ./measurements/src/HMatrixUV.cc ./measurements/src/HMatrixV.cc ./fitters/src/KalmanFitter.cc ./fitters/src/KalmanFitterInfo.cc ./fitters/src/AbsKalmanFitter.cc ./fitters/src/KalmanFitterRefTrack.cc ./fitters/src/DAF.cc ./fitters/src/KalmanFitStatus.cc ./fitters/src/KalmanFittedStateOnPlane.cc ./fitters/src/ReferenceStateOnPlane.cc ./fields/src/ConstField.cc ) link_directories( ${LINK_DIRECTORIES}) # Set GENFIT directories SET(GF_INC_DIRS ./core/include/ ./eventDisplay/include/ ./fields/include/ ./finitePlanes/include/ ./fitters/include/ # ./GBL/include/ ./measurements/include/ ./trackReps/include/ ./utilities/include/ ${GF_INC_DIRS} ) #search for boost, provide some information to user FIND_PACKAGE(Boost) IF (Boost_FOUND) INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIR}) MESSAGE("-- Boost is found at: ${Boost_INCLUDE_DIR}") INSTALL( DIRECTORY ${GF_INC_DIRS} DESTINATION ./include/genfit PATTERN ".svn" EXCLUDE ) ELSE() MESSAGE( " Boost was not found on your system, using the one shipped with GENFIT.") INCLUDE_DIRECTORIES(BEFORE ${CMAKE_CURRENT_SOURCE_DIR}/extern/ ) INSTALL( DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/extern/ ${GF_INC_DIRS} DESTINATION ./include/genfit PATTERN ".svn" EXCLUDE ) ENDIF() IF(NOT CMAKE_BUILD_TYPE) SET(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel." FORCE) ENDIF(NOT CMAKE_BUILD_TYPE) # include directories INCLUDE_DIRECTORIES( BEFORE ${GF_INC_DIRS} ${ROOT_INCLUDE_DIRS}) # declare the ROOT library path LINK_DIRECTORIES(${ROOT_LIBRARY_DIR}) # add the list of source code files -- careful, when a new file is added! AUX_SOURCE_DIRECTORY( ./core/src library_sources ) AUX_SOURCE_DIRECTORY( ./eventDisplay/src library_sources ) AUX_SOURCE_DIRECTORY( ./fields/src library_sources ) AUX_SOURCE_DIRECTORY( ./finitePlanes/src library_sources ) AUX_SOURCE_DIRECTORY( ./fitters/src library_sources ) #AUX_SOURCE_DIRECTORY( ./GBL/src library_sources ) AUX_SOURCE_DIRECTORY( ./measurements/src library_sources ) AUX_SOURCE_DIRECTORY( ./trackReps/src library_sources ) #AUX_SOURCE_DIRECTORY( ./utilities/src library_sources ) if(RULE_CHECKER_FOUND) CHECK_RULES("${GENFIT_SRCS}" "${INCLUDE_DIRECTORIES}" GENFIT_RULES) endif(RULE_CHECKER_FOUND) # fill list of header files from list of source files # by exchanging the file extension set(GENFIT_HEADERS ./eventDisplay/include/EventDisplay.h ./core/include/FitStatus.h ./core/include/MeasuredStateOnPlane.h ./core/include/AbsFinitePlane.h ./core/include/AbsTrackRep.h ./core/include/TrackCand.h ./core/include/DetPlane.h ./core/include/StateOnPlane.h ./core/include/MeasurementFactory.h ./core/include/MaterialProperties.h ./core/include/AbsBField.h ./core/include/AbsHMatrix.h ./core/include/AbsFitter.h ./core/include/FieldManager.h ./core/include/AbsFitterInfo.h ./core/include/AbsMeasurement.h ./core/include/ThinScatterer.h ./core/include/MeasurementOnPlane.h ./core/include/MeasurementProducer.h ./core/include/Track.h ./core/include/Tools.h ./core/include/TrackCandHit.h ./core/include/SharedMaterialPropertiesPtr.h ./core/include/Exception.h ./core/include/SharedPlanePtr.h ./core/include/TrackPoint.h ./finitePlanes/include/RectangularFinitePlane.h ./trackReps/include/StepLimits.h ./trackReps/include/AbsMaterialInterface.h ./trackReps/include/RKTools.h ./trackReps/include/MaterialEffects.h ./trackReps/include/RKTrackRep.h ./trackReps/include/TGeoMaterialInterface.h ./measurements/include/HMatrixPhi.h ./measurements/include/HMatrixUV.h ./measurements/include/ProlateSpacepointMeasurement.h ./measurements/include/PlanarMeasurement.h ./measurements/include/HMatrixUnit.h ./measurements/include/WirePointMeasurement.h ./measurements/include/SpacepointMeasurement.h ./measurements/include/WireTrackCandHit.h ./measurements/include/WireMeasurement.h ./measurements/include/HMatrixV.h ./measurements/include/FullMeasurement.h ./measurements/include/HMatrixU.h ./fitters/include/KalmanFitterInfo.h ./fitters/include/KalmanFitStatus.h ./fitters/include/KalmanFittedStateOnPlane.h ./fitters/include/KalmanFitter.h ./fitters/include/ReferenceStateOnPlane.h ./fitters/include/KalmanFitterRefTrack.h ./fitters/include/AbsKalmanFitter.h ./fitters/include/DAF.h ./fields/include/ConstField.h ) #set(GENFIT_LINKDEF genfitLinkDef.h) #set(GENFIT_DICTIONARY ${CMAKE_CURRENT_BINARY_DIR}/genfitDict.cxx) SET(CORE_DICTIONARY_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/core/include/AbsFinitePlane.h ${CMAKE_CURRENT_SOURCE_DIR}/core/include/AbsFitterInfo.h ${CMAKE_CURRENT_SOURCE_DIR}/core/include/AbsHMatrix.h ${CMAKE_CURRENT_SOURCE_DIR}/core/include/AbsTrackRep.h ${CMAKE_CURRENT_SOURCE_DIR}/core/include/DetPlane.h ${CMAKE_CURRENT_SOURCE_DIR}/core/include/FitStatus.h ${CMAKE_CURRENT_SOURCE_DIR}/core/include/MaterialProperties.h ${CMAKE_CURRENT_SOURCE_DIR}/core/include/MeasuredStateOnPlane.h ${CMAKE_CURRENT_SOURCE_DIR}/core/include/MeasurementFactory.h ${CMAKE_CURRENT_SOURCE_DIR}/core/include/MeasurementOnPlane.h ${CMAKE_CURRENT_SOURCE_DIR}/core/include/MeasurementProducer.h ${CMAKE_CURRENT_SOURCE_DIR}/core/include/StateOnPlane.h ${CMAKE_CURRENT_SOURCE_DIR}/core/include/AbsMeasurement.h ${CMAKE_CURRENT_SOURCE_DIR}/core/include/ThinScatterer.h ${CMAKE_CURRENT_SOURCE_DIR}/core/include/Track.h ${CMAKE_CURRENT_SOURCE_DIR}/core/include/TrackCand.h ${CMAKE_CURRENT_SOURCE_DIR}/core/include/TrackCandHit.h ${CMAKE_CURRENT_SOURCE_DIR}/core/include/TrackPoint.h ${CMAKE_CURRENT_SOURCE_DIR}/finitePlanes/include/RectangularFinitePlane.h ) #SET(GENFIT_SRCS ${GENFIT_SRCS} ${GENFIT_DICTIONARY} ${INCLUDE_DIRECTORIES} ) SET(GENFIT_SRCS ${GENFIT_SRCS} ${INCLUDE_DIRECTORIES} ) ROOT_GENERATE_DICTIONARY("${CORE_DICTIONARY_SOURCES}" "${CMAKE_CURRENT_SOURCE_DIR}/core/src/coreLinkDef.h" "${CMAKE_CURRENT_BINARY_DIR}/coreRootDict.cxx" "${CMAKE_CURRENT_SOURCE_DIR}/core/include" ) SET(library_sources "${CMAKE_CURRENT_BINARY_DIR}/coreRootDict.cxx" "${library_sources}") SET(EVENTDISPLAY_DICTIONARY_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/eventDisplay/include/EventDisplay.h ) ROOT_GENERATE_DICTIONARY("${EVENTDISPLAY_DICTIONARY_SOURCES}" "${CMAKE_CURRENT_SOURCE_DIR}/eventDisplay/src/eventDisplayLinkDef.h" "${CMAKE_CURRENT_BINARY_DIR}/eventDisplayRootDict.cxx" "${CMAKE_CURRENT_SOURCE_DIR}/core/include;${CMAKE_CURRENT_SOURCE_DIR}/fitters/include;${CMAKE_CURRENT_SOURCE_DIR}/eventDisplay/include" ) SET(library_sources "${CMAKE_CURRENT_BINARY_DIR}/eventDisplayRootDict.cxx" "${library_sources}") SET(FITTERS_DICTIONARY_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/fitters/include/AbsKalmanFitter.h ${CMAKE_CURRENT_SOURCE_DIR}/fitters/include/KalmanFittedStateOnPlane.h ${CMAKE_CURRENT_SOURCE_DIR}/fitters/include/KalmanFitStatus.h ${CMAKE_CURRENT_SOURCE_DIR}/fitters/include/ReferenceStateOnPlane.h ${CMAKE_CURRENT_SOURCE_DIR}/fitters/include/KalmanFitterRefTrack.h ${CMAKE_CURRENT_SOURCE_DIR}/fitters/include/KalmanFitter.h ${CMAKE_CURRENT_SOURCE_DIR}/fitters/include/KalmanFitterInfo.h ${CMAKE_CURRENT_SOURCE_DIR}/fitters/include/DAF.h ) ROOT_GENERATE_DICTIONARY("${FITTERS_DICTIONARY_SOURCES}" "${CMAKE_CURRENT_SOURCE_DIR}/fitters/src/fittersLinkDef.h" "${CMAKE_CURRENT_BINARY_DIR}/fittersRootDict.cxx" "${CMAKE_CURRENT_SOURCE_DIR}/core/include;${CMAKE_CURRENT_SOURCE_DIR}/fitters/include" ) SET(library_sources "${CMAKE_CURRENT_BINARY_DIR}/fittersRootDict.cxx" "${library_sources}") SET(MEASUREMENTS_DICTIONARY_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/measurements/include/HMatrixPhi.h ${CMAKE_CURRENT_SOURCE_DIR}/measurements/include/HMatrixU.h ${CMAKE_CURRENT_SOURCE_DIR}/measurements/include/HMatrixUnit.h ${CMAKE_CURRENT_SOURCE_DIR}/measurements/include/HMatrixV.h ${CMAKE_CURRENT_SOURCE_DIR}/measurements/include/HMatrixUV.h ${CMAKE_CURRENT_SOURCE_DIR}/measurements/include/FullMeasurement.h ${CMAKE_CURRENT_SOURCE_DIR}/measurements/include/PlanarMeasurement.h ${CMAKE_CURRENT_SOURCE_DIR}/measurements/include/ProlateSpacepointMeasurement.h ${CMAKE_CURRENT_SOURCE_DIR}/measurements/include/SpacepointMeasurement.h ${CMAKE_CURRENT_SOURCE_DIR}/measurements/include/WireMeasurement.h ${CMAKE_CURRENT_SOURCE_DIR}/measurements/include/WirePointMeasurement.h ${CMAKE_CURRENT_SOURCE_DIR}/measurements/include/WireTrackCandHit.h ) ROOT_GENERATE_DICTIONARY("${MEASUREMENTS_DICTIONARY_SOURCES}" "${CMAKE_CURRENT_SOURCE_DIR}/measurements/src/measurementsLinkDef.h" "${CMAKE_CURRENT_BINARY_DIR}/measurementsRootDict.cxx" "${CMAKE_CURRENT_SOURCE_DIR}/core/include;${CMAKE_CURRENT_SOURCE_DIR}/measurements/include" ) SET(library_sources "${CMAKE_CURRENT_BINARY_DIR}/measurementsRootDict.cxx" "${library_sources}") SET(TRACKREPS_DICTIONARY_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/trackReps/include/RKTrackRep.h ) ROOT_GENERATE_DICTIONARY("${TRACKREPS_DICTIONARY_SOURCES}" "${CMAKE_CURRENT_SOURCE_DIR}/trackReps/src/trackRepsLinkDef.h" "${CMAKE_CURRENT_BINARY_DIR}/trackRepsRootDict.cxx" "${CMAKE_CURRENT_SOURCE_DIR}/core/include;${CMAKE_CURRENT_SOURCE_DIR}/trackReps/include" ) SET(library_sources "${CMAKE_CURRENT_BINARY_DIR}/trackRepsRootDict.cxx" "${library_sources}") #SET(UTILITIES_DICTIONARY_SOURCES # ${CMAKE_CURRENT_SOURCE_DIR}/utilities/include/HelixTrackModel.h # ${CMAKE_CURRENT_SOURCE_DIR}/utilities/include/MeasurementCreator.h # ${CMAKE_CURRENT_SOURCE_DIR}/utilities/include/mySpacepointDetectorHit.h # ${CMAKE_CURRENT_SOURCE_DIR}/utilities/include/mySpacepointMeasurement.h #) #ROOT_GENERATE_DICTIONARY("${UTILITIES_DICTIONARY_SOURCES}" # "${CMAKE_CURRENT_SOURCE_DIR}/core/include;${CMAKE_CURRENT_SOURCE_DIR}/utilities/include;${CMAKE_CURRENT_SOURCE_DIR}/measurements/include" # "${CMAKE_CURRENT_SOURCE_DIR}/utilities/src/utilitiesLinkDef.h" # "${CMAKE_CURRENT_BINARY_DIR}/utilitiesRootDict.cxx") #SET(library_sources "${CMAKE_CURRENT_BINARY_DIR}/utilitiesRootDict.cxx" "${library_sources}") set(DEPENDENCIES ${ROOT_LIBS}) #set(LIBRARY_NAME genfit2) #GENERATE_LIBRARY() MESSAGE(${library_sources}) MESSAGE(${GENFIT_SRCS}) add_library(genfit2 SHARED ${library_sources} ${GENFIT_SRCS}) target_link_libraries(genfit2 ${ROOT_LIBRARIES} -lEve) set_target_properties(genfit2 PROPERTIES ${FAIRROOT_LIBRARY_PROPERTIES} LINKER_LANGUAGE CXX) #add_library(genfit SHARED ${GENFIT_SRCS}) #TARGET_LINK_LIBRARIES(genfit ${ROOT_LIBRARIES}) #set_target_properties(genfit PROPERTIES ${FAIRROOT_LIBRARY_PROPERTIES}) #install(TARGETS genfit DESTINATION ${CMAKE_BINARY_DIR}/lib) #INSTALL( TARGETS ${PROJECT_NAME} DESTINATION lib ) #ADD_CUSTOM_TARGET( tests ) #MACRO( ADD_GENFIT_TEST _testname ) # ADD_EXECUTABLE( ${_testname} EXCLUDE_FROM_ALL ${ARGN} ) # ADD_DEPENDENCIES( tests ${_testname} ) # TARGET_LINK_LIBRARIES( ${_testname} ${PROJECT_NAME} )