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_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ggdb") include(ExternalProject) ExternalProject_Add( raylib PREFIX "" URL https://github.com/raysan5/raylib/releases/download/5.5/raylib-5.5_linux_amd64.tar.gz URL_HASH SHA256=3d95ef03d5b38dfa55c0a16ca122d382134b078f0e5b270b52fe7eae0549c000 DOWNLOAD_DIR ${CMAKE_BINARY_DIR}/downloads SOURCE_DIR ${CMAKE_BINARY_DIR}/raylib CONFIGURE_COMMAND "" BUILD_COMMAND "" INSTALL_COMMAND "" ) 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/Circle.cpp shared/src/canvas/Tree.cpp shared/src/values/Dna.cpp shared/src/values/DnaManager.cpp shared/src/values/mrand.cpp ) # Add include directories target_include_directories(app PRIVATE app/inc shared/inc ${CMAKE_BINARY_DIR}/raylib/include) target_link_libraries(app ${CMAKE_BINARY_DIR}/raylib/lib/libraylib.a) add_executable(server server/src/server.cpp shared/src/TcpSocket.cpp ) # Add include directories target_include_directories(server PRIVATE server/inc shared/inc) add_executable(client server/src/client.cpp shared/src/TcpSocket.cpp ) target_include_directories(client PRIVATE server/inc shared/inc)