# cmake version to be used
cmake_minimum_required( VERSION 3.0 )

# project name
project( NHF LANGUAGES CXX)

# flags
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

#SET(GCC_COVERAGE_COMPILE_FLAGS "-g -O0 -coverage -fprofile-arcs -ftest-coverage")
#SET(GCC_COVERAGE_LINK_FLAGS    "-coverage -lgcov")
#SET( CMAKE_CXX_FLAGS  "${CMAKE_CXX_FLAGS} ${GCC_COVERAGE_COMPILE_FLAGS}" )
#SET( CMAKE_EXE_LINKER_FLAGS  "${CMAKE_EXE_LINKER_FLAGS} ${GCC_COVERAGE_LINK_FLAGS}" )


add_compile_options(
    -Wall -Wextra
    -Werror
    -ggdb3
    -DMEMTRACE
#    -DNO_MEMTRACE
    -pedantic
    -fdiagnostics-color=always
    -g
)

# include
include_directories(
    ${CMAKE_CURRENT_SOURCE_DIR}/include
)

# Create target and set properties.
set(SOURCE_FILES
    ./src/main.cpp
    ./src/dataCache.cpp
    ./src/iterator.cpp
    ./src/string.cpp
    ./src/memtrace.cpp
)

add_executable( NHF ${SOURCE_FILES} )
