Hacking:Building: Difference between revisions
Content deleted Content added
Update build steps |
|||
(33 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
<languages /> |
|||
<br /> |
|||
__TOC__ |
__TOC__ |
||
<translate> |
|||
== Getting the sources == |
|||
Main repository: https://bitbucket.org/dismine/valentina<br /> |
|||
Mirror on GitHub: https://github.com/dismine/Valentina |
|||
== Getting the sources == <!--T:1--> |
|||
Clone from the [https://github.com/FashionFreedom/Seamly2D/ Seamly2D repository] on GitHub. |
|||
In Git, create a feature branch to hold your changes. |
|||
== Build Seamly2D and SeamlyMe == |
|||
[[File:Download tab tags.png|center]] |
|||
=== Basic Software Prerequisites: === |
|||
Use tab '''Tags''' if you want to get code for specific version. |
|||
*[https://www.qt.io/download-open-source Qt 5.15.2] (includes Qt, QtCreator, QtChooser, and Qt Maintenance Tool) |
|||
*[https://git-scm.com/downloads Git] or [https://desktop.github.com Github Desktop for Windows and MacOS] |
|||
*Compiler - MSVC 2022, gcc, and g++ are included with QtCreator, and you can add or update them using the Qt Maintenance Tool (Maintenance.exe). |
|||
*Pdftops (from XpdfReader or poppler) - Required to create PS or EPS layout files. |
|||
*Check the sections below for your operating system to find additional installation requirements. |
|||
=== Development methods and styles: === |
|||
[[File:Download tab branches.png|center]] |
|||
*[https://githubflow.github.io GitHub Flow workflow] |
|||
Use tab '''Branches''' if you wan to get code for [[Hacking:Making pull requests|develop branch]]. |
|||
*[https://www.conventionalcommits.org/en/v1.0.0/ GibHub commit message style guide] |
|||
*[https://guides.github.com/features/issues/ GitHub issue description style guide] |
|||
=== |
=== Build method: === |
||
*Read more about code styles and other developer items of interest on our [https://github.com/FashionFreedom/Seamly2D/wiki Developer wiki]. |
|||
To get a copy of Valentina's repository, run: |
|||
*Review our [https://github.com/FashionFreedom/Seamly2D/blob/develop/.github/workflows/build-release.yml GitHub Action CI script]. |
|||
___________________________________________________ |
|||
==== Build on Linux ==== |
|||
These instructions apply in general to all distros |
|||
*Install Qt 5.15.2. Example for Ubuntu 18.04: Install the following packages to have Qt5 build environment ready: |
|||
<source lang=bash> |
|||
hg clone https://bitbucket.org/dismine/valentina |
|||
cd $SOURCE_DIRECTORY |
|||
</source> |
|||
$ sudo apt install -y libfuse2 qt5-qmake qtbase5-dev libqt5xmlpatterns5-dev libqt5svg5-dev qttools5-dev-tools |
|||
To update that repository, run: |
|||
*Install QtCreator https://wiki.qt.io/VendorPackages |
|||
<source lang=bash> |
|||
*Install Additional libraries |
|||
hg pull |
|||
**gnu compiler |
|||
hg up |
|||
**poppler (pdftops) |
|||
</source> |
|||
Example for Ubuntu 18.04: |
|||
$ sudo apt install -y build-essential git poppler-tools |
|||
'''Note.''' By default mercurial makeі active [[Hacking:Making pull requests|branch default]]. |
|||
*Build and install: |
|||
Run <code>hg branch</code> to find out which branch is active now. |
|||
$ qmake Seamly2D.pro CONFIG+=noDebugSymbols |
|||
For example if need to update to 'develop' use command <code>hg update develop</code>. |
|||
$ make -j$(nproc) |
|||
$ sudo make install |
|||
Note: The default prefix for command `make install` is `/usr`. To define another prefix, build with qmake's PREFIX option. This example sets `/usr/local` as the new prefix for Seamly's installation binary files: |
|||
== Dependencies == |
|||
Common: |
|||
* Qt 5.2.1 or later (on Unix development packages needed) |
|||
* mercurial (TortoiseHG is recommended.) |
|||
$ qmake PREFIX=/usr/local Seamly2D.pro CONFIG+=noDebugSymbols |
|||
Mac OS X: |
|||
* Xcode. |
|||
* Mercurial that shipped with TortoiseHG can't reached outside. So, if you want nice tag hash number in dialog About App install mercurial independent for this. |
|||
*Copy pdftops to Seamly build directory if you need to create post script (.ps and .eps) pattern piece layouts. |
|||
Windows: |
|||
___________________________________________________ |
|||
* MinGW or Visual Studio (both are part of Qt packages) |
|||
==== Build on MacOSX and Windows 10/11 ==== |
|||
'''Step 1: MacOS only''' |
|||
*Read about Qt for macOS [https://doc.qt.io/qt-5/macos.html here] |
|||
*Install [https://developer.apple.com/download/all/ Xcode 11] |
|||
*Setup/validate build environment. Read more [https://doc.qt.io/qt-5/macos.html#build-environment here]. |
|||
*Switch to Xcode: `sudo xcode-select --switch /Applications/Xcode.app` |
|||
*Validate clang compiler points to Xcode: `xcrun -sdk macosx -find clang` |
|||
*Validate SDK version (macOS 10.15): `xcrun -sdk macosx --show-sdk-path` |
|||
*Install Xpdf: `sudo port install xpdf` |
|||
'''Step 2: Both MacOS and Windows''' |
|||
Linux: |
|||
*Download & run the [https://www.qt.io/download-qt-installer Qt unified installer]. Create a Qt account for open source Community Edition if you don't have one. |
|||
* ccache (on Linux) Recommended for speed up often re-compilations. |
|||
**Select: |
|||
* g++ (at least GCC 4.6 is needed and GCC 4.8 is recommended) |
|||
***Custom Installation |
|||
***Qt - _Minimize your options, otherwise your download size could be in Gs_ |
|||
****Qt 5.15.2 |
|||
****MSVC 2019 |
|||
****Qt Debug Information Files |
|||
***Developer and Designer Tools |
|||
****Qt Creator |
|||
****Qt Creator CDB Debugger Support |
|||
****Debugging Tools for Windows |
|||
****Qt Creator Debug Symbols |
|||
Note: (Qt Maintenance Tool is always installed with Developer & Designer Tools - this will be highlighted) |
|||
'''Step 3: Windows only''' |
|||
For Windows and Mac OS X you can get Qt from official website: [https://www.qt.io/download/ Download Qt]. |
|||
**Download [http://www.xpdfreader.com/download.html XpdfReader] for Windows. Extract to `C:/Program Files`. Rename folder to `:/Program Files/Xpdf`. |
|||
*Read about Qt for Windows [https://doc.qt.io/qt-5/windows.html here]. |
|||
*Add Qt and QtCreator directories to the Windows PATH environment variable through Control Panel: |
|||
[Control Panel | System And Security | System | Advanced Tab | Environment Variables button] |
|||
'''Step 4: Both MacOS and Windows''' |
|||
== Configuring and building == |
|||
*To build with Qt's *QtCreator* IDE: |
|||
The installed toolchains have to match the one Qt was compiled with. |
|||
**Create your compiler kit. Read more about adding compilers [https://doc.qt.io/qtcreator/creator-tool-chains.html on the Qt website]. |
|||
**Complete your build settings. Read more about build settings [https://doc.qt.io/qtcreator/creator-build-settings.html here]. |
|||
**Open the Seamly2D project with 'File > Open File or Project'. Navigate to the 'seamly2d/src' directory and select 'Seamly2D.pro'. |
|||
**Open the Configure Project tab and select your compiler kit. Read more [https://doc.qt.io/qtcreator/creator-project-opening.html here]. |
|||
**Build with the 'Build and Run Kit Selector' icon, or use 'Build' and 'Run' from the Tools menu. Read more [https://doc.qt.io/qtcreator/creator-building-targets.html here]. |
|||
*To build with Qt's *qmake* from a terminal window: |
|||
**Read more about jom [https://wiki.qt.io/Jom here]. |
|||
**Read more about nmake [https://learn.microsoft.com/en-us/cpp/build/reference/nmake-reference?view=msvc-170 here]. |
|||
cd $SOURCE_DIRECTORY\build |
|||
You can build Valentina |
|||
qmake ..\Seamly2D.pro CONFIG+=noDebugSymbols |
|||
nmake # (or jom. Assign multiple CPUs to speed up compilation time but don't use all - leave at least one CPU for your OS.) |
|||
*Copy the `C:\Program Files\Xpdf\bin64\pdftops.exe` (or bin32) file to the Seamly build directory to enable the creation of post script (.ps and .eps) pattern piece layouts. |
|||
<source lang=bash> |
|||
cd $SOURCE_DIRECTORY |
|||
qmake -r |
|||
make (or mingw32-make or nmake or jom, depending on your platform) |
|||
</source> |
|||
</translate> |
|||
Note:In order to build and use Valentina, the PATH environment variable needs to be extended: |
|||
PATH - to locate qmake, moc and other Qt tools This is done by adding c:\Qt\%VERSION%\bin to the PATH variable. |
|||
For newer versions of Windows, PATH can be extended through the Control Panel|System|Advanced|Environment variables menu. |
|||
You may also need to ensure that the locations of your compiler and other build tools are listed in the PATH variable. This will depend on your choice of software development environment. |
|||
== Issues with build == |
|||
If you have issues with build Valentina check if you satisfy all dependencies. If this not help, [[Hacking:How To Report Valentina Bugs|create new issue in the issues tracker]] or new topic in the [https://groups.google.com/forum/#!forum/valentina-project-list mailing list]. Add information about your system and full log of compilation. We also need information about what branch did you fail try to build. |
|||
Current known issue, and solution, on building with QtCreator 3.4.0 based on Qt 5.4.1 on Windows 8 64-bit with Avira AntiVirus Pro version 15.0.10.434 (as of June 11 2015): Build fails with 'file previously exists' errors when writing build files to destination directory. Problem is based on Avira scanning each file causing delay, Qt retries writing the file and generates the error. Other versions of Qt Creator and Avira may exhibit similar behavior. Set Avira Real-Time Protection to 'off' before building. |
Latest revision as of 21:12, 14 January 2023
Getting the sources[edit | edit source]
Clone from the Seamly2D repository on GitHub. In Git, create a feature branch to hold your changes.
Build Seamly2D and SeamlyMe[edit | edit source]
Basic Software Prerequisites:[edit | edit source]
- Qt 5.15.2 (includes Qt, QtCreator, QtChooser, and Qt Maintenance Tool)
- Git or Github Desktop for Windows and MacOS
- Compiler - MSVC 2022, gcc, and g++ are included with QtCreator, and you can add or update them using the Qt Maintenance Tool (Maintenance.exe).
- Pdftops (from XpdfReader or poppler) - Required to create PS or EPS layout files.
- Check the sections below for your operating system to find additional installation requirements.
Development methods and styles:[edit | edit source]
Build method:[edit | edit source]
- Read more about code styles and other developer items of interest on our Developer wiki.
- Review our GitHub Action CI script.
___________________________________________________
Build on Linux[edit | edit source]
These instructions apply in general to all distros
- Install Qt 5.15.2. Example for Ubuntu 18.04: Install the following packages to have Qt5 build environment ready:
$ sudo apt install -y libfuse2 qt5-qmake qtbase5-dev libqt5xmlpatterns5-dev libqt5svg5-dev qttools5-dev-tools
- Install QtCreator https://wiki.qt.io/VendorPackages
- Install Additional libraries
- gnu compiler
- poppler (pdftops)
Example for Ubuntu 18.04:
$ sudo apt install -y build-essential git poppler-tools
- Build and install:
$ qmake Seamly2D.pro CONFIG+=noDebugSymbols $ make -j$(nproc) $ sudo make install
Note: The default prefix for command `make install` is `/usr`. To define another prefix, build with qmake's PREFIX option. This example sets `/usr/local` as the new prefix for Seamly's installation binary files:
$ qmake PREFIX=/usr/local Seamly2D.pro CONFIG+=noDebugSymbols
- Copy pdftops to Seamly build directory if you need to create post script (.ps and .eps) pattern piece layouts.
___________________________________________________
Build on MacOSX and Windows 10/11[edit | edit source]
Step 1: MacOS only
- Read about Qt for macOS here
- Install Xcode 11
- Setup/validate build environment. Read more here.
- Switch to Xcode: `sudo xcode-select --switch /Applications/Xcode.app`
- Validate clang compiler points to Xcode: `xcrun -sdk macosx -find clang`
- Validate SDK version (macOS 10.15): `xcrun -sdk macosx --show-sdk-path`
- Install Xpdf: `sudo port install xpdf`
Step 2: Both MacOS and Windows
- Download & run the Qt unified installer. Create a Qt account for open source Community Edition if you don't have one.
- Select:
- Custom Installation
- Qt - _Minimize your options, otherwise your download size could be in Gs_
- Qt 5.15.2
- MSVC 2019
- Qt Debug Information Files
- Developer and Designer Tools
- Qt Creator
- Qt Creator CDB Debugger Support
- Debugging Tools for Windows
- Qt Creator Debug Symbols
- Select:
Note: (Qt Maintenance Tool is always installed with Developer & Designer Tools - this will be highlighted)
Step 3: Windows only
- Download XpdfReader for Windows. Extract to `C:/Program Files`. Rename folder to `:/Program Files/Xpdf`.
- Read about Qt for Windows here.
- Add Qt and QtCreator directories to the Windows PATH environment variable through Control Panel:
[Control Panel | System And Security | System | Advanced Tab | Environment Variables button]
Step 4: Both MacOS and Windows
- To build with Qt's *QtCreator* IDE:
- Create your compiler kit. Read more about adding compilers on the Qt website.
- Complete your build settings. Read more about build settings here.
- Open the Seamly2D project with 'File > Open File or Project'. Navigate to the 'seamly2d/src' directory and select 'Seamly2D.pro'.
- Open the Configure Project tab and select your compiler kit. Read more here.
- Build with the 'Build and Run Kit Selector' icon, or use 'Build' and 'Run' from the Tools menu. Read more here.
- To build with Qt's *qmake* from a terminal window:
cd $SOURCE_DIRECTORY\build qmake ..\Seamly2D.pro CONFIG+=noDebugSymbols nmake # (or jom. Assign multiple CPUs to speed up compilation time but don't use all - leave at least one CPU for your OS.)
- Copy the `C:\Program Files\Xpdf\bin64\pdftops.exe` (or bin32) file to the Seamly build directory to enable the creation of post script (.ps and .eps) pattern piece layouts.