From b20695380f8cc65d8b58cd524f296382ba8ef2e7 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Tue, 17 Aug 2021 21:22:35 +0200 Subject: video: workaround cmake/ninja bug --- video/camera.hpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'video') diff --git a/video/camera.hpp b/video/camera.hpp index a0fe0adb..d4d17c8f 100644 --- a/video/camera.hpp +++ b/video/camera.hpp @@ -75,9 +75,17 @@ void register_camera(std::unique_ptr metadata); static const char init_ ## ctr = \ (::video::impl::register_camera(std::make_unique()), 0); -#define OTR_REGISTER_CAMERA2(type, ctr) \ - OTR_REGISTER_CAMERA3(type, ctr) +#ifdef _MSC_VER + // shared library targets without any symbols break cmake build +# define OTR_REGISTER_CAMERA_IMPL() \ + extern "C" __declspec(dllexport) [[maybe_unused]] void _opentrack_module(void) {} +#else +# define OTR_REGISTER_CAMERA_IMPL() +#endif +#define OTR_REGISTER_CAMERA2(type, ctr) \ + OTR_REGISTER_CAMERA3(type, ctr) \ + OTR_REGISTER_CAMERA_IMPL() #define OTR_REGISTER_CAMERA(type) \ OTR_REGISTER_CAMERA2(type, __COUNTER__) -- cgit v1.2.3