-
Notifications
You must be signed in to change notification settings - Fork 2.2k
Builtin: Print warnings if SHA256 of files does not match with build #16553
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from 19 commits
43ac0bb
a49930f
c8b6fea
5e0bf81
2e8db91
94114ca
956f4f7
935e4ef
aa4b698
90004b8
b28f15c
941cd66
b2987c6
8a8e473
9797ce9
4a13e9a
460f08a
b7377be
559d271
bdcf531
85b43e5
94f095a
f0c5835
e3a6607
45adac7
cc5bf69
27c4995
ef6bc53
32421db
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,24 @@ | ||
| add_subdirectory(async) | ||
| add_subdirectory(client) | ||
| add_subdirectory(common) | ||
| add_subdirectory(emerge) | ||
| add_subdirectory(fstk) | ||
| add_subdirectory(game) | ||
| add_subdirectory(mainmenu) | ||
| add_subdirectory(pause_menu) | ||
| add_subdirectory(profiler) | ||
|
|
||
| set(BUILTIN_SRCS | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/init.lua | ||
| ${BUILTIN_ASYNC_SRCS} | ||
| ${BUILTIN_CLIENT_SRCS} | ||
| ${BUILTIN_COMMON_SRCS} | ||
| ${BUILTIN_EMERGE_SRCS} | ||
| ${BUILTIN_FSTK_SRCS} | ||
| ${BUILTIN_GAME_SRCS} | ||
| ${BUILTIN_MAINMENU_SRCS} | ||
| ${BUILTIN_PAUSE_MENU_SRCS} | ||
| ${BUILTIN_PROFILER_SRCS} | ||
| PARENT_SCOPE) | ||
|
|
||
| set(BUILTIN_BASE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/ PARENT_SCOPE) | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,4 @@ | ||
| set(BUILTIN_ASYNC_SRCS | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/game.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/mainmenu.lua | ||
| PARENT_SCOPE) |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,6 @@ | ||
| set(BUILTIN_CLIENT_SRCS | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/chatcommands.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/init.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/misc.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/register.lua | ||
| PARENT_SCOPE) |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,19 @@ | ||
| add_subdirectory(settings) | ||
|
|
||
| set(BUILTIN_COMMON_SRCS | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/after.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/chatcommands.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/filterlist.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/information_formspecs.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/item_s.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/math.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/menu.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/metatable.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/misc_helpers.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/mod_storage.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/register.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/serialize.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/strict.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/vector.lua | ||
| ${BUILTIN_COMMON_SETTINGS_SRCS} | ||
| PARENT_SCOPE) |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,9 @@ | ||
| set(BUILTIN_COMMON_SETTINGS_SRCS | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/components.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/dlg_change_mapgen_flags.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/dlg_settings.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/generate_from_settingtypes.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/init.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/settingtypes.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/shadows_component.lua | ||
| PARENT_SCOPE) |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| set(BUILTIN_EMERGE_SRCS | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/env.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/init.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/register.lua | ||
| PARENT_SCOPE) |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,6 @@ | ||
| set(BUILTIN_FSTK_SRCS | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/buttonbar.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/dialog.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/tabview.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/ui.lua | ||
| PARENT_SCOPE) |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,23 @@ | ||
| set(BUILTIN_GAME_SRCS | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/async.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/auth.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/chat.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/constants.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/death_screen.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/deprecated.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/detached_inventory.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/falling.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/features.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/forceloading.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/hud.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/init.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/item_entity.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/item.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/knockback.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/misc.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/misc_s.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/privileges.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/register.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/static_spawn.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/voxelarea.lua | ||
| PARENT_SCOPE) |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,26 @@ | ||
| add_subdirectory(content) | ||
|
|
||
| set(BUILTIN_MAINMENU_SRCS | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/async_event.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/common.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/credits.json | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/dlg_clients_list.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/dlg_config_world.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/dlg_create_world.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/dlg_delete_content.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/dlg_delete_world.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/dlg_rebind_keys.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/dlg_register.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/dlg_reinstall_mtg.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/dlg_rename_modpack.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/dlg_server_list_mods.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/dlg_version_info.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/game_theme.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/init.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/serverlistmgr.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/tab_about.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/tab_content.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/tab_local.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/tab_online.lua | ||
| ${BUILTIN_MAINMENU_CONTENT_SRCS} | ||
| PARENT_SCOPE) |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| set(BUILTIN_MAINMENU_CONTENT_SRCS | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/contentdb.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/dlg_contentdb.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/dlg_install.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/dlg_overwrite.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/dlg_package.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/init.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/pkgmgr.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/screenshots.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/update_detector.lua | ||
| PARENT_SCOPE) |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,4 @@ | ||
| set(BUILTIN_PAUSE_MENU_SRCS | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/init.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/register.lua | ||
| PARENT_SCOPE) |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,6 @@ | ||
| set(BUILTIN_PROFILER_SRCS | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/init.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/instrumentation.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/reporter.lua | ||
| ${CMAKE_CURRENT_SOURCE_DIR}/sampling.lua | ||
| PARENT_SCOPE) |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,25 @@ | ||
| # Compute sha256 digests of builtin files | ||
|
|
||
| string(LENGTH "${BUILTIN_BASE_PATH}" BUILTIN_BASE_PATH_LEN) | ||
|
|
||
| set(BUILTIN_SHA256S "") | ||
| foreach(P ${BUILTIN_SRCS}) | ||
| file(SHA256 ${P} H) | ||
|
|
||
| string(SUBSTRING "${P}" 0 ${BUILTIN_BASE_PATH_LEN} BP) | ||
| if(NOT (BP STREQUAL BUILTIN_BASE_PATH)) | ||
| message(FATAL_ERROR "Expected ${P} to be a subpath of ${BUILTIN_BASE_PATH}") | ||
| endif() | ||
| string(SUBSTRING "${P}" ${BUILTIN_BASE_PATH_LEN} -1 RP) | ||
|
|
||
| list(APPEND BUILTIN_SHA256S "{\"${RP}\", \"${H}\"}") | ||
| endforeach() | ||
|
|
||
| list(JOIN BUILTIN_SHA256S ",\n" BUILTIN_SHA256S_INITIALIZER_LIST) | ||
|
|
||
| configure_file( | ||
| "${PROJECT_SOURCE_DIR}/builtin_files.cpp.in" | ||
| "${PROJECT_BINARY_DIR}/builtin_files.cpp" | ||
| ) | ||
| # touch it, because configure_file doesn't if it doesn't change | ||
| file(TOUCH_NOCREATE "${PROJECT_BINARY_DIR}/builtin_files.cpp") |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -395,6 +395,26 @@ | |
| WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}") | ||
|
|
||
|
|
||
| # Command for builtin_files.cpp | ||
| add_custom_command( | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. For clarity, this is not the same as for GenerateVersion, because GenerateVersion rebuilds every time. |
||
| OUTPUT "${PROJECT_BINARY_DIR}/builtin_files.cpp" | ||
| COMMAND ${CMAKE_COMMAND} | ||
| -D "PROJECT_SOURCE_DIR=${PROJECT_SOURCE_DIR}" | ||
| -D "PROJECT_BINARY_DIR=${PROJECT_BINARY_DIR}" | ||
| -D "BUILTIN_BASE_PATH=${BUILTIN_BASE_PATH}" | ||
| -D "BUILTIN_SRCS=\"${BUILTIN_SRCS}\"" #TODO: what if " in path? | ||
Desour marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| -P "${CMAKE_SOURCE_DIR}/cmake/Modules/GenerateBuiltinFilesList.cmake" | ||
| DEPENDS | ||
| ${BUILTIN_SRCS} | ||
| "${PROJECT_SOURCE_DIR}/builtin_files.cpp.in" | ||
| "${CMAKE_SOURCE_DIR}/cmake/Modules/GenerateBuiltinFilesList.cmake" | ||
| WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}") | ||
|
|
||
| # Target to generate just builtin_files.cpp (used by util/ci/clang-tidy.sh) | ||
| add_custom_target(GenerateBuiltinFilesCpp | ||
| DEPENDS "${PROJECT_BINARY_DIR}/builtin_files.cpp") | ||
|
|
||
|
|
||
| add_subdirectory(threading) | ||
| add_subdirectory(content) | ||
| add_subdirectory(database) | ||
|
|
@@ -438,6 +458,7 @@ | |
| texture_override.cpp | ||
| tileanimation.cpp | ||
| tool.cpp | ||
| ${PROJECT_BINARY_DIR}/builtin_files.cpp | ||
| ${common_network_SRCS} | ||
| ${content_SRCS} | ||
| ${database_SRCS} | ||
|
|
@@ -882,7 +903,7 @@ | |
| "running a recent version (from git) as older ones are known not " | ||
| "to build/work correctly in all cases.\n" | ||
| "THIS APPLIES ESPECIALLY ON macOS OR Linux/aarch64!") | ||
| message(WARNING ${explanation_msg}) | ||
|
Check warning on line 906 in src/CMakeLists.txt
|
||
| endif() | ||
| elseif(NOT MSVC) | ||
| set(CMAKE_REQUIRED_LIBRARIES "") | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,16 @@ | ||
| // Luanti | ||
| // SPDX-License-Identifier: LGPL-2.1-or-later | ||
| // Copyright (C) 2025 Luanti contributors | ||
|
|
||
| // Filled in by the build system | ||
|
|
||
| #include "builtin_files.h" | ||
|
|
||
| const std::unordered_map<std::string, std::string> &get_builtin_file_sha256_map() | ||
| { | ||
| static std::unordered_map<std::string, std::string> map = { | ||
| @BUILTIN_SHA256S_INITIALIZER_LIST@ | ||
| }; | ||
Desour marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| return map; | ||
| } | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,10 @@ | ||
| // Luanti | ||
| // SPDX-License-Identifier: LGPL-2.1-or-later | ||
| // Copyright (C) 2025 Luanti contributors | ||
|
|
||
| #pragma once | ||
|
|
||
| #include <string> | ||
| #include <unordered_map> | ||
|
|
||
| const std::unordered_map<std::string, std::string> &get_builtin_file_sha256_map(); |
Uh oh!
There was an error while loading. Please reload this page.