129 lines
3.5 KiB
Prolog
129 lines
3.5 KiB
Prolog
TEMPLATE = lib
|
|
QT += core gui
|
|
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
|
|
|
|
TARGET = ScintillaEditPy
|
|
|
|
# Clear debug & release so that sepbuild.pri can set one or the other
|
|
CONFIG -= debug release
|
|
CONFIG += c++1z
|
|
|
|
include(sepbuild.pri)
|
|
|
|
VERSION = $$SCINTILLA_VERSION
|
|
|
|
win32 {
|
|
DebugBuild {
|
|
TARGET_EXT = _d.pyd
|
|
}
|
|
else {
|
|
TARGET_EXT = .pyd
|
|
}
|
|
}
|
|
|
|
INCLUDEPATH += ../ScintillaEdit
|
|
INCLUDEPATH += ../ScintillaEditBase
|
|
INCLUDEPATH += ../../include ../../lexlib ../../src
|
|
|
|
INCLUDEPATH += $$PY_INCLUDES
|
|
|
|
INCLUDEPATH += $$SHIBOKEN_INCLUDES
|
|
INCLUDEPATH += $$PYSIDE_INCLUDES
|
|
INCLUDEPATH += $$PYSIDE_INCLUDES/QtCore
|
|
INCLUDEPATH += $$PYSIDE_INCLUDES/QtGui
|
|
|
|
unix:!mac {
|
|
LIBS += `pkg-config pyside --libs`
|
|
}
|
|
unix:linux-* {
|
|
# gcc on freebsd 9.2, at least, doesn't support -Wno-empty-body
|
|
# g++ 7.x has deprecated std::auto_ptr but that is used by code generated by Shiboken so
|
|
# turn off warning.
|
|
QMAKE_CXXFLAGS += -Wno-register -Wno-unused-parameter -Wno-empty-body -Wno-deprecated-declarations -Wno-deprecated-copy --std=gnu++17
|
|
LIBS += -ldl
|
|
}
|
|
|
|
macx {
|
|
# Only build for x64 for now
|
|
# QMAKE_CFLAGS = -arch i386 -arch x86_64
|
|
# QMAKE_CXXFLAGS = -arch i386 -arch x86_64
|
|
# QMAKE_LFLAGS = -arch i386 -arch x86_64
|
|
LIBS += -L$$PY_LIBDIR -lpython$$PY_VERSION_SUFFIX
|
|
LIBS += -L$$PYSIDE_LIB -L$$SHIBOKEN_LIB
|
|
debug {
|
|
LIBS += -lshiboken-python$$PY_VERSION_SUFFIX-dbg
|
|
LIBS += -lpyside-python$$PY_VERSION_SUFFIX-dbg
|
|
}
|
|
else {
|
|
LIBS += -lshiboken-python$$PY_VERSION_SUFFIX
|
|
LIBS += -lpyside-python$$PY_VERSION_SUFFIX
|
|
}
|
|
}
|
|
|
|
win32 {
|
|
DebugBuild {
|
|
DEFINES += DEBUG
|
|
LIBS += -lQtCored4
|
|
}
|
|
else {
|
|
LIBS += -lQtCore
|
|
}
|
|
LIBS += -L$$PY_PREFIX/libs # Note python lib is pulled in via a #pragma
|
|
LIBS += -L$$PYSIDE_LIB -L$$SHIBOKEN_LIB
|
|
# PySide uses x.y suffix on Windows even though Python uses xy
|
|
DebugBuild {
|
|
LIBS += -lshiboken-python$${PY_VERSION}_d
|
|
LIBS += -lpyside-python$${PY_VERSION}_d
|
|
}
|
|
else {
|
|
LIBS += -lshiboken-python$${PY_VERSION}
|
|
LIBS += -lpyside-python$${PY_VERSION}
|
|
}
|
|
}
|
|
|
|
# Wrapper sources; notifyheader commented out due to shiboken bug
|
|
SOURCES += \
|
|
ScintillaEditPy/scintillaeditpy_module_wrapper.cpp \
|
|
ScintillaEditPy/sci_notifyheader_wrapper.cpp \
|
|
ScintillaEditPy/scnotification_wrapper.cpp \
|
|
ScintillaEditPy/scintillaeditbase_wrapper.cpp \
|
|
ScintillaEditPy/scintillaedit_wrapper.cpp \
|
|
ScintillaEditPy/scintilladocument_wrapper.cpp
|
|
|
|
# ScintillaEdit sources
|
|
|
|
SOURCES += \
|
|
../ScintillaEdit/ScintillaEdit.cpp \
|
|
../ScintillaEdit/ScintillaDocument.cpp \
|
|
../ScintillaEditBase/PlatQt.cpp \
|
|
../ScintillaEditBase/ScintillaQt.cpp \
|
|
../ScintillaEditBase/ScintillaEditBase.cpp \
|
|
$$files(../../src/*.cxx, false) \
|
|
$$files(../../lexlib/*.cxx, false) \
|
|
$$files(../../lexers/*.cxx, false)
|
|
|
|
|
|
# HEADERS is used to find what needs to be run through moc
|
|
HEADERS += \
|
|
../ScintillaEdit/ScintillaEdit.h \
|
|
../ScintillaEdit/ScintillaDocument.h \
|
|
../ScintillaEditBase/ScintillaQt.h \
|
|
../ScintillaEditBase/ScintillaEditBase.h
|
|
|
|
DEFINES += SCINTILLA_QT=1 MAKING_LIBRARY=1 SCI_LEXER=1 _CRT_SECURE_NO_DEPRECATE=1
|
|
CONFIG(release, debug|release) {
|
|
DEFINES += NDEBUG=1
|
|
}
|
|
|
|
DESTDIR = ../../bin
|
|
|
|
unix:!mac {
|
|
# Rename to not have 'lib' at start
|
|
QMAKE_POST_LINK += rm -rf ../../bin/ScintillaEditPy.so && ln -s libScintillaEditPy.so ../../bin/ScintillaEditPy.so
|
|
}
|
|
|
|
macx {
|
|
# Rename to .so and not have 'lib' at start
|
|
QMAKE_POST_LINK += rm -rf ../../bin/ScintillaEditPy.so && ln -s libScintillaEditPy.dylib ../../bin/ScintillaEditPy.so
|
|
}
|