190 lines
6.9 KiB
CMake
190 lines
6.9 KiB
CMake
#--- add further sub-directories ----------------------------------------------
|
|
add_subdirectory(classes)
|
|
add_subdirectory(external)
|
|
if (Qt6Core_FOUND)
|
|
add_subdirectory(musredit_qt6)
|
|
elseif (Qt5Core_FOUND)
|
|
add_subdirectory(musredit_qt5)
|
|
elseif (Qt4_FOUND)
|
|
add_subdirectory(musredit)
|
|
elseif (QT_FOUND)
|
|
add_subdirectory(musrgui)
|
|
endif ()
|
|
|
|
#--- define the musrfit libs --------------------------------------------------
|
|
set(MUSRFIT_LIBS
|
|
mud
|
|
TMusrRunHeader
|
|
TLemRunHeader
|
|
Class_MuSR_PSI
|
|
PMusr
|
|
)
|
|
if (nexus)
|
|
list(APPEND MUSRFIT_LIBS ${NEXUS_LIBRARY} PNeXus)
|
|
endif (nexus)
|
|
|
|
#--- add all executables ------------------------------------------------------
|
|
add_executable(addRun addRun.cpp)
|
|
target_compile_options(addRun BEFORE PRIVATE "-DHAVE_CONFIG_H" "${HAVE_GIT_REV_H}")
|
|
target_include_directories(addRun
|
|
BEFORE PRIVATE
|
|
$<BUILD_INTERFACE:${Boost_INCLUDE_DIRS}>
|
|
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}>
|
|
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/src>
|
|
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src/include>
|
|
)
|
|
target_link_libraries(addRun ${ROOT_LIBRARIES} ${MUSRFIT_LIBS} ${BOOST_LINK_LIBS})
|
|
|
|
add_executable(any2many any2many.cpp)
|
|
target_compile_options(any2many BEFORE PRIVATE "-DHAVE_CONFIG_H" "${HAVE_GIT_REV_H}")
|
|
target_include_directories(any2many
|
|
BEFORE PRIVATE
|
|
$<BUILD_INTERFACE:${Boost_INCLUDE_DIRS}>
|
|
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}>
|
|
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/src>
|
|
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src/include>
|
|
)
|
|
target_link_libraries(any2many ${ROOT_LIBRARIES} ${MUSRFIT_LIBS})
|
|
|
|
add_executable(dump_header dump_header.cpp)
|
|
target_compile_options(dump_header BEFORE PRIVATE "-DHAVE_CONFIG_H" "${HAVE_GIT_REV_H}")
|
|
target_include_directories(dump_header
|
|
BEFORE PRIVATE
|
|
$<BUILD_INTERFACE:${Boost_INCLUDE_DIRS}>
|
|
$<BUILD_INTERFACE:${HDF4_INCLUDE_DIRS}>
|
|
$<BUILD_INTERFACE:${HDF5_INCLUDE_DIRS}>
|
|
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}>
|
|
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/src>
|
|
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src/include>
|
|
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src/external/MusrRoot>
|
|
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src/external/TLemRunHeader>
|
|
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src/external/MuSR_software/Class_MuSR_PSI/>
|
|
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src/external/mud/src>
|
|
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src/external/nexus>
|
|
)
|
|
target_link_libraries(dump_header ${ROOT_LIBRARIES} ${MUSRFIT_LIBS})
|
|
|
|
add_executable(msr2data msr2data.cpp)
|
|
target_compile_options(msr2data BEFORE PRIVATE "-DHAVE_CONFIG_H" "${HAVE_GIT_REV_H}")
|
|
target_include_directories(msr2data
|
|
BEFORE PRIVATE
|
|
$<BUILD_INTERFACE:${Boost_INCLUDE_DIRS}>
|
|
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}>
|
|
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/src>
|
|
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src/include>
|
|
)
|
|
target_link_libraries(msr2data ${ROOT_LIBRARIES} ${MUSRFIT_LIBS})
|
|
|
|
add_executable(msr2msr msr2msr.cpp)
|
|
target_link_libraries(msr2msr ${ROOT_LIBRARIES})
|
|
|
|
add_executable(musrfit musrfit.cpp)
|
|
target_compile_options(musrfit BEFORE PRIVATE "-DHAVE_CONFIG_H" "${HAVE_GIT_REV_H}")
|
|
target_include_directories(musrfit
|
|
BEFORE PRIVATE
|
|
$<BUILD_INTERFACE:${DKS_INCLUDE_DIR}>
|
|
$<BUILD_INTERFACE:${Boost_INCLUDE_DIRS}>
|
|
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}>
|
|
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/src>
|
|
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src/include>
|
|
)
|
|
if (OpenMP_CXX_FOUND)
|
|
target_link_libraries(musrfit ${ROOT_LIBRARIES} ${MUSRFIT_LIBS} OpenMP::OpenMP_CXX)
|
|
else ()
|
|
target_link_libraries(musrfit ${ROOT_LIBRARIES} ${MUSRFIT_LIBS})
|
|
endif (OpenMP_CXX_FOUND)
|
|
|
|
add_executable(musrFT musrFT.cpp)
|
|
target_compile_options(musrFT BEFORE PRIVATE "-DHAVE_CONFIG_H" "${HAVE_GIT_REV_H}")
|
|
target_include_directories(musrFT
|
|
BEFORE PRIVATE
|
|
$<BUILD_INTERFACE:${Boost_INCLUDE_DIRS}>
|
|
$<BUILD_INTERFACE:${FFTW3_INCLUDE}>
|
|
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}>
|
|
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/src>
|
|
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src/include>
|
|
)
|
|
target_link_libraries(musrFT FFTW3::FFTW3 ${ROOT_LIBRARIES} ${MUSRFIT_LIBS})
|
|
|
|
add_executable(musrRootValidation musrRootValidation.cpp)
|
|
target_compile_options(musrRootValidation BEFORE PRIVATE "-DHAVE_CONFIG_H" "${HAVE_GIT_REV_H}")
|
|
target_include_directories(musrRootValidation
|
|
BEFORE PRIVATE
|
|
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}>
|
|
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/src>
|
|
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src/include>
|
|
$<BUILD_INTERFACE:${FFTW3_INCLUDE}>
|
|
$<BUILD_INTERFACE:${LIBXML2_INCLUDE_DIR}>
|
|
)
|
|
target_link_libraries(musrRootValidation ${ROOT_LIBRARIES} ${MUSRFIT_LIBS} LibXml2::LibXml2)
|
|
|
|
add_executable(musrt0 musrt0.cpp)
|
|
target_compile_options(musrt0 BEFORE PRIVATE "-DHAVE_CONFIG_H" "${HAVE_GIT_REV_H}")
|
|
target_include_directories(musrt0
|
|
BEFORE PRIVATE
|
|
$<BUILD_INTERFACE:${Boost_INCLUDE_DIRS}>
|
|
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}>
|
|
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/src>
|
|
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src/include>
|
|
)
|
|
target_link_libraries(musrt0 ${ROOT_LIBRARIES} ${MUSRFIT_LIBS})
|
|
|
|
add_executable(musrview musrview.cpp)
|
|
target_compile_options(musrview BEFORE PRIVATE "-DHAVE_CONFIG_H" "${HAVE_GIT_REV_H}")
|
|
target_include_directories(musrview
|
|
BEFORE PRIVATE
|
|
$<BUILD_INTERFACE:${Boost_INCLUDE_DIRS}>
|
|
$<BUILD_INTERFACE:${FFTW3_INCLUDE}>
|
|
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}>
|
|
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/src>
|
|
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src/include>
|
|
)
|
|
target_link_libraries(musrview FFTW3::FFTW3 ${ROOT_LIBRARIES} ${MUSRFIT_LIBS})
|
|
|
|
add_executable(write_musrRoot_runHeader write_musrRoot_runHeader.cpp)
|
|
target_compile_options(write_musrRoot_runHeader BEFORE PRIVATE "-DHAVE_CONFIG_H" "${HAVE_GIT_REV_H}")
|
|
target_include_directories(write_musrRoot_runHeader
|
|
BEFORE PRIVATE
|
|
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}>
|
|
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/src>
|
|
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src/include>
|
|
$<BUILD_INTERFACE:${FFTW3_INCLUDE}>
|
|
$<BUILD_INTERFACE:${LIBXML2_INCLUDE_DIR}>
|
|
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src/external/MusrRoot>
|
|
)
|
|
target_link_libraries(write_musrRoot_runHeader ${ROOT_LIBRARIES} ${MUSRFIT_LIBS} LibXml2::LibXml2)
|
|
|
|
#--- ensure git-revision.h is regenerated before compiling --------------------
|
|
if (IS_GIT_REPO)
|
|
add_dependencies(addRun git_revision)
|
|
add_dependencies(any2many git_revision)
|
|
add_dependencies(dump_header git_revision)
|
|
add_dependencies(msr2data git_revision)
|
|
add_dependencies(musrfit git_revision)
|
|
add_dependencies(musrFT git_revision)
|
|
add_dependencies(musrRootValidation git_revision)
|
|
add_dependencies(musrt0 git_revision)
|
|
add_dependencies(musrview git_revision)
|
|
add_dependencies(write_musrRoot_runHeader git_revision)
|
|
endif (IS_GIT_REPO)
|
|
|
|
#--- installation info --------------------------------------------------------
|
|
install(
|
|
TARGETS
|
|
addRun
|
|
any2many
|
|
dump_header
|
|
msr2data
|
|
msr2msr
|
|
musrfit
|
|
musrFT
|
|
musrRootValidation
|
|
musrt0
|
|
musrview
|
|
write_musrRoot_runHeader
|
|
RUNTIME DESTINATION
|
|
${CMAKE_INSTALL_BINDIR}
|
|
)
|
|
|
|
|