2017-02-12 13:21:08 +01:00
|
|
|
|
2017-08-27 00:47:40 +02:00
|
|
|
TL_INC = $$PWD/tl/tl
|
2017-08-26 22:44:31 +02:00
|
|
|
DB_INC = $$PWD/db/db
|
2017-08-23 09:58:39 +02:00
|
|
|
DRC_INC = $$PWD/drc/drc
|
2019-07-06 09:15:33 +02:00
|
|
|
LVS_INC = $$PWD/lvs/lvs
|
2017-08-26 22:44:31 +02:00
|
|
|
EDT_INC = $$PWD/edt/edt
|
|
|
|
|
EXT_INC = $$PWD/ext/ext
|
2017-08-26 23:43:40 +02:00
|
|
|
GSI_INC = $$PWD/gsi/gsi
|
2017-08-27 00:47:40 +02:00
|
|
|
ANT_INC = $$PWD/ant/ant
|
2017-08-27 08:33:02 +02:00
|
|
|
RDB_INC = $$PWD/rdb/rdb
|
|
|
|
|
IMG_INC = $$PWD/img/img
|
|
|
|
|
LYM_INC = $$PWD/lym/lym
|
|
|
|
|
LIB_INC = $$PWD/lib/lib
|
|
|
|
|
LAY_INC = $$PWD/lay/lay
|
|
|
|
|
LAYBASIC_INC = $$PWD/laybasic/laybasic
|
2017-08-27 00:47:40 +02:00
|
|
|
|
2018-05-30 00:39:58 +02:00
|
|
|
QTBASIC_INC = $$PWD/gsiqt/qtbasic
|
2017-08-27 00:47:40 +02:00
|
|
|
|
|
|
|
|
BD_INC = $$PWD/buddies/src/bd
|
|
|
|
|
|
2017-08-23 09:58:39 +02:00
|
|
|
VERSION_INC = $$PWD/version
|
|
|
|
|
|
|
|
|
|
equals(HAVE_RUBY, "1") {
|
2017-08-27 00:47:40 +02:00
|
|
|
RBA_INC = $$PWD/rba/rba
|
2019-09-18 00:50:21 +02:00
|
|
|
RBA_LIB = klayout_rba
|
2017-08-23 09:58:39 +02:00
|
|
|
} else {
|
|
|
|
|
RBA_INC = $$PWD/rbastub
|
2019-09-18 00:50:21 +02:00
|
|
|
RBA_LIB = klayout_rbastub
|
2017-08-23 09:58:39 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
equals(HAVE_PYTHON, "1") {
|
2017-08-27 00:47:40 +02:00
|
|
|
PYA_INC = $$PWD/pya/pya
|
2019-09-18 00:50:21 +02:00
|
|
|
PYA_LIB = klayout_pya
|
2017-08-23 09:58:39 +02:00
|
|
|
} else {
|
|
|
|
|
PYA_INC = $$PWD/pyastub
|
2019-09-18 00:50:21 +02:00
|
|
|
PYA_LIB = klayout_pyastub
|
2017-08-23 09:58:39 +02:00
|
|
|
}
|
|
|
|
|
|
2017-02-12 13:21:08 +01:00
|
|
|
equals(HAVE_QTBINDINGS, "1") {
|
2017-08-23 09:58:39 +02:00
|
|
|
DEFINES += HAVE_QTBINDINGS
|
2017-02-12 13:21:08 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
equals(HAVE_64BIT_COORD, "1") {
|
2017-08-23 09:58:39 +02:00
|
|
|
DEFINES += HAVE_64BIT_COORD
|
2017-02-12 13:21:08 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
equals(HAVE_PYTHON, "1") {
|
2018-09-06 00:23:10 +02:00
|
|
|
!isEmpty(BITS_PATH) {
|
|
|
|
|
include($$BITS_PATH/python/python.pri)
|
|
|
|
|
}
|
2017-08-23 09:58:39 +02:00
|
|
|
DEFINES += HAVE_PYTHON
|
2017-02-12 13:21:08 +01:00
|
|
|
}
|
|
|
|
|
|
2018-04-30 00:36:34 +02:00
|
|
|
equals(HAVE_CURL, "1") {
|
2018-09-06 00:23:10 +02:00
|
|
|
!isEmpty(BITS_PATH) {
|
|
|
|
|
include($$BITS_PATH/curl/curl.pri)
|
|
|
|
|
} else {
|
|
|
|
|
LIBS += -lcurl
|
|
|
|
|
win32 {
|
|
|
|
|
LIBS += -lwsock32 # required because we do "select"
|
|
|
|
|
}
|
|
|
|
|
}
|
2018-04-30 00:36:34 +02:00
|
|
|
DEFINES += HAVE_CURL
|
|
|
|
|
}
|
|
|
|
|
|
2018-07-02 22:19:36 +02:00
|
|
|
equals(HAVE_EXPAT, "1") {
|
2018-09-06 00:23:10 +02:00
|
|
|
!isEmpty(BITS_PATH) {
|
|
|
|
|
include($$BITS_PATH/expat/expat.pri)
|
|
|
|
|
} else {
|
|
|
|
|
LIBS += -lexpat
|
|
|
|
|
}
|
2018-07-02 22:19:36 +02:00
|
|
|
DEFINES += HAVE_EXPAT
|
|
|
|
|
}
|
|
|
|
|
|
2018-09-09 16:51:20 +02:00
|
|
|
equals(HAVE_PTHREADS, "1") {
|
|
|
|
|
!isEmpty(BITS_PATH) {
|
|
|
|
|
include($$BITS_PATH/ptw/ptw.pri)
|
|
|
|
|
} else {
|
|
|
|
|
LIBS += -lpthread
|
|
|
|
|
}
|
|
|
|
|
DEFINES += HAVE_PTHREADS
|
|
|
|
|
}
|
|
|
|
|
|
2017-02-12 13:21:08 +01:00
|
|
|
equals(HAVE_RUBY, "1") {
|
2018-09-06 00:23:10 +02:00
|
|
|
!isEmpty(BITS_PATH) {
|
|
|
|
|
include($$BITS_PATH/ruby/ruby.pri)
|
|
|
|
|
}
|
2017-02-12 13:21:08 +01:00
|
|
|
DEFINES += \
|
|
|
|
|
HAVE_RUBY \
|
|
|
|
|
HAVE_RUBY_VERSION_CODE=$$RUBYVERSIONCODE
|
|
|
|
|
}
|
|
|
|
|
|
2017-09-10 15:51:19 +02:00
|
|
|
!isEmpty(RPATH) {
|
|
|
|
|
QMAKE_RPATHDIR += $$RPATH
|
|
|
|
|
}
|
2017-02-12 13:21:08 +01:00
|
|
|
|
2018-09-06 00:23:10 +02:00
|
|
|
!isEmpty(BITS_PATH) {
|
|
|
|
|
include($$BITS_PATH/zlib/zlib.pri)
|
|
|
|
|
} else {
|
|
|
|
|
!msvc {
|
|
|
|
|
LIBS += -lz
|
|
|
|
|
}
|
|
|
|
|
}
|
2018-08-04 18:02:39 +02:00
|
|
|
|
2018-11-03 12:28:27 +01:00
|
|
|
equals(HAVE_CRONOLOGY, "1") {
|
|
|
|
|
DEFINES += HAVE_CRONOLOGY
|
|
|
|
|
LIBS += $$CRONOLOGY_LIB
|
|
|
|
|
INCLUDEPATH += $$CRONOLOGY_INCLUDE
|
|
|
|
|
}
|
|
|
|
|
|
2018-09-06 00:23:10 +02:00
|
|
|
msvc {
|
2018-08-04 18:02:39 +02:00
|
|
|
|
2018-09-06 00:23:10 +02:00
|
|
|
QMAKE_CXXFLAGS += \
|
|
|
|
|
/bigobj \
|
|
|
|
|
/wd4251 \ # Disable "DLL interface required"
|
|
|
|
|
/source-charset:utf-8 \ # Use UTF-8 for source files
|
2018-08-04 18:02:39 +02:00
|
|
|
|
2018-09-08 23:11:16 +02:00
|
|
|
QMAKE_LFLAGS += \
|
|
|
|
|
/OPT:NOREF \ # preserves functions we want to keep for implementing the "force link" mechanism
|
|
|
|
|
|
2018-08-04 18:02:39 +02:00
|
|
|
QMAKE_CXXFLAGS_WARN_ON += \
|
|
|
|
|
|
2018-09-06 00:23:10 +02:00
|
|
|
} else {
|
2018-08-04 18:02:39 +02:00
|
|
|
|
2018-09-23 00:53:19 +02:00
|
|
|
CONFIG(gcov) {
|
|
|
|
|
QMAKE_CXXFLAGS += -fprofile-arcs -ftest-coverage
|
2018-09-23 09:29:05 +02:00
|
|
|
QMAKE_LFLAGS += --coverage
|
2018-09-23 00:53:19 +02:00
|
|
|
}
|
|
|
|
|
|
2018-08-04 18:02:39 +02:00
|
|
|
QMAKE_CXXFLAGS_WARN_ON += \
|
|
|
|
|
-pedantic \
|
|
|
|
|
-Woverloaded-virtual \
|
|
|
|
|
-Wsign-promo \
|
|
|
|
|
-Wsynth \
|
|
|
|
|
-Wno-deprecated \
|
|
|
|
|
-Wno-long-long \
|
|
|
|
|
-Wno-strict-aliasing \
|
|
|
|
|
-Wno-deprecated-declarations \
|
|
|
|
|
-Wno-reserved-user-defined-literal \
|
2018-09-10 01:16:49 +02:00
|
|
|
|
|
|
|
|
# because we use unordered_map/unordered_set:
|
|
|
|
|
QMAKE_CXXFLAGS += -std=c++0x
|
2018-08-04 18:02:39 +02:00
|
|
|
|
2018-09-09 16:51:20 +02:00
|
|
|
win32 {
|
|
|
|
|
QMAKE_LFLAGS += -Wl,--exclude-all-symbols
|
|
|
|
|
} else {
|
|
|
|
|
QMAKE_CXXFLAGS += -fvisibility=hidden
|
|
|
|
|
}
|
|
|
|
|
|
2018-08-04 18:02:39 +02:00
|
|
|
}
|
2017-02-12 13:21:08 +01:00
|
|
|
|
2018-07-02 18:20:20 +02:00
|
|
|
equals(HAVE_QT, "0") {
|
|
|
|
|
|
|
|
|
|
QT =
|
2017-02-12 13:21:08 +01:00
|
|
|
|
|
|
|
|
} else {
|
2018-07-02 18:20:20 +02:00
|
|
|
|
|
|
|
|
DEFINES += HAVE_QT
|
2018-08-04 18:02:39 +02:00
|
|
|
QT += core network xml sql
|
2018-07-02 18:20:20 +02:00
|
|
|
|
|
|
|
|
equals(HAVE_QT5, "1") {
|
|
|
|
|
QT += designer printsupport
|
|
|
|
|
equals(HAVE_QTBINDINGS, "1") {
|
|
|
|
|
QT += multimedia multimediawidgets xmlpatterns svg gui
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
# questionable: use uitools instead?
|
|
|
|
|
CONFIG += designer
|
|
|
|
|
}
|
|
|
|
|
|
2017-02-12 13:21:08 +01:00
|
|
|
}
|
|
|
|
|
|
2017-09-10 11:42:19 +02:00
|
|
|
VERSION_STRING = $$KLAYOUT_VERSION
|
|
|
|
|
VERSION_STRING_WITH_BLANKS = $$replace(VERSION_STRING, "\\.", " ")
|
|
|
|
|
eval(VERSION_ARRAY = $$VERSION_STRING_WITH_BLANKS)
|
|
|
|
|
|
|
|
|
|
KLAYOUT_MAJOR_VERSION = $$member(VERSION_ARRAY, 0)
|
|
|
|
|
|
|
|
|
|
KLAYOUT_MINOR_VERSION = $$member(VERSION_ARRAY, 1)
|
|
|
|
|
|
|
|
|
|
KLAYOUT_TINY_VERSION = $$member(VERSION_ARRAY, 2)
|
|
|
|
|
isEmpty(KLAYOUT_TINY_VERSION) {
|
|
|
|
|
KLAYOUT_TINY_VERSION = 0
|
|
|
|
|
}
|
|
|
|
|
|
2017-08-12 23:08:18 +02:00
|
|
|
DEFINES += \
|
2017-08-27 17:44:41 +02:00
|
|
|
KLAYOUT_VERSION=$$KLAYOUT_VERSION \
|
|
|
|
|
KLAYOUT_VERSION_REV=$$KLAYOUT_VERSION_REV \
|
|
|
|
|
KLAYOUT_VERSION_DATE=$$KLAYOUT_VERSION_DATE \
|
2017-09-10 11:42:19 +02:00
|
|
|
KLAYOUT_MAJOR_VERSION=$$KLAYOUT_MAJOR_VERSION \
|
|
|
|
|
KLAYOUT_MINOR_VERSION=$$KLAYOUT_MINOR_VERSION \
|
|
|
|
|
KLAYOUT_TINY_VERSION=$$KLAYOUT_TINY_VERSION \
|
2017-08-27 17:44:41 +02:00
|
|
|
|
|
|
|
|
VERSION = $$KLAYOUT_VERSION
|