add "inject" action to premake.

registers qxt modules as qt modules with a qt5 build
This commit is contained in:
Arvid Picciani 2012-05-28 21:03:58 +02:00
parent f4a985db2f
commit 267530875d
3 changed files with 111 additions and 2 deletions

View File

@ -1,6 +1,6 @@
#############################################################################
# Makefile for building: qt4
# Generated by qmake (2.01a) (Qt 4.8.1) on: Mon May 28 20:11:15 2012
# Generated by qmake (2.01a) (Qt 4.8.1) on: Mon May 28 20:13:17 2012
# Project: qt4.pro
# Template: app
# Command: /usr/bin/qmake -o Makefile qt4.pro

71
features/qt_qxt.pri Normal file
View File

@ -0,0 +1,71 @@
include(qxtvars.prf)
QT.qxtcore.VERSION = $$QXT_VERSION
QT.qxtcore.MAJOR_VERSION = 0
QT.qxtcore.MINOR_VERSION = 7
QT.qxtcore.PATCH_VERSION = 0
QT.qxtcore.name = QxtCore
QT.qxtcore.bins = $$QXT_INSTALL_BINS
QT.qxtcore.includes = $$QXT_INSTALL_HEADERS $$QXT_INSTALL_HEADERS/QxtCore/ $$QXT_INSTALL_PREFIX/src/core/
QT.qxtcore.libs = $$QXT_INSTALL_LIBS
QT.qxtcore.depends = core
QT_CONFIG += qxtcore
QT.qxtwidgets.VERSION = $$QXT_VERSION
QT.qxtwidgets.MAJOR_VERSION = 0
QT.qxtwidgets.MINOR_VERSION = 7
QT.qxtwidgets.PATCH_VERSION = 0
QT.qxtwidgets.name = QxtWidgets
QT.qxtwidgets.bins = $$QXT_INSTALL_BINS
QT.qxtwidgets.includes = $$QXT_INSTALL_HEADERS $$QXT_INSTALL_HEADERS/QxtWidgets $$QXT_INSTALL_PREFIX/src/widgets/
QT.qxtwidgets.libs = $$QXT_INSTALL_LIBS
QT.qxtwidgets.depends = core qxtcore gui widgets
QT_CONFIG += qxtwidgets
QT.qxtnetwork.VERSION = $$QXT_VERSION
QT.qxtnetwork.MAJOR_VERSION = 0
QT.qxtnetwork.MINOR_VERSION = 7
QT.qxtnetwork.PATCH_VERSION = 0
QT.qxtnetwork.name = QxtNetwork
QT.qxtnetwork.bins = $$QXT_INSTALL_BINS
QT.qxtnetwork.includes = $$QXT_INSTALL_HEADERS $$QXT_INSTALL_HEADERS/QxtNetwork $$QXT_INSTALL_PREFIX/src/network
QT.qxtnetwork.libs = $$QXT_INSTALL_LIBS
QT.qxtnetwork.depends = core qxtcore network
QT_CONFIG += qxtnetwork
QT.qxtsql.VERSION = $$QXT_VERSION
QT.qxtsql.MAJOR_VERSION = 0
QT.qxtsql.MINOR_VERSION = 7
QT.qxtsql.PATCH_VERSION = 0
QT.qxtsql.name = QxtSql
QT.qxtsql.bins = $$QXT_INSTALL_BINS
QT.qxtsql.includes = $$QXT_INSTALL_HEADERS $$QXT_INSTALL_HEADERS/QxtSql $$QXT_INSTALL_PREFIX/src/sql
QT.qxtsql.libs = $$QXT_INSTALL_LIBS
QT.qxtsql.depends = core qxtcore sql
QT_CONFIG += qxtsql
QT.qxtweb.VERSION = $$QXT_VERSION
QT.qxtweb.MAJOR_VERSION = 0
QT.qxtweb.MINOR_VERSION = 7
QT.qxtweb.PATCH_VERSION = 0
QT.qxtweb.name = QxtSql
QT.qxtweb.bins = $$QXT_INSTALL_BINS
QT.qxtweb.includes = $$QXT_INSTALL_HEADERS $$QXT_INSTALL_HEADERS/QxtWeb $$QXT_INSTALL_PREFIX/src/web
QT.qxtweb.libs = $$QXT_INSTALL_LIBS
QT.qxtweb.depends = core network qxtcore qxtnetwork
QT_CONFIG += qxtweb

View File

@ -1,6 +1,5 @@
require "qxt-support"
solution "LibQxt"
newoption {
trigger = "with-bonjour",
@ -293,3 +292,42 @@ solution "LibQxt"
defines { "NDEBUG" }
flags { "Optimize" }
flags { "Optimize" }
function registerQxtModule(qxtpath)
local gitQ = io.popen("git describe", "r");
local version = assert(gitQ:read('*a')):gsub("\n",""):gsub("v","");
gitQ:close();
local qmakeQV = io.popen((_OPTIONS["qt-qmake"] or "qmake") .. " -query QMAKE_MKSPECS", 'r' );
local mkspecs = assert(qmakeQV:read('*a')):gsub("\n","");
qmakeQV:close();
local fd,e = io.open(mkspecs .. "/modules/qxtvars.prf", "w");
if (fd == nil) then error(e) end;
fd:write("QXT_INSTALL_PREFIX = " .. qxtpath .. "\n");
fd:write("QXT_INSTALL_LIBS = " .. qxtpath .. "/bin\n" );
fd:write("QXT_INSTALL_BINS = " .. qxtpath .. "/bin\n" );
fd:write("QXT_INSTALL_HEADERS = " .. qxtpath .. "/include\n" );
fd:write("QXT_VERSION = " .. version .. "\n" );
fd:close();
os.copyfile(qxtpath .. "/features/qt_qxt.pri", mkspecs .. "/modules/");
end
newaction {
trigger = "inject",
description = "Configure qmake to recognize this local build of libqxt",
execute = function ()
registerQxtModule(projectbase);
end
}