From 38fc93c89852baa5eba95504ad8aa6473ad9a510 Mon Sep 17 00:00:00 2001 From: SeongTae Jeong Date: Sat, 14 Oct 2023 05:56:32 +0900 Subject: [PATCH 1/7] [skip ci] docs: Refactor BUILDING.md --- BUILDING.md | 313 +++++++++++++++++++++------------------------------- 1 file changed, 127 insertions(+), 186 deletions(-) diff --git a/BUILDING.md b/BUILDING.md index 65868933d..26d6cf2c4 100644 --- a/BUILDING.md +++ b/BUILDING.md @@ -1,49 +1,51 @@ ## BUILD INSTRUCTIONS AND REQUIREMENTS -DB Browser for SQLite requires Qt as well as SQLite. For more information on Qt -please consult http://www.qt.io and for SQLite please see https://sqlite.org/. +DB Browser for SQLite requires Qt as well as SQLite.
+For more information on Qt please consult http://www.qt.io and for SQLite please see https://sqlite.org/. Please note that all versions after 3.12.1 will require: * A C++ compiler with support for C++14 or later - -All versions after 3.9.1 will require: -* Qt 5.5 or later, however we advise you to use 5.7 or later -* A C++ compiler with support for C++11 or later +* Qt 5.15.9 later Without these or with older versions you won't be able to compile DB Browser for -Sqlite anymore. This applies to all platforms. However, most likely you won't +SQLite anymore.
This applies to all platforms. However, most likely you won't have to worry about these as most systems meet these requirements today. -If you have any chance, please use Qt 5.7 or any later version. Even though Qt +If you have any chance, please use Qt 5.7 or any later version.
Even though Qt 5.5 and 5.6 are supported by us, there might be glitches and minor problems when using them. +The wiki has information that is a bit more detailed or less common, but may be useful: https://github.com/sqlitebrowser/sqlitebrowser/wiki + ---- -## Table of Contents -- [Generic Linux and FreeBSD](#generic-linux-and-freebsd) -- [Ubuntu / Debian Linux](#ubuntu--debian-linux) -- [CentOS / Fedora Linux](#centos--fedora-linux) -- [OpenSUSE](#opensuse) -- [macOS](#macos) - - [Building a single executable binary](#building-a-single-executable-binary) - - [Building an .app bundle](#building-an-app-bundle) -- [Compiling on Windows with MSVC](#compiling-on-windows-with-msvc) +- [BUILD INSTRUCTIONS AND REQUIREMENTS](#build-instructions-and-requirements) + - [Linux](#linux) + - [Generic Linux and FreeBSD](#generic-linux-and-freebsd) + - [CentOS / Fedora Linux](#centos--fedora-linux) + - [Debian / Ubuntu Linux](#debian--ubuntu-linux) + - [OpenSUSE](#opensuse) + - [macOS](#macos) + - [Build an `.app` bundle](#build-an-app-bundle) + - [Add the extension to the app bundle (Optional)](#add-the-extension-to-the-app-bundle-optional) + - [Windows](#windows) + - [Compiling on Windows with MSVC](#compiling-on-windows-with-msvc) - [Cross compiling for Windows](#cross-compiling-for-windows) - [Build with SQLCipher support](#build-with-sqlcipher-support) - [Building and running the Unit Tests](#building-and-running-the-unit-tests) - - [Build the unit tests](#build-the-unit-tests) - - [Run the unit tests](#run-the-unit-tests) + - [Build the unit tests](#build-the-unit-tests) + - [Run the unit tests](#run-the-unit-tests) ---- -### Generic Linux and FreeBSD +### Linux +#### Generic Linux and FreeBSD The only requirements for building this code are the presence of Qt5 and -sqlite3. Qt can be included as a static or shared library, depending on the +SQLite 3.
Qt can be included as a static or shared library, depending on the current Qt configuration on the building machine. Provided you have Qt and cmake installed and configured, simply run: - $ cmake . + cmake . There is one potential problem... several Linux distributions provide a QScintilla package compiled for (only) Qt4. If it's present it can confuse @@ -51,102 +53,95 @@ CMake, which will use it during compiling. The resulting program just crashes instead of running. If you experience that kind of crash, try using this cmake command instead when compiling: - $ cmake -DFORCE_INTERNAL_QSCINTILLA=ON + cmake -DFORCE_INTERNAL_QSCINTILLA=ON That tells cmake to compile QScintilla itself, using the source code version we bundle. After the cmake line, run this: - $ make + make in the main directory. This will generate the sqlitebrowser (or `sqlitebrowser.exe`, or `sqlitebrowser.app`) application in the src subdirectory. On some distributions you can then install this in the correct places by running: - $ sudo make install + sudo make install The same process works for building the code in any platform supported by Qt (including other Unix systems with X11.) +#### CentOS / Fedora Linux -### Ubuntu / Debian Linux +>**Note** - On CentOS or an older version of Fedora, you may need to use `yum` instead of `dnf`.
+>**Note 2** - On CentOS 7.x, you need to replace the `qwt-qt5-devel` package name with +`qt5-qtbase-devel` in the `dnf install` line.
+>**Note 3** - On CentOS 8 (Stream), you need to replace the `qt-devel` package name with `qt5-devel` in the `dnf install` line below.
+>Make sure the `PowerTools` repo is enabled. For further information: https://access.redhat.com/discussions/5417621 ```bash -$ sudo apt install build-essential git cmake libsqlite3-dev qtchooser qt5-qmake qtbase5-dev-tools\ - qttools5-dev-tools libsqlcipher-dev qtbase5-dev libqt5scintilla2-dev libqcustomplot-dev\ - qttools5-dev -$ git clone https://github.com/sqlitebrowser/sqlitebrowser -$ cd sqlitebrowser -$ mkdir build -$ cd build -$ cmake -Dsqlcipher=1 -Wno-dev .. -$ make -$ sudo make install +sudo dnf install cmake gcc-c++ git qt-devel qt5-linguist qwt-qt5-devel sqlite-devel +git clone https://github.com/sqlitebrowser/sqlitebrowser +cd sqlitebrowser +mkdir build && cd build +cmake .. +make +sudo make install ``` -**Note** - Use `cmake -DFORCE_INTERNAL_QSCINTILLA=ON -Dsqlcipher=1 -Wno-dev ..` if you're using Debian and meet errors during compiling. - -This should complete without errors, giving you a binary file called 'sqlitebrowser'. - -Done. :) - -### CentOS / Fedora Linux - -**Note** - On CentOS or an older version of Fedora, you may need to use `yum` instead of `dnf`. - -**Note 2** - On CentOS 7.x, you need to replace the `qwt-qt5-devel` package name with -`qt5-qtbase-devel` in the `dnf install` line below. - +This should complete without errors, and `sqlitebrowser` should now be launch-able from the command line. -**Note 3** - On CentOS 8 (Stream), you need to replace the `qt-devel` package name with -`qt5-devel` in the `dnf install` line below. Make sure the `PowerTools` repo is enabled. +#### Debian / Ubuntu Linux -``` -$ sudo dnf install cmake gcc-c++ git qt-devel qt5-linguist qwt-qt5-devel \ - sqlite-devel -$ git clone https://github.com/sqlitebrowser/sqlitebrowser -$ cd sqlitebrowser -$ cmake -Wno-dev . -$ make -$ sudo make install +```bash +sudo apt install build-essential cmake git libqcustomplot-dev libqt5scintilla2-dev libsqlcipher-dev \ + libsqlite3-dev qt5-qmake qtbase5-dev qtbase5-dev-tools qtchooser qttools5-dev qttools5-dev-tools +git clone https://github.com/sqlitebrowser/sqlitebrowser +cd sqlitebrowser +mkdir build && cd build +cmake .. +make +sudo make install ``` -This should complete without errors, and `sqlitebrowser` should now be launch-able from the command line. +>**Note** - Use `cmake -DFORCE_INTERNAL_QSCINTILLA=ON -Dsqlcipher=1 -Wno-dev ..`
+>if you're using Debian and meet errors during compiling. -### OpenSUSE +This should complete without errors, giving you a binary file called `sqlitebrowser`. Done. :) -```bash +> Also, we have a CI workflow for Ubuntu, you can check it out [here](https://github.com/sqlitebrowser/sqlitebrowser/blob/master/.github/workflows/build-ubuntu.yml) +#### OpenSUSE -$ zypper in -y build git-core, libQt5Core5, libQt5Core5-32bit, libqt5-qtbase, libqt5-qtbase-devel, libqt5-qttools, libqt5-qttools-devel, build, gcc-c++, gcc, sqlite3-devel, libsqlite3-0, cmake, sqlcipher-devel -$ git clone https://github.com/sqlitebrowser/sqlitebrowser -$ cd sqlitebrowser -$ mkdir build -$ cd build -$ cmake -Dsqlcipher=1 -Wno-dev -DFORCE_INTERNAL_QSCINTILLA=ON .. -$ make -$ sudo make install +```bash +zypper in -y build build, cmake, gcc, gcc-c++, git-core, libQt5Core5, libQt5Core5-32bit, libqt5-qtbase, libqt5-qtbase-devel, libqt5-qttools, libqt5-qttools-devel, libsqlite3-0, sqlcipher-devel, sqlite3-devel +git clone https://github.com/sqlitebrowser/sqlitebrowser +cd sqlitebrowser +mkdir build && cd build +cmake -DFORCE_INTERNAL_QSCINTILLA=ON .. +make +sudo make install ``` - ### macOS +#### Build an `.app` bundle The application can be compiled to an .app bundle, suitable for placing in /Applications. -### Building an .app bundle - -Building an .app bundle version takes a bit more effort, but isn't too hard. -It requires SQLite and Qt 5.x to be installed first. These are the +Building an .app bundle version takes a bit more effort, but isn't too hard.
+It requires SQLite and at least Qt 5.15.9 to be installed first. These are the [Homebrew](http://brew.sh) steps, though other package managers should work: - $ brew tap sqlitebrowser/sqlite3 - $ brew install sqlitefts5 - $ brew install qt@5 - $ brew install cmake - $ brew link sqlitefts5 --force +```bash +brew tap sqlitebrowser/tap +# If you are using Apple Silicon Mac +brew install db4subqt@5 db4subsqlcipher db4subsqlitefts@5 +# If you are using Intel Mac +brew install db4sqt@5 db4ssqlcipher db4ssqlitefts@5 +``` +> You can don't need SQLCipher support, you can skip `db4ssqlcipher` and `db4ssqlitefts@5`. Then it's just a matter of getting the source: @@ -157,110 +152,57 @@ its name (eg ~/tmp/foo'), as compiling will error out. And compiling it: - $ cd sqlitebrowser - $ mkdir build # You can easily make a fresh build again by removing this directory - $ cd build - $ cmake -DCMAKE_PREFIX_PATH=/usr/local/opt/qt@5 .. - $ cmake --build . - $ brew unlink sqlitefts5 - $ mv sqlitebrowser.app /Applications/DB\ Browser\ for\ SQLite.app - -An icon for "DB Browser for SQLite" should now be in your main OSX Applications -list, ready to launch. - -### Building a universal binary -Building a universal binary is only possible on ARM64 architecture Macs. - -#### Install dependencies -```bash -$ brew tap sqlitebrowser/ub -$ brew install db4sqtub@5 db4ssqlcipherub db4ssqliteftsub@5 -``` -> If you don't need SQLCipher support, you don't need to install `db4ssqlcipherub`.
-> No bottles are provided for Homebrew Formulae, so you have to build them from source, which can take a while.
-> Took 1 hour based on testing on a M2 Mac Mini. - -#### Get the source code -```bash -$ git clone https://github.com/sqlitebrowser/sqlitebrowser -or -$ git clone git@github.com/sqlitebrowser/sqlitebrowser -``` - -#### Change prefix for CMakelists.txt ```bash -$ sed -i '' 's|/opt/homebrew/opt/qt5|/opt/homebrew/opt/db4sqtub@5|g' CMakeLists.txt -$ sed -i '' 's|/opt/homebrew/opt/sqlitefts5|/opt/homebrew/opt/db4ssqliteftsub@5|g' CMakeLists.txt +cd sqlitebrowser +mkdir build && cd build +cmake -DcustomTap=1 .. +cmake --build . +mv DB\ Browser\ for\ SQLite.app /Applications ``` -#### Configure build and build -```bash -$ mkdir build && cd build -# For SQLite -$ cmake -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" .. -# For SQLCipher -$ cmake -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" -Dsqlcipher=1 .. -$ cmake --build . -``` +> If you want to build universal binary, change the `cmake` command to
+> `cmake -DcustomTap=1 -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" ..`
+> Of course, this requires you to have an ARM64 Mac and an installation of formula starting with `db4sub`. -#### Prepare for add the extension to the app bundle (Optional) -```bash -$ /opt/homebrew/opt/db4sqtub@5/bin/macdeployqt DB\ Browser\ for\ SQLite.app -``` +An icon for "DB Browser for SQLite" should now be in your main macOS Applications list, ready to launch. #### Add the extension to the app bundle (Optional) ```bash -$ mkdir build/DB\ Browser\ for\ SQLite.app/Contents/Extensions -$ clang -I /opt/homebrew/opt/db4ssqliteftsub@5/include -L /opt/homebrew/opt/db4ssqliteftsub@5/lib -fno-common -dynamiclib src/extensions/extension-formats.c -o formats-arm64.dylib -$ arch -x86_64 clang -I /opt/homebrew/opt/db4ssqliteftsub@5/include -L /opt/homebrew/opt/db4ssqliteftsub@5/lib -fno-common -dynamiclib src/extensions/extension-formats.c -o formats-x86_64.dylib -$ lipo -create -output build/DB\ Browser\ for\ SQLite.app/Contents/Extensions/formats.dylib formats-arm64.dylib formats-x86_64.dylib -$ install_name_tool -id "@executable_path/../Extensions/formats.dylib" build/DB\ Browser\ for\ SQLite.app/Contents/Extensions/formats.dylib -$ ln -s formats.dylib build/DB\ Browser\ for\ SQLite.app/Contents/Extensions/formats.dylib.dylib - -$ clang -I /opt/homebrew/opt/db4ssqliteftsub@5/include -L /opt/homebrew/opt/db4ssqliteftsub@5/lib -fno-common -dynamiclib src/extensions/extension-functions.c -o math-arm64.dylib -$ arch -x86_64 clang -I /opt/homebrew/opt/db4ssqliteftsub@5/include -L /opt/homebrew/opt/db4ssqliteftsub@5/lib -fno-common -dynamiclib src/extensions/extension-functions.c -o math-x86_64.dylib -$ lipo -create -output build/DB\ Browser\ for\ SQLite.app/Contents/Extensions/math.dylib math-arm64.dylib math-x86_64.dylib -$ install_name_tool -id "@executable_path/../Extensions/math.dylib" build/DB\ Browser\ for\ SQLite.app/Contents/Extensions/math.dylib -$ ln -s math.dylib build/DB\ Browser\ for\ SQLite.app/Contents/Extensions/math.dylib.dylib - -$ curl -L -o src/extensions/fileio.c 'https://sqlite.org/src/raw?filename=ext/misc/fileio.c&ci=trunk' -$ curl -L -o src/extensions/test_windirent.c 'https://sqlite.org/src/raw?filename=src/test_windirent.c&ci=trunk' -$ curl -L -o src/extensions/test_windirent.h 'https://sqlite.org/src/raw?filename=src/test_windirent.h&ci=trunk' -$ clang -I /opt/homebrew/opt/db4ssqliteftsub@5/include -L /opt/homebrew/opt/db4ssqliteftsub@5/lib -fno-common -dynamiclib src/extensions/fileio.c src/extensions/test_windirent.c -o fileio-arm64.dylib -$ arch -x86_64 clang -I /opt/homebrew/opt/db4ssqliteftsub@5/include -L /opt/homebrew/opt/db4ssqliteftsub@5/lib -fno-common -dynamiclib src/extensions/fileio.c src/extensions/test_windirent.c -o fileio-x86_64.dylib -$ lipo -create -output build/DB\ Browser\ for\ SQLite.app/Contents/Extensions/fileio.dylib fileio-arm64.dylib fileio-x86_64.dylib -$ install_name_tool -id "@executable_path/../Extensions/fileio.dylib" build/DB\ Browser\ for\ SQLite.app/Contents/Extensions/fileio.dylib -$ ln -s fileio.dylib build/DB\ Browser\ for\ SQLite.app/Contents/Extensions/fileio.dylib.dylib +/opt/homebrew/opt/db4sqtub@5/bin/macdeployqt DB\ Browser\ for\ SQLite.app +mkdir build/DB\ Browser\ for\ SQLite.app/Contents/Extensions +clang -I /opt/homebrew/opt/db4ssqliteftsub@5/include -L /opt/homebrew/opt/db4ssqliteftsub@5/lib -fno-common -dynamiclib src/extensions/extension-formats.c -o formats-arm64.dylib +arch -x86_64 clang -I /opt/homebrew/opt/db4ssqliteftsub@5/include -L /opt/homebrew/opt/db4ssqliteftsub@5/lib -fno-common -dynamiclib src/extensions/extension-formats.c -o formats-x86_64.dylib +lipo -create -output build/DB\ Browser\ for\ SQLite.app/Contents/Extensions/formats.dylib formats-arm64.dylib formats-x86_64.dylib +install_name_tool -id "@executable_path/../Extensions/formats.dylib" build/DB\ Browser\ for\ SQLite.app/Contents/Extensions/formats.dylib +ln -s formats.dylib build/DB\ Browser\ for\ SQLite.app/Contents/Extensions/formats.dylib.dylib + +clang -I /opt/homebrew/opt/db4ssqliteftsub@5/include -L /opt/homebrew/opt/db4ssqliteftsub@5/lib -fno-common -dynamiclib src/extensions/extension-functions.c -o math-arm64.dylib +arch -x86_64 clang -I /opt/homebrew/opt/db4ssqliteftsub@5/include -L /opt/homebrew/opt/db4ssqliteftsub@5/lib -fno-common -dynamiclib src/extensions/extension-functions.c -o math-x86_64.dylib +lipo -create -output build/DB\ Browser\ for\ SQLite.app/Contents/Extensions/math.dylib math-arm64.dylib math-x86_64.dylib +install_name_tool -id "@executable_path/../Extensions/math.dylib" build/DB\ Browser\ for\ SQLite.app/Contents/Extensions/math.dylib +ln -s math.dylib build/DB\ Browser\ for\ SQLite.app/Contents/Extensions/math.dylib.dylib + +curl -L -o src/extensions/fileio.c 'https://sqlite.org/src/raw?filename=ext/misc/fileio.c&ci=trunk' +curl -L -o src/extensions/test_windirent.c 'https://sqlite.org/src/raw?filename=src/test_windirent.c&ci=trunk' +curl -L -o src/extensions/test_windirent.h 'https://sqlite.org/src/raw?filename=src/test_windirent.h&ci=trunk' +clang -I /opt/homebrew/opt/db4ssqliteftsub@5/include -L /opt/homebrew/opt/db4ssqliteftsub@5/lib -fno-common -dynamiclib src/extensions/fileio.c src/extensions/test_windirent.c -o fileio-arm64.dylib +arch -x86_64 clang -I /opt/homebrew/opt/db4ssqliteftsub@5/include -L /opt/homebrew/opt/db4ssqliteftsub@5/lib -fno-common -dynamiclib src/extensions/fileio.c src/extensions/test_windirent.c -o fileio-x86_64.dylib +lipo -create -output build/DB\ Browser\ for\ SQLite.app/Contents/Extensions/fileio.dylib fileio-arm64.dylib fileio-x86_64.dylib +install_name_tool -id "@executable_path/../Extensions/fileio.dylib" build/DB\ Browser\ for\ SQLite.app/Contents/Extensions/fileio.dylib +ln -s fileio.dylib build/DB\ Browser\ for\ SQLite.app/Contents/Extensions/fileio.dylib.dylib ``` -#### Copy the license file and translations (Optional) -```bash -$ cp LICENSE LICENSE-PLUGINS build/DB\ Browser\ for\ SQLite.app/Contents/Resources/ -$ mkdir -p build/DB\ Browser\ for\ SQLite.app/Contents/translations -$ for i in ar zh_CN zh_TW cs en fr de it ko pl pt pt_BR ru es uk; do - cp -v /opt/homebrew/opt/db4sqtub@5/translations/qt_${i}.qm build/DB\ Browser\ for\ SQLite.app/Contents/translations/ - cp -v /opt/homebrew/opt/db4sqtub@5/translations/qtbase_${i}.qm build/DB\ Browser\ for\ SQLite.app/Contents/translations/ - cp -v /opt/homebrew/opt/db4sqtub@5/translations/qtmultimedia${i}.qm build/DB\ Browser\ for\ SQLite.app/Contents/translations/ - cp -v /opt/homebrew/opt/db4sqtub@5/translations/qtquick1_${i}.qm build/DB\ Browser\ for\ SQLite.app/Contents/translations/ - cp -v /opt/homebrew/opt/db4sqtub@5/translations/qtscript_${i}.qm build/DB\ Browser\ for\ SQLite.app/Contents/translations/ - cp -v /opt/homebrew/opt/db4sqtub@5/translations/qtxmlpatterns_${i}.qm build/DB\ Browser\ for\ SQLite.app/Contents/translations/ - done -``` - -#### Add the icon file (Optional) -```bash -$ cp installer/macos/macapp.icns build/DB\ Browser\ for\ SQLite.app/Contents/Resources/ -$ /usr/libexec/PlistBuddy -c "Set :CFBundleIconFile macapp.icns" build/DB\ Browser\ for\ SQLite.app/Contents/Info.plist -``` +> Also, we have a CI workflow for macOS, you can check it out [here](https://github.com/sqlitebrowser/sqlitebrowser/blob/master/.github/workflows/build-macos.yml) -### Compiling on Windows with MSVC +### Windows +#### Compiling on Windows with MSVC Complete setup, build, and packaging instructions with MSVC 2013 x64 are online here:     https://github.com/sqlitebrowser/sqlitebrowser/wiki/Setting-up-a-Win64-development-environment-for-DB4S -### Cross compiling for Windows +#### Cross compiling for Windows These are instructions to cross compile within a Linux system a Windows binary and installer. @@ -273,39 +215,39 @@ Requirements: Get the following mxe packages: - $ make gcc sqlite qt nsis + make gcc sqlite qt nsis After successful compilation go into your mxedir/usr/bin and add 3 symlinks: - $ ln -s i686-pc-mingw32-windres windres - $ ln -s i686-pc-mingw32-makensis makensis - $ ln -s /usr/bin/lrelease + ln -s i686-pc-mingw32-windres windres + ln -s i686-pc-mingw32-makensis makensis + ln -s /usr/bin/lrelease Now cd into your sqlitebrowser source directory and create a build directory for the windows binary and create the correct makefiles: - $ mkdir build-win - $ cd build-win - $ cmake -DCMAKE_TOOLCHAIN_FILE=/path to mxe/usr/i686-pc-mingw32/share/cmake/mxe-conf.cmake .. + mkdir build-win + cd build-win + cmake -DCMAKE_TOOLCHAIN_FILE=/path to mxe/usr/i686-pc-mingw32/share/cmake/mxe-conf.cmake .. Before compiling we have to add the mxe/usr/bin directory to the PATH (so windres and makensis can be found): - $ export PATH=/path to mxe/usr/bin:$PATH + export PATH=/path to mxe/usr/bin:$PATH Now compile: - $ make + make If you additionally want an NSIS installer: - $ make package + make package -done. +Done. ## Build with SQLCipher support -When built with SQLCipher support, DB Browser for SQLite will allow you to open +When built with SQLCipher support,
DB Browser for SQLite will allow you to open and edit databases encrypted using SQLCipher as well as standard SQLite3 databases. @@ -317,7 +259,7 @@ sqlcipher'). On Windows unfortunately it's a bit more difficult: You'll have to download and compile the code as described on the [SQLCipher website](https://www.zetetic.net/sqlcipher/) before you can proceed. -If SQLCipher is installed, simply follow the standard instructions for your +If SQLCipher is installed,
simply follow the standard instructions for your platform but enable the 'sqlcipher' build option by replacing any calls to cmake like this: ``` @@ -332,15 +274,14 @@ DB Browser for SQLite has unit tests in the "src/tests" subdirectory. ### Build the unit tests -The unit tests are enabled using the cmake variable `ENABLE_TESTING`; +The unit tests are enabled using the cmake variable `ENABLE_TESTING`
it can be passed when running `cmake` to configure sqlitebrowser, for example like this: ```bash -$ mkdir build -$ cd build -$ cmake -DENABLE_TESTING=ON .. -$ make +mkdir build && cd build +cmake -DENABLE_TESTING=ON .. +make ``` ### Run the unit tests From 043292cb941a6d48870f60bc604c6e3445d7324b Mon Sep 17 00:00:00 2001 From: SeongTae Jeong Date: Sat, 14 Oct 2023 19:57:10 +0900 Subject: [PATCH 2/7] [skip ci] Resolve review #1 --- BUILDING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BUILDING.md b/BUILDING.md index 26d6cf2c4..8b9e85423 100644 --- a/BUILDING.md +++ b/BUILDING.md @@ -8,7 +8,7 @@ Please note that all versions after 3.12.1 will require: * Qt 5.15.9 later Without these or with older versions you won't be able to compile DB Browser for -SQLite anymore.
This applies to all platforms. However, most likely you won't +SQLite any more.
This applies to all platforms. However, most likely you won't have to worry about these as most systems meet these requirements today. If you have any chance, please use Qt 5.7 or any later version.
Even though Qt From c54aa27024f53c735ab74e34e4b85fcd7dd8c4ec Mon Sep 17 00:00:00 2001 From: SeongTae Jeong Date: Sat, 14 Oct 2023 20:00:02 +0900 Subject: [PATCH 3/7] [skip ci] Resolve review #2 --- BUILDING.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/BUILDING.md b/BUILDING.md index 8b9e85423..e71cb0e7b 100644 --- a/BUILDING.md +++ b/BUILDING.md @@ -11,9 +11,10 @@ Without these or with older versions you won't be able to compile DB Browser for SQLite any more.
This applies to all platforms. However, most likely you won't have to worry about these as most systems meet these requirements today. -If you have any chance, please use Qt 5.7 or any later version.
Even though Qt +If you can, please use Qt 5.15.9 or any later version.
Even though Qt 5.5 and 5.6 are supported by us, there might be glitches and minor problems -when using them. +when using them.
+Also, it is not possible to build universal binary for macOS using Qt versions lower than 5.15.9. The wiki has information that is a bit more detailed or less common, but may be useful: https://github.com/sqlitebrowser/sqlitebrowser/wiki From fa3203f39397851810d29ddbd061aab568132176 Mon Sep 17 00:00:00 2001 From: SeongTae Jeong Date: Sat, 14 Oct 2023 20:01:05 +0900 Subject: [PATCH 4/7] [skip ci] Resolve review #4 --- BUILDING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BUILDING.md b/BUILDING.md index e71cb0e7b..9211ac14c 100644 --- a/BUILDING.md +++ b/BUILDING.md @@ -109,7 +109,7 @@ sudo make install >**Note** - Use `cmake -DFORCE_INTERNAL_QSCINTILLA=ON -Dsqlcipher=1 -Wno-dev ..`
>if you're using Debian and meet errors during compiling. -This should complete without errors, giving you a binary file called `sqlitebrowser`. Done. :) +This should complete without errors, giving you an executable file called `sqlitebrowser`. Done. :) > Also, we have a CI workflow for Ubuntu, you can check it out [here](https://github.com/sqlitebrowser/sqlitebrowser/blob/master/.github/workflows/build-ubuntu.yml) From 76f9db7cb209aae8d5702b0e142a5e4a87b8304c Mon Sep 17 00:00:00 2001 From: SeongTae Jeong Date: Sat, 14 Oct 2023 20:01:37 +0900 Subject: [PATCH 5/7] [skip ci] Resolve review #5 --- BUILDING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BUILDING.md b/BUILDING.md index 9211ac14c..417a9e94b 100644 --- a/BUILDING.md +++ b/BUILDING.md @@ -163,7 +163,7 @@ mv DB\ Browser\ for\ SQLite.app /Applications > If you want to build universal binary, change the `cmake` command to
> `cmake -DcustomTap=1 -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" ..`
-> Of course, this requires you to have an ARM64 Mac and an installation of formula starting with `db4sub`. +> Of course, this requires you to have an Apple Silicon Mac and an installation of formula starting with `db4sub`. An icon for "DB Browser for SQLite" should now be in your main macOS Applications list, ready to launch. From 2e35434ed29d7e80e365f70c91b32c45afb58a84 Mon Sep 17 00:00:00 2001 From: SeongTae Jeong Date: Sun, 15 Oct 2023 04:21:50 +0900 Subject: [PATCH 6/7] [skip ci] Resolve review 6, 7 --- BUILDING.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/BUILDING.md b/BUILDING.md index 417a9e94b..c066d81f8 100644 --- a/BUILDING.md +++ b/BUILDING.md @@ -248,7 +248,7 @@ Done. ## Build with SQLCipher support -When built with SQLCipher support,
DB Browser for SQLite will allow you to open +When built with SQLCipher support, DB Browser for SQLite will allow you to open and edit databases encrypted using SQLCipher as well as standard SQLite3 databases. @@ -260,7 +260,7 @@ sqlcipher'). On Windows unfortunately it's a bit more difficult: You'll have to download and compile the code as described on the [SQLCipher website](https://www.zetetic.net/sqlcipher/) before you can proceed. -If SQLCipher is installed,
simply follow the standard instructions for your +If SQLCipher is installed, simply follow the standard instructions for your platform but enable the 'sqlcipher' build option by replacing any calls to cmake like this: ``` From 4a06ba003e10fd4ba5e8f1b37b6792a47d61f7c9 Mon Sep 17 00:00:00 2001 From: SeongTae Jeong Date: Sun, 15 Oct 2023 13:58:42 +0900 Subject: [PATCH 7/7] [skip ci]: Resolve review #3 --- BUILDING.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/BUILDING.md b/BUILDING.md index c066d81f8..32c6e168d 100644 --- a/BUILDING.md +++ b/BUILDING.md @@ -168,6 +168,9 @@ mv DB\ Browser\ for\ SQLite.app /Applications An icon for "DB Browser for SQLite" should now be in your main macOS Applications list, ready to launch. #### Add the extension to the app bundle (Optional) + +> **Note**: The following lines look a bit complicated, but are all commands that you need to run. + ```bash /opt/homebrew/opt/db4sqtub@5/bin/macdeployqt DB\ Browser\ for\ SQLite.app mkdir build/DB\ Browser\ for\ SQLite.app/Contents/Extensions