diff --git a/src/external/CMakeLists.txt b/src/external/CMakeLists.txt index 609d3607..6948f2dc 100644 --- a/src/external/CMakeLists.txt +++ b/src/external/CMakeLists.txt @@ -1,7 +1,7 @@ if (ASlibs) add_subdirectory(Nonlocal) -#[==[ add_subdirectory(MagProximity) +#[==[ add_subdirectory(libPhotoMeissner) add_subdirectory(libSpinValve) #]==] diff --git a/src/external/MagProximity/CMakeLists.txt b/src/external/MagProximity/CMakeLists.txt new file mode 100644 index 00000000..a3814554 --- /dev/null +++ b/src/external/MagProximity/CMakeLists.txt @@ -0,0 +1,65 @@ +# - Mag. Proximity library ---------------------------------------------------- + +#--- generate necessary dictionaries ------------------------------------------ +root_generate_dictionary( + PMagProximityFitterDict PMagProximityFitter.h LINKDEF PMagProximityFitterLinkDef.h +) +root_generate_dictionary( + PMPStartupHandlerDict PMPStartupHandler.h LINKDEF PMPStartupHandlerLinkDef.h +) + +#--- create pkg-config info --------------------------------------------------- +set(prefix "${CMAKE_INSTALL_PREFIX}") +set(exec_prefix "\$\{prefix\}") +set(libdir "\$\{exec_prefix\}/lib") +set(includedir "\$\{prefix\}/include") +set(PNL_PIPPARDFITTER_VERSION "1.0.0") +set(PNL_PIPPARDFITTER_LIBRARY_NAME "PMagProximityFitter") +configure_file("PMagProximityFitter.pc.in" "PMagProximityFitter.pc" @ONLY) + +#--- lib creation ------------------------------------------------------------- +add_library(PMagProximityFitter SHARED + PMagProximityFitter.cpp + PMagProximityFitterDict.cxx + PMPRgeHandler.cpp + PMPStartupHandler.cpp + PMPStartupHandlerDict.cxx +) +#--- make sure that the include directory is found ---------------------------- +target_include_directories( + PMagProximityFitter BEFORE PRIVATE $ +) + +#--- add library dependencies ------------------------------------------------- +target_link_libraries(PMagProximityFitter PUserFcnBase ${ROOT_LIBRARIES}) + +#--- install PMagProximityFitter solib ---------------------------------------- +install(TARGETS PMagProximityFitter DESTINATION lib) + +#--- install root pcm's and rootmaps ------------------------------------------ +install( + FILES ${CMAKE_CURRENT_BINARY_DIR}/libPMagProximityFitterDict_rdict.pcm + ${CMAKE_CURRENT_BINARY_DIR}/libPMagProximityFitterDict.rootmap + ${CMAKE_CURRENT_BINARY_DIR}/libPMPStartupHandlerDict_rdict.pcm + ${CMAKE_CURRENT_BINARY_DIR}/libPMPStartupHandlerDict.rootmap + DESTINATION lib +) + +#--- install PMagProximityFitter header --------------------------------------- +install( + FILES + PMagProximity.h + PMagProximityFitter.h + PMPRgeHandler.h + PMPStartupHandler.h + DESTINATION + include +) + +#--- install pkg-config info -------------------------------------------------- +install( + FILES ${CMAKE_CURRENT_BINARY_DIR}/PMagProximityFitter.pc + DESTINATION lib/pkgconfig +) + + diff --git a/src/external/MagProximity/PMagProximityFitter.pc.in b/src/external/MagProximity/PMagProximityFitter.pc.in new file mode 100644 index 00000000..243ff092 --- /dev/null +++ b/src/external/MagProximity/PMagProximityFitter.pc.in @@ -0,0 +1,10 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ + +Name: PMagProximityFitter +Description: C++ shared library providing the mag. proximity fitter class +Version: @P_MAG_PROXIMITY_FITTER_VERSION@ +Libs: -L${libdir} -l@P_MAG_PROXIMITY_FITTER_LIBRARY_NAME@ +Cflags: -I${includedir}