diff --git a/INSTALL b/INSTALL index 9d7779bc..46947a49 100644 --- a/INSTALL +++ b/INSTALL @@ -15,76 +15,10 @@ OpenSSL >= 1.1.0 from https://www.openssl.org C++11 compiler, e.g. GNU gcc >= 5 GNU make -INSTALL_DIR=/Users/chris/src/xca-dir/install -cmake -DCMAKE_LIBRARY_PATH="$INSTALL_DIR"/lib \ - -DCMAKE_INCLUDE_PATH="$INSTALL_DIR"/include \ - -DCMAKE_PREFIX_PATH=/usr/local/Cellar/qt\@5/5.15.2/ \ - -DCMAKE_BUILD_TYPE=Debug \ - ../xca - -Installation: -============= - -Configuration: --------------- -When cloning the git sources the autoconf configure -script must be assembled by calling -$ ./bootstrap - -The officially published sources already come with -a configure script. -To build, just do the following steps: - -$ ./configure; make -j6; make install - -You can build in a different subdirectory: - - cd into the build directory and - - call configure by its full path. -For example, if you are in the freshly unpacked xca-1.1.0 directory: - -$ mkdir Build && cd Build && ../configure && make -j10 - -To clean all built files: rm -rf Build - -If you have a special setup, you can predefine the following -variables: CC, LD, STRIP, CFLAGS, prefix. e.g.: -$ CC="ccache gcc" STRIP=: CFLAGS="-Wall -g" prefix=/opt/xca ./configure -to have a cached build and to not strip xca when installing it. -XCA expects the translationfiles in /opt/xca/share/xca/ -and installs itself to /opt/xca/bin/ - -configure allows to set the openssl and QT installation dir. -$ ./configure --help -shows all options. It writes all found settings to -"Local.mak" and "local.h" - - -Building: ------------ -The Makefiles do support parallel builds (-j) -targets: -all, xca : builds the app -install : installs the app -headers : UICs the headers in ui/ needed by other files. -clean : deletes all builded files -distclean: deletes also Local.mak -xca.exe : W32 executable (see INSTALL.w32) -snapshot : Creates a current snapshot from the local git repository -xca.app : Creates the MacOSX xca.app -xca.dmg : Creates the MacOSX Disk image - -Installing: ------------- -make DESTDIR=/my/virtual/root -provides /my/virtual/root/ as root-directory for installation -to be mounted by others as root or as installdir for -package builders. - - -Running/invoking: -================= - -a detailed manual can be found in docs/ +mkdir build && cd build +cmake .. +cmake --build . -j4 +sudo make install ---------------------------------------------------------- diff --git a/INSTALL.w64 b/INSTALL.w64 index ad6ad53e..58c3c7df 100644 --- a/INSTALL.w64 +++ b/INSTALL.w64 @@ -1,17 +1,21 @@ -Since the switch to CMAKE a native compilation on Windows +Since the switch to CMAKE a native compilation of XCA on Windows is possible. Required: - QT via Maintainance tool: + QT via Maintenance tool: Qt -> 5.15.2 -> MingW-64bit - -> Qt Creator + -> QtCreator (optional) -> MingW -> Cmake - -> Ninja OpenSSL: Win64OpenSSL_1_1_1k.msi +Optional for the remote database connections: + MySQL: qsqlmysql.dll_Qt_SQL_driver_5.15.2_MinGW_8.1.0_64-bit.zip + https://github.com/thecodemonkey86/qt_mysql_driver + PostgreSQL: postgresql-14.1-1-windows-x64.exe + Optional for the documentation Python3.9 via Microsoft Store Inside Python console run "pip install sphinx" @@ -19,4 +23,12 @@ Optional for the documentation Add the C:\Qt\5.15.2\mingw81_64\bin and the path shown by pip to your %PATH% environment -Open XCA in the Qt Creator and GO +Currently only MinGW is supported. + +Take your favorite path: + - Open XCA in the Qt Creator and GO + - Open in VS-Code and GO + - On the console in the xca directory build in a subdir: + cmake -G "MinGW Makefiles" ../xca + cmake --build . -j5 + cpack diff --git a/README.md b/README.md index ed8374a6..e45be9fe 100644 --- a/README.md +++ b/README.md @@ -24,3 +24,78 @@ A detailled changelog can be found here: This application is documented in the *Help* menu and here: + +## __Build from Source__ + +### Dependencies + +To build XCA you need: + - a toolchain + - cmake: https://cmake.org + - Qt5: https://www.qt.io + - OpenSSL: https://www.openssl.org + - Sphinx-Build: https://www.sphinx-doc.org + +### Linux / Unix + + - Install the dependencies + ``` + sudo apt install build-essential libssl-dev pkg-config qtbase5-dev qttools5-dev-tools libqt5sql5 libqt5help5 python3-sphinxcontrib.qthelp + ``` + + - Clone: `git clone https://github.com/chris2511/xca.git` + - Configure: `cmake -B build xca` + - Make: `cmake --build build -j5` + - Install: `sudo cmake --install build` + - Or install local and copy later as root: `DESTDIR=DEST cmake --install build --prefix /usr` + +### Apple macos + +- Install the dependencies + ``` + xcode-select --install + brew install openssl qt5 python3 cmake + pip3 install sphinx + ``` + - Clone: `git clone https://github.com/chris2511/xca.git` + - Configure: `cmake -B build xca` + - Make: `cmake --build build -j5` + - Build the DMG: `cd build && cpack` + - Build the PKG: `cd build && cpack -G productbuild` + +#### Xcode + + - Install dependencies and clone xca as above + and additionally install the xcode app + - `cmake -G Xcode +### Windows + +- Install the dependencies + - Install Python for windows from the store or https://www.python.org/downloads/windows/ + - Install OpenSSL from here: https://slproweb.com/download/Win64OpenSSL-1_1_1m.msi and verify the sha256 from https://github.com/slproweb/opensslhashes/blob/master/win32_openssl_hashes.json + - To install the Qt libraries, cmake and the MinGW compiler [aqtinstall](https://github.com/miurahr/aqtinstall) is used. + ``` + pip3 install sphinx aqtinstall + ``` + Add the PATH shown by pip to your PATH + ``` + aqt install-qt windows desktop 5.15.2 win64_mingw81 + aqt install-tool windows desktop tool_cmake qt.tools.cmake.win64 + aqt install-tool windows desktop tool_mingw qt.tools.win64_mingw810 + ``` + If 7z is missing, install it from the store. + - Clone: `git clone https://github.com/chris2511/xca.git` + - Configure: `cmake -B build -G "MinGW Makefiles" xca` + - Make: `cmake --build build -j5` + - Build the MSI installer: `cd build && cpack` + +Of course VSCode may be used, too. The MSVC toolchain, however +is no supported, yet. + +#### SQL Drivers + +Optional for the remote database connections: + + - MySQL: https://github.com/thecodemonkey86/qt_mysql_driver/files/5575769/qsqlmysql.dll_Qt_SQL_driver_5.15.2_MinGW_8.1.0_64-bit.zip + + - PostgreSQL: postgresql-14.1-1-windows-x64.exe