Skip to content

Latest commit

 

History

History
114 lines (100 loc) · 6.64 KB

File metadata and controls

114 lines (100 loc) · 6.64 KB

Build Seamly2D

Basic Software Prerequisites:

  • Qt 6.5.3 (includes Qt, QtCreator, QtChooser, and Qt Maintenance Tool)
  • Visual Studio Qt Visual Studio Tools extension - needed to build with MSVC.
  • Git or Github Desktop for Windows and MacOS
  • Compiler - MSVC 2019, 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.

Code Documentation

Development methods and styles:

Build method:

Tools for improved Code reviews, Pull Requests, and Commits:

  • Codesee, autogenerated maps of code base and PRs. SeamlyTeam contributors can access our map here
  • Google Blocks, drill-down tool to visually organize and analyze the code base.
  • What the Diff, an AI-powered assistant that adds expanded comments to commits.

Build on Linux

These instructions apply in general

  • Install Qt 6.5.3, eg via Qt unified installer or https://github.com/miurahr/aqtinstall
  • Install QtCreator https://wiki.qt.io/VendorPackages
  • Install Additional libraries
    • gnu compiler
    • poppler (pdftops)
    • Example for Ubuntu 22.04:
      $ sudo apt install -y build-essential git poppler-tools
      
  • Build and install:
    $ qmake
    $ make -j$(nproc)
    $ sudo make install
    
    Note: The default prefix for command make install is /usr. To define another prefix, install with an INSTALL_ROOT specified. This example sets /usr/local as the new prefix for Seamly's installation binary files:
    $ sudo make INSTALL_ROOT=/usr/local install
    
  • 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

  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
  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 6.5.3
            • 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 (Qt Maintenance Tool is always installed with Developer & Designer Tools - this will be highlighted)
  3. Windows only:

    • Download XpdfReader for Windows. Extract to C:/Program Files. Rename folder to C:/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]
  4. Mac only for signing and notarizing:

    • Enable signing and notarizing at qmake step:
      qmake Seamly2D.pro CONFIG+=macSign
      
  5. Both MacOS and Windows:

    • Build the Seamly2D project
      • 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:
        • Read more about jom here
        • Read more about nmake here
          cd $SOURCE_DIRECTORY\build
          qmake ..\Seamly2D.pro
          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 creation of post script (.ps and .eps) pattern piece layouts.

Fonts, Icons, Images

  1. Seamly uses the user's system font by default.
  2. Application preferences allow the user to select from installed fonts for use in pattern labels.
  3. For icons and pixmaps use an svg, unless the svg contains text, in which case use a png to avoid missing font issues for the user.
  4. Images imported into a pattern can be in either png, jpg, or bmp format, and are stored in the pattern file as a bytearray.