# CMakeLists files in this project can
# refer to the root source directory of the project as ${HELLO_SOURCE_DIR} and
# to the root binary directory of the project as ${HELLO_BINARY_DIR}.
cmake_minimum_required (VERSION 2.8.11)
project (MNND)
set (CMAKE_CXX_STANDARD 17)

set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Wall -O0")
#set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Werror -Wextra -Wconversion -Wsign-conversion -Wno-unused-parameter")

SET(DEBUG_OPTVECTOR_TRACKING OFF CACHE BOOL "Enable debugging output for OptVector index tracking framework")
SET(DEBUG_L1_INDICES OFF CACHE BOOL "Enable debugging upkeeping for internal indices in L1")
SET(DEBUG_L1_REGIONS OFF CACHE BOOL "Enable debugging output for L1 state graph regions.")

if(DEBUG_OPTVECTOR_TRACKING)
add_compile_definitions(JPK_DEBUG_OPTVECTOR_TRACKING)
endif(DEBUG_OPTVECTOR_TRACKING)

if(DEBUG_L1_INDICES)
add_compile_definitions(JPK_DEBUG_L1_INDICES)
endif(DEBUG_L1_INDICES)
if(DEBUG_L1_REGIONS)
add_compile_definitions(JPK_DEBUG_L1_REGIONS)
endif(DEBUG_L1_REGIONS)

#find_package(Eigen3 REQUIRED NO_MODULE)
#include_directories( ${EIGEN3_INCLUDE_DIRS} )

enable_testing()

add_subdirectory(tests)
add_subdirectory(pybind)

