# Copyright (C) 1995-2019, Rene Brun and Fons Rademakers. # All rights reserved. # # For the licensing terms see $ROOTSYS/LICENSE. # For the list of contributors see $ROOTSYS/README/CREDITS. ############################################################################ # CMakeLists.txt file for building ROOT gui/cefdisplay package ############################################################################ if(DEFINED ENV{CEF_ROOT}) set(libname ROOTCefDisplay) set(CEF_sources src/simple_app.cxx src/gui_handler.cxx src/RCefWebDisplayHandle.cxx) set(CEF_root $ENV{CEF_ROOT}) # ensure bin directory is exists where CEF files should be copied file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/bin) if(ROOT_ARCHITECTURE MATCHES macosx) set(CEF_platform src/gui_handler_mac.mm) set(CEF_RELEASE_DIR ${CEF_root}/Release/Chromium\ Embedded\ Framework.framework) set(CEF_LIBRARY ${CEF_RELEASE_DIR}/Chromium\ Embedded\ Framework) set(CEF_LIB_DEPENDENCY "-framework Foundation") set(CEF_DLL_WRAPPER ${CEF_root}/build/libcef_dll_wrapper/libcef_dll_wrapper.a) file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/Frameworks/Chromium\ Embedded\ Framework.framework) file(COPY ${CEF_RELEASE_DIR} DESTINATION ${CMAKE_BINARY_DIR}/Frameworks/) elseif(MSVC) set(CEF_platform src/gui_handler_win.cc) set(CEF_RESOURCES ${CEF_root}/Resources) set(CEF_RELEASE_DIR ${CEF_root}/Release) set(CEF_LIBRARY ${CEF_RELEASE_DIR}/libcef.lib) set(CEF_DLL_WRAPPER ${CEF_root}/build/libcef_dll_wrapper/Release/libcef_dll_wrapper.lib) file(COPY ${CEF_RELEASE_DIR}/ DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) file(COPY ${CEF_RESOURCES}/ DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) else() set(CEF_platform src/gui_handler_linux.cxx) set(CEF_RESOURCES ${CEF_root}/Resources) set(CEF_RELEASE_DIR ${CEF_root}/Release) set(CEF_LIBRARY ${CEF_RELEASE_DIR}/libcef.so) set(CEF_DLL_WRAPPER ${CEF_root}/build/libcef_dll_wrapper/libcef_dll_wrapper.a) set(CEF_LIB_DEPENDENCY ${X11_LIBRARIES}) file(COPY ${CEF_RELEASE_DIR}/ DESTINATION ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}) file(COPY ${CEF_RESOURCES}/ DESTINATION ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}) if(EXISTS ${CEF_RELEASE_DIR}/swiftshader) file(COPY ${CEF_RELEASE_DIR}/swiftshader DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) endif() endif() include_directories($ENV{CEF_ROOT} inc) set(CEF_MAIN src/cef_main.cxx) ROOT_LINKER_LIBRARY(${libname} ${CEF_sources} ${CEF_platform} LIBRARIES ${CMAKE_DL_LIBS} ${CEF_LIBRARY} ${CEF_DLL_WRAPPER} ${CEF_LIB_DEPENDENCY} DEPENDENCIES RHTTP ROOTWebDisplay) target_compile_definitions(${libname} PRIVATE NDEBUG) ROOT_EXECUTABLE(cef_main ${CEF_MAIN} LIBRARIES ${CEF_LIBRARY} ${CEF_DLL_WRAPPER}) endif()