59 lines
1.8 KiB
CMake
59 lines
1.8 KiB
CMake
# CMakeLists.txt
|
|
|
|
# Written by JackCarterSmith, 2024
|
|
# This file is released under the AST license.
|
|
|
|
cmake_minimum_required(VERSION 3.10)
|
|
cmake_policy(VERSION 3.10)
|
|
set(CMAKE_MODULE_PATH ${CMAKE_BINARY_DIR})
|
|
|
|
# define project
|
|
#set(APPEND CMAKE_EXE_LINKER_FLAGS "-Wl,-subsystem,console")
|
|
project(AST VERSION 1.0.0 DESCRIPTION "Arena Survival Tournament" LANGUAGES C)
|
|
set(AST_NAME AST-${PROJECT_VERSION})
|
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/config.h.in ${CMAKE_CURRENT_SOURCE_DIR}/src/config.h @ONLY)
|
|
|
|
include(FindPkgConfig)
|
|
include(CheckIncludeFile)
|
|
include(CheckCSourceCompiles)
|
|
|
|
# Find SDL2, SDL2_image and SDL2_gfx libraries
|
|
find_package(SDL2 REQUIRED)
|
|
include_directories(SDL2::SDL2)
|
|
find_package(SDL2_image REQUIRED)
|
|
include_directories(SDL2_image::SDL2_image)
|
|
|
|
# define src/headers files
|
|
|
|
FILE(GLOB AST_SCRS src/*.c)
|
|
FILE(GLOB AST_HRDS src/*.h)
|
|
SOURCE_GROUP("Source Files" FILES ${AST_SCRS})
|
|
SOURCE_GROUP("Header Files" FILES ${AST_HRDS})
|
|
|
|
# begin building AST
|
|
|
|
#set(CMAKE_BUILD_TYPE Debug)
|
|
#include_directories(${CMAKE_CURRENT_SOURCE_DIR})
|
|
add_executable(AST ${AST_SCRS} ${AST_HRDS})
|
|
set_property(TARGET AST PROPERTY C_STANDARD 90)
|
|
set_target_properties(AST PROPERTIES OUTPUT_NAME ${AST_NAME})
|
|
if(MSVC)
|
|
# msvc does not append 'lib' - do it here to have consistent name
|
|
#set_target_properties(AST PROPERTIES PREFIX "lib")
|
|
set_target_properties(AST PROPERTIES IMPORT_PREFIX "lib")
|
|
endif()
|
|
|
|
# Link SDL2::Main, SDL2::Image and SDL2::GFX to our project
|
|
if(MINGW)
|
|
# Override mingw32 lib order due to a failure in SDL conan recipe (can't link against WinMain)
|
|
target_link_libraries(${PROJECT_NAME} mingw32 SDL2::SDL2 SDL2_image::SDL2_image)
|
|
else()
|
|
target_link_libraries(${PROJECT_NAME} SDL2::SDL2 SDL2_image::SDL2_image)
|
|
endif()
|
|
|
|
# install executable
|
|
|
|
install(TARGETS AST
|
|
RUNTIME DESTINATION bin
|
|
)
|