summaryrefslogtreecommitdiff
path: root/cpp/include/Slice/Parser.h
diff options
context:
space:
mode:
authorBernard Normier <bernard@zeroc.com>2015-05-05 19:23:45 -0400
committerBernard Normier <bernard@zeroc.com>2015-05-05 19:23:45 -0400
commita5bd24845a2720d57a66d81effc59423d723c87c (patch)
tree76faa296700b0993deb3aa97323abc904188a681 /cpp/include/Slice/Parser.h
parentminor fixes for purify (diff)
downloadice-a5bd24845a2720d57a66d81effc59423d723c87c.tar.bz2
ice-a5bd24845a2720d57a66d81effc59423d723c87c.tar.xz
ice-a5bd24845a2720d57a66d81effc59423d723c87c.zip
ICE-6481 pragma comment when building static libraries
On windows with VS, pragma comment is now defined when building only when ICE_BUILDING_<component-name> is not defined. ICE_BUILDING_<component-name> is defined automatically when <component-name>_API_EXPORTS is defined. When building static Ice libraries on Windows, please define ICE_BUILDING_<component-name-being-built>. ICE_DECLSPEC_EXPORT and ICE_DECLSPEC_IMPORT are now defined all the time on Windows, and we define the various _API macros to /**/ when ICE_STATIC_LIBS is defined. Replaced various direct use of ICE_DECLSPEC_EXPORT/ICE_DECLSPEC_IMPORT by the correct _API macro.
Diffstat (limited to 'cpp/include/Slice/Parser.h')
-rw-r--r--cpp/include/Slice/Parser.h15
1 files changed, 10 insertions, 5 deletions
diff --git a/cpp/include/Slice/Parser.h b/cpp/include/Slice/Parser.h
index 257e1df5987..2ca3e84bfc4 100644
--- a/cpp/include/Slice/Parser.h
+++ b/cpp/include/Slice/Parser.h
@@ -23,11 +23,14 @@
//
// Automatically link Slice[D].lib with Visual C++
//
-#if defined(_MSC_VER) && !defined(ICE_NO_PRAGMA_COMMENT)
-# if defined(ICE_STATIC_LIBS)
-# pragma comment(lib, "Slice.lib")
-# elif !defined(SLICE_API_EXPORTS)
-# if defined(_DEBUG)
+
+#if !defined(ICE_BUILDING_SLICE) && defined(SLICE_API_EXPORTS)
+# define ICE_BUILDING_SLICE
+#endif
+
+#if defined(_MSC_VER)
+# if !defined(ICE_BUILDING_SLICE)
+# if defined(_DEBUG) && !defined(ICE_OS_WINRT)
# pragma comment(lib, "SliceD.lib")
# else
# pragma comment(lib, "Slice.lib")
@@ -38,6 +41,8 @@
#ifndef SLICE_API
# ifdef SLICE_API_EXPORTS
# define SLICE_API ICE_DECLSPEC_EXPORT
+# elif defined(ICE_STATIC_LIBS)
+# define SLICE_API /**/
# else
# define SLICE_API ICE_DECLSPEC_IMPORT
# endif