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 SCC_INCLUDE_DIR)
    set(SCC_INCLUDE_DIR "scc_mod/include")
endif()

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

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

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

#set(BOOSTROOT ~/software/boost_1_85_0)
#set(BOOST_INCLUDEDIR ~/software/boost_1_85_0)

find_package(Boost 1.85.0 OPTIONAL_COMPONENTS timer)

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

add_compile_options(-DHIGH_PRECISION_OUTPUT=1)

add_executable(graphcode "graphcode.cpp")


