cmake/cpack root dictionary issue fixed.

In order that package assembly works, the code needs to be relocatble
and any hints linking it to the original source need to be absent.
The changes here do exactely this. For rootcling the '-inlineInputHeader'
option is needed, otherwise the dictionary wants to load the header
file from the source destination which of course will fail when installing
the package on a machine without the source.
This commit is contained in:
suter_a 2019-02-01 16:05:24 +01:00
parent faffd5bcd6
commit 3cb950277f
14 changed files with 98 additions and 26 deletions

View File

@ -2,35 +2,41 @@
#--- generate necessary dictionaries ------------------------------------------
set(MUSRFIT_INC ${CMAKE_SOURCE_DIR}/src/include)
set(PREFIX_INC ${CMAKE_INSTALL_PREFIX}/include)
root_generate_dictionary(
PFourierCanvasDict
-I${FFTW3_INCLUDE_DIR} ${MUSRFIT_INC}/PFourierCanvas.h
-I${FFTW3_INCLUDE_DIR} -I${MUSRFIT_INC} -I${PREFIX_INC} PFourierCanvas.h
LINKDEF ${MUSRFIT_INC}/PFourierCanvasLinkDef.h
OPTIONS -inlineInputHeader
MODULE PFourierCanvas
)
root_generate_dictionary(
PMusrCanvasDict
-I${Boost_INCLUDE_DIR} -I${FFTW3_INCLUDE_DIR} ${MUSRFIT_INC}/PMusrCanvas.h
-I${Boost_INCLUDE_DIR} -I${FFTW3_INCLUDE_DIR} -I${MUSRFIT_INC} -I${PREFIX_INC} PMusrCanvas.h
LINKDEF ${MUSRFIT_INC}/PMusrCanvasLinkDef.h
OPTIONS -inlineInputHeader
MODULE PMusrCanvas
)
root_generate_dictionary(
PMusrT0Dict
-I${Boost_INCLUDE_DIR} -I${FFTW3_INCLUDE_DIR} ${MUSRFIT_INC}/PMusrT0.h
-I${Boost_INCLUDE_DIR} -I${FFTW3_INCLUDE_DIR} -I${MUSRFIT_INC} -I${PREFIX_INC} PMusrT0.h
LINKDEF ${MUSRFIT_INC}/PMusrT0LinkDef.h
OPTIONS -inlineInputHeader
MODULE PMusrT0
)
root_generate_dictionary(
PStartupHandlerDict
-I${FFTW3_INCLUDE_DIR} ${MUSRFIT_INC}/PStartupHandler.h
-I${FFTW3_INCLUDE_DIR} -I${MUSRFIT_INC} -I${PREFIX_INC} PStartupHandler.h
LINKDEF ${MUSRFIT_INC}/PStartupHandlerLinkDef.h
OPTIONS -inlineInputHeader
MODULE PStartupHandler
)
root_generate_dictionary(
PUserFcnBaseDict
-I${FFTW3_INCLUDE_DIR} ${MUSRFIT_INC}/PUserFcnBase.h
-I${FFTW3_INCLUDE_DIR} -I${MUSRFIT_INC} -I${PREFIX_INC} PUserFcnBase.h
LINKDEF ${MUSRFIT_INC}/PUserFcnBaseLinkDef.h
OPTIONS -inlineInputHeader
MODULE PUserFcnBase
)
@ -160,15 +166,31 @@ install(
)
#--- install headers ----------------------------------------------------------
#--- only install headers needed for classes with dictionary
install(
FILES ${MUSRFIT_INC}/PFourierCanvas.h
FILES ${MUSRFIT_INC}/PFitterFcn.h
${MUSRFIT_INC}/PFitter.h
${MUSRFIT_INC}/PFourierCanvas.h
${MUSRFIT_INC}/PFourier.h
${MUSRFIT_INC}/PFunctionGrammar.h
${MUSRFIT_INC}/PFunction.h
${MUSRFIT_INC}/PFunctionHandler.h
${MUSRFIT_INC}/PMsr2Data.h
${MUSRFIT_INC}/PMsrHandler.h
${MUSRFIT_INC}/PMusrCanvas.h
${MUSRFIT_INC}/PMusr.h
${MUSRFIT_INC}/PMusrT0.h
${MUSRFIT_INC}/PPrepFourier.h
${MUSRFIT_INC}/PRunAsymmetry.h
${MUSRFIT_INC}/PRunAsymmetryRRF.h
${MUSRFIT_INC}/PRunBase.h
${MUSRFIT_INC}/PRunDataHandler.h
${MUSRFIT_INC}/PRunListCollection.h
${MUSRFIT_INC}/PRunMuMinus.h
${MUSRFIT_INC}/PRunNonMusr.h
${MUSRFIT_INC}/PRunSingleHisto.h
${MUSRFIT_INC}/PRunSingleHistoRRF.h
${MUSRFIT_INC}/PStartupHandler.h
${MUSRFIT_INC}/PTheory.h
${MUSRFIT_INC}/PUserFcnBase.h
DESTINATION include
)

