cmake_minimum_required(VERSION 3.10)
project(MyProject)

# Set the C++ standard
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED True)

# set(CMAKE_VERBOSE_MAKEFILE ON)
add_compile_options(-ggdb)

include_directories(external/include/)
link_libraries(
  ${CMAKE_SOURCE_DIR}/external/libimgui.a
  ${CMAKE_SOURCE_DIR}/external/libraylib.a
  ${CMAKE_SOURCE_DIR}/external/libsqlite3.a
  pthread 
  dl 
  m
)

add_executable(app
  app/src/main.cpp
  app/src/App.cpp
  app/src/DnaStore.cpp
  app/src/sys.cpp
  shared/src/canvas/BackGround.cpp
  shared/src/canvas/BackGroundColors.cpp
  shared/src/canvas/Canvas.cpp
  shared/src/canvas/Tree.cpp
  shared/src/values/Dna.cpp
  shared/src/values/DnaManager.cpp
  shared/src/values/mrand.cpp
  shared/src/values/Similarity.cpp
  shared/src/TcpSocket.cpp
)
# Add include directories
target_include_directories(app PRIVATE app/inc shared/inc )

add_executable(server
  server/src/server.cpp
  server/src/checker.cpp

  shared/src/sql.cpp
  shared/src/TcpSocket.cpp
  shared/src/values/Dna.cpp
  shared/src/values/DnaManager.cpp
  shared/src/values/mrand.cpp
)
# Add include directories
target_include_directories(server PRIVATE server/inc shared/inc)

add_executable(view
  view/src/main.cpp
  view/src/Vapp.cpp
  shared/src/canvas/BackGround.cpp
  shared/src/canvas/BackGroundColors.cpp
  shared/src/canvas/Canvas.cpp
  shared/src/canvas/Tree.cpp
  shared/src/values/Dna.cpp
  shared/src/values/DnaManager.cpp
  shared/src/values/mrand.cpp
  shared/src/values/Similarity.cpp
  
  shared/src/sql.cpp
)
# Add include directories
target_include_directories(view PRIVATE view/inc shared/inc)