tools/README.md
author Simon McVittie <smcv@debian.org>
Mon, 12 Sep 2022 10:40:53 -0400
branch1.0.0
changeset 15859 7b1d6dfa3173
parent 14161 fe5bfe70c3c2
permissions -rw-r--r--
Remove FindSDL2 find-module, use sdl2-config.cmake instead This requires SDL >= 2.0.4. Since <https://bugzilla.libsdl.org/show_bug.cgi?id=2464> was fixed in SDL 2.0.4, SDL behaves as a CMake "config-file package", even if it was not itself built using CMake: it installs a sdl2-config.cmake file to ${libdir}/cmake/SDL2, which tells CMake where to find SDL's headers and library, analogous to a pkg-config .pc file. As a result, we no longer need to copy/paste a "find-module package" to be able to find a system copy of SDL >= 2.0.4 with find_package(SDL2). Find-module packages are now discouraged by the CMake developers, in favour of having upstream projects behave as config-file packages. This results in a small API change: FindSDL2 used to set SDL2_INCLUDE_DIR and SDL2_LIBRARY, but the standard behaviour for config-file packages is to set <name>_INCLUDE_DIRS and <name>_LIBRARIES. Use the CONFIG keyword to make sure we search in config-file package mode, and will not find a FindSDL2.cmake in some other directory that implements the old interface. In addition to deleting redundant code, this avoids some assumptions in FindSDL2 about the layout of a SDL installation. The current libsdl2-dev package in Debian breaks those assumptions; this is considered a bug and will hopefully be fixed soon, but it illustrates how fragile these assumptions can be. We can be more robust against different installation layouts by relying on SDL's own CMake integration. When linking to a copy of CMake in a non-standard location, users can now set the SDL2_DIR or CMAKE_PREFIX_PATH environment variable to point to it; previously, these users would have used the SDL2DIR environment variable. This continues to be unnecessary if using matching system-wide installations of CMake and SDL2, for example both from Debian.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
13511
b62b14aa88d4 Document and clean up tools directory a bit
Wuzzy <Wuzzy2@mail.ru>
parents:
diff changeset
     1
# tools/ directory
b62b14aa88d4 Document and clean up tools directory a bit
Wuzzy <Wuzzy2@mail.ru>
parents:
diff changeset
     2
b62b14aa88d4 Document and clean up tools directory a bit
Wuzzy <Wuzzy2@mail.ru>
parents:
diff changeset
     3
This directory contains various tools for HW development.
b62b14aa88d4 Document and clean up tools directory a bit
Wuzzy <Wuzzy2@mail.ru>
parents:
diff changeset
     4
b62b14aa88d4 Document and clean up tools directory a bit
Wuzzy <Wuzzy2@mail.ru>
parents:
diff changeset
     5
To learn more about each individual tool, open its source file in a text editor,
b62b14aa88d4 Document and clean up tools directory a bit
Wuzzy <Wuzzy2@mail.ru>
parents:
diff changeset
     6
it often contains a brief comment at the top.
b62b14aa88d4 Document and clean up tools directory a bit
Wuzzy <Wuzzy2@mail.ru>
parents:
diff changeset
     7
b62b14aa88d4 Document and clean up tools directory a bit
Wuzzy <Wuzzy2@mail.ru>
parents:
diff changeset
     8
## List of tools (excerpt)
b62b14aa88d4 Document and clean up tools directory a bit
Wuzzy <Wuzzy2@mail.ru>
parents:
diff changeset
     9
b62b14aa88d4 Document and clean up tools directory a bit
Wuzzy <Wuzzy2@mail.ru>
parents:
diff changeset
    10
### Files
b62b14aa88d4 Document and clean up tools directory a bit
Wuzzy <Wuzzy2@mail.ru>
parents:
diff changeset
    11
* `update_locale_files.sh`: Update locale files
13965
fa9b22311390 Add script to check engine locale files for problems
Wuzzy <Wuzzy2@mail.ru>
parents: 13511
diff changeset
    12
* `check_engine_locale_files.sh`: Check the engine locale files for missing translations and problems
13511
b62b14aa88d4 Document and clean up tools directory a bit
Wuzzy <Wuzzy2@mail.ru>
parents:
diff changeset
    13
* `hwmap2lua.sh`: Convert HWMAP files to Lua code for usage in missions
b62b14aa88d4 Document and clean up tools directory a bit
Wuzzy <Wuzzy2@mail.ru>
parents:
diff changeset
    14
* `create_dmg.sh`: Generate a .dmg file (relevant for Mac)
b62b14aa88d4 Document and clean up tools directory a bit
Wuzzy <Wuzzy2@mail.ru>
parents:
diff changeset
    15
* `dmg_pkg_install.sh`: Downloads and install a .dmg from a URL (relevant for Mac)
b62b14aa88d4 Document and clean up tools directory a bit
Wuzzy <Wuzzy2@mail.ru>
parents:
diff changeset
    16
* `docgen.sh`: Generate QTfrontend documentation with Doxygen (it's not very good)
14089
30565866db82 Add some useful translation checker scripts for Lua
Wuzzy <Wuzzy2@mail.ru>
parents: 13965
diff changeset
    17
* `check_translations.sh`: Check most translation files for mistakes and generate a simple progress report
14161
fe5bfe70c3c2 Add nemo's script to check for outdated engine translations with some adaptations
Wuzzy <Wuzzy2@mail.ru>
parents: 14089
diff changeset
    18
* `find_outdated_engine_translations.sh`: Check for strings in engine translations that MIGHT be outdated
13511
b62b14aa88d4 Document and clean up tools directory a bit
Wuzzy <Wuzzy2@mail.ru>
parents:
diff changeset
    19
b62b14aa88d4 Document and clean up tools directory a bit
Wuzzy <Wuzzy2@mail.ru>
parents:
diff changeset
    20
### Directories
b62b14aa88d4 Document and clean up tools directory a bit
Wuzzy <Wuzzy2@mail.ru>
parents:
diff changeset
    21
* `hwmapconverter`: C++ application to edit HWMAP files in text form
b62b14aa88d4 Document and clean up tools directory a bit
Wuzzy <Wuzzy2@mail.ru>
parents:
diff changeset
    22
* `pas2c`: Pascal-to-C rewriter. Used when hwengine is built as C application with `BUILD_ENGINE_C=1`
b62b14aa88d4 Document and clean up tools directory a bit
Wuzzy <Wuzzy2@mail.ru>
parents:
diff changeset
    23
* `old`: Very outdated stuff that needs re-examination and possibly deletion