View File

@ -3,12 +3,13 @@
#--- generate necessary dictionaries ------------------------------------------
set(MUSRFIT_INC ${CMAKE_SOURCE_DIR}/src/include)
set(CUBA_INC ${CMAKE_SOURCE_DIR}/src/external/libCuba/src)
set(PREFIX_INC ${CMAKE_INSTALL_PREFIX}/include)
root_generate_dictionary(
BMWStartupHandlerDict
-I${MUSRFIT_INC}
BMWStartupHandler.h
-I${MUSRFIT_INC} -I${PREFIX_INC} BMWStartupHandler.h
LINKDEF BMWStartupHandlerLinkDef.h
OPTIONS -inlineInputHeader
MODULE BMWStartupHandler
)

View File

@ -2,20 +2,25 @@
#--- generate necessary dictionaries ------------------------------------------
set(MUSRFIT_INC ${CMAKE_SOURCE_DIR}/src/include)
set(PREFIX_INC ${CMAKE_INSTALL_PREFIX}/include)
root_generate_dictionary(
PMagProximityFitterDict
-I${FFTW3_INCLUDE_DIR}
-I${MUSRFIT_INC}
-I${PREFIX_INC}
PMagProximityFitter.h
LINKDEF PMagProximityFitterLinkDef.h
OPTIONS -inlineInputHeader
MODULE PMagProximityFitter
)
root_generate_dictionary(
PMPStartupHandlerDict
-I${MUSRFIT_INC}
-I${PREFIX_INC}
PMPStartupHandler.h
LINKDEF PMPStartupHandlerLinkDef.h
OPTIONS -inlineInputHeader
MODULE PMPStartupHandler
)

View File

@ -1,8 +1,14 @@
# - TMusrRunHeader library ----------------------------------------------------
#--- generate necessary dictionaries ------------------------------------------
set(MUSRROOT_INC ${CMAKE_SOURCE_DIR}/src/external/MusrRoot)
set(PREFIX_INC ${CMAKE_INSTALL_PREFIX}/include)
root_generate_dictionary(
TMusrRunHeaderDict TMusrRunHeader.h LINKDEF TMusrRunHeaderLinkDef.h
TMusrRunHeaderDict
-I${MUSRROOT_INC} -I${PREFIX_INC} TMusrRunHeader.h
LINKDEF TMusrRunHeaderLinkDef.h
OPTIONS -inlineInputHeader
MODULE TMusrRunHeader
)

View File

