Hi.
I am using ROOT version 6.18.04. I am trying to use cmake to create shared libraries. I have an example that is used to create static libraries but the problem is that I am not able to load them in the interpreter. This is the code I am using to generate the libraries:
cmake_minimum_required(VERSION 3.5)
project(HypoTestInv LANGUAGES CXX)
# Using ROOT's CONFIG mode search
# The Makefile method also included (non-explicitly, though): Foam Html MathMore Minuit XMLParser
list(APPEND CMAKE_PREFIX_PATH /Users/cashcrusaders/Applications/root-6.18.04_hist)
find_package(ROOT CONFIG REQUIRED COMPONENTS RooStats RooFit RooFitCore HistFactory)
if(TARGET ROOT::Minuit2)
    message(STATUS "Minuit2 included in ROOT")
else()
    message(STATUS "Minuit2 missing from ROOT, using standalone edition")
    find_package(Minuit2 CONFIG REQUIRED)
endif()
# Set flags and things automagically (not ideal, but simplest for now)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/inc/)
include("${ROOT_USE_FILE}")
message(STATUS "Root use_file Path is: " ${ROOT_USE_FILE})
# This function adds a LinkDef and ROOT dictionary for a library
function(ADD_LIBRARY_LINK_DEF NAME)
    file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/RootDict/${NAME}Dict_LinkDef.h"
            "#ifdef __CINT__\n"
            "#pragma link C++ nestedclasses;\n"
            "#pragma link C++ nestedtypedefs;\n"
            "#pragma link C++ defined_in \"${CMAKE_CURRENT_SOURCE_DIR}/inc/${NAME}.h\";\n"
            "#endif\n")
    root_generate_dictionary(
            G__${NAME}
            ${NAME}.h
            LINKDEF
            "${CMAKE_CURRENT_BINARY_DIR}/RootDict/${NAME}Dict_LinkDef.h"
    )
    add_library(${NAME} STATIC G__${NAME}.cxx ${NAME}.cxx)
#    add_library(${NAME}_DYN SHARED G__${NAME}.cxx ${NAME}.cxx)
    target_link_libraries(${NAME} INTERFACE ${ROOT_LIBRARIES})
    # Link to ROOT's Minuit 2 if available, otherwise standalone edition
    if(TARGET ROOT::Minuit2)
        target_link_libraries(${NAME} INTERFACE ROOT::Minuit2)
    else()
        target_link_libraries(${NAME} INTERFACE Minuit2::Minuit2)
    endif()
endfunction()
# Adding core libraries
add_library_link_def(WorkspaceCalculator)
add_library_link_def(ProfileLikelihoodTestStatEnhanced)
add_library_link_def(LimitCalculator)
add_library_link_def(LikelihoodCalculator)
add_library_link_def(PValueCalculator)
add_library_link_def(FitCalculator)
add_library_link_def(HistFactorySimultaneous)
add_library_link_def(RooSimultaneous1)
add_library_link_def(RooSimGenContext)
add_library_link_def(RooSimSplitGenContext)
add_library_link_def(RooAbsPdf)
#add_library_link_def(RooWorkspace)
add_library_link_def(HypoTestInverter)
#add_library_link_def(FrequentistCalculator)
#add_library_link_def(AsymptoticCalculator)
#add_library_link_def(HybridCalculator)
add_library_link_def(HypoTestCalculatorGeneric)
add_library_link_def(ToyMCSampler)
#add_library_link_def(ModelConfig)
# Adding executables
add_executable(StandardHypoTestInv StandardHypoTestInv.cxx)
target_link_libraries(StandardHypoTestInv PUBLIC
        WorkspaceCalculator ProfileLikelihoodTestStatEnhanced LimitCalculator RooSimultaneous1 HistFactorySimultaneous RooSimGenContext RooSimSplitGenContext HypoTestInverter RooAbsPdf ToyMCSampler)
#add_executable(StandardFrequentistDiscovery StandardFrequentistDiscovery.cxx)
#target_link_libraries(StandardFrequentistDiscovery PUBLIC
#    WorkspaceCalculator ProfileLikelihoodTestStatEnhanced PValueCalculator)
#add_executable(LikelihoodScan LikelihoodScan.cxx)
#target_link_libraries(LikelihoodScan PUBLIC
#    WorkspaceCalculator ProfileLikelihoodTestStatEnhanced LikelihoodCalculator)
#add_executable(SimpleFit SimpleFit.cxx)
#target_link_libraries(SimpleFit PUBLIC
#    WorkspaceCalculator ProfileLikelihoodTestStatEnhanced FitCalculator)
Thank you in adv ance