Files
PixelDefense/engine/CMakeLists.txt

118 lines
2.4 KiB
CMake

cmake_minimum_required(VERSION 3.26)
project(Breeze C)
set(CMAKE_C_STANDARD 11)
if (EMSCRIPTEN)
add_compile_options(-Wall -Wextra -Wpedantic)
else()
#add_compile_options(-Wall -Wextra -Wpedantic -std=c11)
add_compile_options(-Wall -Wextra)
endif()
add_compile_definitions(DEBUG_MODE)
set(BUILD_EXAMPLES false)
add_subdirectory(libs/cimgui)
add_subdirectory(libs/flecs)
add_subdirectory(libs/raylib-4.5.0)
add_subdirectory(libs/rlImGui)
target_link_libraries(rlImGui cimgui raylib)
set(librarySources
libs/cute_tiled/cute_tiled.c
libs/raygui/raygui.c
libs/stb/stb.c
)
set(libraryDirs
libs/cute_tiled
libs/raygui
libs/rlImGui
libs/stb
)
set(BreezeSources
breeze/ai/behaviour_tree.c
breeze/core/logger.c
breeze/core/module_system.c
breeze/memory/memory.c
breeze/memory/stack_alloc.c
breeze/map/map.c
breeze/map/tileset.c
breeze/ui/ui.c
breeze/util/array.c
breeze/util/heap.c
breeze/util/object_pool.c
breeze/util/spatial_grid.c
breeze/util/tokenizer.c
)
set(BreezeHeaders
breeze/ai/behaviour_tree.h
breeze/core/logger.h
breeze/math/vec2i.h
breeze/math/easings.h
breeze/memory/memory.h
breeze/memory/stack_alloc.h
breeze/map/map.h
breeze/map/tileset.h
breeze/ui/ui.h
breeze/util/array.h
breeze/util/heap.h
breeze/util/object_pool.h
breeze/util/spatial_grid.h
breeze/util/string.h
breeze/util/tokenizer.h
breeze/defines.h
breeze/game.h
breeze.h
)
set(BreezeInternalHeaders
breeze/core/logger_module.h
breeze/core/module_system.h
)
add_library(Breeze STATIC
${BreezeSources}
${BreezeInternalHeaders}
${BreezeHeaders}
${librarySources}
)
set_target_properties(Breeze PROPERTIES
PUBLIC_HEADER "${BreezeHeaders}")
target_link_libraries(Breeze raylib flecs::flecs_static rlImGui)
#target_include_directories(Breeze PUBLIC .)
target_include_directories(Breeze
PUBLIC
$<INSTALL_INTERFACE:include>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
${libraryDirs})
file(COPY ${BreezeHeaders} DESTINATION "include")
if (${BUILD_BREEZE_TESTS} AND NOT EMSCRIPTEN)
MESSAGE(STATUS "Building breeze tests is enabled")
add_subdirectory(tests)
endif()