start populating the sub-dirs with the necessary cmake files.

This commit is contained in:
suter_a 2018-05-04 12:51:57 +02:00
parent f7ccf79fa8
commit 83984c1ef5
9 changed files with 225 additions and 17 deletions

View File

@ -1,24 +1,24 @@
# - musrfit # - musrfit
cmake_minimum_required(VERSION 3.6) cmake_minimum_required(VERSION 3.6)
project(musrfit VERSION 1.3.0 LANGUAGES CXX) project(musrfit VERSION 1.3.0 LANGUAGES C CXX)
#--- musrfit specific options ------------------------------------------------------------------- #--- musrfit specific options -------------------------------------------------
option(nexus "build optional NeXus support. Needed for ISIS" OFF) option(nexus "build optional NeXus support. Needed for ISIS" OFF)
option(ASlibs "build optional ASlibs" OFF) option(ASlibs "build optional ASlibs" OFF)
option(BMWlibs "build optional BMWlibs" OFF) option(BMWlibs "build optional BMWlibs" OFF)
option(BNMRlibs "build optional beta-NMR libs" OFF) option(BNMRlibs "build optional beta-NMR libs" OFF)
option(qt_based_tools "try to install Qt based tools" ON) option(qt_based_tools "try to install Qt based tools (musredit, musrWiz, musrStep, mupp)" ON)
#--- check for all the needed packages ---------------------------------------------------------- #--- check for all the needed packages ----------------------------------------
#--- add path to my own find modules and other stuff #--- add path to my own find modules and other stuff
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake) set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
#--- check for git ------------------------------------------------------------------------------ #--- check for git ------------------------------------------------------------
find_package(Git REQUIRED) find_package(Git REQUIRED)
#--- check for ROOT ----------------------------------------------------------------------------- #--- check for ROOT -----------------------------------------------------------
find_package(ROOT 6.06 REQUIRED COMPONENTS MathMore Minuit2 XMLParser) find_package(ROOT 6.06 REQUIRED COMPONENTS MathMore Minuit2 XMLParser)
if (ROOT_mathmore_FOUND) if (ROOT_mathmore_FOUND)
execute_process(COMMAND root-config --bindir OUTPUT_VARIABLE ROOT_BINDIR) execute_process(COMMAND root-config --bindir OUTPUT_VARIABLE ROOT_BINDIR)
@ -26,24 +26,26 @@ if (ROOT_mathmore_FOUND)
execute_process(COMMAND root-config --version OUTPUT_VARIABLE ROOT_VERSION) execute_process(COMMAND root-config --version OUTPUT_VARIABLE ROOT_VERSION)
string(STRIP ${ROOT_VERSION} ROOT_VERSION) string(STRIP ${ROOT_VERSION} ROOT_VERSION)
message("-- Found ROOT: ${ROOT_BINDIR} (found version: ${ROOT_VERSION})") message("-- Found ROOT: ${ROOT_BINDIR} (found version: ${ROOT_VERSION})")
#---Define useful ROOT functions and macros (e.g. ROOT_GENERATE_DICTIONARY)
include(${ROOT_USE_FILE})
endif (ROOT_mathmore_FOUND) endif (ROOT_mathmore_FOUND)
#--- check for boost ---------------------------------------------------------------------------- #--- check for boost ----------------------------------------------------------
find_package(Boost REQUIRED) find_package(Boost REQUIRED)
#--- check for gsl ------------------------------------------------------------------------------ #--- check for gsl ------------------------------------------------------------
find_package(GSL REQUIRED) find_package(GSL REQUIRED)
#--- check for fftw3 ---------------------------------------------------------------------------- #--- check for fftw3 ----------------------------------------------------------
find_package(FFTW3 REQUIRED) find_package(FFTW3 REQUIRED)
#--- check for libxml2 -------------------------------------------------------------------------- #--- check for libxml2 --------------------------------------------------------
find_package(LibXml2 REQUIRED) find_package(LibXml2 REQUIRED)
#--- check for OpenMP --------------------------------------------------------------------------- #--- check for OpenMP ---------------------------------------------------------
find_package(OpenMP REQUIRED) find_package(OpenMP REQUIRED)
#--- check for Qt ------------------------------------------------------------------------------- #--- check for Qt -------------------------------------------------------------
if (qt_based_tools) if (qt_based_tools)
# first try Qt5 # first try Qt5
# Find the QtCore library # Find the QtCore library
@ -66,7 +68,7 @@ if (qt_based_tools)
endif (NOT Qt5Core_FOUND) endif (NOT Qt5Core_FOUND)
endif (qt_based_tools) endif (qt_based_tools)
#--- if NeXus check also for HDF4, HDF5, and MXML ----------------------------------------------- #--- if NeXus check also for HDF4, HDF5, and MXML -----------------------------
if (nexus) if (nexus)
find_package(HDF5 COMPONENTS CXX REQUIRED ) find_package(HDF5 COMPONENTS CXX REQUIRED )
#//as35 - STILL NEEDED?? -> find_package(HDF4 REQUIRED) #//as35 - STILL NEEDED?? -> find_package(HDF4 REQUIRED)
@ -74,11 +76,11 @@ if (nexus)
find_package(NeXus REQUIRED) find_package(NeXus REQUIRED)
endif (nexus) endif (nexus)
#--- check for Cuba lib if BMWlibs are enabled -------------------------------------------------- #--- check for Cuba lib if BMWlibs are enabled --------------------------------
#//as35 probably always stick to the internal one ...
#[==[ #--- propagate to the sub-directories -----------------------------------------
add_subdirectory(src) add_subdirectory(src)
#]==]
#--- write summary of the installation #--- write summary of the installation
message("") message("")
@ -186,4 +188,4 @@ message("")
message("-------------------------------------------------------------------------") message("-------------------------------------------------------------------------")
message("") message("")
#--- end --- #--- end ----------------------------------------------------------------------

