summaryrefslogtreecommitdiff
path: root/core/CMakeLists.txt
blob: 6e9c657a3dd030da45518a8078e485d1d246f5e5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
cmake_minimum_required(VERSION 3.10.2)

project(tpd-core LANGUAGES CXX C)

set(CMAKE_CXX_STANDARD 23)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

set(SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src")
file(GLOB_RECURSE SOURCES
    "${SRC_DIR}/*.h"
    "${SRC_DIR}/*.cpp"
)
add_definitions(-DRESOURCES_DIR=\"${CMAKE_CURRENT_SOURCE_DIR}/resources/\")
# TODO: remove later, after moving `main.cpp` out of this lix

find_package(SDL2)
if(${SDL2_FOUND})
    message(STATUS "Found SDL2")

    include_directories(${SDL2_INCLUDE_DIRS})
    add_executable(${PROJECT_NAME} ${SOURCES})
    target_link_libraries(${PROJECT_NAME} ${SDL2_LIBRARIES})
else()
    message(STATUS "Could not locate SDL2, using the submodule")
    add_subdirectory(external)
    add_executable(${PROJECT_NAME} ${SOURCES})
    target_include_directories(${PROJECT_NAME} PRIVATE "external/SDL/include")
    target_link_libraries(
        ${PROJECT_NAME} PRIVATE
        SDL2main
        SDL2-static
    )
endif()

message(NOTICE ${CMAKE_CURRENT_SOURCE_DIR}/src/cpp)
#target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/src/cpp)
target_compile_definitions(${PROJECT_NAME} PUBLIC SDL_MAIN_HANDLED)