From f9683ba57bc4f61c2d5fb39675c511678ec2b1d4 Mon Sep 17 00:00:00 2001 From: Mattias Bengtsson Date: Sun, 18 Apr 2021 02:28:12 +0200 Subject: [PATCH 1/8] README: Markdown fixes - Change from quad-backticks to triple backticks - Escape underscores (they are for making text italic) - Add commandline prefix to all commands (to better visualize that this is run from the command line) - Add shell highlighting --- README.md | 84 +++++++++++++++++++++++++++---------------------------- 1 file changed, 42 insertions(+), 42 deletions(-) diff --git a/README.md b/README.md index 5233665d5..5c3eead80 100644 --- a/README.md +++ b/README.md @@ -18,15 +18,15 @@ On windows, the program can be compiled with Visual Studio (recommended) or with * Download and install [Visual Studio Community edition](https://visualstudio.microsoft.com/vs/community/) * Download and install [vcpkg](https://github.com/microsoft/vcpkg) * Use vcpkg to install wxwidgets, boost, hunspell -```` -vcpkg install wxwidgets -vcpkg install boost-smart-ptr -vcpkg install boost-regex -vcpkg install boost-logic -vcpkg install boost-pool -vcpkg install hunspell -vcpkg integrate install -```` +```shell +> vcpkg install wxwidgets +> vcpkg install boost-smart-ptr +> vcpkg install boost-regex +> vcpkg install boost-logic +> vcpkg install boost-pool +> vcpkg install hunspell +> vcpkg integrate install +``` * Then just use "Open Folder" from inside visual studio to open the Magic Set Editor source code root folder. * Select the configuration that you want to build, and hit F7. @@ -43,52 +43,52 @@ The tests can be run from inside visual studio * Download and install [msys2](https://www.msys2.org/) * Install a recent version of the gcc compiler, cmake, and wxWidgets libraries: -```` -pacman -S mingw32/mingw-w64-i686-gcc -pacman -S mingw32/mingw-w64-i686-wxWidgets -pacman -S mingw32/mingw-w64-i686-boost -pacman -S mingw32/mingw-w64-i686-hunspell -pacman -S cmake -```` +```shell +> pacman -S mingw32/mingw-w64-i686-gcc +> pacman -S mingw32/mingw-w64-i686-wxWidgets +> pacman -S mingw32/mingw-w64-i686-boost +> pacman -S mingw32/mingw-w64-i686-hunspell +> pacman -S cmake +``` Use `mingw64/mingw-w64-x86_64-...` instead of for the 64bit build * Build -```` -cmake -G "MSYS Makefiles" -H. -Bbuild -DCMAKE_BUILD_TYPE=Release -cmake --build build -```` +```shell +> cmake -G "MSYS Makefiles" -H. -Bbuild -DCMAKE_BUILD_TYPE=Release +> cmake --build build +``` ## Building on linux Install the dependencies, for example on a debian based system -```` -sudo apt install g++ -sudo apt install libboost-dev libwxgtk3.0-gtk3-dev libhunspell-dev -```` +```shell +$ sudo apt install g++ +$ sudo apt install libboost-dev libwxgtk3.0-gtk3-dev libhunspell-dev +``` Then use cmake to build -```` -cmake build -DCMAKE_BUILD_TYPE=Release -cmake --build build -```` +```shell +$ cmake build -DCMAKE_BUILD_TYPE=Release +$ cmake --build build +``` Use `CMAKE_BUILD_TYPE=Debug` for a debug build ## Building on Mac Install the dependencies, for example using Homebrew -```` -brew install boost wxwidgets hunspell -```` -Note: Tested with boost 1.72.0_3, wxmac (wxwidgets) 3.0.5.1_1, hunspell 1.7.0_2 +```shell +$ brew install boost wxwidgets hunspell +``` +Note: Tested with boost 1.72.0\_3, wxmac (wxwidgets) 3.0.5.1\_1, hunspell 1.7.0\_2 Then use cmake to build -```` -mkdir build && cd build -cmake -DCMAKE_BUILD_TYPE=Release .. -cmake --build .. -```` +```shell +$ mkdir build && cd build +$ cmake -DCMAKE_BUILD_TYPE=Release .. +$ cmake --build .. +``` Use `CMAKE_BUILD_TYPE=Debug` for a debug build Finally, copy the resources to a SharedSupport directory and run the executable -```` -mkdir SharedSupport && cd SharedSupport -cp -r ../resource SharedSupport/ -./magicseteditor -```` +```shell +$ mkdir SharedSupport && cd SharedSupport +$ cp -r ../resource SharedSupport/ +$ ./magicseteditor +``` From cc5acb244a0f32fa528bc3ec28bbadc11704dea7 Mon Sep 17 00:00:00 2001 From: Mattias Bengtsson Date: Sun, 18 Apr 2021 02:34:58 +0200 Subject: [PATCH 2/8] README: Keep Mac instructions in sync with Linux This should work the same way. --- README.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 5c3eead80..abf860251 100644 --- a/README.md +++ b/README.md @@ -80,9 +80,8 @@ $ brew install boost wxwidgets hunspell Note: Tested with boost 1.72.0\_3, wxmac (wxwidgets) 3.0.5.1\_1, hunspell 1.7.0\_2 Then use cmake to build ```shell -$ mkdir build && cd build -$ cmake -DCMAKE_BUILD_TYPE=Release .. -$ cmake --build .. +$ cmake build -DCMAKE_BUILD_TYPE=Release +$ cmake --build build ``` Use `CMAKE_BUILD_TYPE=Debug` for a debug build From 9143e36072849b79929eec1fb355517329f416fa Mon Sep 17 00:00:00 2001 From: Mattias Bengtsson Date: Sun, 18 Apr 2021 03:06:28 +0200 Subject: [PATCH 3/8] README: Add cmake dependency This shouldn't come as a surprise to anyone but might as well add it to the instructions. --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index abf860251..470b872bd 100644 --- a/README.md +++ b/README.md @@ -61,7 +61,7 @@ The tests can be run from inside visual studio Install the dependencies, for example on a debian based system ```shell -$ sudo apt install g++ +$ sudo apt install g++ cmake $ sudo apt install libboost-dev libwxgtk3.0-gtk3-dev libhunspell-dev ``` Then use cmake to build @@ -75,7 +75,7 @@ Use `CMAKE_BUILD_TYPE=Debug` for a debug build Install the dependencies, for example using Homebrew ```shell -$ brew install boost wxwidgets hunspell +$ brew install boost wxwidgets hunspell cmake ``` Note: Tested with boost 1.72.0\_3, wxmac (wxwidgets) 3.0.5.1\_1, hunspell 1.7.0\_2 Then use cmake to build From ba31212a24b18313cbbe06bf2719397657e2ca44 Mon Sep 17 00:00:00 2001 From: Mattias Bengtsson Date: Sun, 18 Apr 2021 03:26:32 +0200 Subject: [PATCH 4/8] README: Add libboost-regex-dev dependency I had to install the libboost-regex-dev package on Ubuntu 20.04 to build there. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 470b872bd..cec8ced45 100644 --- a/README.md +++ b/README.md @@ -62,7 +62,7 @@ The tests can be run from inside visual studio Install the dependencies, for example on a debian based system ```shell $ sudo apt install g++ cmake -$ sudo apt install libboost-dev libwxgtk3.0-gtk3-dev libhunspell-dev +$ sudo apt install libboost-dev libboost-regex-dev libwxgtk3.0-gtk3-dev libhunspell-dev ``` Then use cmake to build ```shell From a1b1b90749c527ed56e0977e92217ef098561770 Mon Sep 17 00:00:00 2001 From: Mattias Bengtsson Date: Sun, 18 Apr 2021 03:14:57 +0200 Subject: [PATCH 5/8] README: Set cmake build path This is apparently how one defines the build directory path using CMake. From `cmake --help`: ... -B = Explicitly specify a build directory. ... --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index cec8ced45..38a93a25f 100644 --- a/README.md +++ b/README.md @@ -66,7 +66,7 @@ $ sudo apt install libboost-dev libboost-regex-dev libwxgtk3.0-gtk3-dev libhunsp ``` Then use cmake to build ```shell -$ cmake build -DCMAKE_BUILD_TYPE=Release +$ cmake -Bbuild -DCMAKE_BUILD_TYPE=Release $ cmake --build build ``` Use `CMAKE_BUILD_TYPE=Debug` for a debug build @@ -80,7 +80,7 @@ $ brew install boost wxwidgets hunspell cmake Note: Tested with boost 1.72.0\_3, wxmac (wxwidgets) 3.0.5.1\_1, hunspell 1.7.0\_2 Then use cmake to build ```shell -$ cmake build -DCMAKE_BUILD_TYPE=Release +$ cmake -Bbuild -DCMAKE_BUILD_TYPE=Release $ cmake --build build ``` Use `CMAKE_BUILD_TYPE=Debug` for a debug build From e139aa33cb3fc18c2f1a573791db9043a52d6d6b Mon Sep 17 00:00:00 2001 From: Mattias Bengtsson Date: Sun, 18 Apr 2021 01:24:03 +0200 Subject: [PATCH 6/8] CMake: Add UNIX install target Add installation target for UNIX systems. This defaults to install under /usr/local/bin/ and /usr/local/share/magicseteditor/ but is configurable through the CMAKE_INSTALL_PREFIX variable. --- CMakeLists.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 552bb9bbc..203cc197d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -57,6 +57,12 @@ if(WIN32) ) endif() +if(UNIX) + include(GNUInstallDirs) + install(TARGETS magicseteditor DESTINATION "${CMAKE_INSTALL_FULL_BINDIR}") + install(DIRECTORY "${CMAKE_CURRENT_LIST_DIR}/data" DESTINATION "${CMAKE_INSTALL_FULL_DATAROOTDIR}/magicseteditor") + install(DIRECTORY "${CMAKE_CURRENT_LIST_DIR}/resource" DESTINATION "${CMAKE_INSTALL_FULL_DATAROOTDIR}/magicseteditor") +endif() # warnings if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) From 23ffd59aaf6ca44a6f6f8f0e1539d2f2ee568723 Mon Sep 17 00:00:00 2001 From: Mattias Bengtsson Date: Sun, 18 Apr 2021 02:36:08 +0200 Subject: [PATCH 7/8] README: Add install instructions Add installation instructions to the build instructions. --- README.md | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 38a93a25f..c3c09e86a 100644 --- a/README.md +++ b/README.md @@ -68,6 +68,8 @@ Then use cmake to build ```shell $ cmake -Bbuild -DCMAKE_BUILD_TYPE=Release $ cmake --build build +# Optinal systemwide install (/usr/local/). Use --prefix to override. +$ cmake --install build ``` Use `CMAKE_BUILD_TYPE=Debug` for a debug build @@ -82,12 +84,7 @@ Then use cmake to build ```shell $ cmake -Bbuild -DCMAKE_BUILD_TYPE=Release $ cmake --build build +# Optinal systemwide install (/usr/local/). Use --prefix to override. +$ cmake --install build ``` Use `CMAKE_BUILD_TYPE=Debug` for a debug build - -Finally, copy the resources to a SharedSupport directory and run the executable -```shell -$ mkdir SharedSupport && cd SharedSupport -$ cp -r ../resource SharedSupport/ -$ ./magicseteditor -``` From 8c730d1b1b82d66267673fd9de524a087a7870f7 Mon Sep 17 00:00:00 2001 From: Mattias Bengtsson Date: Sat, 12 Jul 2025 11:52:38 +0200 Subject: [PATCH 8/8] Add app icon --- CMakeLists.txt | 6 ++++-- io.github.mattiasb.MagicSetEditor2.desktop | 8 ++++++++ .../icon/io.github.mattiasb.MagicSetEditor2.png | Bin 0 -> 6322 bytes 3 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 io.github.mattiasb.MagicSetEditor2.desktop create mode 100644 resource/icon/io.github.mattiasb.MagicSetEditor2.png diff --git a/CMakeLists.txt b/CMakeLists.txt index 203cc197d..5b8fd3434 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -60,8 +60,10 @@ endif() if(UNIX) include(GNUInstallDirs) install(TARGETS magicseteditor DESTINATION "${CMAKE_INSTALL_FULL_BINDIR}") - install(DIRECTORY "${CMAKE_CURRENT_LIST_DIR}/data" DESTINATION "${CMAKE_INSTALL_FULL_DATAROOTDIR}/magicseteditor") - install(DIRECTORY "${CMAKE_CURRENT_LIST_DIR}/resource" DESTINATION "${CMAKE_INSTALL_FULL_DATAROOTDIR}/magicseteditor") + install(FILES io.github.mattiasb.MagicSetEditor2.desktop DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications") + install(FILES resource/icon/io.github.mattiasb.MagicSetEditor2.png DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/64x64/apps/") + install(DIRECTORY "${CMAKE_CURRENT_LIST_DIR}/data" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/magicseteditor") + install(DIRECTORY "${CMAKE_CURRENT_LIST_DIR}/resource" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/magicseteditor") endif() # warnings diff --git a/io.github.mattiasb.MagicSetEditor2.desktop b/io.github.mattiasb.MagicSetEditor2.desktop new file mode 100644 index 000000000..6ad0e0f88 --- /dev/null +++ b/io.github.mattiasb.MagicSetEditor2.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Name=Magic Set Editor +Comment=Create custom Magic: the Gathering cards +Exec=env GTK_THEME=Adwaita:light magicseteditor +Icon=io.github.mattiasb.MagicSetEditor2 +Terminal=false +Type=Application +Categories=Game; diff --git a/resource/icon/io.github.mattiasb.MagicSetEditor2.png b/resource/icon/io.github.mattiasb.MagicSetEditor2.png new file mode 100644 index 0000000000000000000000000000000000000000..2719f237e34736524fc258e4871c95aabfc4cb68 GIT binary patch literal 6322 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 literal 0 HcmV?d00001