27
src/CMakeLists.txt Normal file
View File

@ -0,0 +1,27 @@
#--- add further sub-directories ----------------------------------------------
#[==[
add_subdirectory(classes)
#]==]
add_subdirectory(external)
#[==[
if (Qt5Core_FOUND OR Qt4_FOUND)
add_subdirectory(musredit)
endif (Qt5Core_FOUND OR Qt4_FOUND)
if (QT_FOUND)
add_subdirectory(musrgui)
endif (QT_FOUND)
#]==]
#--- define the musrfit libs --------------------------------------------------
#[==[
set(MUSRFIT_LIBS ${MUSRFIT_LIBS} mud)
set(MUSRFIT_LIBS ${MUSRFIT_LIBS} TMusrRunHeader)
set(MUSRFIT_LIBS ${MUSRFIT_LIBS} TLemRunHeader)
set(MUSRFIT_LIBS ${MUSRFIT_LIBS} Class_MuSR_PSI)
if (nexus)
set(MUSRFIT_LIBS ${MUSRFIT_LIBS} ${LIBNEXUS_LIBRARY})
set(MUSRFIT_LIBS ${MUSRFIT_LIBS} PNeXus)
endif (nexus)
set(MUSRFIT_LIBS ${MUSRFIT_LIBS} PMusr)
#]==]

28
src/external/CMakeLists.txt vendored Normal file
View File

@ -0,0 +1,28 @@
#[==[
if (ASlibs)
add_subdirectory(Nonlocal)
add_subdirectory(MagProximity)
add_subdirectory(libPhotoMeissner)
add_subdirectory(libSpinValve)
endif (ASlibs)
if (BMWlibs)
add_subdirectory(libCuba)
add_subdirectory(BMWtools)
add_subdirectory(libCalcMeanFieldsLEM)
add_subdirectory(libFitPofB)
add_subdirectory(libGapIntegrals)
add_subdirectory(libLFRelaxation)
add_subdirectory(libZFRelaxation)
endif (BMWlibs)
#]==]
add_subdirectory(mud)
add_subdirectory(MusrRoot)
add_subdirectory(TLemRunHeader)
add_subdirectory(MuSR_software)
if (nexus)
add_subdirectory(nexus)
endif (nexus)

View File

@ -0,0 +1 @@
add_subdirectory(Class_MuSR_PSI)

View File

@ -0,0 +1,25 @@
# - Class_MuSR_PSI library ----------------------------------------------------
#--- create pkg-config info ---------------------------------------------------
set(prefix "${CMAKE_INSTALL_PREFIX}")
set(exec_prefix "\$\{prefix\}")
set(libdir "\$\{exec_prefix\}/lib")
set(includedir "\$\{prefix\}/include")
set(PSIBIN_VERSION "0.1.0")
set(PSIBIN_LIBRARY_NAME "Class_MuSR_PSI")
configure_file("Class_MuSR_PSI.pc.in" "Class_MuSR_PSI.pc" @ONLY)
#--- lib creation -------------------------------------------------------------
add_library(Class_MuSR_PSI SHARED MuSR_td_PSI_bin.cpp)
#--- install Class_MuSR_PSI solib ---------------------------------------------
install(TARGETS Class_MuSR_PSI DESTINATION lib)
#--- install MuSR_td_PSI_bin header -------------------------------------------
install(FILES MuSR_td_PSI_bin.h DESTINATION include)
#--- install pkg-config info --------------------------------------------------
install(
FILES ${CMAKE_CURRENT_BINARY_DIR}/Class_MuSR_PSI.pc
DESTINATION lib/pkgconfig
)

43
src/external/MusrRoot/CMakeLists.txt vendored Normal file
View File

