cmake_minimum_required(VERSION 3.0)
project(IOTraceExplorer)

#set(CMAKE_BUILD_TYPE Debug)
set(CMAKE_BUILD_TYPE RelWithDebInfo)

set(CMAKE_EXPORT_COMPILE_COMMANDS ON)

if (NOT VCPKG_TOOLCHAIN)
  find_package(PkgConfig)
  pkg_check_modules(GTKMM gtkmm-4.0)
  include_directories(${GTKMM_INCLUDE_DIRS})
  link_directories(${GTKMM_LIBRARY_DIRS})
  link_libraries(${GTKMM_LIBRARIES})
else()
  find_library(ATKMM_LIBRARY atkmm)
  link_libraries(${ATKMM_LIBRARY})
  find_library(CAIROMM_LIBRARY cairomm-1.0)
  link_libraries(${CAIROMM_LIBRARY})
  find_library(GDKMM_LIBRARY gdkmm)
  link_libraries(${GDKMM_LIBRARY})
  find_library(GIOMM_LIBRARY giomm)
  link_libraries(${GIOMM_LIBRARY})
  find_library(GLIBMM_LIBRARY glibmm)
  link_libraries(${GLIBMM_LIBRARY})
  find_library(GTKMM_LIBRARY gtkmm)
  link_libraries(${GTKMM_LIBRARY})
  find_library(PANGOMM_LIBRARY pangomm)
  link_libraries(${PANGOMM_LIBRARY})
  find_library(SIGC_LIBRARY sigc-2.0)
  link_libraries(${SIGC_LIBRARY})
  find_path(GTKMM_INCLUDE_DIRS gtkmm.h)
  include_directories(${GTKMM_INCLUDE_DIRS})
endif()

if (MSVC)
  set(GUI_OPTION WIN32)
  add_cmake_flag(CMAKE_CXX_FLAGS /wd4250)
  set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /ENTRY:mainCRTStartup")
elseif (APPLE)
  set(GUI_OPTION MACOSX_BUNDLE)
endif ()

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
add_executable(${PROJECT_NAME} ${GUI_OPTION} io_trace.cpp main.cpp main_window.cpp plot.cpp)
