Home

Awesome

klayout

This repository will hold the main sources for the KLayout project.

Plugins can be included into the "plugins" directory from external sources.

For more details see http://www.klayout.org.

Building requirements

Building on Linux:

Building on Windows with MSYS2:

Building on Windows with MSVC 2017:

For more build instructions see http://www.klayout.de/build.html.

Build options

Building instructions (Linux)

Plain building for Qt4, Qt5 and Qt6 (one Qt version installed)

./build.sh

Building without Qt binding

./build.sh -without-qtbinding

Debug build

./build.sh -debug

Building with a particular Ruby version

./build.sh -ruby <path-to-ruby>

(path-to-ruby is the full path of the particular ruby interpreter)

Building with a particular Python version

./build.sh -python <path-to-python>

(path-to-python is the full path of the particular python interpreter)

Building with a particular Qt version

./build.sh -qmake <path-to-qmake>

(path-to-qmake is the full path of the particular qmake installation)

Building with 64bit coordinate support (experimental)

./build.sh -with-64bit-coord

Pass make options

./build.sh -j4

(for running 4 jobs in parallel)

More options

For more options use

./build.sh -h

Running the Test Suite (Linux)

Go to the build directory (i.e. "bin-release") and enter

export TESTTMP=testtmp    # path to a directory that will hold temporary data (will be created)
export TESTSRC=..         # path to the source directory
./ut_runner

For more options use

./ut_runner -h

Build instructions (Windows, MSYS2)

From the MSYS2 MinGW bash (32 bit or 64 bit) use the same commands as for Linux to build the binaries.

Build instructions (Windows, MSVC 2017)

The combination supported and tested was Qt 5.11/MSVC 2017 64bit. It's sufficient to install the build tools from MSVC's community edition.

A build script similar to build.sh is provided for Windows (build.bat).

For details about this build script use

build.bat -h

For MSVC builds a number of third party libraries are required:

The "klayout-bits4msvc2017" project (https://github.com/klayoutmatthias/klayout_bits4msvc2017) targets towards providing a binary distribution for this purpose. See the release notes there for download links. Download the .zip archive from there and unpack it to some folder, e.g. "c:\klayout-bits".

The build script needs the path to this package. "qmake" and (for obtaining the build version) "git" should be in the path. If qmake is not in the path, you can use "build.bat -qmake ..." to specify qmake's path.

Here is an example for the build.bat call:

build.bat -bits c:\klayout-bits

The 3rd party bits kit can also be used to build the Python standalone package on setuptools. Specify the full path to the 3rd party package up to the compiler and architecture. On 64bit with the bits package installed in "c:\klayout-bits" the build call is this:

set KLAYOUT_BITS=c:\klayout-bits\msvc2017\x64
python setup.py build