@ -0,0 +1,43 @@
# - TMusrRunHeader library ----------------------------------------------------
#--- generate necessary dictionaries ------------------------------------------
root_generate_dictionary(
TMusrRunHeaderDict TMusrRunHeader.h LINKDEF TMusrRunHeaderLinkDef.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_ROOT_VERSION "1.0.0")
set(MUSR_ROOT_LIBRARY_NAME "TMusrRunHeader")
configure_file("TMusrRunHeader.pc.in" "TMusrRunHeader.pc" @ONLY)
#--- lib creation -------------------------------------------------------------
add_library(TMusrRunHeader SHARED
TMusrRunHeader.cpp
TMusrRunHeaderDict.cxx
)
#--- add library dependencies -------------------------------------------------
target_link_libraries(TMusrRunHeader ${ROOT_LIBRARIES})
#--- install TMusrRunHeader solib ---------------------------------------------
install(TARGETS TMusrRunHeader DESTINATION lib)
#--- install root pcm's and rootmaps ------------------------------------------
install(
FILES ${CMAKE_CURRENT_BINARY_DIR}/libTMusrRunHeaderDict_rdict.pcm
${CMAKE_CURRENT_BINARY_DIR}/libTMusrRunHeaderDict.rootmap
DESTINATION lib
)
#--- install TMusrRunHeader header --------------------------------------------
install(FILES TMusrRunHeader.h DESTINATION include)
#--- install pkg-config info --------------------------------------------------
install(
FILES ${CMAKE_CURRENT_BINARY_DIR}/TMusrRunHeader.pc
DESTINATION lib/pkgconfig
)

View File

@ -0,0 +1,48 @@
# -TLemRunHeader library ------------------------------------------------------
#--- generate necessary dictionaries ------------------------------------------
root_generate_dictionary(
TLemRunHeaderDict TLemRunHeader.h LINKDEF TLemRunHeaderLinkDef.h
)
root_generate_dictionary(
TLemStatsDict TLemStats.h LINKDEF TLemStatsLinkDef.h
)
#--- create pkg-config info ---------------------------------------------------
set(prefix "${CMAKE_INSTALL_PREFIX}")
set(exec_prefix "\$\{prefix\}")
set(libdir "\$\{exec_prefix\}/lib")
set(includedir "\$\{prefix\}/include")
set(LEM_VERSION "1.5.0")
set(LEM_LIBRARY_NAME "TLemRunHeader")
configure_file("TLemRunHeader.pc.in" "TLemRunHeader.pc" @ONLY)
#--- lib creation -------------------------------------------------------------
add_library(TLemRunHeader SHARED
TLemRunHeader.cxx
TLemRunHeaderDict.cxx
TLemStats.cxx
TLemStatsDict.cxx
)
#--- add library dependencies -------------------------------------------------
target_link_libraries(TLemRunHeader ${ROOT_LIBRARIES})
#--- install TLemRunHeader solib ----------------------------------------------
install(TARGETS TLemRunHeader DESTINATION lib)
#--- install root pcm's and rootmaps ------------------------------------------
install(
FILES ${CMAKE_CURRENT_BINARY_DIR}/libTLemRunHeaderDict_rdict.pcm
${CMAKE_CURRENT_BINARY_DIR}/libTLemRunHeaderDict.rootmap
DESTINATION lib
)
#--- install headers ----------------------------------------------------------
install(FILES TLemRunHeader.h TLemStats.h DESTINATION include)
#--- install pkg-config info --------------------------------------------------
install(
FILES ${CMAKE_CURRENT_BINARY_DIR}/TLemRunHeader.pc
DESTINATION lib/pkgconfig
)

1
src/external/mud/CMakeLists.txt vendored Normal file
View File

@ -0,0 +1 @@
add_subdirectory(src)

33
src/external/mud/src/CMakeLists.txt vendored Normal file
View File

@ -0,0 +1,33 @@
# - mud library ---------------------------------------------------------------
#--- create pkg-config info ---------------------------------------------------
set(prefix "${CMAKE_INSTALL_PREFIX}")
set(exec_prefix "\$\{prefix\}")
set(libdir "\$\{exec_prefix\}/lib")
set(includedir "\$\{prefix\}/include")
set(MUD_VERSION "1.0.0")
set(MUD_LIBRARY_NAME "mud")
configure_file("mud.pc.in" "mud.pc" @ONLY)
#--- lib creation -------------------------------------------------------------
add_library(mud SHARED
mud_all.c
mud.c
mud_encode.c
mud_friendly.c
mud_gen.c
mud_new.c
mud_tri_ti.c
)
#--- install mud solib --------------------------------------------------------
install(TARGETS mud DESTINATION lib)
#--- install mud header -------------------------------------------------------
install(FILES mud.h DESTINATION include)
#--- install pkg-config info --------------------------------------------------
install(
FILES ${CMAKE_CURRENT_BINARY_DIR}/mud.pc
DESTINATION lib/pkgconfig
)