Commit Graph

67 Commits

Author SHA1 Message Date
Christian Hohnstaedt
58b2d713a1 Close #640: Fix mysql on Mac OSX
Replace the @rpath/libmariadb.3.dylib by "$INSTALL_DIR"/lib/libmariadb.3.dylib
in the self compiled plugin "libqsqlmysql.dylib" after installation in the
QTDIR plugin directory.

This provokes macdeployqt to install libmariadb.3.dylib to take
libmariadb.3.dylib into account and also install it and resolve all
referenced library paths.

Finally the absolute path will be replaced by the @rpath when
creating the xca.app.

Add tests for my HOME dir inside the installed binaries to
detect errors in the future.
2025-03-28 11:51:49 +01:00
Christian Hohnstaedt
dc81c25670 Windows style changed from windowsvista to modernwindows
Some checks are pending
CMake / build (build/xca-*-Linux.tar.gz, Unix Makefiles, linux, /usr, ubuntu, 5.15.2, ubuntu-latest) (push) Waiting to run
CMake / build (build/xca-*-Linux.tar.gz, Unix Makefiles, linux, /usr, ubuntu, 6.6.2, ubuntu-latest) (push) Waiting to run
CMake / build (build/xca-*.dmg, Unix Makefiles, mac, /opt/homebrew/opt/openssl, macos, 6.6.2, macos-latest) (push) Waiting to run
CMake / build (build/xca-*.msi build/xca-portable-*.zip , MinGW Makefiles, windows, D:\msys2\msys64\mingw64, windows, 5.15.2, windows-2019, win64_mingw81) (push) Waiting to run
From 6.6.3 to 6.7.0
Load the correct style depending on the QT version
2024-10-04 16:01:58 +02:00
Christian Hohnstaedt
96e455082e Check supported minimum QT version 5.10.1 2024-10-03 13:13:44 +02:00
Christian Hohnstaedt
7b9d75b97d Close #590: MacOS OpenSSL legacy provider not loaded
Compile-in the legacy module for windows and macos.
I compile the libraries anyway for the releases of those platforms.
2024-09-30 09:05:12 +02:00
Christian Hohnstaedt
7d3ff4f0f9 Add OpenSSL PURPOSE and validation results
A new tab on the certificate details dialog
shows the result of the OpenSSL validation process
and the calculated OpenSSL Purpose.

The translation of the OpenSSL X509_V_ERR.... messsages
back to strings is done by grepping them from "openssl/x509_vfy.h"
and wrapping them into a macro-call.
Additionally guard them by an #ifdef (Zombieland rule #2: Double-Tap)
This way:
 - I don't need to test and check in which versions of OpenSSL
   which errors are available or not
 - New errors will be picked up automatically, as long as they
   match the "X509_V_ERR_" pattern
2024-09-29 14:12:17 +02:00
Christian Hohnstaedt
070ad0521c Reduce the minimum required CMake version
to support older Linux releases like Ubuntu Focal
The latest used feature is "target_link_options()"
which was introduced in cmake 3.13
2024-09-09 12:07:24 +02:00
Christian Hohnstaedt
d5d9e86352 Whitespace fixup for CMake files
replace tabs by spaces
2024-09-06 10:53:02 +02:00
Christian Hohnstaedt
6bf6f4384b Automatically generate documentation of export formats
The pki_export class has all information to generate the documentation
2024-08-30 09:30:42 +02:00
Christian Hohnstaedt
b21221304b Windows/Mac build: switch to QT 6.6.3
and fix a minor typo
2024-07-17 23:32:36 +02:00
Christian Hohnstaedt
b395eaa5cc Close #536: macos include OpenSSL legacy provider
Put it into the "PlugIns" directory and load it from there.
Show whether the legacy-provider was loaded in the About-Dialog.

CmakeLists.txt: Improve OpenSSL Major version detection
and replace the foreach() loop in misc/CMakeLists.txt
by the simpler list(TRANSFORM ...)
2024-03-10 18:53:52 +01:00
Christian
a20e810405 Update Windows build to install legacy.dll
Enable legacy provider to allow loading keys
encrypted with an ancient, insecure
algorithm like "pbeWithSHA1And40BitRC2-CBC" for PKCS#12/PFX

