Commit Graph

9 Commits

Author SHA1 Message Date
David Korth
a823d358d6 NETWORK.md: Add a file to indicate what network access is performed.
rvthtool (and other programs included with rvthtool) does not access the
network directly, but may access the network if you attempt to open files
located on network shares.

Install NETWORK.md in the documents directory.

[cmake] options.cmake: Add OPTION(INSTALL_DOC).
2025-06-01 13:11:52 -04:00
David Korth
71c41db758 Improve Qt version detection.
- Set the default to "AUTO".

- For "AUTO", check for Qt6 first, then Qt5.

- Instead of linking to ${QT_NS}::WinMain, which doesn't exist on Qt6,
  just don't set QtX_NO_LINK_QTMAIN. (This works for Qt5, too.)
  - NOTE: Qt6 has QtEntryPoint instead.
2025-05-21 18:30:00 -04:00
David Korth
27ba56c693 [cmake] Backport more changes from rom-properties.
Changes include:
- Add RelWithDebugInfo flags.
- Add NixOS handling.
- Add ENABLE_WERROR.
- Add more warning flags.
- Add "-fprofile-update=atomic" for code coverage.
- Fix DT_RELR.
- Enable C++ assertions for libstdc++ and libc++.
2025-05-21 18:14:39 -04:00
David Korth
43372103cb Port over CMake changes from rom-properties.
- CPUInstructionSetFlags.cmake: Add more CPU architectures.

- DirInstallPaths.cmake: Set ${TARGET_CPU_ARCH} and add more
  CPU architectures.

- FindNETTLE.cmake: Use ${TARGET_CPU_ARCH}.

- SplitDebugInformation.cmake: Add the `mold` workaround.

- options.cmake: Disable split debug by default on macOS.

- platform.cmake: Minor cleanups.

- gcc.cmake: Code coverage cleanup, check for "--no-undefined" and
  "--no-allow-shlib-undefined" (but only allow them on Linux),
  and check for "-ftree-vectorize".

- msvc.cmake:
  - Add: /we4477 /MP /guard:cf /guard:ehcont /permissive-
  - On i386 only: /SAFESEH
  - Disable /Zc:externC /Zc:noexceptTypes on Clang.
  - Disable thread-safe statics only on i386 and amd64.

- win32-gcc.cmake, win32-msvc.cmake:
  - Various flag changes.
2023-11-25 10:09:48 -05:00
David Korth
0d3b555cad Initial support for compiling with Qt6.
TODO:
- Toolbar icons aren't showing up.
- BankEntryView: Qt::DefaultLocaleShortDate was removed in Qt6,
  so using QLocale instead. Cache the QLocale?
- viewOptions() is final in most widgets, so it's disabled in Qt6 builds.
  See if we can reimplement this better.
- Qt6's moc doesn't like incomplete structs.
2022-02-12 11:20:27 -05:00
David Korth
67c4bd045e [cmake] Copied CMake updates from rom-properties. 2019-12-30 13:10:03 -05:00
David Korth
2255359dea [qrvthtool] Copied over TaskbarButtonManager from mcrecover.
It doesn't seem to work on KDE5. Apparently, the standard task manager
in Plasma 5 uses Unity's protocol, but we don't have libunity on all
systems.

Unity has a D-Bus protocol, but it's supposedly not guaranteed to be
stable. In practice, it is.

QtCreator added support for the D-Bus protocol a while back:
https://codereview.qt-project.org/#/c/33051/2/src/plugins/coreplugin/progressmanager/progressmanager_x11.cpp
2019-03-16 02:01:28 -04:00
David Korth
56929bf421 [locale] Added localization files.
Based on similar files from mcrecover.

[qrvthtool] TranslationManager: Search for rvthtool_*.qm,
not mcrecover_*.qm.
2018-09-30 21:48:58 -04:00
David Korth
e627339856 [cmake] options.cmake: Make UDEV optional.
Added a bunch of other build options from rom-properties.

Fixed compilation with UDEV disabled. In particular, HAVE_QUERY is set
if querying is available at all, and if it isn't available, rvthtool's
help will show a note, and attempting to run the query command will show
an error message.
2018-03-10 18:11:49 -05:00