First test for DLL Build

git-svn-id: http://www.openmesh.org/svnrepo/OpenMesh/trunk@692 fdac6126-5c0c-442c-9429-916003d36597
This commit is contained in:
Jan Möbius
2012-09-23 14:21:37 +00:00
parent dc1e08ebb1
commit 92e835b0af
6 changed files with 72 additions and 1 deletions

View File

@@ -39,6 +39,7 @@ if (WIN32)
if ( OPENMESH_BUILD_SHARED ) if ( OPENMESH_BUILD_SHARED )
# Experimental Feature!!!! # Experimental Feature!!!!
add_definitions( -DOPENMESHDLL)
acg_add_library (OpenMeshCore SHARED ${sources} ${headers}) acg_add_library (OpenMeshCore SHARED ${sources} ${headers})
else() else()
# OpenMesh has no dll exports so we have to build a static library on windows # OpenMesh has no dll exports so we have to build a static library on windows

View File

@@ -0,0 +1,65 @@
/*===========================================================================*\
* *
* OpenMesh *
* Copyright (C) 2001-2011 by Computer Graphics Group, RWTH Aachen *
* www.openmesh.org *
* *
*---------------------------------------------------------------------------*
* This file is part of OpenMesh. *
* *
* OpenMesh 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 3 of *
* the License, or (at your option) any later version with the *
* following exceptions: *
* *
* If other files instantiate templates or use macros *
* or inline functions from this file, or you compile this file and *
* link it with other files to produce an executable, this file does *
* not by itself cause the resulting executable to be covered by the *
* GNU Lesser General Public License. This exception does not however *
* invalidate any other reasons why the executable file might be *
* covered by the GNU Lesser General Public License. *
* *
* OpenMesh 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 LesserGeneral Public *
* License along with OpenMesh. If not, *
* see <http://www.gnu.org/licenses/>. *
* *
\*===========================================================================*/
/*===========================================================================*\
* *
* $Revision: 566 $ *
* $Date: 2012-03-23 18:00:57 +0100 (Fr, 23 Mär 2012) $ *
* *
\*===========================================================================*/
// Disable the warnings about needs to have DLL interface as we have tons of vector templates
#ifdef WIN32
#pragma warning( disable: 4251 )
#endif
#ifndef OPENMESHDLLEXPORT
#ifdef WIN32
#ifdef OPENMESHDLL
#ifdef USEOPENMESH
#define OPENMESHDLLEXPORT __declspec(dllimport)
#define OPENMESHDLLEXPORTONLY
#else
#define OPENMESHDLLEXPORT __declspec(dllexport)
#define OPENMESHDLLEXPORTONLY __declspec(dllexport)
#endif
#else
#define OPENMESHDLLEXPORT
#define OPENMESHDLLEXPORTONLY
#endif
#else
#define OPENMESHDLLEXPORT
#define OPENMESHDLLEXPORTONLY
#endif
#endif

View File

@@ -53,6 +53,7 @@
#include <assert.h> #include <assert.h>
#include <OpenMesh/Core/System/compiler.hh> #include <OpenMesh/Core/System/compiler.hh>
#include <OpenMesh/Core/System/OpenMeshDLLMacros.hh>
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------

View File

@@ -39,6 +39,7 @@ if (WIN32)
if ( OPENMESH_BUILD_SHARED ) if ( OPENMESH_BUILD_SHARED )
# Experimental Feature!!!! # Experimental Feature!!!!
add_definitions( -DOPENMESHDLL)
acg_add_library (OpenMeshTools SHARED ${sources} ${headers}) acg_add_library (OpenMeshTools SHARED ${sources} ${headers})
else() else()
# OpenMesh has no dll exports so we have to build a static library on windows # OpenMesh has no dll exports so we have to build a static library on windows

View File

@@ -77,7 +77,7 @@ class TimerImpl;
/** Timer class /** Timer class
*/ */
class Timer class OPENMESHDLLEXPORT Timer
{ {
public: public:

View File

@@ -52,6 +52,7 @@ namespace Utils {
* *
* \see getch(), getche() * \see getch(), getche()
*/ */
OPENMESHDLLEXPORT
int kbhit(void); int kbhit(void);
@@ -61,6 +62,7 @@ int kbhit(void);
* *
* \see getche(), kbhit() * \see getche(), kbhit()
*/ */
OPENMESHDLLEXPORT
int getch(void); int getch(void);
/** A blocking single character input from stdin with echo. /** A blocking single character input from stdin with echo.
@@ -68,6 +70,7 @@ int getch(void);
* \return Character, or -1 if an input error occurs. * \return Character, or -1 if an input error occurs.
* \see getch(), kbhit() * \see getch(), kbhit()
*/ */
OPENMESHDLLEXPORT
int getche(void); int getche(void);
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------