Install the dynamic.dll in the portable app and WIX installer.
2024-02-14 22:27:17 +01:00
Christian Hohnstaedt
88989e2cd6 Automatically use ccache if possible 2024-01-16 15:45:35 +01:00
Christian Hohnstaedt
0775dbf113 Move GUI tests to test/ subdir 2024-01-14 23:43:00 +01:00
Christian Hohnstaedt
89b3914ff7 Split tests in "gui" and "console" tests
Only execute console tests on github actions
2023-11-02 22:06:23 +01:00
Christian Hohnstaedt
b88a20292e Move testxca target to the tests target
and remove it from the default target (all)
2023-11-02 13:50:30 +01:00
Christian Hohnstaedt
670444391d On GCC and CLANG use -fmacro-prefix-map
and skip the C_FILE strrchr() mess which failed for windows anyway.
2023-10-31 11:00:46 +01:00
Christian Hohnstaedt
e3791e2609 Add GUI test - testing the NewKey dialog 2023-10-24 17:03:09 +02:00
Christian Hohnstaedt
e2e142e012 Add some moduletests 2023-10-12 23:58:00 +02:00
Christian Hohnstaedt
23a044f5ea Support different OSX SDK versions as LSMinimumSystemVersion
Also reduce the minimum SDK to 10.15 for the official build.
2023-10-10 21:03:40 +02:00
Christian Hohnstaedt
ec9dd9ac18 Apple disable codesigning if no certificate exists 2023-10-01 23:23:57 +02:00
Christian Hohnstaedt
6dd1ceb7f3 Rename calculated VERSION.txt in BINARY_DIR
Otherwise if BINDIR == SRCDIR this would overwrite
the original VERSION.txt.
2023-10-01 20:47:26 +02:00
Christian Hohnstaedt
42b76418fb Enable Warnings and fix them 2023-09-30 11:24:18 +02:00
Christian Hohnstaedt
ed074537f7 Translations: Fix warning in xca.ts and add languages to Info.plist 2023-09-30 11:24:18 +02:00
Christian Hohnstaedt
be31b6e22e Make XCA AppStore compliant with -DAPPSTORE_COMPLIANT=ON
APPSTORE_COMPLIANT = ON:
 - Turns off the File menu and moves the language selector to
   the "Extra" Menu. "Options" and "Exit" are at the xca-macos
   special-menu anyway.
 - Switches the signing key from "Developer ID Application" to
   "3rd Party Mac Developer Application"
 - Sets the database name to "default.xdb"
 - Adds "-appstore-compliant" option to macdeployqt
 - Picks the "entitlement-appstore-compliant.plist"
 - Disables the "Token" menu and "PKCS#11 provider" tab
   in the option dialog
2023-09-30 11:24:18 +02:00
Christian Hohnstaedt
c3f58d402f Close #437: loading CRL at startup generates an error
Extend B64_BLOB from "VARCHAR(8000)" which was a good
common value - until I realized that CRL may become pretty large.

Use "TEXT" for all databases but MariaDB, where LONGTEXT is used.

Add database type check via SQL query to detect the
correct database even behind an ODBC Driver.
2023-09-21 21:42:54 +02:00
Christian Hohnstaedt
c1bee8b38d Close #442: asan checks failed
Enable ASAN with -DADDRESS_SANITIZER=ON
Fix all findings inside XCA.
2023-09-20 21:08:44 +02:00
Christian Hohnstaedt
2b59f07b1a Make sure QT_MESSAGELOGCONTEXT is always set. 2023-09-19 23:35:27 +02:00
Christian Hohnstaedt
0c5f48898d Consolidate SQL Driver delivery
Only deliver the QT SQL plugins and document the installation
of the client libraries.
2023-09-17 08:57:27 +02:00
Christian Hohnstaedt
22c37082da macos: re-add entitlements when codesigning
Remove sandbox to allow loading PKCS#11 library loading.
Set -fvisibility=hidden to not export symbols.
2023-05-28 15:30:53 +02:00
Christian Hohnstaedt
780225198d macos CMake defaults for local arch, SDK and brew-Qt
The universal binary with older SDK and aqt-Qt will be
built by the release/build-mac.sh script
2023-05-25 21:23:48 +02:00
Christian Hohnstaedt
3e284b1245 CMakeLists.txt: Improvements
Use "${QT}::qhelpgenerator" instead of
"find_program(QTCOLLGEN NAMES qhelpgenerator ....)"

Add CACHE Variable QTFIXEDVERSION allowing to force Qt5 or Qt6
if both are installed.
2023-05-23 23:19:34 +02:00
Christian Hohnstaedt
a548227a07 Use Qt6 qt_add_translations to generate translation targets
Keep "trans" target to also update the POT file.
2023-05-22 15:16:26 +02:00
Christian Hohnstaedt
2ad23f0354 Fix translation installation 2023-05-21 14:20:51 +02:00
Christian Hohnstaedt
331d2ca58b Windows: switch to OpenSSL 3 2023-05-21 14:20:51 +02:00
Christian Hohnstaedt
fa0d67b26c Adaptions for QT 6.5 and macos
- Create universal binaries
 - re-create menubar to avoid duplications during language change
 - Select MACOS SDK 11 when using  QT-6.5 requiring it.
2023-05-14 21:41:47 +02:00
Christian Hohnstaedt
dac8f97cc1 Fix images and icons on windows
xca.ico is only used as resource of the EXE file. To make
that work, the linker option -MD is necessary.

Use the 128x128 px PNG in favor to the 128x60 px PNG
as icon to avoid rescaling.
Don't use the xca.ico, which would require "imageformats/qico.dll"

This also reverts the rubbish commit 583b9f82b2.
2022-09-07 20:01:25 +02:00
Christian Hohnstaedt
bd61f44e02 Refactor source file inclusion
No libraries needed. Just put all files as source to xca
and those needed for xcadoc to the xcadoc target.
Github Action: create deployments for each matrix result
2022-09-07 20:01:25 +02:00
Christian Hohnstaedt
86f24d1432 Matrix with QT versions 2022-09-02 17:02:40 +02:00
Christian Hohnstaedt
c873cc1a41 Fix installation of documentation
We need the whole directory, including the _static and _sources
sub-directories.

Also silence the QM generation. It was very garrulous.
2022-08-31 00:11:14 +02:00
Christian Hohnstaedt
ced6dfc41a Add support for Qt6
XCA now supports both, Qt6 and Qt5 down to Qt-5.2

Use CMAKE_PREFIX_PATH to point to the QT dompiler directory like
$ cmake -B build -DCMAKE_PREFIX_PATH=$HOME/6.3.1/gcc_64
2022-08-31 00:09:37 +02:00
Christian Hohnstaedt
5441d91b18 Fix runtime error because of wrong DLL 2022-08-31 00:01:06 +02:00
Christian Hohnstaedt
4bf49de81f Win32: Zip the portable app after populating the directory 2022-08-31 00:01:06 +02:00
Christian Hohnstaedt
e6d23fbd26 Win32: make install creates xca-portable 2022-08-31 00:01:06 +02:00
Christian Hohnstaedt
82c0b73277 Disable Openssl deprecation warnings until
OpenSSL < 3.0 is retired.

Otherwise we have no choice to either end up in an ifdef hell
or live with the warnings.
2022-08-31 00:01:06 +02:00
Christian Hohnstädt
f7a6c39219 Support building with xcodebuild
Link that helped:

https://www.hotzi.com/blog/20210306-cmake-xcode-archive-problem/
2022-08-07 22:30:32 +02:00
Christian Hohnstädt
22e6cb37c4 Improve *DeployQT
Use generator expressions for the target as described in
https://riptutorial.com/qt/example/24133/integrating-with-cmake
2022-08-07 22:30:32 +02:00
Christian Hohnstaedt
3432c164dd Add vcruntime140.dll 2022-07-28 02:16:38 +02:00
Christian Hohnstädt
81a5540ec4 Improve Installation and DMG generation
Design the DMG look & feel, including the documentation

travis is gone. We use github actions
2022-07-11 23:04:27 +02:00
Christian Hohnstädt
da8efa4381 Add github cmake build instructions 2022-01-03 20:04:34 +01:00
Christian Hohnstädt
06fbe10d24 cmake: fixup undefined variables
Remove unused variables, define variables for all platforms
and fix typo
2022-01-03 20:03:31 +01:00