EuropaTools/CMakeLists.txt
modeco80 341f914e1d *: Add some hardening compile options.
Also fix some warnings and potential issues that building the entire EuropaTools codebase under those flags showed.

Later on once we drop the libpixel and stbiw dependencies, we can probably turn on -Werror for release builds.
2025-01-08 13:08:49 -05:00

49 lines
1.2 KiB
CMake
Executable file

#
# EuropaTools
#
# (C) 2021-2025 modeco80 <lily.modeco80@protonmail.ch>
#
# SPDX-License-Identifier: MIT
#
cmake_minimum_required(VERSION 3.10)
# Prohibit in-source tree builds.
if(" ${CMAKE_SOURCE_DIR}" STREQUAL " ${CMAKE_BINARY_DIR}")
message(FATAL_ERROR "In-source builds are strictly prohibited.")
endif()
project(EuropaTools
VERSION 1.0.0
LANGUAGES C CXX
DESCRIPTION "Tools for working with LEC Europa based games (Star Wars: Starfighter & Star Wars: Jedi Starfighter)"
)
list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake")
include(Policies)
include(ProjectFuncs)
include(CompilerFlags)
include(FetchContent)
# declare dependencies
FetchContent_Declare(indicators
GIT_REPOSITORY https://github.com/p-ranav/indicators.git
)
FetchContent_Declare(argparse
GIT_REPOSITORY https://github.com/p-ranav/argparse.git
)
# Future (maybe when libpixel has provisioning for installs :v)
#FetchContent_Declare(libpixel
# GIT_REPOSITORY https://github.com/modeco80/libpixel.git
# )
FetchContent_MakeAvailable(indicators argparse)
add_subdirectory(third_party/libpixel)
add_subdirectory(src/libeuropa)
add_subdirectory(src/tools)