summaryrefslogtreecommitdiffhomepage
path: root/compat
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2017-03-24 23:48:20 +0100
committerStanislaw Halik <sthalik@misaki.pl>2017-03-24 23:48:20 +0100
commitd903095d973922761071ea675f380f5c4c3cf2ad (patch)
treec2b8a90cec0bb77dd4d789c96b75ccc694aa79fa /compat
parent007f8c41475ddbad34f29593bf0b744ebbca4a2a (diff)
options, compat: instantiate common templates in their .dll's
Diffstat (limited to 'compat')
-rw-r--r--compat/simple-mat.cpp3
-rw-r--r--compat/simple-mat.hpp14
2 files changed, 17 insertions, 0 deletions
diff --git a/compat/simple-mat.cpp b/compat/simple-mat.cpp
new file mode 100644
index 00000000..d00a4157
--- /dev/null
+++ b/compat/simple-mat.cpp
@@ -0,0 +1,3 @@
+#define OTR_SIMPLE_MAT_TEMPLATE_UNIT
+
+#include "simple-mat.hpp"
diff --git a/compat/simple-mat.hpp b/compat/simple-mat.hpp
index a1509f4d..186043c0 100644
--- a/compat/simple-mat.hpp
+++ b/compat/simple-mat.hpp
@@ -274,3 +274,17 @@ Mat<num, h_, w_> operator*(const Mat<num, h_, w_>& self, num other)
return ret;
}
+#ifdef OTR_SIMPLE_MAT_TEMPLATE_UNIT
+# define OTR_SIMPLE_MAT_TEMPLATE_EXTERN
+# define OTR_SIMPLE_MAT_TEMPLATE_DECLSPEC OPENTRACK_COMPAT_EXPORT
+#else
+# define OTR_SIMPLE_MAT_TEMPLATE_EXTERN extern
+# define OTR_SIMPLE_MAT_TEMPLATE_DECLSPEC
+#endif
+
+OTR_SIMPLE_MAT_TEMPLATE_EXTERN template class OTR_SIMPLE_MAT_TEMPLATE_DECLSPEC Mat<double, 6, 1>;
+OTR_SIMPLE_MAT_TEMPLATE_EXTERN template class OTR_SIMPLE_MAT_TEMPLATE_DECLSPEC Mat<double, 3, 1>;
+OTR_SIMPLE_MAT_TEMPLATE_EXTERN template class OTR_SIMPLE_MAT_TEMPLATE_DECLSPEC Mat<double, 1, 6>;
+OTR_SIMPLE_MAT_TEMPLATE_EXTERN template class OTR_SIMPLE_MAT_TEMPLATE_DECLSPEC Mat<double, 1, 3>;
+OTR_SIMPLE_MAT_TEMPLATE_EXTERN template class OTR_SIMPLE_MAT_TEMPLATE_DECLSPEC Mat<double, 3, 3>;
+