From 61e5bcef2629e2d68b805a956a96fff264d4f74d Mon Sep 17 00:00:00 2001 From: untodesu Date: Sat, 28 Jun 2025 01:59:49 +0500 Subject: Restructure dependencies and update to C++20 - Nuked static_assert from almost everywhere in the project - Nuked binary dependency support. Might add one later though - Separated dependency headers into a separate include subdirectory - Grafted a thirdpartylegalnotices.txt generator from RITEG - Pushed development snapshot version to 2126 (26th week of 2025) --- CMakeLists.txt | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 0f6199c..a82c4c0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.15 FATAL_ERROR) -project(Voxelius LANGUAGES C CXX VERSION 0.0.1.2513) +project(Voxelius LANGUAGES C CXX VERSION 0.0.1.2526) ## Declare build options option(BUILD_VCLIENT "Build Voxelius client" ON) @@ -23,16 +23,26 @@ set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") ## Output binaries into build root set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}") +## Set C++ standard to C++20 +set(CMAKE_CXX_STANDARD 20) +set(CMAKE_CXX_STANDARD_REQUIRED ON) + add_subdirectory(core) add_subdirectory(deps) add_subdirectory(game) -## Install license texts +find_package(Python3 REQUIRED COMPONENTS Interpreter) +add_custom_target(thirdpartylegalnotices ALL + COMMAND ${Python3_EXECUTABLE} "${CMAKE_CURRENT_LIST_DIR}/thirdpartylegalnotices.py" "${CMAKE_CURRENT_LIST_DIR}/deps" + BYPRODUCTS "${CMAKE_CURRENT_BINARY_DIR}/thirdpartylegalnotices.txt" + DEPENDS "${CMAKE_CURRENT_LIST_DIR}/thirdpartylegalnotices.py" + WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}") +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/thirdpartylegalnotices.txt" DESTINATION ".") + install(FILES "${CMAKE_CURRENT_LIST_DIR}/LICENSE" DESTINATION ".") -install(FILES "${CMAKE_CURRENT_LIST_DIR}/thirdpartylegalnotices.txt" DESTINATION ".") install(DIRECTORY "${CMAKE_CURRENT_LIST_DIR}/data" DESTINATION ".") -set(CPACK_PACKAGE_NAME "voxelius") +set(CPACK_PACKAGE_NAME "Voxelius") set(CPACK_PACKAGE_VENDOR "untodesu") set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Block game on steroids") set(CPACK_PACKAGE_CONTACT "https://github.com/untodesu/voxelius/issues") -- cgit