@ -2,17 +2,21 @@
#--- generate necessary dictionaries ------------------------------------------
set(MUSRFIT_INC ${CMAKE_SOURCE_DIR}/src/include)
set(NONLOCAL_INC ${CMAKE_SOURCE_DIR}/src/external/Nonlocal)
set(PREFIX_INC ${CMAKE_INSTALL_PREFIX}/include)
root_generate_dictionary(
PNL_PippardFitterDict
-I${FFTW3_INCLUDE_DIR}
-I${MUSRFIT_INC}
PNL_PippardFitter.h
-I${FFTW3_INCLUDE_DIR} -I${MUSRFIT_INC} -I${NONLOCAL_INC} -I${PREFIX_INC} PNL_PippardFitter.h
LINKDEF PNL_PippardFitterLinkDef.h
OPTIONS -inlineInputHeader
MODULE PNL_PippardFitter
)
root_generate_dictionary(
PNL_StartupHandlerDict PNL_StartupHandler.h LINKDEF PNL_StartupHandlerLinkDef.h
PNL_StartupHandlerDict
-I${NONLOCAL_INC} -I${PREFIX_INC} PNL_StartupHandler.h
LINKDEF PNL_StartupHandlerLinkDef.h
OPTIONS -inlineInputHeader
MODULE PNL_StartupHandler
)
@ -38,7 +42,7 @@ target_include_directories(
PNL_PippardFitter BEFORE PRIVATE
$<BUILD_INTERFACE:${FFTW3_INCLUDE_DIR}>
$<BUILD_INTERFACE:${MUSRFIT_INC}>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}>
)
#--- set target properties, e.g. version --------------------------------------
@ -65,6 +69,7 @@ install(
#--- install PNL_PippardFitter header -----------------------------------------
install(
FILES
PNonlocal.h
PNL_PippardFitter.h
PNL_RgeHandler.h
PNL_StartupHandler.h

View File

@ -1,12 +1,21 @@
# -TLemRunHeader library ------------------------------------------------------
#--- generate necessary dictionaries ------------------------------------------
set(TLEMRUNHEADER_INC ${CMAKE_SOURCE_DIR}/src/external/TLemRunHeader)
set(PREFIX_INC ${CMAKE_INSTALL_PREFIX}/include)
root_generate_dictionary(
TLemRunHeaderDict TLemRunHeader.h LINKDEF TLemRunHeaderLinkDef.h
TLemRunHeaderDict
-I${TLEMRUNHEADER_INC} -I${PREFIX_INC} TLemRunHeader.h
LINKDEF TLemRunHeaderLinkDef.h
OPTIONS -inlineInputHeader
MODULE TLemRunHeader
)
root_generate_dictionary(
TLemStatsDict TLemStats.h LINKDEF TLemStatsLinkDef.h
TLemStatsDict
-I${TLEMRUNHEADER_INC} -I${PREFIX_INC} TLemStats.h
LINKDEF TLemStatsLinkDef.h
OPTIONS -inlineInputHeader
MODULE TLemStats
)

View File

@ -5,13 +5,13 @@ add_subdirectory(libLineProfile)
#--- generate necessary dictionaries ------------------------------------------
set(MUSRFIT_INC ${CMAKE_SOURCE_DIR}/src/include)
set(PREFIX_INC ${CMAKE_INSTALL_PREFIX}/include)
root_generate_dictionary(
TBNMRDict
-I${FFTW3_INCLUDE_DIR}
-I${MUSRFIT_INC}
TBNMR.h
-I${FFTW3_INCLUDE_DIR} -I${MUSRFIT_INC} -I${PREFIX_INC} TBNMR.h
LINKDEF TBNMRLinkDef.h
OPTIONS -inlineInputHeader
MODULE TBNMR
)

View File

@ -4,15 +4,13 @@
set(MUSRFIT_INC ${CMAKE_SOURCE_DIR}/src/include)
set(BMW_TOOLS_INC ${CMAKE_SOURCE_DIR}/src/external/BMWtools)
set(POFB_INC ${CMAKE_SOURCE_DIR}/src/external/libFitPofB/include)
set(PREFIX_INC ${CMAKE_INSTALL_PREFIX}/include)
root_generate_dictionary(
TCalcMeanFieldsLEMDict
-I${FFTW3_INCLUDE_DIR}
-I${MUSRFIT_INC}
-I${BMW_TOOLS_INC}
-I${POFB_INC}
TCalcMeanFieldsLEM.h
-I${FFTW3_INCLUDE_DIR} -I${MUSRFIT_INC} -I${BMW_TOOLS_INC} -I${POFB_INC} -I${PREFIX_INC} TCalcMeanFieldsLEM.h
LINKDEF TCalcMeanFieldsLEMLinkDef.h
OPTIONS -inlineInputHeader
MODULE TCalcMeanFieldsLEM
)

View File

@ -4,6 +4,7 @@
set(MUSRFIT_INC ${CMAKE_SOURCE_DIR}/src/include)
set(BMW_TOOLS_INC ${CMAKE_SOURCE_DIR}/src/external/BMWtools)
set(POFB_INC ${CMAKE_SOURCE_DIR}/src/external/libFitPofB/include)
set(PREFIX_INC ${CMAKE_INSTALL_PREFIX}/include)
root_generate_dictionary(
TLondon1DDict
@ -12,8 +13,10 @@ root_generate_dictionary(
-I${BMW_TOOLS_INC}
-I${POFB_INC}
-I${CMAKE_CURRENT_SOURCE_DIR}/../include
-I${PREFIX_INC}
TLondon1D.h
LINKDEF ${CMAKE_CURRENT_SOURCE_DIR}/../include/TLondon1DLinkDef.h
OPTIONS -inlineInputHeader
MODULE TLondon1D
)
root_generate_dictionary(
@ -23,8 +26,10 @@ root_generate_dictionary(
-I${BMW_TOOLS_INC}
-I${POFB_INC}
-I${CMAKE_CURRENT_SOURCE_DIR}/../include
-I${PREFIX_INC}
TVortex.h
LINKDEF ${CMAKE_CURRENT_SOURCE_DIR}/../include/TVortexLinkDef.h
OPTIONS -inlineInputHeader
MODULE TVortex
)
root_generate_dictionary(
@ -34,8 +39,10 @@ root_generate_dictionary(
-I${BMW_TOOLS_INC}
-I${POFB_INC}
-I${CMAKE_CURRENT_SOURCE_DIR}/../include
-I${PREFIX_INC}
TSkewedGss.h
LINKDEF ${CMAKE_CURRENT_SOURCE_DIR}/../include/TSkewedGssLinkDef.h
OPTIONS -inlineInputHeader
MODULE TSkewedGss
)

View File

@ -3,14 +3,17 @@
#--- generate necessary dictionaries ------------------------------------------
set(MUSRFIT_INC ${CMAKE_SOURCE_DIR}/src/include)
set(BMW_TOOLS_INC ${CMAKE_SOURCE_DIR}/src/external/BMWtools)
set(PREFIX_INC ${CMAKE_INSTALL_PREFIX}/include)
root_generate_dictionary(
TGapIntegralsDict
-I${FFTW3_INCLUDE_DIR}
-I${MUSRFIT_INC}
-I${BMW_TOOLS_INC}
-I${PREFIX_INC}
TGapIntegrals.h
LINKDEF TGapIntegralsLinkDef.h
OPTIONS -inlineInputHeader
MODULE TGapIntegrals
)

View File

@ -3,14 +3,17 @@
#--- generate necessary dictionaries ------------------------------------------
set(MUSRFIT_INC ${CMAKE_SOURCE_DIR}/src/include)
set(BMW_TOOLS_INC ${CMAKE_SOURCE_DIR}/src/external/BMWtools)
set(PREFIX_INC ${CMAKE_INSTALL_PREFIX}/include)
root_generate_dictionary(
TLFRelaxationDict
-I${FFTW3_INCLUDE_DIR}
-I${MUSRFIT_INC}
-I${BMW_TOOLS_INC}
-I${PREFIX_INC}
TLFRelaxation.h
LINKDEF TLFRelaxationLinkDef.h
OPTIONS -inlineInputHeader
MODULE TLFRelaxation
)

View File

@ -2,6 +2,7 @@
#--- generate necessary dictionaries ------------------------------------------
set(MUSRFIT_INC ${CMAKE_SOURCE_DIR}/src/include)
set(PREFIX_INC ${CMAKE_INSTALL_PREFIX}/include)
root_generate_dictionary(
PPhotoMeissnerDict
@ -10,16 +11,20 @@ root_generate_dictionary(
-I${ROOT_INCLUDE_DIRS}
-I${MUSRFIT_INC}
-I${CMAKE_CURRENT_SOURCE_DIR}/../include
-I${PREFIX_INC}
PPhotoMeissner.h
LINKDEF ${CMAKE_CURRENT_SOURCE_DIR}/../include/PPhotoMeissnerLinkDef.h
OPTIONS -inlineInputHeader
MODULE PPhotoMeissner
)
root_generate_dictionary(
PStartupHandler_PMDict
-I${MUSRFIT_INC}
-I${CMAKE_CURRENT_SOURCE_DIR}/../include
-I${PREFIX_INC}
PStartupHandler_PM.h
LINKDEF ${CMAKE_CURRENT_SOURCE_DIR}/../include/PStartupHandler_PMLinkDef.h
OPTIONS -inlineInputHeader
MODULE PStartupHandler_PM
)

View File

@ -2,21 +2,26 @@
#--- generate necessary dictionaries ------------------------------------------
set(MUSRFIT_INC ${CMAKE_SOURCE_DIR}/src/include)
set(PREFIX_INC ${CMAKE_INSTALL_PREFIX}/include)
root_generate_dictionary(
PSkewedLorentzianDict
-I${FFTW3_INCLUDE_DIR}
-I${MUSRFIT_INC}
-I${CMAKE_CURRENT_SOURCE_DIR}/../include
-I${PREFIX_INC}
PSkewedLorentzian.h
LINKDEF ${CMAKE_CURRENT_SOURCE_DIR}/../include/PSkewedLorentzianLinkDef.h
OPTIONS -inlineInputHeader
MODULE PSkewedLorentzian
)
root_generate_dictionary(
PStartupHandler_SVDict
-I${CMAKE_CURRENT_SOURCE_DIR}/../include
-I${PREFIX_INC}
PStartupHandler_SV.h
LINKDEF ${CMAKE_CURRENT_SOURCE_DIR}/../include/PStartupHandler_SVLinkDef.h
OPTIONS -inlineInputHeader
MODULE PStartupHandler_SV
)

View File

@ -3,14 +3,17 @@
#--- generate necessary dictionaries ------------------------------------------
set(MUSRFIT_INC ${CMAKE_SOURCE_DIR}/src/include)
set(BMW_TOOLS_INC ${CMAKE_SOURCE_DIR}/src/external/BMWtools)
set(PREFIX_INC ${CMAKE_INSTALL_PREFIX}/include)
root_generate_dictionary(
ZFRelaxationDict
-I${FFTW3_INCLUDE_DIR}
-I${MUSRFIT_INC}
-I${BMW_TOOLS_INC}
-I${PREFIX_INC}
ZFRelaxation.h
LINKDEF ZFRelaxationLinkDef.h
OPTIONS -inlineInputHeader
MODULE ZFRelaxation
)