project( Code_ )

cmake_minimum_required(VERSION 3.9)

set(CMAKE_CXX_STANDARD 14)

if (NOT CMAKE_VERBOSE_MAKEFILE)
   set(CMAKE_VERBOSE_MAKEFILE ON)
endif()

if (NOT CMAKE_BUILD_TYPE)
    set(CMAKE_BUILD_TYPE "Release")
endif()

if (NOT PHAT_INCLUDE_DIR)
    set(PHAT_INCLUDE_DIR "phat_mod/include")
endif()

if (NOT MPP_UTILS_INCLUDE_DIR)
    set(MPP_UTILS_INCLUDE_DIR "mpp_utils_mod/include")
endif()

if (NOT SCC_INCLUDE_DIR)
    set(SCC_INCLUDE_DIR "scc_mod/include/")
endif()

if (NOT MPFREE_INCLUDE_DIR)
    set(MPFREE_INCLUDE_DIR "mpfree_mod/include/")
endif()

if (NOT MULTI_CHUNK_INCLUDE_DIR)
    set(MULTI_CHUNK_INCLUDE_DIR "multi_chunk_mod/include/")
endif()

include_directories(${PHAT_INCLUDE_DIR})
include_directories(${MPP_UTILS_INCLUDE_DIR})
include_directories(${SCC_INCLUDE_DIR})
include_directories(${MPFREE_INCLUDE_DIR})
include_directories(${MULTI_CHUNK_INCLUDE_DIR})
include_directories(include)

find_package(Boost OPTIONAL_COMPONENTS timer)

if(Boost_TIMER_FOUND)
    add_compile_options(-DMULTI_CRITICAL_TIMERS=1)
    link_libraries(Boost::timer)
endif()

add_executable(multi_critical "multi_critical.cpp")

