Skip to content

Commit

Permalink
Fixed OMEdit & qjson compilation for Windows.
Browse files Browse the repository at this point in the history
  • Loading branch information
adeas31 committed May 6, 2015
1 parent cf1ac0d commit da8398b
Show file tree
Hide file tree
Showing 8 changed files with 117 additions and 21 deletions.
4 changes: 4 additions & 0 deletions .gitignore
Expand Up @@ -19,6 +19,10 @@ configure
/OMEdit/OMEditGUI/Debugger/Parser/Makefile.lib.unix
/OMEdit/OMEditGUI/Debugger/Parser/libGDBMIParser.a
/OMEdit/OMEditGUI/Makefile
OMEdit/OMEditGUI/Makefile.Debug
OMEdit/OMEditGUI/Makefile.Release
OMEdit/OMEditGUI/object_script.*
OMEdit/OMEditGUI/OMEditGUI.pro.*
/OMEdit/OMEditGUI/OMC/Parser/OMCOutput.tokens
/OMEdit/OMEditGUI/OMC/Parser/OMCOutputLexer.c
/OMEdit/OMEditGUI/OMC/Parser/OMCOutputLexer.cpp
Expand Down
36 changes: 36 additions & 0 deletions Makefile.omdev.mingw
@@ -0,0 +1,36 @@
ifeq ($(OMBUILDDIR),)
$(error OMBUILDDIR variable is not set.)
endif

buildbin=$(OMBUILDDIR)/bin
buildlib=$(OMBUILDDIR)/lib/omc

all: omedit

CC = gcc
CXX = g++
CFLAGS =-O2 -falign-functions
AR = ar
CMAKE=CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" $(OMDEV)/bin/cmake/bin/cmake
CMAKE_TARGET = "MSYS Makefiles"
SHREXT=.dll

mkbuilddirs:
mkdir -p $(OMBUILDDIR)/share/omedit/nls
mkdir -p $(buildlib)
mkdir -p $(buildbin)

omedit: mkbuilddirs qjson
$(MAKE) -C OMEdit/OMEditGUI -f Makefile.omdev.mingw

clean:
cd qjson-0.8.1 && rm -rf build
$(MAKE) -C OMEdit/OMEditGUI -f Makefile.omdev.mingw clean

qjson:
test -d qjson-0.8.1
mkdir -p qjson-0.8.1/build/include/qjson
(cd qjson-0.8.1/build && test -f Makefile || CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" $(CMAKE) -D CMAKE_AR:String="$(AR)" .. -G $(CMAKE_TARGET))
test -f qjson-0.8.1/build/lib/libqjson$(SHREXT) || $(MAKE) -C qjson-0.8.1/build
cp -a qjson-0.8.1/build/lib/libqjson*$(SHREXT)* $(OMBUILDDIR)/lib/omc/
cp -a qjson-0.8.1/src/*.h qjson-0.8.1/build/include/qjson
10 changes: 7 additions & 3 deletions OMEdit/OMEditGUI/Debugger/Parser/Makefile.lib.omdev.mingw
@@ -1,10 +1,14 @@
builddir=../../../../build
ANTLR=../../../../3rdParty/antlr/3.2/libantlr3c-3.2
ifeq ($(OMBUILDDIR),)
$(error OMBUILDDIR variable is not set.)
endif

builddir=$(OMBUILDDIR)
ANTLRJAR=$(OMBUILDDIR)/share/omc/java/antlr-3.2.jar

CC=gcc
CXX=g++
#CFLAGS=-c -g -O0
CFLAGS=-c -O3
CPPFLAGS=-I. -I$(ANTLR)/include
CPPFLAGS=-I. -I$(OMBUILDDIR)/include/omc/antlr3

include Makefile.lib.common
9 changes: 4 additions & 5 deletions OMEdit/OMEditGUI/Debugger/Parser/Makefile.omdev.mingw
@@ -1,13 +1,12 @@
builddir=../../../../build
parserdir=../../../../Parser
ANTLR=../../../../3rdParty/antlr/3.2/libantlr3c-3.2
builddir=$(OMBUILDDIR)
ANTLRJAR=$(OMBUILDDIR)/share/omc/java/antlr-3.2.jar

CC=gcc
CXX=g++
#CFLAGS=-c -g -O0
CFLAGS=-c -O3
CPPFLAGS=-I. -I$(ANTLR)/include
LDFLAGS=-L$(parserdir) -lantlr3
CPPFLAGS=-I. -I$(OMBUILDDIR)/include/omc/antlr3
LDFLAGS=-L$(OMBUILDDIR)/lib/omc -lomantlr3
EXE=GDBMIParser.exe

include Makefile.common
55 changes: 55 additions & 0 deletions OMEdit/OMEditGUI/Makefile.omdev.mingw
@@ -0,0 +1,55 @@
ifeq ($(OMBUILDDIR),)
$(error OMBUILDDIR variable is not set.)
endif

.PHONY: install build $(NAME)

builddir_bin=$(OMBUILDDIR)/bin
builddir_share=$(OMBUILDDIR)/share/
resourcedir=./Resources/nls/
SHREXT=.dll

NAME=OMEdit
EXE=.exe
QMAKE=qmake

install: build Resources/nls/qm.stamp
mkdir -p $(builddir_share)/omedit/nls/
cp -p $(resourcedir)/*.qm $(builddir_share)/omedit/nls/
cp -p ../bin/$(NAME)$(EXE) $(builddir_bin)
cp -puf $(OMDEV)/tools/OMTools/dll/libgcc_s_dw2-1.dll $(builddir_bin)
cp -puf $(OMDEV)/tools/OMTools/dll/mingwm10.dll $(builddir_bin)
cp -puf $(OMDEV)/tools/mingw/bin/libintl-8.dll $(builddir_bin)
cp -puf $(OMDEV)/tools/mingw/bin/libiconv-2.dll $(builddir_bin)
cp -puf ../../qjson-0.8.1/build/lib/libqjson*$(SHREXT)* $(builddir_bin)
cp -puf $(OMDEV)/tools/OMTools/dll/QtCore4.dll $(builddir_bin)
cp -puf $(OMDEV)/tools/OMTools/dll/QtGui4.dll $(builddir_bin)
cp -puf $(OMDEV)/tools/OMTools/dll/QtNetwork4.dll $(builddir_bin)
cp -puf $(OMDEV)/tools/OMTools/dll/QtSvg4.dll $(builddir_bin)
cp -puf $(OMDEV)/tools/OMTools/dll/QtWebKit4.dll $(builddir_bin)
cp -puf $(OMDEV)/tools/OMTools/dll/QtXml4.dll $(builddir_bin)
cp -puf $(OMDEV)/tools/OMTools/dll/QtXmlPatterns4.dll $(builddir_bin)
mkdir -p $(builddir_bin)/iconengines/
cp -puf $(OMDEV)/tools/OMTools/dll/qsvgicon4.dll $(builddir_bin)/iconengines/

Resources/nls/qm.stamp: OMEditGUI.pro Resources/nls/*.ts
lrelease $<
@touch $@

$(NAME): Makefile
$(MAKE) -f Makefile

clean: MakefileClean
$(MAKE) -C Debugger/Parser -f Makefile.lib.omdev.mingw clean
test ! -f Makefile || $(MAKE) -f Makefile clean
rm -rf ../bin/$(NAME)$(EXE) ../generatedfiles Makefile Makefile.Debug Makefile.Release object_script.*

parsergen:
$(MAKE) -C Debugger/Parser -f Makefile.lib.omdev.mingw

build: $(NAME)
$(MAKE) -f Makefile
Makefile: parsergen OMEditGUI.pro
$(QMAKE) "CONFIG+=release"
MakefileClean: OMEditGUI.pro
$(QMAKE) "CONFIG+=release"
21 changes: 10 additions & 11 deletions OMEdit/OMEditGUI/OMEditGUI.pro
Expand Up @@ -52,7 +52,7 @@ TEMPLATE = app

# This is very evil, lupdate just look for SOURCES variable and creates translations. This section is not compiled at all :)
evil_hack_to_fool_lupdate {
SOURCES += ../../OMPlot/OMPlotGUI/*.cpp
SOURCES += ../../../OMPlot/OMPlotGUI/*.cpp
}

# Windows libraries and includes
Expand All @@ -70,15 +70,13 @@ win32 {
# required for backtrace
LIBS += -L$$(OMDEV)/tools/mingw/bin -lintl-8 -lbfd -liberty -limagehlp
}
LIBS += -L../../build/lib/omc -lOMPlot -lomqwt \
-L../OMEditGUI/Debugger/Parser -lGDBMIParser \
-L../../Parser -lantlr3 \
LIBS += -L../OMEditGUI/Debugger/Parser -lGDBMIParser \
-L$$(OMBUILDDIR)/lib/omc -lomantlr3 -lOMPlot -lomqwt \
-lOpenModelicaCompiler -lOpenModelicaRuntimeC -lfmilib -lModelicaExternalC -lomcgc -lpthread \
-lws2_32
INCLUDEPATH += $$(OMDEV)/lib/omniORB-4.1.6-mingw/include \
../../3rdParty/qwt/build/include \
../../OMPlot/OMPlotGUI \
../../ ../../3rdParty/antlr/3.2/libantlr3c-3.2/ ../../3rdParty/antlr/3.2/libantlr3c-3.2/include ../../build/include/omc/c
INCLUDEPATH += $$(OMBUILDDIR)/include/omplot \
$$(OMBUILDDIR)/include/omplot/qwt \
$$(OMBUILDDIR)/include/omc/antlr3 $$(OMBUILDDIR)/include/omc/c
} else { # Unix libraries and includes
include(OMEdit.config)
# On unix we use backtrace of execinfo.h which requires -rdynamic
Expand All @@ -95,7 +93,7 @@ SOURCES += main.cpp \
Util/backtrace.c \
Util/Helper.cpp \
MainWindow.cpp \
$$OPENMODELICAHOME/include/omc/scripting-API/OpenModelicaScriptingAPIQt.cpp \
$$(OPENMODELICAHOME)/include/omc/scripting-API/OpenModelicaScriptingAPIQt.cpp \
OMC/OMCProxy.cpp \
Util/StringHandler.cpp \
Modeling/MessagesWidget.cpp \
Expand Down Expand Up @@ -214,7 +212,7 @@ HEADERS += Util/backtrace.h \
CrashReport/CrashReportDialog.h \
OMC/Parser/OMCOutputParser.h \
OMC/Parser/OMCOutputLexer.h \
$$OPENMODELICAHOME/include/omc/scripting-API/OpenModelicaScriptingAPIQt.h
$$(OPENMODELICAHOME)/include/omc/scripting-API/OpenModelicaScriptingAPIQt.h

LIBS += -lqjson
INCLUDEPATH += ../../qjson-0.8.1/build/include
Expand All @@ -238,7 +236,8 @@ INCLUDEPATH += . \
Plotting \
Simulation \
TransformationalDebugger \
Util
Util \
$$(OPENMODELICAHOME)/include/omc/scripting-API

OTHER_FILES += Resources/css/stylesheet.qss \
Debugger/Parser/GDBMIOutput.g \
Expand Down
1 change: 0 additions & 1 deletion OMEdit/OMEditGUI/main.cpp
Expand Up @@ -71,7 +71,6 @@

#include "MainWindow.h"
#include "Helper.h"
#include "omc_config.h"
#include "CrashReportDialog.h"
#include "meta/meta_modelica.h"

Expand Down
2 changes: 1 addition & 1 deletion common
Submodule common updated 2 files
+0 −14 m4/ombuilddir.m4
+23 −37 m4/omhome.m4

0 comments on commit da8398b

Please sign in to comment.