34 lines
882 B
CMake
34 lines
882 B
CMake
cmake_minimum_required(VERSION 3.16)
|
|
project(openkknd C)
|
|
|
|
set(CMAKE_C_STANDARD 11)
|
|
set(CMAKE_C_STANDARD_REQUIRED ON)
|
|
set(CMAKE_C_EXTENSIONS OFF)
|
|
|
|
file(READ "${CMAKE_SOURCE_DIR}/VERSION" OPENKKND_VERSION)
|
|
string(STRIP "${OPENKKND_VERSION}" OPENKKND_VERSION)
|
|
|
|
add_executable(openkknd
|
|
src/main.c
|
|
src/game.c
|
|
src/map.c
|
|
src/unit.c
|
|
src/render.c
|
|
)
|
|
|
|
target_include_directories(openkknd PRIVATE include)
|
|
target_compile_definitions(openkknd PRIVATE
|
|
OPENKKND_VERSION="${OPENKKND_VERSION}"
|
|
)
|
|
|
|
find_package(SDL2 REQUIRED)
|
|
if(TARGET SDL2::SDL2)
|
|
target_link_libraries(openkknd PRIVATE SDL2::SDL2)
|
|
elseif(TARGET SDL2::SDL2-static)
|
|
target_link_libraries(openkknd PRIVATE SDL2::SDL2-static)
|
|
else()
|
|
target_include_directories(openkknd PRIVATE ${SDL2_INCLUDE_DIRS})
|
|
target_link_libraries(openkknd PRIVATE ${SDL2_LIBRARIES})
|
|
endif()
|
|
|
|
install(TARGETS openkknd RUNTIME DESTINATION bin)
|