blob: a460e57c5bf380666c3bfc0bb675fa32cf04aa39 (
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
|
cmake_minimum_required(VERSION 3.19...4.0)
option(BUILD_NATIVE "Compile for host toolchain instead of web" OFF)
if (NOT BUILD_NATIVE)
message("Compiling with emscripten...")
set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "$ENV{EMSDK}/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake")
set(VCPKG_TARGET_TRIPLET "wasm32-emscripten")
endif()
set(CMAKE_TOOLCHAIN_FILE "${CMAKE_CURRENT_SOURCE_DIR}/vendor/vcpkg/scripts/buildsystems/vcpkg.cmake" CACHE STRING "Vcpkg toolchain")
project(starless VERSION 0.1 LANGUAGES C CXX)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/bin")
file(
GLOB_RECURSE SOURCE_FILES
CONFIGURE_DEPENDS
${PROJECT_SOURCE_DIR}/starless/*.cpp
)
add_executable(${PROJECT_NAME} ${SOURCE_FILES})
target_include_directories(${PROJECT_NAME} PRIVATE .)
target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17)
if (NOT BUILD_NATIVE)
target_link_options(${PROJECT_NAME} PRIVATE --preload-file "${CMAKE_CURRENT_SOURCE_DIR}/data@data" --shell-file "${CMAKE_CURRENT_SOURCE_DIR}/wrapper.html")
set_target_properties(${PROJECT_NAME} PROPERTIES SUFFIX ".html")
endif()
find_package(SDL3 CONFIG REQUIRED)
find_package(Lua CONFIG REQUIRED)
find_package(libtcod CONFIG REQUIRED)
target_link_libraries(${PROJECT_NAME} PRIVATE SDL3::SDL3 libtcod::libtcod ${LUA_LIBRARIES})
|