Commit 1011a584 authored by Sylvain Thery's avatar Sylvain Thery

SCHNApps is on Windows

parent e64321f1
......@@ -43,10 +43,10 @@ setBuildType()
SET(EXECUTABLE_OUTPUT_PATH ${CGoGN_ROOT_DIR}/bin/)
IF(WIN32)
IF (NOT CGoGN_WITH_QTCREATOR)
SET(LIBRARY_OUTPUT_PATH ${CGoGN_ROOT_DIR}/bin/)
ELSE()
IF (CGoGN_WITH_QTCREATOR)
SET(LIBRARY_OUTPUT_PATH ${CGoGN_ROOT_DIR}/bin/${CMAKE_BUILD_TYPE})
ELSE()
SET(LIBRARY_OUTPUT_PATH ${CGoGN_ROOT_DIR}/bin/)
ENDIF()
ELSE()
SET(LIBRARY_OUTPUT_PATH ${CGoGN_ROOT_DIR}/lib/${CMAKE_BUILD_TYPE})
......@@ -134,7 +134,7 @@ IF(NOT WIN32)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated -Wno-overloaded-virtual")
ENDIF()
ELSE()
ADD_DEFINITIONS("/wd4251")
ADD_DEFINITIONS("/wd4251") #dll export warnings
ENDIF()
......@@ -185,14 +185,10 @@ SET (CGoGN_EXT_INCLUDES)
SET (CGoGN_EXT_LIBS)
IF (CGoGN_WITH_QT)
INCLUDE(${QT_USE_FILE})
# ADD_DEFINITIONS(-DCGOGN_WITH_QT)
# ADD_DEFINITIONS(${QT_DEFINITIONS})
LIST(APPEND CGoGN_DEFS -DCGOGN_WITH_QT)
LIST(APPEND CGoGN_EXT_INCLUDES ${QT_INCLUDE_DIR})
LIST(APPEND CGoGN_EXT_LIBS QGLViewer ${QT_LIBRARIES})
# IF (NOT WIN32)
LIST(APPEND CGoGN_EXT_INCLUDES ${CGoGN_ROOT_DIR}/ThirdParty/libQGLViewer/)
# ENDIF()
LIST(APPEND CGoGN_EXT_INCLUDES ${CGoGN_ROOT_DIR}/ThirdParty/libQGLViewer/)
ELSE ()
LIST(APPEND CGoGN_EXT_INCLUDES ${IL_INCLUDE_DIR})
LIST(APPEND CGoGN_EXT_LIBS ${IL_LIBRARIES})
......@@ -294,30 +290,30 @@ add_subdirectory(${CGoGN_ROOT_DIR}/Apps Apps)
# Add custom clean targets for cleaning without cleaning dependencies
#
if (WIN32)
add_custom_target(clean_cgogn
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
add_custom_command(TARGET clean_cgogn PRE_BUILD
COMMAND del /q CCoGN
COMMAND cmake ..
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "cleaning CGoGN libs")
add_custom_target(clean_apps
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
add_custom_command(TARGET clean_apps PRE_BUILD
COMMAND del /q Apps
COMMAND cmake ..
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "cleaning Apps")
add_custom_target(clean_cgogn_apps
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
add_custom_command(TARGET clean_cgogn_apps PRE_BUILD
COMMAND del /q CGoGN
COMMAND del /q Apps
COMMAND cmake ..
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "cleaning Apps")
# add_custom_target(clean_cgogn
# WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
# add_custom_command(TARGET clean_cgogn PRE_BUILD
# COMMAND del /q CCoGN
# COMMAND cmake ..
# WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
# COMMENT "cleaning CGoGN libs")
#
# add_custom_target(clean_apps
# WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
# add_custom_command(TARGET clean_apps PRE_BUILD
# COMMAND del /q Apps
# COMMAND cmake ..
# WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
# COMMENT "cleaning Apps")
#
# add_custom_target(clean_cgogn_apps
# WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
# add_custom_command(TARGET clean_cgogn_apps PRE_BUILD
# COMMAND del /q CGoGN
# COMMAND del /q Apps
# COMMAND cmake ..
# WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
# COMMENT "cleaning Apps")
ELSE()
......
......@@ -7,6 +7,10 @@ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -fPIC -std=c++11")
SET( CGoGN_SLOT_DEBUG_MODE OFF CACHE BOOL "build with slot debugging mode" )
SET(CGoGN_ROOT_DIR ${CMAKE_SOURCE_DIR}/.. CACHE STRING "CGoGN root dir")
IF(WIN32)
SET ( CMAKE_PREFIX_PATH ${CGoGN_ROOT_DIR}/windows_dependencies CACHE STRING "path to dependencies" )
ENDIF(WIN32)
SET(CMAKE_MODULE_PATH ${CGoGN_ROOT_DIR}/cmake_modules/)
SET (CGoGN_SRC_DIR ${CGoGN_ROOT_DIR}/CGoGN)
......@@ -14,6 +18,29 @@ INCLUDE(${CGoGN_ROOT_DIR}/cmake_modules/functions.cmake)
setBuildType()
SET(SCHNApps_ROOT_DIR ${CGoGN_ROOT_DIR}/SCHNApps)
IF(WIN32)
IF (CGoGN_WITH_QTCREATOR)
SET(LIBRARY_OUTPUT_PATH ${CGoGN_ROOT_DIR}/bin/${CMAKE_BUILD_TYPE})
ELSE()
SET(LIBRARY_OUTPUT_PATH ${CGoGN_ROOT_DIR}/bin/)
SET(EXECUTABLE_OUTPUT_PATH ${CGoGN_ROOT_DIR}/bin)
ENDIF()
# file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/plugins_default_directory.h
# \#define\ PLUGINS_DEFAULT_DIRECTORY\ \"${SCHNApps_ROOT_DIR}/lib/${CMAKE_BUILD_TYPE}\" )
link_directories( ${CGoGN_ROOT_DIR}/bin/${ConfigurationName} )
ELSE()
SET(LIBRARY_OUTPUT_PATH ${CGoGN_ROOT_DIR}/lib/${CMAKE_BUILD_TYPE})
# file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/plugins_default_directory.h
# \#define\ PLUGINS_DEFAULT_DIRECTORY\ \"${CGoGN_ROOT_DIR}/lib/${CMAKE_BUILD_TYPE}\" )
link_directories( ${CGoGN_ROOT_DIR}/lib/${CMAKE_BUILD_TYPE} )
ENDIF()
# PythonQt third-party dependency
ADD_SUBDIRECTORY(${CGoGN_ROOT_DIR}/ThirdParty/PythonQt ThirdParty_PythonQt)
find_package(OpenGL REQUIRED)
find_package(ZLIB REQUIRED)
......@@ -21,7 +48,7 @@ find_package(GLEW REQUIRED)
find_package(Qt4 REQUIRED)
#find_package(QGLViewer REQUIRED)
find_package(PythonLibs 2.7 REQUIRED)
find_package(SuiteSparse REQUIRED)
#find_package(SuiteSparse REQUIRED)
#find_package(SuperLU REQUIRED)
......@@ -37,8 +64,6 @@ SET( QT_USE_QTSVG TRUE )
INCLUDE(${QT_USE_FILE})
#ADD_DEFINITIONS(${QT_DEFINITIONS})
# PythonQt third-party dependency
ADD_SUBDIRECTORY(${CGoGN_ROOT_DIR}/ThirdParty/PythonQt ThirdParty_PythonQt)
# CGoGN compiled in one or several libs
......@@ -77,86 +102,42 @@ endif(CMAKE_COMPILER_IS_GNUCXX)
SET(SCHNApps_ROOT_DIR ${CGoGN_ROOT_DIR}/SCHNApps)
SET(EXECUTABLE_OUTPUT_PATH ${SCHNApps_ROOT_DIR}/bin/${CMAKE_BUILD_TYPE})
SET(LIBRARY_OUTPUT_PATH ${SCHNApps_ROOT_DIR}/lib/${CMAKE_BUILD_TYPE})
# for application auto selection of plugin directory
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/plugins_default_directory.h
\#define\ PLUGINS_DEFAULT_DIRECTORY\ \"${SCHNApps_ROOT_DIR}/lib/${CMAKE_BUILD_TYPE}\" )
file(
GLOB_RECURSE
SCHNApps_FILES
${SCHNApps_ROOT_DIR}/src/*.cpp
${SCHNApps_ROOT_DIR}/include/*.h
${SCHNApps_ROOT_DIR}/include/*.hpp
)
file(
GLOB_RECURSE
SCHNApps_UI_FILES
${SCHNApps_ROOT_DIR}/forms/*.ui
)
SET(SCHNApps_QOBJECT_FILES
${SCHNApps_ROOT_DIR}/include/camera.h
${SCHNApps_ROOT_DIR}/include/mapHandler.h
${SCHNApps_ROOT_DIR}/include/cellSelector.h
${SCHNApps_ROOT_DIR}/include/plugin.h
${SCHNApps_ROOT_DIR}/include/plugin_interaction.h
${SCHNApps_ROOT_DIR}/include/plugin_processing.h
${SCHNApps_ROOT_DIR}/include/view.h
${SCHNApps_ROOT_DIR}/include/schnapps.h
${SCHNApps_ROOT_DIR}/include/viewButtonArea.h
${SCHNApps_ROOT_DIR}/include/controlDock_cameraTab.h
${SCHNApps_ROOT_DIR}/include/controlDock_pluginTab.h
${SCHNApps_ROOT_DIR}/include/controlDock_mapTab.h
${SCHNApps_ROOT_DIR}/include/colorComboBox.h
${SCHNApps_ROOT_DIR}/include/dialogList.h
)
link_directories( ${CGoGN_ROOT_DIR}/lib/${CMAKE_BUILD_TYPE} )
INCLUDE_DIRECTORIES(
${CGoGN_SRC_DIR}/include
${CGoGN_ROOT_DIR}/ThirdParty/PythonQt/src/
${SCHNApps_ROOT_DIR}/include
${EXT_INCLUDES}
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_BINARY_DIR}
# ${CMAKE_CURRENT_SOURCE_DIR}
# ${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_BINARY_DIR}/Plugins/schnapps/
)
QT4_WRAP_UI( UIC_FILES
${SCHNApps_UI_FILES}
)
ADD_SUBDIRECTORY(${SCHNApps_ROOT_DIR}/Plugins Plugins)
QT4_WRAP_CPP( MOC_FILES
${SCHNApps_QOBJECT_FILES}
INCLUDE_DIRECTORIES(
${CMAKE_CURRENT_SOURCE_DIR}
)
QT4_ADD_RESOURCES( RCC_FILES
${SCHNApps_ROOT_DIR}/resources/resources.qrc
# SCHNApps main application
file(
GLOB_RECURSE
SCHNApps_FILES
${SCHNApps_ROOT_DIR}/src/main.cpp
# ${SCHNApps_ROOT_DIR}/include/*.h
# ${SCHNApps_ROOT_DIR}/include/*.hpp
)
ADD_EXECUTABLE( SCHNApps
${SCHNApps_FILES}
${UIC_FILES}
${MOC_FILES}
${RCC_FILES}
)
TARGET_LINK_LIBRARIES( SCHNApps
SCHNAppsLib
${CGoGN_LIBS}
${EXT_LIBS}
)
ADD_SUBDIRECTORY(${SCHNApps_ROOT_DIR}/Plugins Plugins)
IF(IS_DIRECTORY ${SCHNApps_ROOT_DIR}/../../Plugins)
ADD_SUBDIRECTORY(${SCHNApps_ROOT_DIR}/../../Plugins ExtPlugins)
ENDIF(IS_DIRECTORY ${SCHNApps_ROOT_DIR}/../../Plugins)
cmake_minimum_required(VERSION 2.8)
ADD_SUBDIRECTORY(schnapps)
ADD_SUBDIRECTORY(surface_import)
ADD_SUBDIRECTORY(surface_render)
ADD_SUBDIRECTORY(surface_renderVector)
......
......@@ -14,11 +14,12 @@ ADD_LIBRARY( ${PLUGIN_NAME} SHARED
)
TARGET_LINK_LIBRARIES( ${PLUGIN_NAME}
SCHNAppsLib
${CGoGN_LIBS}
${EXT_LIBS}
)
ADD_DEPENDENCIES( ${PLUGIN_NAME} SCHNApps )
#ADD_DEPENDENCIES( ${PLUGIN_NAME} SCHNAppsLib )
cmake_minimum_required(VERSION 2.8)
IF(WIN32)
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/plugins_default_directory.h
\#define\ PLUGINS_DEFAULT_DIRECTORY\ \"${SCHNApps_ROOT_DIR}/lib/${CMAKE_BUILD_TYPE}\" )
ELSE()
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/plugins_default_directory.h
\#define\ PLUGINS_DEFAULT_DIRECTORY\ \"${CGoGN_ROOT_DIR}/lib/${CMAKE_BUILD_TYPE}\" )
ENDIF()
# SCHNApps files to compile in a lib for dll access from plugins
file(
GLOB_RECURSE
SCHNAppsLib_FILES
${SCHNApps_ROOT_DIR}/src/camera.cpp
${SCHNApps_ROOT_DIR}/src/cellSelector.cpp
${SCHNApps_ROOT_DIR}/src/colorComboBox.cpp
${SCHNApps_ROOT_DIR}/src/controlDock_cameraTab.cpp
${SCHNApps_ROOT_DIR}/src/controlDock_mapTab.cpp
${SCHNApps_ROOT_DIR}/src/controlDock_pluginTab.cpp
${SCHNApps_ROOT_DIR}/src/dialogList.cpp
${SCHNApps_ROOT_DIR}/src/mapHandler.cpp
${SCHNApps_ROOT_DIR}/src/plugin.cpp
${SCHNApps_ROOT_DIR}/src/plugin_interaction.cpp
${SCHNApps_ROOT_DIR}/src/plugin_processing.cpp
${SCHNApps_ROOT_DIR}/src/schnapps.cpp
${SCHNApps_ROOT_DIR}/src/slot_debug.cpp
${SCHNApps_ROOT_DIR}/src/view.cpp
${SCHNApps_ROOT_DIR}/src/viewButtonArea.cpp
${SCHNApps_ROOT_DIR}/include/*.h
${SCHNApps_ROOT_DIR}/include/*.hpp
)
file(
GLOB_RECURSE
SCHNAppsLib_UI_FILES
${SCHNApps_ROOT_DIR}/forms/*.ui
)
SET(SCHNAppsLib_QOBJECT_FILES
${SCHNApps_ROOT_DIR}/include/camera.h
${SCHNApps_ROOT_DIR}/include/mapHandler.h
${SCHNApps_ROOT_DIR}/include/cellSelector.h
${SCHNApps_ROOT_DIR}/include/plugin.h
${SCHNApps_ROOT_DIR}/include/plugin_interaction.h
${SCHNApps_ROOT_DIR}/include/plugin_processing.h
${SCHNApps_ROOT_DIR}/include/view.h
${SCHNApps_ROOT_DIR}/include/schnapps.h
${SCHNApps_ROOT_DIR}/include/viewButtonArea.h
${SCHNApps_ROOT_DIR}/include/controlDock_cameraTab.h
${SCHNApps_ROOT_DIR}/include/controlDock_pluginTab.h
${SCHNApps_ROOT_DIR}/include/controlDock_mapTab.h
${SCHNApps_ROOT_DIR}/include/colorComboBox.h
${SCHNApps_ROOT_DIR}/include/dialogList.h
)
QT4_WRAP_UI( UIC_FILES
${SCHNAppsLib_UI_FILES}
)
QT4_WRAP_CPP( MOC_FILES
${SCHNAppsLib_QOBJECT_FILES}
)
QT4_ADD_RESOURCES( RCC_FILES
${SCHNApps_ROOT_DIR}/resources/resources.qrc
)
ADD_DEFINITIONS(-DSCHNAPPSLIB_DLL_EXPORT -DQ_DECL_EXPORT)
ADD_LIBRARY( SCHNAppsLib SHARED
${SCHNAppsLib_FILES}
${UIC_FILES}
${MOC_FILES}
${RCC_FILES}
)
TARGET_LINK_LIBRARIES( SCHNAppsLib
${CGoGN_LIBS}
${EXT_LIBS}
)
INCLUDE_DIRECTORIES(
${PLUGIN_ROOT_DIR}/include
${CMAKE_CURRENT_BINARY_DIR}
)
file(
GLOB_RECURSE
PLUGIN_FILES
${PLUGIN_ROOT_DIR}/src/*.cpp
${PLUGIN_ROOT_DIR}/include/*.h
${PLUGIN_ROOT_DIR}/include/*.hpp
)
file(
GLOB_RECURSE
PLUGIN_UI_FILES
${PLUGIN_ROOT_DIR}/forms/*.ui
)
SET(
PLUGIN_QOBJECT_FILES
${PLUGIN_ROOT_DIR}/include/surface_selection.h
${PLUGIN_ROOT_DIR}/include/surface_selection_dockTab.h
)
include( ${SCHNApps_ROOT_DIR}/Plugins/plugins_cmake.txt )
......@@ -5,6 +5,15 @@
#include <QGLViewer/camera.h>
#include <QGLViewer/manipulatedCameraFrame.h>
#ifdef WIN32
#if defined SCHNAPPSLIB_DLL_EXPORT
#define SCHNAPPS_API __declspec(dllexport)
#else
#define SCHNAPPS_API __declspec(dllimport)
#endif
#endif
namespace CGoGN
{
......@@ -13,7 +22,7 @@ namespace SCHNApps
class SCHNApps;
class Camera : public qglviewer::Camera
class SCHNAPPS_API Camera : public qglviewer::Camera
{
Q_OBJECT
......
......@@ -11,13 +11,22 @@
#include "slot_debug.h"
#ifdef WIN32
#if defined SCHNAPPSLIB_DLL_EXPORT
#define SCHNAPPS_API __declspec(dllexport)
#else
#define SCHNAPPS_API __declspec(dllimport)
#endif
#endif
namespace CGoGN
{
namespace SCHNApps
{
class CellSelectorGen : public QObject
class SCHNAPPS_API CellSelectorGen : public QObject
{
Q_OBJECT
......
......@@ -3,10 +3,19 @@
#include <QComboBox>
#ifdef WIN32
#if defined SCHNAPPSLIB_DLL_EXPORT
#define SCHNAPPS_API __declspec(dllexport)
#else
#define SCHNAPPS_API __declspec(dllimport)
#endif
#endif
class QColor;
class QWidget;
class ColorComboBox : public QComboBox
class SCHNAPPS_API ColorComboBox : public QComboBox
{
Q_OBJECT
Q_PROPERTY(QColor color READ color WRITE setColor USER true)
......
......@@ -3,6 +3,14 @@
#include "ui_controlDock_CameraTabWidget.h"
#ifdef WIN32
#if defined SCHNAPPSLIB_DLL_EXPORT
#define SCHNAPPS_API __declspec(dllexport)
#else
#define SCHNAPPS_API __declspec(dllimport)
#endif
#endif
namespace CGoGN
{
......@@ -13,7 +21,7 @@ class SCHNApps;
class Camera;
class View;
class ControlDock_CameraTab : public QWidget, public Ui::ControlDock_CameraTabWidget
class SCHNAPPS_API ControlDock_CameraTab : public QWidget, public Ui::ControlDock_CameraTabWidget
{
Q_OBJECT
......
......@@ -5,6 +5,16 @@
#include "mapHandler.h"
#ifdef WIN32
#if defined SCHNAPPSLIB_DLL_EXPORT
#define SCHNAPPS_API __declspec(dllexport)
#else
#define SCHNAPPS_API __declspec(dllimport)
#endif
#endif
namespace CGoGN
{
......@@ -19,7 +29,7 @@ namespace SCHNApps
class SCHNApps;
class View;
class ControlDock_MapTab : public QWidget, public Ui::ControlDock_MapTabWidget
class SCHNAPPS_API ControlDock_MapTab : public QWidget, public Ui::ControlDock_MapTabWidget
{
Q_OBJECT
......
......@@ -3,6 +3,15 @@
#include "ui_controlDock_PluginTabWidget.h"
#ifdef WIN32
#if defined SCHNAPPSLIB_DLL_EXPORT
#define SCHNAPPS_API __declspec(dllexport)
#else
#define SCHNAPPS_API __declspec(dllimport)
#endif
#endif
namespace CGoGN
{
......@@ -14,7 +23,7 @@ class Plugin;
class PluginInteraction;
class View;
class ControlDock_PluginTab : public QWidget, public Ui::ControlDock_PluginTabWidget
class SCHNAPPS_API ControlDock_PluginTab : public QWidget, public Ui::ControlDock_PluginTabWidget
{
Q_OBJECT
......
......@@ -7,6 +7,13 @@
#include <QListWidget>
#include <QListWidgetItem>
#ifdef WIN32
#if defined SCHNAPPSLIB_DLL_EXPORT
#define SCHNAPPS_API __declspec(dllexport)
#else
#define SCHNAPPS_API __declspec(dllimport)
#endif
#endif
namespace CGoGN
{
......@@ -14,7 +21,7 @@ namespace CGoGN
namespace SCHNApps
{
class ListPopUp : public QDialog
class SCHNAPPS_API ListPopUp : public QDialog
{
Q_OBJECT
QVBoxLayout* m_layout;
......
......@@ -22,13 +22,21 @@
#include "Utils/vbo.h"
#ifdef WIN32
#if defined SCHNAPPSLIB_DLL_EXPORT
#define SCHNAPPS_API __declspec(dllexport)
#else
#define SCHNAPPS_API __declspec(dllimport)
#endif
#endif
namespace CGoGN
{
namespace SCHNApps
{
class MapHandlerGen : public QObject
class SCHNAPPS_API MapHandlerGen : public QObject
{
Q_OBJECT
......
......@@ -3,16 +3,27 @@
#include <QtPlugin>
#include <QAction>
#include <GL/glew.h>
#include "types.h"
#ifdef WIN32
#if defined SCHNAPPSLIB_DLL_EXPORT
#define SCHNAPPS_API __declspec(dllexport)
#else
#define SCHNAPPS_API __declspec(dllimport)
#endif
#endif
namespace CGoGN
{
namespace SCHNApps
{
class Plugin : public QObject
class SCHNAPPS_API Plugin : public QObject
{
Q_OBJECT
......
......@@ -12,21 +12,22 @@ namespace SCHNApps
class SCHNApps;
class View;
class PluginInteraction : public Plugin
class SCHNAPPS_API PluginInteraction : public Plugin
{
Q_OBJECT
friend class View;
public:
PluginInteraction();
virtual ~PluginInteraction();
inline PluginInteraction();
inline virtual ~PluginInteraction();
public slots:
const QList<View*>& getLinkedViews() const { return l_views; }
bool isLinkedToView(View* view) const { return l_views.contains(view); }
inline const QList<View*>& getLinkedViews() const { return l_views; }
const QList<Utils::GLSLShader*> getShaders() const { return l_shaders; }
inline bool isLinkedToView(View* view) const { return l_views.contains(view); }
inline const QList<Utils::GLSLShader*> getShaders() const { return l_shaders; }
private:
virtual void draw(View* view) = 0;
......@@ -46,22 +47,23 @@ private:
* MANAGE LINKED VIEWS
*********************************************************/
void linkView(View* view);
void unlinkView(View* view);
inline void linkView(View* view);
inline void unlinkView(View* view);
/*********************************************************
* MANAGE SHADERS
*********************************************************/
protected:
void registerShader(Utils::GLSLShader* shader);
void unregisterShader(Utils::GLSLShader* shader);
inline void registerShader(Utils::GLSLShader* shader);
inline void unregisterShader(Utils::GLSLShader* shader);
protected:
QList<View*> l_views;
QList<Utils::GLSLShader*> l_shaders;
};
} // namespace SCHNApps
} // namespace CGoGN
......
......@@ -11,15 +11,16 @@ namespace SCHNApps
class SCHNApps;
class PluginProcessing : public Plugin
class SCHNAPPS_API PluginProcessing : public Plugin
{
Q_OBJECT
public:
PluginProcessing();
virtual ~PluginProcessing();
PluginProcessing() ;
virtual ~PluginProcessing() ;
};
} // namespace SCHNApps
} // namespace CGoGN
......
#ifndef _SCHNAPPS_H_
#define _SCHNAPPS_H_
#ifdef WIN32
#if defined SCHNAPPSLIB_DLL_EXPORT
#define SCHNAPPS_API __declspec(dllexport)
#else
#define SCHNAPPS_API __declspec(dllimport)
#endif
#endif
#include "ui_schnapps.h"
#include "types.h"
......@@ -12,6 +21,9 @@
class QVBoxLayout;
class QSplitter;
namespace CGoGN
{
......@@ -22,7 +34,7 @@ class ControlDock_CameraTab;
class ControlDock_MapTab;
class ControlDock_PluginTab;
class SCHNApps : public QMainWindow, Ui::SCHNApps
class SCHNAPPS_API SCHNApps : public QMainWindow, Ui::SCHNApps
{
Q_OBJECT
......
......@@ -2,6 +2,15 @@
#define _SLOT_DBG_H_
#include <iostream>
#include <string>
#ifdef WIN32
#if defined SCHNAPPSLIB_DLL_EXPORT
#define SCHNAPPS_API __declspec(dllexport)
#else
#define SCHNAPPS_API __declspec(dllimport)
#endif
#endif
namespace CGoGN
{
......@@ -14,7 +23,7 @@ namespace SCHNApps
// USE cmake .. -DSLOT_DEBUG_MODE=1
class PrettyPrintShiftMessage
class SCHNAPPS_API PrettyPrintShiftMessage
{
protected:
static unsigned int s_nb;
......