Skip to content
Snippets Groups Projects
CMakeLists.txt 1.53 KiB
Newer Older
Viktor's avatar
Viktor committed
cmake_minimum_required(VERSION 2.8)
Viktor's avatar
Viktor committed
project(Centrality)
Viktor's avatar
Viktor committed
set(CMAKE_MACOSX_RPATH 1)
Viktor's avatar
Viktor committed
set(CMAKE_cpp_STANDARD 11)
Viktor's avatar
Viktor committed
set(CMAKE_BUILD_TYPE debug)

Viktor's avatar
Viktor committed
set(SOURCES
        src/BordersFinder.cpp
        src/BordersFinderHelper.cpp
        src/Getter.cpp
Viktor's avatar
Viktor committed
        src/BordersFinder2D.cpp
Viktor's avatar
Viktor committed
        src/Container.cpp
Viktor's avatar
Viktor committed
        glauber/Fitter.cpp 
        glauber/FitterHelper.cpp 
Viktor's avatar
Viktor committed
        )

Viktor's avatar
Viktor committed
string(REPLACE ".cpp" ".h" HEADERS "${SOURCES}")
Viktor's avatar
Viktor committed

set(CMAKE_VERBOSE_MAKEFILE ON)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")

# Telling CMake where to find the ROOT installation.
list(APPEND CMAKE_PREFIX_PATH $ENV{ROOTSYS})
list(APPEND CMAKE_PREFIX_PATH "${CMAKE_SOURCE_DIR}/lib")

#---Locate the ROOT package and defines a number of variables (e.g. ROOT_INCLUDE_DIRS)
Viktor's avatar
Viktor committed
find_package(ROOT REQUIRED COMPONENTS Core MathCore RIO Hist Tree)
Viktor's avatar
Viktor committed

# Define useful ROOT functions and macros (e.g. ROOT_GENERATE_DICTIONARY)
include(${ROOT_USE_FILE})
add_definitions(${ROOT_CXX_FLAGS})

Viktor's avatar
Viktor committed
include_directories(${CMAKE_SOURCE_DIR} ${ROOT_INCLUDE_DIRS})
Viktor's avatar
Viktor committed

Viktor's avatar
Viktor committed
ROOT_GENERATE_DICTIONARY(G__Centrality ${HEADERS} LINKDEF src/CentralityLinkDef.h)
Viktor's avatar
Viktor committed
add_library(Centrality SHARED ${SOURCES} G__Centrality)
target_link_libraries(Centrality ${ROOT_LIBRARIES})
Viktor's avatar
Viktor committed

# Create a main program using the library
Viktor's avatar
Viktor committed
add_executable(main main.cpp)
Viktor's avatar
Viktor committed
target_link_libraries(main Centrality ${ROOT_LIBRARIES})
Viktor's avatar
Viktor committed
target_include_directories(main PUBLIC src)
Viktor's avatar
Viktor committed

Viktor's avatar
Viktor committed
add_executable(glauber glauber/main.C)
Viktor's avatar
Viktor committed
target_link_libraries(glauber ${ROOT_LIBRARIES} Centrality)
Viktor's avatar
Viktor committed

install(FILES ${HEADERS} DESTINATION include)
install(TARGETS Centrality DESTINATION lib)