more work towards a modern cmake. As a first example reworked FFTW3 binding.

This commit is contained in:
2022-07-01 16:18:24 +02:00
parent 3f2e96303a
commit ae7f1a2168
19 changed files with 241 additions and 145 deletions

View File

@@ -47,7 +47,6 @@ set_target_properties(BMWtools
#--- make sure that the include directory is found ----------------------------
target_include_directories(
BMWtools BEFORE PRIVATE
$<BUILD_INTERFACE:${FFTW3_INCLUDE_DIR}>
$<BUILD_INTERFACE:${CUBA_INC}>
$<BUILD_INTERFACE:${MUSRFIT_INC}>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>

View File

@@ -12,7 +12,6 @@ root_generate_dictionary(
PDummyUserFcnDict
PDummyUserFcn.h
OPTIONS
-I${FFTW3_INCLUDE_DIR}
-I${MUSRFIT_INC}
-I${DUMMY_USER_FUNC_INC}
-inlineInputHeader
@@ -44,13 +43,12 @@ set_target_properties(PDummyUserFcn
#--- make sure that the include directory is found ----------------------------
target_include_directories(
PDummyUserFcn BEFORE PRIVATE
$<BUILD_INTERFACE:${FFTW3_INCLUDE_DIR}>
$<BUILD_INTERFACE:${MUSRFIT_INC}>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../inc>
)
#--- add library dependencies -------------------------------------------------
target_link_libraries(PDummyUserFcn ${FFTW3_LIBRARY} ${ROOT_LIBRARIES} PUserFcnBase)
target_link_libraries(PDummyUserFcn ${ROOT_LIBRARIES} PUserFcnBase)
#--- install PDummyUserFcn solib -------------------------------------------------
install(TARGETS PDummyUserFcn DESTINATION lib)

View File

@@ -7,7 +7,7 @@ root_generate_dictionary(
PMagProximityFitterDict
PMagProximityFitter.h
OPTIONS
-I${FFTW3_INCLUDE_DIR}
-I${FFTW3_INCLUDE}
-I${MUSRFIT_INC}
-I${CMAKE_CURRENT_SOURCE_DIR}
-inlineInputHeader
@@ -44,7 +44,7 @@ add_library(PMagProximityFitter SHARED
#--- make sure that the include directory is found ----------------------------
target_include_directories(
PMagProximityFitter BEFORE PRIVATE
$<BUILD_INTERFACE:${FFTW3_INCLUDE_DIR}>
$<BUILD_INTERFACE:${FFTW3_INCLUDE}>
$<BUILD_INTERFACE:${MUSRFIT_INC}>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
)
@@ -56,7 +56,7 @@ set_target_properties(PMagProximityFitter
)
#--- add library dependencies -------------------------------------------------
target_link_libraries(PMagProximityFitter ${FFTW3_LIBRARY} ${ROOT_LIBRARIES} PRgeHandler PUserFcnBase)
target_link_libraries(PMagProximityFitter FFTW3::FFTW3 ${ROOT_LIBRARIES} PRgeHandler PUserFcnBase)
#--- install PMagProximityFitter solib ----------------------------------------
install(TARGETS PMagProximityFitter DESTINATION lib)

View File

@@ -14,7 +14,7 @@ root_generate_dictionary(
PNL_PippardFitterDict
PNL_PippardFitter.h
OPTIONS
-I${FFTW3_INCLUDE_DIR}
-I${FFTW3_INCLUDE}
-I${MUSRFIT_INC}
-I${NONLOCAL_INC}
-I${CMAKE_CURRENT_SOURCE_DIR}
@@ -52,7 +52,7 @@ add_library(PNL_PippardFitter SHARED
#--- make sure that the include directory is found ----------------------------
target_include_directories(
PNL_PippardFitter BEFORE PRIVATE
$<BUILD_INTERFACE:${FFTW3_INCLUDE_DIR}>
$<BUILD_INTERFACE:${FFTW3_INCLUDE}>
$<BUILD_INTERFACE:${MUSRFIT_INC}>
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}>
)
@@ -64,7 +64,7 @@ set_target_properties(PNL_PippardFitter
)
#--- add library dependencies -------------------------------------------------
target_link_libraries(PNL_PippardFitter ${Boost_LIBRARIES} ${FFTW3_LIBRARY} ${ROOT_LIBRARIES} PRgeHandler PUserFcnBase)
target_link_libraries(PNL_PippardFitter ${Boost_LIBRARIES} FFTW3::FFTW3 ${ROOT_LIBRARIES} PRgeHandler PUserFcnBase)
#--- install PNL_PippardFitter solib ------------------------------------------
install(TARGETS PNL_PippardFitter DESTINATION lib)

View File

@@ -14,7 +14,6 @@ root_generate_dictionary(
TBNMRDict
TBNMR.h
OPTIONS
-I${FFTW3_INCLUDE_DIR}
-I${MUSRFIT_INC}
-inlineInputHeader
LINKDEF TBNMRLinkDef.h

View File

@@ -11,7 +11,7 @@ root_generate_dictionary(
LineProfileDict
LineProfile.h
OPTIONS
-I${FFTW3_INCLUDE_DIR}
-I${FFTW3_INCLUDE}
-I${MUSRFIT_INC}
LINKDEF LineProfileLinkDef.h
MODULE LineProfile

View File

@@ -13,7 +13,7 @@ root_generate_dictionary(
TCalcMeanFieldsLEMDict
TCalcMeanFieldsLEM.h
OPTIONS
-I${FFTW3_INCLUDE_DIR}
-I${FFTW3_INCLUDE}
-I${MUSRFIT_INC}
-I${BMW_TOOLS_INC}
-I${POFB_INC}
@@ -48,7 +48,7 @@ set_target_properties(CalcMeanFieldsLEM
#--- make sure that the include directory is found ----------------------------
target_include_directories(
CalcMeanFieldsLEM BEFORE PRIVATE
$<BUILD_INTERFACE:${FFTW3_INCLUDE_DIR}>
$<BUILD_INTERFACE:${FFTW3_INCLUDE}>
$<BUILD_INTERFACE:${MUSRFIT_INC}>
$<BUILD_INTERFACE:${BMW_TOOLS_INC}>
$<BUILD_INTERFACE:${POFB_INC}>
@@ -57,7 +57,7 @@ target_include_directories(
#--- add library dependencies -------------------------------------------------
target_link_libraries(CalcMeanFieldsLEM
${FFTW3_LIBRARY} ${ROOT_LIBRARIES} BMWtools FitPofB PUserFcnBase
FFTW3::FFTW3 ${ROOT_LIBRARIES} BMWtools FitPofB PUserFcnBase
)
#--- install CalcMeanFieldsLEM solib ------------------------------------------

View File

@@ -13,7 +13,7 @@ root_generate_dictionary(
TLondon1DDict
TLondon1D.h
OPTIONS
-I${FFTW3_INCLUDE_DIR}
-I${FFTW3_INCLUDE}
-I${MUSRFIT_INC}
-I${BMW_TOOLS_INC}
-I${FIT_P_OF_B_INC}
@@ -25,7 +25,7 @@ root_generate_dictionary(
TVortexDict
TVortex.h
OPTIONS
-I${FFTW3_INCLUDE_DIR}
-I${FFTW3_INCLUDE}
-I${MUSRFIT_INC}
-I${BMW_TOOLS_INC}
-I${FIT_P_OF_B_INC}
@@ -37,7 +37,7 @@ root_generate_dictionary(
TSkewedGssDict
TSkewedGss.h
OPTIONS
-I${FFTW3_INCLUDE_DIR}
-I${FFTW3_INCLUDE}
-I${MUSRFIT_INC}
-I${BMW_TOOLS_INC}
-I${POFB_INC}
@@ -82,7 +82,7 @@ set_target_properties(FitPofB
#--- make sure that the include directory is found ----------------------------
target_include_directories(
FitPofB BEFORE PRIVATE
$<BUILD_INTERFACE:${FFTW3_INCLUDE_DIR}>
$<BUILD_INTERFACE:${FFTW3_INCLUDE}>
$<BUILD_INTERFACE:${MUSRFIT_INC}>
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src/external/TLemRunHeader>
$<BUILD_INTERFACE:${BMW_TOOLS_INC}>
@@ -101,7 +101,7 @@ if (OpenMP_FOUND AND (${CMAKE_HOST_SYSTEM_NAME} STREQUAL Linux))
endif (OpenMP_FOUND AND (${CMAKE_HOST_SYSTEM_NAME} STREQUAL Linux))
target_link_libraries(FitPofB
${gomp}
${FFTW3_LIBRARY} ${FFTW3F_LIBRARY} ${ROOT_LIBRARIES}
FFTW3::FFTW3 FFTW3::FFTW3F ${ROOT_LIBRARIES}
TLemRunHeader PUserFcnBase BMWtools
)

View File

@@ -12,7 +12,7 @@ root_generate_dictionary(
TGapIntegralsDict
TGapIntegrals.h
OPTIONS
-I${FFTW3_INCLUDE_DIR}
-I${FFTW3_INCLUDE}
-I${MUSRFIT_INC}
-I${BMW_TOOLS_INC}
-I${CMAKE_CURRENT_SOURCE_DIR}
@@ -47,7 +47,7 @@ set_target_properties(GapIntegrals
#--- make sure that the include directory is found ----------------------------
target_include_directories(
GapIntegrals BEFORE PRIVATE
$<BUILD_INTERFACE:${FFTW3_INCLUDE_DIR}>
$<BUILD_INTERFACE:${FFTW3_INCLUDE}>
$<BUILD_INTERFACE:${MUSRFIT_INC}>
$<BUILD_INTERFACE:${BMW_TOOLS_INC}>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
@@ -55,7 +55,7 @@ target_include_directories(
#--- add library dependencies -------------------------------------------------
target_link_libraries(GapIntegrals
${GSL_LIBRARIES} ${FFTW3F_LIBRARY} ${ROOT_LIBRARIES}
${GSL_LIBRARIES} FFTW3::FFTW3F ${ROOT_LIBRARIES}
PUserFcnBase cuba BMWtools
)

View File

@@ -31,7 +31,7 @@ add_library(PGbGLF SHARED
#--- make sure that the include directory is found ----------------------------
target_include_directories(
PGbGLF BEFORE PRIVATE
$<BUILD_INTERFACE:${FFTW3_INCLUDE_DIR}>
$<BUILD_INTERFACE:${FFTW3_INCLUDE}>
$<BUILD_INTERFACE:${MUSRFIT_INC}>
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}>
)
@@ -43,7 +43,7 @@ set_target_properties(PGbGLF
)
#--- add library dependencies -------------------------------------------------
target_link_libraries(PGbGLF ${FFTW3_LIBRARY} ${ROOT_LIBRARIES} PUserFcnBase)
target_link_libraries(PGbGLF FFTW3::FFTW3 ${ROOT_LIBRARIES} PUserFcnBase)
#--- install PGbGLF solib -----------------------------------------------------
install(TARGETS PGbGLF DESTINATION lib)

View File

@@ -12,7 +12,7 @@ root_generate_dictionary(
TLFRelaxationDict
TLFRelaxation.h
OPTIONS
-I${FFTW3_INCLUDE_DIR}
-I${FFTW3_INCLUDE}
-I${MUSRFIT_INC}
-I${BMW_TOOLS_INC}
-inlineInputHeader
@@ -46,7 +46,7 @@ set_target_properties(LFRelaxation
#--- make sure that the include directory is found ----------------------------
target_include_directories(
LFRelaxation BEFORE PRIVATE
$<BUILD_INTERFACE:${FFTW3_INCLUDE_DIR}>
$<BUILD_INTERFACE:${FFTW3_INCLUDE}>
$<BUILD_INTERFACE:${MUSRFIT_INC}>
$<BUILD_INTERFACE:${BMW_TOOLS_INC}>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
@@ -63,7 +63,7 @@ if (OpenMP_FOUND AND (${CMAKE_HOST_SYSTEM_NAME} STREQUAL Linux))
endif (OpenMP_FOUND AND (${CMAKE_HOST_SYSTEM_NAME} STREQUAL Linux))
target_link_libraries(LFRelaxation
${gomp}
${GSL_LIBRARIES} ${FFTW3F_LIBRARY}
${GSL_LIBRARIES} FFTW3::FFTW3F
${ROOT_LIBRARIES} PUserFcnBase cuba BMWtools
)

View File

@@ -12,7 +12,7 @@ root_generate_dictionary(
PPhotoMeissnerDict
PPhotoMeissner.h
OPTIONS
-I${FFTW3_INCLUDE_DIR}
-I${FFTW3_INCLUDE}
-I${GSL_INCLUDE_DIRS}
-I${ROOT_INCLUDE_DIRS}
-I${MUSRFIT_INC}
@@ -46,7 +46,7 @@ set_target_properties(PPhotoMeissner
#--- make sure that the include directory is found ----------------------------
target_include_directories(
PPhotoMeissner BEFORE PRIVATE
$<BUILD_INTERFACE:${FFTW3_INCLUDE_DIR}>
$<BUILD_INTERFACE:${FFTW3_INCLUDE}>
$<BUILD_INTERFACE:${GSL_INCLUDE_DIRS}>
$<BUILD_INTERFACE:${ROOT_INCLUDE_DIRS}>
$<BUILD_INTERFACE:${MUSRFIT_INC}>
@@ -55,7 +55,7 @@ target_include_directories(
#--- add library dependencies -------------------------------------------------
target_link_libraries(PPhotoMeissner
${FFTW3_LIBRARY} ${GSL_LIBRARY} ${ROOT_LIBRARIES} PRgeHandler PUserFcnBase
FFTW3::FFTW3 ${GSL_LIBRARY} ${ROOT_LIBRARIES} PRgeHandler PUserFcnBase
)
#--- install PPhotoMeissner solib ---------------------------------------------

View File

@@ -12,7 +12,7 @@ root_generate_dictionary(
PSkewedLorentzianDict
PSkewedLorentzian.h
OPTIONS
-I${FFTW3_INCLUDE_DIR}
-I${FFTW3_INCLUDE}
-I${MUSRFIT_INC}
-I${SPIN_VALVE_INC}
-inlineInputHeader
@@ -55,13 +55,13 @@ set_target_properties(PSpinValve
#--- make sure that the include directory is found ----------------------------
target_include_directories(
PSpinValve BEFORE PRIVATE
$<BUILD_INTERFACE:${FFTW3_INCLUDE_DIR}>
$<BUILD_INTERFACE:${FFTW3_INCLUDE}>
$<BUILD_INTERFACE:${MUSRFIT_INC}>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../include>
)
#--- add library dependencies -------------------------------------------------
target_link_libraries(PSpinValve ${FFTW3_LIBRARY} ${ROOT_LIBRARIES} PUserFcnBase)
target_link_libraries(PSpinValve FFTW3::FFTW3 ${ROOT_LIBRARIES} PUserFcnBase)
#--- install PSpinValve solib -------------------------------------------------
install(TARGETS PSpinValve DESTINATION lib)

View File

@@ -12,7 +12,7 @@ root_generate_dictionary(
ZFRelaxationDict
ZFRelaxation.h
OPTIONS
-I${FFTW3_INCLUDE_DIR}
-I${FFTW3_INCLUDE}
-I${MUSRFIT_INC}
-I${BMW_TOOLS_INC}
-inlineInputHeader
@@ -46,7 +46,7 @@ set_target_properties(ZFRelaxation
#--- make sure that the include directory is found ----------------------------
target_include_directories(
ZFRelaxation BEFORE PRIVATE
$<BUILD_INTERFACE:${FFTW3_INCLUDE_DIR}>
$<BUILD_INTERFACE:${FFTW3_INCLUDE}>
$<BUILD_INTERFACE:${MUSRFIT_INC}>
$<BUILD_INTERFACE:${BMW_TOOLS_INC}>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
@@ -62,7 +62,7 @@ if (OpenMP_FOUND AND (${CMAKE_HOST_SYSTEM_NAME} STREQUAL Linux))
set(gomp gomp)
endif (OpenMP_FOUND AND (${CMAKE_HOST_SYSTEM_NAME} STREQUAL Linux))
target_link_libraries(ZFRelaxation
${gomp} ${FFTW3_LIBRARY} ${ROOT_LIBRARIES} PUserFcnBase cuba BMWtools
${gomp} FFTW3::FFTW3 ${ROOT_LIBRARIES} PUserFcnBase cuba BMWtools
)
#--- install ZFRelaxation solib -----------------------------------------------