cmake_minimum_required(VERSION 3.15...4.1) project(RootDictExample LANGUAGES CXX) set(CMAKE_PREFIX_PATH "C:/root_src/build" ${CMAKE_PREFIX_PATH}) add_compile_options(/Zc:__cplusplus) set(CMAKE_PREFIX_PATH "C:/root_src/build" ${CMAKE_PREFIX_PATH}) find_package(ROOT REQUIRED COMPONENTS Core Gui) find_package(JsonCpp REQUIRED) set(CMAKE_CXX_FLAGS "${ROOT_CXX_FLAGS}") include(${ROOT_USE_FILE}) include_directories(${ROOT_INCLUDE_DIRS}) link_directories(${ROOT_LIBRARY_DIR}) root_generate_dictionary(G__Dict ${CMAKE_CURRENT_SOURCE_DIR}/gui.hpp LINKDEF ${CMAKE_CURRENT_SOURCE_DIR}/LinkDef.h ) add_library(Dict SHARED G__Dict.cxx gui.hpp ) target_include_directories(Dict PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} ) target_link_libraries(Dict PUBLIC ROOT::Core ROOT::Gui JsonCpp::JsonCpp ) add_executable(gui main.cpp gui.cpp catalog_reader.cpp ) target_link_libraries(gui PUBLIC Dict)