cmake_minimum_required(VERSION 2.8.12 FATAL_ERROR) project(JAliEn-ROOT CXX) list(APPEND CMAKE_PREFIX_PATH ${ROOTSYS}) set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules") find_package(JSONC REQUIRED) find_package(OpenSSL REQUIRED) find_package(libwebsockets REQUIRED) find_package(ROOT REQUIRED COMPONENTS Net Netx Tree XMLIO) foreach(FEATURE xrootd xml) if(NOT ROOT_${FEATURE}_FOUND) message(FATAL_ERROR "ROOT was built without ${FEATURE} support (required)") endif() endforeach() include(${ROOT_USE_FILE}) set(CMAKE_CXX_FLAGS ${ROOT_CXX_FLAGS}) message(STATUS "Using same ROOT CXX flags: ${CMAKE_CXX_FLAGS}") # This is our library's name set(LIBNAME JAliEnROOT) set(SRCS TJAlienCollection.cxx TJAlien.cxx TJAlienDirectory.cxx TJAlienFile.cxx TJAlienJDL.cxx TJAlienJob.cxx TJAlienJobStatus.cxx TJAlienJobStatusList.cxx TJAlienMasterJob.cxx TJAlienMasterJobStatus.cxx TJAlienPackage.cxx TJAlienResult.cxx TJAlienResultRewriter.cxx TJAlienSAXHandler.cxx TJAlienSystem.cxx TJAlienCredentials.cxx TJClientFile.cxx TJAlienDNSResolver.cxx ) string(REPLACE ".cxx" ".h" HDRS "${SRCS}") include_directories(${CMAKE_CURRENT_SOURCE_DIR}) include_directories(${LIBNAME} ${OPENSSL_INCLUDE_DIR}) ROOT_GENERATE_DICTIONARY(G__${LIBNAME} "${HDRS}" LINKDEF LinkDef.h) add_library(${LIBNAME} SHARED "${SRCS}" G__${LIBNAME}.cxx) target_link_libraries(${LIBNAME} ${ROOT_LIBRARIES} json-c websockets) install(TARGETS ${LIBNAME} LIBRARY DESTINATION lib) install(FILES ${PROJECT_BINARY_DIR}/lib${LIBNAME}.rootmap DESTINATION lib) install(FILES ${PROJECT_BINARY_DIR}/lib${LIBNAME}_rdict.pcm DESTINATION lib) install(FILES ${HDRS} DESTINATION include) install(DIRECTORY ${CMAKE_SOURCE_DIR}/etc/plugins DESTINATION etc)