cmake_minimum_required(VERSION 3.16)
project(similarity-graph)

set(CMAKE_CXX_STANDARD 20)

# Add debug flag if appropriate
if (CMAKE_BUILD_TYPE MATCHES Debug)
    add_definitions(-DDEBUG)
endif()

find_package(Eigen3 3.1 REQUIRED)
message(STATUS "[fgt] Eigen3 version: ${EIGEN3_VERSION}")

#find_package(OpenMP REQUIRED)

# Add the Eigen include directory
include_directories(${EIGEN3_INCLUDE_DIR})

# Build the fgt library, using openMP
include_directories(fgt/include/)
#set(WITH_OPENMP OFF CACHE BOOL "Use OpenMP parallelization")
#set(BUILD_SHARED_LIBS ON CACHE BOOL "Build shared libraries")
add_subdirectory(fgt)

# Build and include the stag library
include_directories(stag_lib)
add_subdirectory(stag_lib)

# Define the main executable of the program
add_executable(similarity-graph main.cpp utilities.cpp fsg.cpp kde.cpp)
target_link_libraries(similarity-graph Library-C++) # Link the fgt library
target_link_libraries(similarity-graph stag) # Link the stag library
#target_link_libraries(similarity-graph OpenMP::OpenMP_CXX)
