diplomska_naloga/CMakeLists.txt

69 lines
2.5 KiB
CMake

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(
sqlite
PREFIX ""
URL https://www.sqlite.org/2025/sqlite-amalgamation-3480000.zip
URL_HASH SHA256=d9a15a42db7c78f88fe3d3c5945acce2f4bfe9e4da9f685cd19f6ea1d40aa884
DOWNLOAD_DIR ${CMAKE_BINARY_DIR}/downloads
SOURCE_DIR ${CMAKE_BINARY_DIR}/sqlite
CONFIGURE_COMMAND ""
BUILD_COMMAND
${CMAKE_C_COMPILER} -c ${CMAKE_BINARY_DIR}/sqlite/sqlite3.c -o ${CMAKE_BINARY_DIR}/sqlite-prefix/sqlite3.o -DSQLITE_DQS=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_USE_ALLOCA -DSQLITE_OMIT_AUTOINIT -DSQLITE_STRICT_SUBTYPE=1 -DSQLITE_THREADSAFE=2 &&
${CMAKE_AR} rcs ${CMAKE_BINARY_DIR}/sqlite-prefix/libsqlite3.a ${CMAKE_BINARY_DIR}/sqlite-prefix/sqlite3.o
INSTALL_COMMAND ""
)
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
shared/src/TcpSocket.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
server/src/sql.cpp
server/src/checker.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 ${CMAKE_BINARY_DIR}/sqlite/)
target_link_libraries(server PRIVATE pthread dl m ${CMAKE_BINARY_DIR}/sqlite-prefix/libsqlite3.a)