2025-02-06 16:12:15 +01:00

89 lines
1.6 KiB
CMake

cmake_minimum_required(VERSION 3.10)
project(MyProject)
# Set the C++ standard
set(CMAKE_C_STANDARD 99)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED True)
# set(CMAKE_VERBOSE_MAKEFILE ON)
add_compile_options(-O2)
add_library(sqlite3
sqlite3/sqlite3.c
)
target_compile_definitions(sqlite3 PRIVATE
SQLITE_DQS=0
SQLITE_DEFAULT_MEMSTATUS=0
SQLITE_DEFAULT_WAL_SYNCHRONOUS=1
SQLITE_LIKE_DOESNT_MATCH_BLOBS
SQLITE_MAX_EXPR_DEPTH=0
SQLITE_OMIT_DECLTYPE
SQLITE_OMIT_DEPRECATED
SQLITE_OMIT_PROGRESS_CALLBACK
SQLITE_OMIT_SHARED_CACHE
SQLITE_USE_ALLOCA
SQLITE_OMIT_AUTOINIT
SQLITE_STRICT_SUBTYPE=1
SQLITE_THREADSAFE=2
)
add_library(imgui
imgui/imgui_demo.cpp
imgui/imgui_draw.cpp
imgui/imgui_tables.cpp
imgui/imgui_widgets.cpp
imgui/imgui.cpp
imgui_raylib/rlImGui.cpp
)
target_include_directories(imgui PRIVATE raylib/ imgui/)
add_library(raylib
raylib/rcore.c
raylib/rshapes.c
raylib/rtextures.c
raylib/rtext.c
raylib/utils.c
raylib/rglfw.c
raylib/rmodels.c
raylib/raudio.c
)
target_compile_definitions(raylib PUBLIC
_GNU_SOURCE
PLATFORM_DESKTOP_GLFW
GRAPHICS_API_OPENGL_33
_GLFW_X11
)
target_include_directories(raylib PRIVATE
raylib/
raylib/external/glfw/include
)
set(public_headers
raylib/raylib.h
raylib/rlgl.h
raylib/raymath.h
sqlite3/sqlite3.h
imgui/imgui.h
imgui/imconfig.h
imgui_raylib/rlImGui.h
imgui_raylib/rlImGuiColors.h
imgui_raylib/IconsFontAwesome6.h
)
file(COPY ${public_headers} DESTINATION "include")
add_executable(main demo.cpp)
target_link_libraries(main raylib imgui)
target_include_directories(main PRIVATE build/include/)