From 8f66e35139e9ed60600d417d93520ddc8569cf1a Mon Sep 17 00:00:00 2001 From: rnv Date: Fri, 20 Sep 2013 13:34:28 +0000 Subject: [PATCH] ATOMSOLV win32 compilation: initial version. --- CMakeLists.txt | 1 + src/ATOMSOLV/ATOMSOLV.cxx | 3 +- src/ATOMSOLV/ATOMSOLV.hxx | 14 ++++++- src/ATOMSOLV/CMakeLists.txt | 13 ++++--- src/ATOMSOLVGUI/ATOMSOLVGUI.h | 4 +- src/ATOMSOLVGUI/ATOMSOLVGUI_ATOMSOLVGUI.hxx | 39 +++++++++++++++++++ src/ATOMSOLVGUI/ATOMSOLVGUI_DataModel.h | 4 +- src/ATOMSOLVGUI/ATOMSOLVGUI_DataObject.h | 6 ++- src/ATOMSOLVGUI/ATOMSOLVGUI_Displayer.h | 4 +- src/ATOMSOLVGUI/ATOMSOLVGUI_Selection.h | 4 +- src/ATOMSOLVGUI/ATOMSOLVGUI_TransparencyDlg.h | 4 +- src/ATOMSOLVGUI/CMakeLists.txt | 2 +- 12 files changed, 83 insertions(+), 15 deletions(-) create mode 100755 src/ATOMSOLVGUI/ATOMSOLVGUI_ATOMSOLVGUI.hxx diff --git a/CMakeLists.txt b/CMakeLists.txt index bb2e6cc..de9a1c3 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -84,6 +84,7 @@ INCLUDE(${QT_USE_FILE}) FIND_PACKAGE(SalomeCAS) # VTK FIND_PACKAGE(SalomeVTK 6.0) +FIND_PACKAGE(SalomePthread) # Find ATOMGEN # =========== diff --git a/src/ATOMSOLV/ATOMSOLV.cxx b/src/ATOMSOLV/ATOMSOLV.cxx index 7144bdc..d2da3f5 100755 --- a/src/ATOMSOLV/ATOMSOLV.cxx +++ b/src/ATOMSOLV/ATOMSOLV.cxx @@ -17,13 +17,14 @@ // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // -using namespace std; #include "ATOMSOLV.hxx" #include "ATOMSOLV_version.h" #include "utilities.h" #include +using namespace std; + ATOMSOLV::ATOMSOLV(CORBA::ORB_ptr orb, PortableServer::POA_ptr poa, diff --git a/src/ATOMSOLV/ATOMSOLV.hxx b/src/ATOMSOLV/ATOMSOLV.hxx index ec5f835..04d1c46 100644 --- a/src/ATOMSOLV/ATOMSOLV.hxx +++ b/src/ATOMSOLV/ATOMSOLV.hxx @@ -27,7 +27,18 @@ #include -class ATOMSOLV: +#if defined WIN32 +# if defined ATOMSOLV_EXPORTS || defined ATOMSOLVEngine_EXPORTS +# define ATOMSOLV_EXPORT __declspec( dllexport ) +# else +# define ATOMSOLV_EXPORT __declspec( dllimport ) +# endif +#else +# define ATOMSOLV_EXPORT +#endif + + +class ATOMSOLV_EXPORT ATOMSOLV: public POA_ATOMSOLV_ORB::ATOMSOLV_Gen, public Engines_Component_i { @@ -50,6 +61,7 @@ private: }; extern "C" + ATOMSOLV_EXPORT PortableServer::ObjectId * ATOMSOLVEngine_factory(CORBA::ORB_ptr orb, PortableServer::POA_ptr poa, PortableServer::ObjectId * contId, diff --git a/src/ATOMSOLV/CMakeLists.txt b/src/ATOMSOLV/CMakeLists.txt index a3fab59..686033c 100755 --- a/src/ATOMSOLV/CMakeLists.txt +++ b/src/ATOMSOLV/CMakeLists.txt @@ -17,20 +17,23 @@ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # -INCLUDE(UseQt4Ext) - # --- options --- # additional include directories INCLUDE_DIRECTORIES( - ${QT_INCLUDES} - ${CAS_INCLUDE_DIRS} - ${KERNEL_INCLUDE_DIRS} + ${PTHREAD_INCLUDE_DIR} ${OMNIORB_INCLUDE_DIR} + ${KERNEL_INCLUDE_DIRS} ${ATOMGEN_INCLUDE_DIRS} ${PROJECT_BINARY_DIR} ${PROJECT_BINARY_DIR}/idl ) +# additional preprocessor / compiler flags +ADD_DEFINITIONS( + ${OMNIORB_DEFINITIONS} +) + + # libraries to link to SET(_link_LIBRARIES ${ATOMGEN_SalomeIDLATOMGEN} diff --git a/src/ATOMSOLVGUI/ATOMSOLVGUI.h b/src/ATOMSOLVGUI/ATOMSOLVGUI.h index 92acb5e..fcb3cee 100644 --- a/src/ATOMSOLVGUI/ATOMSOLVGUI.h +++ b/src/ATOMSOLVGUI/ATOMSOLVGUI.h @@ -20,6 +20,8 @@ #ifndef _ATOMSOLVGUI_H_ #define _ATOMSOLVGUI_H_ +#include "ATOMSOLVGUI_ATOMSOLVGUI.hxx" + #include #include @@ -27,7 +29,7 @@ class SalomeApp_Application; -class ATOMSOLVGUI: public SalomeApp_Module +class ATOMSOLVGUI_EXPORT ATOMSOLVGUI: public SalomeApp_Module { Q_OBJECT diff --git a/src/ATOMSOLVGUI/ATOMSOLVGUI_ATOMSOLVGUI.hxx b/src/ATOMSOLVGUI/ATOMSOLVGUI_ATOMSOLVGUI.hxx new file mode 100755 index 0000000..a2cd427 --- /dev/null +++ b/src/ATOMSOLVGUI/ATOMSOLVGUI_ATOMSOLVGUI.hxx @@ -0,0 +1,39 @@ +// Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE +// +// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +// + +// File : ATOMSOLVGUI_ATOMSOLVGUI.hxx +// Author : Roman NIKOLAEV, Open CASCADE S.A.S. (roman.nikolaev@opencascade.com) +// +#ifndef ATOMSOLVGUI_ATOMSOLVGUI_HXX +#define ATOMSOLVGUI_ATOMSOLVGUI_HXX + +#if defined WIN32 +# if defined ATOMSOLVGUI_EXPORTS || defined ATOMSOLV_EXPORTS +# define ATOMSOLVGUI_EXPORT __declspec( dllexport ) +# else +# define ATOMSOLVGUI_EXPORT __declspec( dllimport ) +# endif +#else +# define ATOMSOLVGUI_EXPORT +#endif + +#endif // ATOMSOLVGUI_ATOMSOLVGUI diff --git a/src/ATOMSOLVGUI/ATOMSOLVGUI_DataModel.h b/src/ATOMSOLVGUI/ATOMSOLVGUI_DataModel.h index 8bd1c1a..f14242f 100644 --- a/src/ATOMSOLVGUI/ATOMSOLVGUI_DataModel.h +++ b/src/ATOMSOLVGUI/ATOMSOLVGUI_DataModel.h @@ -20,6 +20,8 @@ #if !defined(ATOMSOLVGUI_DATAMODEL_H) #define ATOMSOLVGUI_DATAMODEL_H +#include "ATOMSOLVGUI_ATOMSOLVGUI.hxx" + #include class CAM_Module; @@ -28,7 +30,7 @@ class CAM_Module; * Class : ATOMSOLVGUI_DataModel * Description : Data Model of ATOMIC component */ -class ATOMSOLVGUI_DataModel : public LightApp_DataModel +class ATOMSOLVGUI_EXPORT ATOMSOLVGUI_DataModel : public LightApp_DataModel { public: ATOMSOLVGUI_DataModel ( CAM_Module* ); diff --git a/src/ATOMSOLVGUI/ATOMSOLVGUI_DataObject.h b/src/ATOMSOLVGUI/ATOMSOLVGUI_DataObject.h index ca230d9..4ec0a16 100644 --- a/src/ATOMSOLVGUI/ATOMSOLVGUI_DataObject.h +++ b/src/ATOMSOLVGUI/ATOMSOLVGUI_DataObject.h @@ -20,6 +20,8 @@ #if !defined(ATOMSOLVGUI_DATAOBJECT_H) #define ATOMSOLVGUI_DATAOBJECT_H +#include "ATOMSOLVGUI_ATOMSOLVGUI.hxx" + #include #include @@ -34,7 +36,7 @@ * If it is an Atom then myIndex field is >= 0 * For Molecule myIndex equals to -1. */ -class ATOMSOLVGUI_DataObject : public virtual LightApp_DataObject +class ATOMSOLVGUI_EXPORT ATOMSOLVGUI_DataObject : public virtual LightApp_DataObject { public: ATOMSOLVGUI_DataObject ( SUIT_DataObject*, int MoleculeIndex, int AtomIndex = -1 ); @@ -59,7 +61,7 @@ private: int myAtomIndex; }; -class ATOMSOLVGUI_ModuleObject : public ATOMSOLVGUI_DataObject, +class ATOMSOLVGUI_EXPORT ATOMSOLVGUI_ModuleObject : public ATOMSOLVGUI_DataObject, public LightApp_ModuleObject { public: diff --git a/src/ATOMSOLVGUI/ATOMSOLVGUI_Displayer.h b/src/ATOMSOLVGUI/ATOMSOLVGUI_Displayer.h index 05e4c3d..41e7d84 100644 --- a/src/ATOMSOLVGUI/ATOMSOLVGUI_Displayer.h +++ b/src/ATOMSOLVGUI/ATOMSOLVGUI_Displayer.h @@ -20,6 +20,8 @@ #ifndef ATOMSOLVGUI_DISPLAYER_HEADER #define ATOMSOLVGUI_DISPLAYER_HEADER +#include "ATOMSOLVGUI_ATOMSOLVGUI.hxx" + #include #include @@ -27,7 +29,7 @@ class SALOME_Actor; -class ATOMSOLVGUI_Displayer : public LightApp_Displayer +class ATOMSOLVGUI_EXPORT ATOMSOLVGUI_Displayer : public LightApp_Displayer { public: ATOMSOLVGUI_Displayer(); diff --git a/src/ATOMSOLVGUI/ATOMSOLVGUI_Selection.h b/src/ATOMSOLVGUI/ATOMSOLVGUI_Selection.h index 5502ef2..a3d4de4 100644 --- a/src/ATOMSOLVGUI/ATOMSOLVGUI_Selection.h +++ b/src/ATOMSOLVGUI/ATOMSOLVGUI_Selection.h @@ -20,9 +20,11 @@ #ifndef ATOMSOLVGUI_SELECTION_HeaderFile #define ATOMSOLVGUI_SELECTION_HeaderFile +#include "ATOMSOLVGUI_ATOMSOLVGUI.hxx" + #include -class ATOMSOLVGUI_Selection : public LightApp_Selection +class ATOMSOLVGUI_EXPORT ATOMSOLVGUI_Selection : public LightApp_Selection { public: ATOMSOLVGUI_Selection(); diff --git a/src/ATOMSOLVGUI/ATOMSOLVGUI_TransparencyDlg.h b/src/ATOMSOLVGUI/ATOMSOLVGUI_TransparencyDlg.h index e92dc17..d94af4f 100644 --- a/src/ATOMSOLVGUI/ATOMSOLVGUI_TransparencyDlg.h +++ b/src/ATOMSOLVGUI/ATOMSOLVGUI_TransparencyDlg.h @@ -20,6 +20,8 @@ #ifndef TRANSPARENCYDLG_H #define TRANSPARENCYDLG_H +#include "ATOMSOLVGUI_ATOMSOLVGUI.hxx" + #include #include @@ -29,7 +31,7 @@ class QSlider; // class : ATOMSOLVGUI_TransparencyDlg // purpose : dialog box that allows to modify transparency of displayed objects //================================================================================= -class ATOMSOLVGUI_TransparencyDlg : public QDialog +class ATOMSOLVGUI_EXPORT ATOMSOLVGUI_TransparencyDlg : public QDialog { Q_OBJECT diff --git a/src/ATOMSOLVGUI/CMakeLists.txt b/src/ATOMSOLVGUI/CMakeLists.txt index b884c59..fd45517 100644 --- a/src/ATOMSOLVGUI/CMakeLists.txt +++ b/src/ATOMSOLVGUI/CMakeLists.txt @@ -22,6 +22,7 @@ INCLUDE(UseQt4Ext) # --- options --- # additional include directories INCLUDE_DIRECTORIES( + ${PTHREAD_INCLUDE_DIR} ${CAS_INCLUDE_DIRS} ${KERNEL_INCLUDE_DIRS} ${GUI_INCLUDE_DIRS} @@ -36,7 +37,6 @@ INCLUDE_DIRECTORIES( # additional preprocessor / compiler flags ADD_DEFINITIONS( ${QT_DEFINITIONS} - ${OMNIORB_DEFINITIONS} ${CAS_DEFINITIONS} ${OMNIORB_DEFINITIONS} ) -- 2.39.2