Commit 4feb8b34 authored by Jan Möbius's avatar Jan Möbius

I hate Macros checkin ...

Change Pluginlib for windows to export and import symbols correctly.

git-svn-id: http://www.openflipper.org/svnrepo/OpenFlipper/branches/Free@4498 383ad7c9-94d9-4d36-a494-682f7c89f535
parent 4e19c40d
......@@ -45,17 +45,10 @@
#include <ACG/Scenegraph/DrawModes.hh>
#include <QString>
#include <OpenFlipper/common/GlobalDefines.hh>
//== DEFINES =================================================================
#ifndef DLLEXPORT
#ifdef WIN32
#define DLLEXPORT __declspec(dllexport)
#else
#define DLLEXPORT
#endif
#endif
//== TYPEDEFS =================================================================
......
......@@ -35,14 +35,7 @@
#ifndef TOOLS_INIFILE_HH
#define TOOLS_INIFILE_HH
#ifndef DLLEXPORT
#ifdef WIN32
#define DLLEXPORT __declspec(dllexport)
#else
#define DLLEXPORT
#endif
#endif
#include <OpenFlipper/common/GlobalDefines.hh>
#include <QString>
#include <QFile>
#include <map>
......
......@@ -16,6 +16,7 @@ DIRECTORIES = ../BasePlugin ../ACGHelper ../common ../common/bsp ../INIFile $$f
../widgets/glWidget
win32 {
DESTDIR = ../$${BUILDDIRECTORY}
DEFINES += PLUGINLIBDLL
}
......
......@@ -47,17 +47,9 @@
#ifndef BASEOBJECT_HH
#define BASEOBJECT_HH
#ifndef DLLEXPORT
#ifdef WIN32
#define DLLEXPORT __declspec(dllexport)
#else
#define DLLEXPORT
#endif
#endif
//== INCLUDES =================================================================
#include <OpenFlipper/common/GlobalDefines.hh>
#include <QString>
#include <QList>
#include <QStringList>
......@@ -74,7 +66,7 @@
* This is the basic Data class providing the functions common to all objects.
* If the Datacontrol Plugin is available, a Tree structure will be generated allowing groups of objects.
*/
class DLLEXPORT BaseObject {
class DLLEXPORTONLY BaseObject {
friend class BaseObjectData;
public :
......
......@@ -49,16 +49,9 @@
#define BASEOBJECTDATA_HH
#ifndef DLLEXPORT
#ifdef WIN32
#define DLLEXPORT __declspec(dllexport)
#else
#define DLLEXPORT
#endif
#endif
//== INCLUDES =================================================================
#include <OpenFlipper/common/GlobalDefines.hh>
#include "BaseObject.hh"
#include <vector>
#include <ACG/Scenegraph/MaterialNode.hh>
......
......@@ -58,14 +58,25 @@
*/
#define USE_OPENMP
#ifdef WIN32
#ifndef DLLEXPORT
#define DLLEXPORT __declspec(dllexport)
#endif
#else
#ifndef DLLEXPORT
#define DLLEXPORT
#endif
#ifdef WIN32
#ifdef PLUGINLIBDLL
#ifdef USEPLUGINLIBDLL
#define DLLEXPORT __declspec(dllimport)
#define DLLEXPORTONLY
#else
#define DLLEXPORT __declspec(dllexport)
#define DLLEXPORTONLY __declspec(dllexport)
#endif
#else
#define DLLEXPORT
#define DLLEXPORTONLY
#endif
#else
#define DLLEXPORT
#define DLLEXPORTONLY
#endif
#endif
......
......@@ -47,14 +47,7 @@
#ifndef OPTIONS_HH
#define OPTIONS_HH
#ifndef DLLEXPORT
#ifdef WIN32
#define DLLEXPORT __declspec(dllexport)
#else
#define DLLEXPORT
#endif
#endif
#include <OpenFlipper/common/GlobalDefines.hh>
#include <QDir>
#include <QStringList>
#include <QColor>
......
......@@ -48,16 +48,9 @@
#define GROUPOBJECT_HH
#ifndef DLLEXPORT
#ifdef WIN32
#define DLLEXPORT __declspec(dllexport)
#else
#define DLLEXPORT
#endif
#endif
//== INCLUDES =================================================================
#include <OpenFlipper/common/GlobalDefines.hh>
#include <QList>
//== TYPEDEFS =================================================================
......
......@@ -47,12 +47,6 @@
#ifndef RECENTFILES_HH
#define RECENTFILES_HH
#ifdef WIN32
#define DLLEXPORT __declspec(dllexport)
#else
#define DLLEXPORT
#endif
#include <QDir>
#include <QStringList>
......
......@@ -47,7 +47,7 @@
#ifndef TYPES_HH
#define TYPES_HH
#include "GlobalDefines.hh"
#include <OpenFlipper/common/GlobalDefines.hh>
#include <limits.h>
#include <QIcon>
......
......@@ -47,16 +47,11 @@
#ifndef PEROBJECTDATA_HH
#define PEROBJECTDATA_HH
#ifndef DLLEXPORT
#ifdef WIN32
#define DLLEXPORT __declspec(dllexport)
#else
#define DLLEXPORT
#endif
#endif
//== INCLUDES =================================================================
#include <OpenFlipper/common/GlobalDefines.hh>
//== TYPEDEFS =================================================================
......
......@@ -442,6 +442,7 @@ void CoreWidget::coreKeyPressEvent (QKeyEvent* _e){
case Qt::Key_Space:
if ( OpenFlipper::Options::multiView() ) {
emit log( "Switch to MultiView");
if ( examiner_widgets_[1]->isHidden() ) {
for ( uint i = 1 ; i < OpenFlipper::Options::examinerWidgets() ; ++i )
......
......@@ -38,8 +38,8 @@
//
//=============================================================================
#ifndef ACG_QTBASEVIEWER_HH
#define ACG_QTBASEVIEWER_HH
#ifndef BASEVIEWER_HH
#define BASEVIEWER_HH
//== INCLUDES =================================================================
......@@ -95,7 +95,6 @@ namespace ACG {
}
class QtGLGraphicsScene;
class QtGLGraphicsView;
class QtSceneGraphDialog;
class QtShiftPopupMenu;
......@@ -1086,5 +1085,5 @@ private:
//=============================================================================
//=============================================================================
#endif // ACG_QTBASEVIEWER_HH defined
#endif // BASEVIEWER_HH defined
//=============================================================================
################################################################################
# This is a library
################################################################################
################################################################################
# Needed Qt packages and build plugin
################################################################################
CONFIG += qt uitools opengl thread debug_and_release silent
QT += opengl network script sql webkit
################################################################################
# Add toplevel directory to include path
# TOPDIR has to be specified in a .qmake.cach file in your projects toplevel
# directory
################################################################################
INCLUDEPATH = $$quote( $${TOPDIR} )
DEPENDPATH = $$quote( $${TOPDIR} )
################################################################################
# Define header Extension
# This will also override the header extension for uic output
# ( Do not change to += otherwise uic output will end with .h ! )
################################################################################
QMAKE_EXT_H = .hh .h
################################################################################
# Architecture detection
################################################################################
include( architecture.include )
################################################################################
# Helper functions
################################################################################
include( functions.include )
################################################################################
# Custom settings for compiler flags and similar
################################################################################
include( compiler.include)
################################################################################
# Extra target definitions
################################################################################
include( targets.include )
################################################################################
# Global package definitions
################################################################################
include( packages/packages.$${SYSTEMTYPE} )
################################################################################
# Local package definitions
# These lines will include a file from a .qmake directory inside your home.
# this file will overwrite existing setting
################################################################################
unix {
HOME=$$system(echo ~)
}
#else {
#message( TODO : Define Home in Windows )
#}
exists( $${HOME}/.qmake/config.$${SYSTEMTYPE} ) {
include( $${HOME}/.qmake/config.$${SYSTEMTYPE} )
}
################################################################################
# Set standard build directories
# ( Everything generated while compiling will go # into a per architecture
# directory )
################################################################################
OBJECTS_DIR = tmp/$$BUILDDIRECTORY
MOC_DIR = tmp/$$BUILDDIRECTORY
UI_DIR = tmp/$$BUILDDIRECTORY
################################################################################
# type definitions
################################################################################
# This function sets all parameters required to build a plugin
defineTest(Plugin) {
unix{
TEMPLATE = lib
}
win32 {
TEMPLATE = vclib
TARGET = $$replace(TARGET, - , _)
export(TARGET)
QMAKE_INCDIR += $${TOPDIR}/OpenFlipper/BasePlugin
export(QMAKE_INCDIR)
LIBS+= -L$${TOPDIR}/OpenFlipper/$${BUILDDIRECTORY} -lPluginLib
export(LIBS)
DEPENDPATH += $${TOPDIR}/OpenFlipper/$${BUILDDIRECTORY}
DEFINES += ACGDLL USEACG
export(DEFINES)
export(DEPENDPATH)
glut()
}
macx {
glut()
}
export(TEMPLATE)
CONFIG *= plugin
export(CONFIG)
DESTDIR = $${TOPDIR}/OpenFlipper/Plugins/$${SYSTEMTYPE}/$${ARCHITECTURE}/$${MODE}
export(DESTDIR)
acg()
openmesh()
glew()
defineTargets()
}
defineTest(Library) {
unix{
TEMPLATE = lib
contains( OPERATING_SYSTEM, Darwin) {
CONFIG -= static
export(CONFIG)
}
}
win32 {
TEMPLATE = vclib
}
export(TEMPLATE)
DESTDIR = lib/$$BUILDDIRECTORY
export(DESTDIR)
defineTargets()
UI_DIR = include
export(UI_DIR)
}
defineTest(Application) {
unix {
TEMPLATE = app
}
win32 {
TEMPLATE = vcapp
}
macx {
CONFIG -= app_bundle
export( CONFIG )
}
export(TEMPLATE)
DESTDIR = $$BUILDDIRECTORY
export(DESTDIR)
defineTargets()
}
defineTest(Subdirs) {
unix {
TEMPLATE = subdirs
}
win32 {
TEMPLATE = vcsubdirs
}
export(TEMPLATE)
CONFIG += ordered
export(CONFIG)
defineTargets()
}
################################################################################
# This is a library
################################################################################
################################################################################
# Needed Qt packages and build plugin
################################################################################
CONFIG += qt uitools opengl thread debug_and_release silent
QT += opengl network script sql webkit
################################################################################
# Add toplevel directory to include path
# TOPDIR has to be specified in a .qmake.cach file in your projects toplevel
# directory
################################################################################
INCLUDEPATH = $$quote( $${TOPDIR} )
DEPENDPATH = $$quote( $${TOPDIR} )
################################################################################
# Define header Extension
# This will also override the header extension for uic output
# ( Do not change to += otherwise uic output will end with .h ! )
################################################################################
QMAKE_EXT_H = .hh .h
################################################################################
# Architecture detection
################################################################################
include( architecture.include )
################################################################################
# Helper functions
################################################################################
include( functions.include )
################################################################################
# Custom settings for compiler flags and similar
################################################################################
include( compiler.include)
################################################################################
# Extra target definitions
################################################################################
include( targets.include )
################################################################################
# Global package definitions
################################################################################
include( packages/packages.$${SYSTEMTYPE} )
################################################################################
# Local package definitions
# These lines will include a file from a .qmake directory inside your home.
# this file will overwrite existing setting
################################################################################
unix {
HOME=$$system(echo ~)
}
#else {
#message( TODO : Define Home in Windows )
#}
exists( $${HOME}/.qmake/config.$${SYSTEMTYPE} ) {
include( $${HOME}/.qmake/config.$${SYSTEMTYPE} )
}
################################################################################
# Set standard build directories
# ( Everything generated while compiling will go # into a per architecture
# directory )
################################################################################
OBJECTS_DIR = tmp/$$BUILDDIRECTORY
MOC_DIR = tmp/$$BUILDDIRECTORY
UI_DIR = tmp/$$BUILDDIRECTORY
################################################################################
# type definitions
################################################################################
# This function sets all parameters required to build a plugin
defineTest(Plugin) {
unix{
TEMPLATE = lib
}
win32 {
TEMPLATE = vclib
TARGET = $$replace(TARGET, - , _)
export(TARGET)
QMAKE_INCDIR += $${TOPDIR}/OpenFlipper/BasePlugin
export(QMAKE_INCDIR)
LIBS+= -L$${TOPDIR}/OpenFlipper/$${BUILDDIRECTORY} -lPluginLib
export(LIBS)
DEPENDPATH += $${TOPDIR}/OpenFlipper/$${BUILDDIRECTORY}
DEFINES += ACGDLL USEACG PLUGINLIBDLL USEPLUGINLIBDLL
export(DEFINES)
export(DEPENDPATH)
glut()
}
macx {
glut()
}
export(TEMPLATE)
CONFIG *= plugin
export(CONFIG)
DESTDIR = $${TOPDIR}/OpenFlipper/Plugins/$${SYSTEMTYPE}/$${ARCHITECTURE}/$${MODE}
export(DESTDIR)
acg()
openmesh()
glew()
defineTargets()
}
defineTest(Library) {
unix{
TEMPLATE = lib
contains( OPERATING_SYSTEM, Darwin) {
CONFIG -= static
export(CONFIG)
}
}
win32 {
TEMPLATE = vclib
}
export(TEMPLATE)
DESTDIR = lib/$$BUILDDIRECTORY
export(DESTDIR)
defineTargets()
UI_DIR = include
export(UI_DIR)
}
defineTest(Application) {
unix {
TEMPLATE = app
}
win32 {
TEMPLATE = vcapp
}
macx {
CONFIG -= app_bundle
export( CONFIG )
}
export(TEMPLATE)
DESTDIR = $$BUILDDIRECTORY
export(DESTDIR)
defineTargets()
}
defineTest(Subdirs) {
unix {
TEMPLATE = subdirs
}
win32 {
TEMPLATE = vcsubdirs
}
export(TEMPLATE)
CONFIG += ordered
export(CONFIG)
defineTargets()
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment