push cmake further.
This commit is contained in:
parent
83984c1ef5
commit
60893f8df4
@ -1,7 +1,5 @@
|
|||||||
#--- add further sub-directories ----------------------------------------------
|
#--- add further sub-directories ----------------------------------------------
|
||||||
#[==[
|
|
||||||
add_subdirectory(classes)
|
add_subdirectory(classes)
|
||||||
#]==]
|
|
||||||
add_subdirectory(external)
|
add_subdirectory(external)
|
||||||
#[==[
|
#[==[
|
||||||
if (Qt5Core_FOUND OR Qt4_FOUND)
|
if (Qt5Core_FOUND OR Qt4_FOUND)
|
||||||
@ -13,15 +11,43 @@ endif (QT_FOUND)
|
|||||||
#]==]
|
#]==]
|
||||||
|
|
||||||
#--- define the musrfit libs --------------------------------------------------
|
#--- define the musrfit libs --------------------------------------------------
|
||||||
#[==[
|
|
||||||
set(MUSRFIT_LIBS ${MUSRFIT_LIBS} mud)
|
set(MUSRFIT_LIBS ${MUSRFIT_LIBS} mud)
|
||||||
set(MUSRFIT_LIBS ${MUSRFIT_LIBS} TMusrRunHeader)
|
set(MUSRFIT_LIBS ${MUSRFIT_LIBS} TMusrRunHeader)
|
||||||
set(MUSRFIT_LIBS ${MUSRFIT_LIBS} TLemRunHeader)
|
set(MUSRFIT_LIBS ${MUSRFIT_LIBS} TLemRunHeader)
|
||||||
set(MUSRFIT_LIBS ${MUSRFIT_LIBS} Class_MuSR_PSI)
|
set(MUSRFIT_LIBS ${MUSRFIT_LIBS} Class_MuSR_PSI)
|
||||||
if (nexus)
|
if (nexus)
|
||||||
set(MUSRFIT_LIBS ${MUSRFIT_LIBS} ${LIBNEXUS_LIBRARY})
|
set(MUSRFIT_LIBS ${MUSRFIT_LIBS} ${NEXUS_LIBRARY})
|
||||||
set(MUSRFIT_LIBS ${MUSRFIT_LIBS} PNeXus)
|
set(MUSRFIT_LIBS ${MUSRFIT_LIBS} PNeXus)
|
||||||
endif (nexus)
|
endif (nexus)
|
||||||
set(MUSRFIT_LIBS ${MUSRFIT_LIBS} PMusr)
|
set(MUSRFIT_LIBS ${MUSRFIT_LIBS} PMusr)
|
||||||
#]==]
|
|
||||||
|
#--- start create git-revision.h ----------------------------------------------
|
||||||
|
configure_file(
|
||||||
|
${CMAKE_SOURCE_DIR}/cmake/configure_musrfit_version_file.cmake.in
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/configure_musrfit_version_file.cmake
|
||||||
|
@ONLY
|
||||||
|
)
|
||||||
|
|
||||||
|
add_custom_command(
|
||||||
|
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/git-revision.h
|
||||||
|
COMMAND ${CMAKE_COMMAND} -P
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/configure_musrfit_version_file.cmake
|
||||||
|
DEPENDS
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/configure_musrfit_version_file.cmake
|
||||||
|
${CMAKE_SOURCE_DIR}/cmake/git-revision.h.in
|
||||||
|
COMMENT "Configuring git-revision.h"
|
||||||
|
VERBATIM
|
||||||
|
)
|
||||||
|
|
||||||
|
add_custom_target(
|
||||||
|
configure_musrfit_version ALL
|
||||||
|
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/git-revision.h
|
||||||
|
)
|
||||||
|
#--- end create git-revision.h ------------------------------------------------
|
||||||
|
|
||||||
|
#--- add all executables ------------------------------------------------------
|
||||||
|
message("debug> ${CMAKE_BINARY_DIR}")
|
||||||
|
add_executable(any2many git-revision.h any2many.cpp)
|
||||||
|
target_include_directories(any2many BEFORE PRIVATE $<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/src>)
|
||||||
|
target_link_libraries(any2many ${ROOT_LIBRARIES} ${FFTW3_LIBRARY} ${MUSRFIT_LIBS})
|
||||||
|
|
||||||
|
124
src/classes/CMakeLists.txt
Normal file
124
src/classes/CMakeLists.txt
Normal file
@ -0,0 +1,124 @@
|
|||||||
|
#--- build the PMusr and PUserFcnBase libs ------------------------------------
|
||||||
|
|
||||||
|
#--- generate necessary dictionaries ------------------------------------------
|
||||||
|
set(MUSRFIT_INC ${CMAKE_SOURCE_DIR}/src/include)
|
||||||
|
root_generate_dictionary(
|
||||||
|
PFourierCanvasDict ${MUSRFIT_INC}/PFourierCanvas.h LINKDEF ${MUSRFIT_INC}/PFourierCanvasLinkDef.h
|
||||||
|
)
|
||||||
|
root_generate_dictionary(
|
||||||
|
PMusrCanvasDict ${MUSRFIT_INC}/PMusrCanvas.h LINKDEF ${MUSRFIT_INC}/PMusrCanvasLinkDef.h
|
||||||
|
)
|
||||||
|
root_generate_dictionary(
|
||||||
|
PMusrT0Dict ${MUSRFIT_INC}/PMusrT0.h LINKDEF ${MUSRFIT_INC}/PMusrT0LinkDef.h
|
||||||
|
)
|
||||||
|
root_generate_dictionary(
|
||||||
|
PStartupHandlerDict ${MUSRFIT_INC}/PStartupHandler.h LINKDEF ${MUSRFIT_INC}/PStartupHandlerLinkDef.h
|
||||||
|
)
|
||||||
|
root_generate_dictionary(
|
||||||
|
PUserFcnBaseDict ${MUSRFIT_INC}/PUserFcnBase.h LINKDEF ${MUSRFIT_INC}/PUserFcnBaseLinkDef.h
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- create pkg-config info ---------------------------------------------------
|
||||||
|
set(prefix "${CMAKE_INSTALL_PREFIX}")
|
||||||
|
set(exec_prefix "\$\{prefix\}")
|
||||||
|
set(libdir "\$\{exec_prefix\}/lib")
|
||||||
|
set(includedir "\$\{prefix\}/include")
|
||||||
|
set(MUSR_VERSION "1.2.0")
|
||||||
|
set(MUSR_LIBRARY_NAME "PMusr")
|
||||||
|
configure_file("PMusr.pc.in" "PMusr.pc" @ONLY)
|
||||||
|
set(USERFCN_LIBRARY_NAME "PUserFcnBase")
|
||||||
|
configure_file("PUserFcnBase.pc.in" "PUserFcnBase.pc" @ONLY)
|
||||||
|
|
||||||
|
#--- lib creation -------------------------------------------------------------
|
||||||
|
add_library(PMusr SHARED
|
||||||
|
PFitter.cpp
|
||||||
|
PFitterFcn.cpp
|
||||||
|
PFourier.cpp
|
||||||
|
PFourierCanvas.cpp
|
||||||
|
PFourierCanvasDict.cxx
|
||||||
|
PMusrCanvas.cpp
|
||||||
|
PMusrCanvasDict.cxx
|
||||||
|
PFunction.cpp
|
||||||
|
PFunctionHandler.cpp
|
||||||
|
PMsr2Data.cpp
|
||||||
|
PMsrHandler.cpp
|
||||||
|
PMusrCanvas.cpp
|
||||||
|
PMusrCanvasDict.cxx
|
||||||
|
PMusr.cpp
|
||||||
|
PMusrT0.cpp
|
||||||
|
PMusrT0Dict.cxx
|
||||||
|
PRunAsymmetry.cpp
|
||||||
|
PRunBase.cpp
|
||||||
|
PRunDataHandler.cpp
|
||||||
|
PRunListCollection.cpp
|
||||||
|
PRunMuMinus.cpp
|
||||||
|
PRunNonMusr.cpp
|
||||||
|
PRunSingleHisto.cpp
|
||||||
|
PStartupHandler.cpp
|
||||||
|
PStartupHandlerDict.cxx
|
||||||
|
PTheory.cpp
|
||||||
|
)
|
||||||
|
|
||||||
|
add_library(PUserFcnBase SHARED
|
||||||
|
PUserFcnBase.cpp
|
||||||
|
PUserFcnBaseDict.cxx
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- add library dependencies -------------------------------------------------
|
||||||
|
set(DependOnLibs ${ROOT_LIBARIES})
|
||||||
|
set(DependOnLibs ${DependOnLibs} ${FFTW3_LIBRARY})
|
||||||
|
set(DependOnLibs ${DependOnLibs} PUserFcnBase)
|
||||||
|
set(DependOnLibs ${DependOnLibs} mud)
|
||||||
|
set(DependOnLibs ${DependOnLibs} TMusrRunHeader)
|
||||||
|
set(DependOnLibs ${DependOnLibs} TLemRunHeader)
|
||||||
|
set(DependOnLibs ${DependOnLibs} Class_MuSR_PSI)
|
||||||
|
if (nexus)
|
||||||
|
set(DependOnLibs ${DependOnLibs} ${LIBNEXUS_LIBRARY})
|
||||||
|
set(DependOnLibs ${DependOnLibs} PNeXus)
|
||||||
|
endif (nexus)
|
||||||
|
|
||||||
|
target_link_libraries(PUserFcnBase ${ROOT_LIBRARIES})
|
||||||
|
target_link_libraries(PMusr ${DependOnLibs})
|
||||||
|
|
||||||
|
#--- install PUserFcnBase solib -----------------------------------------------
|
||||||
|
install(TARGETS PUserFcnBase DESTINATION lib)
|
||||||
|
|
||||||
|
#--- install PMusr solib ------------------------------------------------------
|
||||||
|
install(TARGETS PMusr DESTINATION lib)
|
||||||
|
|
||||||
|
#--- install root pcm's and rootmaps ------------------------------------------
|
||||||
|
install(
|
||||||
|
FILES ${CMAKE_CURRENT_BINARY_DIR}/libPFourierCanvasDict_rdict.pcm
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/libPFourierCanvasDict.rootmap
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/libPMusrCanvasDict_rdict.pcm
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/libPMusrCanvasDict.rootmap
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/libPMusrT0Dict_rdict.pcm
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/libPMusrT0Dict.rootmap
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/libPStartupHandlerDict_rdict.pcm
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/libPStartupHandlerDict.rootmap
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/libPUserFcnBaseDict_rdict.pcm
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/libPUserFcnBaseDict.rootmap
|
||||||
|
DESTINATION lib
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- install headers ----------------------------------------------------------
|
||||||
|
#--- only install headers needed for classes with dictionary
|
||||||
|
install(
|
||||||
|
FILES ${MUSRFIT_INC}/PFourierCanvas.h
|
||||||
|
${MUSRFIT_INC}/PFourier.h
|
||||||
|
${MUSRFIT_INC}/PMusrCanvas.h
|
||||||
|
${MUSRFIT_INC}/PMusr.h
|
||||||
|
${MUSRFIT_INC}/PMusrT0.h
|
||||||
|
${MUSRFIT_INC}/PRunListCollection.h
|
||||||
|
${MUSRFIT_INC}/PStartupHandler.h
|
||||||
|
${MUSRFIT_INC}/PUserFcnBase.h
|
||||||
|
DESTINATION include
|
||||||
|
)
|
||||||
|
|
||||||
|
#--- install pkg-config info --------------------------------------------------
|
||||||
|
install(
|
||||||
|
FILES ${CMAKE_CURRENT_BINARY_DIR}/PUserFcnBase.pc
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/PMusr.pc
|
||||||
|
DESTINATION lib/pkgconfig
|
||||||
|
)
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user