Giter Site home page Giter Site logo

nomacs - Image Lounge 🍸

nomacs is a free, open source image viewer, which supports multiple platforms. You can use it for viewing all common image formats including RAW and psd images. nomacs is licensed under the GNU General Public License v3 and available for Windows, Linux, FreeBSD, Mac, and OS/2.

Build status Downloads Crowdin

Build nomacs (Windows)

We assume you have an IDE (i.e. Visual Studio), python, git, and Qt installed.

Get all dependencies:

git submodule init
git submodule update

Project folders in 3rd-party will not be empty anymore. Now call:

python scripts/make.py "qtpath/bin"

This will build nomacs into build/nomacs. If you are using Visual Studio, you can then double-click build/nomacs/nomacs.sln. Right-click the nomacs project and choose Set as StartUp Project.

Build individual projects using:

python scripts/make.py "qt/bin" --project quazip,libraw --force

Developer Build

I like having a separate developer build (without submodules) that uses 3rd party libs already compiled. To do so you need to:

git submodule update --init --remote scripts 

# python scripts/make.py "C:\Qt\Qt-5.14.1-installer\5.14.2\msvc2017_64\bin" --lib-path C:\coding\nomacs\nomacs\3rd-party\build
python scripts/make.py "qt/bin" --lib-path "nomacs/3rd-party/build"

If anything did not work

  • check if you have setup opencv (otherwise uncheck ENABLE_OPENCV)
  • check if your Qt is set correctly (otherwise set the path to qt_install_dir/qtbase/bin/qmake.exe)
  • check if your builds proceeded correctly

Build nomacs (Ubuntu)

Get the required packages:

  • For Ubuntu 21.04 and above:

    sudo apt-get install debhelper cdbs qt5-qmake qttools5-dev-tools qtbase5-dev qttools5-dev libqt5svg5-dev qt5-image-formats-plugins libexiv2-dev libraw-dev libopencv-dev cmake libtiff-dev libquazip5-dev libwebp-dev git build-essential lcov libzip-dev
  • For older Ubuntu versions:

    sudo apt-get install debhelper cdbs qt5-qmake qttools5-dev-tools qt5-default qttools5-dev libqt5svg5-dev qt5-image-formats-plugins libexiv2-dev libraw-dev libopencv-dev cmake libtiff-dev libquazip5-dev libwebp-dev git build-essential lcov libzip-dev

Clone the nomacs repository from GitHub:

git clone https://github.com/nomacs/nomacs.git

This will by default place the source into ~/nomacs Go to the nomacs/ImageLounge directory and run cmake to get the Makefiles:

mkdir build
cd build
cmake ../ImageLounge/.

Compile nomacs:

make

You will now have a binary (~/nomacs/build/nomacs), which you can test (or use directly). To install it to /usr/local/bin, use:

sudo make install

note that you have to execute

sudo ldconfig

after a successful install.

Install the heif plugin for HEIF support.

For Package Maintainers

  • Set ENABLE_TRANSLATIONS to true (default: false)
  • Build all officially supported plugins

Build nomacs (MacOS)

Install Homebrew for easier installation of dependencies. Install required dependencies:

brew install qt5 exiv2 opencv libraw quazip cmake pkg-config

Clone the nomacs repository from GitHub:

git clone https://github.com/nomacs/nomacs.git

Go to the nomacs directory and run cmake to get the Makefiles:

cd nomacs
mkdir build
cd build

For Homebrew on Intel models:

Qt5_DIR=/usr/local/opt/qt5/ cmake -DQT_QMAKE_EXECUTABLE=/usr/local/opt/qt5/bin/qmake ../ImageLounge/.

For Homebrew on Apple Silicon models:

Qt5_DIR=/opt/homebrew/opt/qt5/ cmake -DQT_QMAKE_EXECUTABLE=/opt/homebrew/opt/qt5/bin/qmake ../ImageLounge/.

Run make:

make

You will now have a binary (nomacs.app), which you can test (or use directly). To install it to /usr/local/bin, use

sudo make install

Build in Docker

We have created a docker image that best simulates the travis system (currently it's ubuntu xenial 16.04). To build nomacs in a docker, you have to create the image:

docker build --rm -f "Dockerfile" -t nomacs:latest empty-docker-dir

To deploy nomacs in a docker on your system, you can mount this directory using:

docker run --rm -it -v C:\\coding\\nomacs:/usr/nomacs nomacs:latest

If needed, you can upload the image:

docker login
docker tag nomacs diemmarkus/nomacs
docker push diemmarkus/nomacs:latest

Links

nomacs-icon

nomacs - Image Lounge's Projects

dependencycollector icon dependencycollector

Searches the dependencies (dlls) needed for an executable or dll and copies it to the correct directory

exiv2 icon exiv2

Image metadata library and tools

heif icon heif

High Efficiency Image File Format

libheif icon libheif

libheif is a ISO/IEC 23008-12:2017 HEIF file format decoder and encoder.

libqpcx icon libqpcx

Qt C++ plugin for ZSoft's PCX (Personal Computer Exchange) and DCX (Multipage PCX) image file format

libqpsd icon libqpsd

PSD (Photoshop Document) & PSB (Photoshop Big) Plugin for Qt/C++ (Qt4/Qt5)

libraw icon libraw

LibRaw is a library for reading RAW files from digital cameras

nomacs icon nomacs

nomacs is a free image viewer for windows, linux, and mac systems.

scripts icon scripts

python scirpts that are needed to configure & build nomacs

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.