KLayout Main Sources
Go to file
Matthias Koefferlein 3cbbe041aa WIP: some bugfixes, new tests (up/down, down/up interactions) 2018-09-22 23:37:23 +02:00
etc Updated CONTRIB file, preparations for RPM building. 2017-09-10 17:42:38 +00:00
macbuild Remove pathlib dependency for building on Mac OS 2018-08-08 14:30:48 -04:00
scripts Some update to fix build issues (this time, Linux) 2018-09-10 21:56:20 +02:00
src WIP: some bugfixes, new tests (up/down, down/up interactions) 2018-09-22 23:37:23 +02:00
testdata Updated golden data for strm2txt 2018-09-10 07:12:25 +02:00
.gitignore Updated .gitignore. 2018-09-09 18:31:27 +02:00
.travis.yml disabling pip upgrade for linux py 2.6 2018-08-02 09:27:59 -04:00
Brewfile trying without brew curl and expat (bis) 2018-07-16 10:45:03 -04:00
CONTRIB Updated CONTRIB file, preparations for RPM building. 2017-09-10 17:42:38 +00:00
COPYRIGHT Updated version and changelog. 2018-07-11 00:40:58 +02:00
Changelog Debian's packager check is still super-picky about Changelog. 2018-09-11 07:36:24 +02:00
Changelog.Debian grrr ... Debian package still complains. 2018-09-11 20:41:46 +02:00
Jenkinsfile Fixed Jenkinsfile (correct spelling of library function). 2018-06-27 00:18:11 +02:00
Jenkinsfile-publish-doc Enabled CI builds (added Jenkinsfiles) 2018-06-26 01:03:39 +02:00
Jenkinsfile-publish-sources Enabled CI builds (added Jenkinsfiles) 2018-06-26 01:03:39 +02:00
LICENSE Initial commit 2017-02-12 12:54:21 +01:00
README.md Update README.md 2017-12-05 22:45:16 +01:00
build.sh More reliable detection of extension suffix for Python 2.x 2018-07-16 00:56:12 +02:00
build4mac.py adding symlinks to build4mac scripts 2018-03-16 17:01:56 -04:00
dropbox-deployment.yml pushing wheel to dropbox 2018-07-16 22:26:17 -04:00
makeDMG4mac.py adding symlinks to build4mac scripts 2018-03-16 17:01:56 -04:00
setup.py Merge branch 'pymod' into pymod-msvc 2018-09-07 22:56:22 +02:00
test-pydeploy.py Embedding the Python.framework into the bundle. patching distutils, site and pip so they work inside. 2018-03-19 17:04:37 -04:00
test-pylib-script.py Embedding the Python.framework into the bundle. patching distutils, site and pip so they work inside. 2018-03-19 17:04:37 -04:00
version.sh Updated version and changelog. 2018-07-11 00:40:58 +02:00

README.md

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

  • Qt 4.7 or later (4.6 with some restrictions) or Qt 5
  • gcc 4.6 or later or clang 3.8 or later

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

Build options

  • Ruby: with this option, Ruby scripts can be executed and developped within KLayout. Ruby support is detected automatically by the build script.
  • Python: with this option, Python scripts can be executed and developped within KLayout. Python support is detected automatically by the build script.
  • Qt binding: with this option, Qt objects are made available to Ruby and Python scripts. Qt bindings are enabled by default. Qt binding offers an option to create custom user interfaces from scripts and to interact with KLayout's main GUI. On the other hand, they provide a considerable overhead when building and running the application.
  • 64 bit coordinate support: with this option, the coordinate type used internally is extended to 64bit as compared to 32bit in the standard version. This will duplicate memory requirements for coordinate lists, but allow a larger design space. 64bit coordinate support is experimental and disabled by default.

Building instructions (Linux)

Plain building for Qt4

./build.sh 

Plain building for Qt5

./build.sh -qt5 

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