- add dll export macros

git-svn-id: http://www.openmesh.org/svnrepo/OpenMesh/trunk@699 fdac6126-5c0c-442c-9429-916003d36597
This commit is contained in:
Mike Kremer
2012-09-24 10:10:22 +00:00
parent dcf5272a0d
commit 5834e277f7
24 changed files with 41 additions and 36 deletions

View File

@@ -71,7 +71,7 @@ namespace VDPM {
*/ */
class Plane3d class OPENMESHDLLEXPORT Plane3d
{ {
public: public:

View File

@@ -102,7 +102,7 @@ class OPENMESHDLLEXPORT _IOManager_
private: private:
_IOManager_() {} _IOManager_() {}
friend _IOManager_& IOManager(); friend OPENMESHDLLEXPORT _IOManager_& IOManager();
public: public:
@@ -247,7 +247,7 @@ private:
extern _IOManager_* __IOManager_instance; extern _IOManager_* __IOManager_instance;
_IOManager_& IOManager(); OPENMESHDLLEXPORT _IOManager_& IOManager();

View File

@@ -71,7 +71,7 @@ namespace IO {
#ifndef DOXY_IGNORE_THIS #ifndef DOXY_IGNORE_THIS
struct OFFFormat struct OPENMESHDLLEXPORT OFFFormat
{ {
typedef int integer_type; typedef int integer_type;
typedef float float_type; typedef float float_type;

View File

@@ -79,7 +79,7 @@ namespace IO {
the target data structure. the target data structure.
*/ */
class BaseExporter class OPENMESHDLLEXPORT BaseExporter
{ {
public: public:

View File

@@ -78,7 +78,7 @@ namespace IO {
* structure. This is basically a wrapper providing virtual versions * structure. This is basically a wrapper providing virtual versions
* for the required mesh functions. * for the required mesh functions.
*/ */
class BaseImporter class OPENMESHDLLEXPORT BaseImporter
{ {
public: public:

View File

@@ -176,7 +176,7 @@ private:
extern _OBJReader_ __OBJReaderInstance; extern _OBJReader_ __OBJReaderInstance;
_OBJReader_& OBJReader(); OPENMESHDLLEXPORT _OBJReader_& OBJReader();
//============================================================================= //=============================================================================

View File

@@ -157,7 +157,7 @@ private:
/// Declare the single entity of the OFF reader /// Declare the single entity of the OFF reader
extern _OFFReader_ __OFFReaderInstance; extern _OFFReader_ __OFFReaderInstance;
_OFFReader_& OFFReader(); OPENMESHDLLEXPORT _OFFReader_& OFFReader();
//============================================================================= //=============================================================================

View File

@@ -159,7 +159,7 @@ private:
/// Declare the single entity of the OM reader. /// Declare the single entity of the OM reader.
extern _OMReader_ __OMReaderInstance; extern _OMReader_ __OMReaderInstance;
_OMReader_& OMReader(); OPENMESHDLLEXPORT _OMReader_& OMReader();
//============================================================================= //=============================================================================

View File

@@ -183,7 +183,7 @@ private:
/// Declare the single entity of the PLY reader /// Declare the single entity of the PLY reader
extern _PLYReader_ __PLYReaderInstance; extern _PLYReader_ __PLYReaderInstance;
_PLYReader_& PLYReader(); OPENMESHDLLEXPORT _PLYReader_& PLYReader();
//============================================================================= //=============================================================================

View File

@@ -135,7 +135,7 @@ private:
/// Declare the single entity of the STL reader /// Declare the single entity of the STL reader
extern _STLReader_ __STLReaderInstance; extern _STLReader_ __STLReaderInstance;
_STLReader_& STLReader(); OPENMESHDLLEXPORT _STLReader_& STLReader();
//============================================================================= //=============================================================================

View File

@@ -118,7 +118,7 @@ private:
/// Declare the single entity of the OBJ writer /// Declare the single entity of the OBJ writer
extern _OBJWriter_ __OBJWriterinstance; extern _OBJWriter_ __OBJWriterinstance;
_OBJWriter_& OBJWriter(); OPENMESHDLLEXPORT _OBJWriter_& OBJWriter();
//============================================================================= //=============================================================================

View File

@@ -122,7 +122,7 @@ protected:
/// Declare the single entity of the OFF writer. /// Declare the single entity of the OFF writer.
extern _OFFWriter_ __OFFWriterInstance; extern _OFFWriter_ __OFFWriterInstance;
_OFFWriter_& OFFWriter(); OPENMESHDLLEXPORT _OFFWriter_& OFFWriter();
//============================================================================= //=============================================================================

View File

@@ -129,7 +129,7 @@ protected:
/// Declare the single entity of the OM writer. /// Declare the single entity of the OM writer.
extern _OMWriter_ __OMWriterInstance; extern _OMWriter_ __OMWriterInstance;
_OMWriter_& OMWriter(); OPENMESHDLLEXPORT _OMWriter_& OMWriter();
//============================================================================= //=============================================================================

View File

@@ -126,7 +126,7 @@ protected:
/// Declare the single entity of the PLY writer. /// Declare the single entity of the PLY writer.
extern _PLYWriter_ __PLYWriterInstance; extern _PLYWriter_ __PLYWriterInstance;
_PLYWriter_& PLYWriter(); OPENMESHDLLEXPORT _PLYWriter_& PLYWriter();
//============================================================================= //=============================================================================

View File

@@ -110,7 +110,7 @@ private:
// Declare the single entity of STL writer. // Declare the single entity of STL writer.
extern _STLWriter_ __STLWriterInstance; extern _STLWriter_ __STLWriterInstance;
_STLWriter_& STLWriter(); OPENMESHDLLEXPORT _STLWriter_& STLWriter();
//============================================================================= //=============================================================================

View File

@@ -82,7 +82,7 @@ namespace OpenMesh {
\see OpenMesh::Concepts::KernelT, \ref mesh_type \see OpenMesh::Concepts::KernelT, \ref mesh_type
*/ */
class ArrayKernel : public BaseKernel, public ArrayItems class OPENMESHDLLEXPORT ArrayKernel : public BaseKernel, public ArrayItems
{ {
public: public:

View File

@@ -66,9 +66,9 @@
\see OpenMesh::mostream \see OpenMesh::mostream
*/ */
//@{ //@{
OpenMesh::mostream& omlog(); OPENMESHDLLEXPORT OpenMesh::mostream& omlog();
OpenMesh::mostream& omout(); OPENMESHDLLEXPORT OpenMesh::mostream& omout();
OpenMesh::mostream& omerr(); OPENMESHDLLEXPORT OpenMesh::mostream& omerr();
//@} //@}
//============================================================================= //=============================================================================

View File

@@ -40,11 +40,11 @@ static char sccsid[] = "@(#)getopt.c 8.3 (Berkeley) 4/27/95";
#include <string.h> #include <string.h>
#include "getopt.h" #include "getopt.h"
int opterr = 1, /* if error message should be printed */ OPENMESHDLLEXPORT int opterr = 1, /* if error message should be printed */
optind = 1, /* index into parent argv vector */ optind = 1, /* index into parent argv vector */
optopt, /* character checked for validity */ optopt, /* character checked for validity */
optreset; /* reset getopt */ optreset; /* reset getopt */
char *optarg; /* argument associated with option */ OPENMESHDLLEXPORT char *optarg; /* argument associated with option */
#define BADCH (int)'?' #define BADCH (int)'?'
#define BADARG (int)':' #define BADARG (int)':'
@@ -54,7 +54,7 @@ char *optarg; /* argument associated with option */
* getopt -- * getopt --
* Parse argc/argv argument vector. * Parse argc/argv argument vector.
*/ */
int OPENMESHDLLEXPORT int
getopt(int nargc, char * const *nargv, const char *ostr) getopt(int nargc, char * const *nargv, const char *ostr)
{ {
# define __progname nargv[0] # define __progname nargv[0]

View File

@@ -2,19 +2,20 @@
#define _GETOPT_H_ #define _GETOPT_H_
#include <OpenMesh/Core/System/compiler.hh> #include <OpenMesh/Core/System/compiler.hh>
#include <OpenMesh/Core/System/OpenMeshDLLMacros.hh>
#if defined(WIN32) #if defined(WIN32)
#if defined(__cplusplus) #if defined(__cplusplus)
extern "C" { extern "C" {
extern int opterr; extern OPENMESHDLLEXPORT int opterr;
extern int optind; extern OPENMESHDLLEXPORT int optind;
extern int optopt; extern OPENMESHDLLEXPORT int optopt;
extern int optreset; extern OPENMESHDLLEXPORT int optreset;
extern char *optarg; extern OPENMESHDLLEXPORT char *optarg;
extern int getopt(int nargc, char * const *nargv, const char *ostr); OPENMESHDLLEXPORT extern int getopt(int nargc, char * const *nargv, const char *ostr);
} }

View File

@@ -73,7 +73,7 @@ namespace VDPM {
Mesh traits for View Dependent Progressive Meshes Mesh traits for View Dependent Progressive Meshes
*/ */
struct MeshTraits : public DefaultTraits struct OPENMESHDLLEXPORT MeshTraits : public DefaultTraits
{ {
VertexTraits VertexTraits
{ {

View File

@@ -70,7 +70,7 @@ namespace VDPM {
/** Active nodes in vertex hierarchy. /** Active nodes in vertex hierarchy.
\todo VFront documentation \todo VFront documentation
*/ */
class VFront class OPENMESHDLLEXPORT VFront
{ {
private: private:

View File

@@ -68,7 +68,7 @@ namespace VDPM {
/** Keeps the vertex hierarchy build during analyzing a progressive mesh. /** Keeps the vertex hierarchy build during analyzing a progressive mesh.
*/ */
class VHierarchy class OPENMESHDLLEXPORT VHierarchy
{ {
public: public:

View File

@@ -69,7 +69,7 @@ namespace VDPM {
/** \todo ViewerParameters documentation /** \todo ViewerParameters documentation
*/ */
class ViewingParameters class OPENMESHDLLEXPORT ViewingParameters
{ {
private: private:
double modelview_matrix_[16]; double modelview_matrix_[16];

View File

@@ -24,7 +24,7 @@ if ( OPENMESH_BUILD_UNIT_TESTS )
# Create new target named unittests_hexmeshing # Create new target named unittests_hexmeshing
add_executable(unittests unittests.cc) add_executable(unittests unittests.cc)
if ( NOT WIN32) if ( NOT WIN32)
# Link against all necessary libraries # Link against all necessary libraries
target_link_libraries(unittests OpenMeshCore OpenMeshTools ${GTEST_LIBRARIES} ${GTEST_MAIN_LIBRARIES} pthread) target_link_libraries(unittests OpenMeshCore OpenMeshTools ${GTEST_LIBRARIES} ${GTEST_MAIN_LIBRARIES} pthread)
@@ -33,8 +33,12 @@ if ( OPENMESH_BUILD_UNIT_TESTS )
else() else()
# Link against all necessary libraries # Link against all necessary libraries
if ( OPENMESH_BUILD_SHARED )
#!!!! Experimental Feature!!!
add_definitions( -DOPENMESHDLL )
endif()
target_link_libraries(unittests OpenMeshCore OpenMeshTools ${GTEST_LIBRARIES} ${GTEST_MAIN_LIBRARIES}) target_link_libraries(unittests OpenMeshCore OpenMeshTools ${GTEST_LIBRARIES} ${GTEST_MAIN_LIBRARIES})
endif() endif()
@@ -53,7 +57,7 @@ if ( OPENMESH_BUILD_UNIT_TESTS )
copy_if_different copy_if_different
${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/unittests.exe ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/unittests.exe
${CMAKE_BINARY_DIR}/Unittests/unittests.exe) ${CMAKE_BINARY_DIR}/Unittests/unittests.exe)
endif() endif()
acg_copy_after_build(unittests ${CMAKE_CURRENT_SOURCE_DIR}/TestFiles ${CMAKE_BINARY_DIR}/Unittests/) acg_copy_after_build(unittests ${CMAKE_CURRENT_SOURCE_DIR}/TestFiles ${CMAKE_BINARY_DIR}/Unittests/)