From ee182eb086242326877d2e431404383b1a638397 Mon Sep 17 00:00:00 2001 From: Roman Donchenko Date: Fri, 26 Jul 2013 14:35:40 +0400 Subject: [PATCH] Fixed the setting of CVAPI_EXPORTS for modules that are always static/shared. Also, removed needless check of BUILD_SHARED_LIBS in core; in that case, only the current module's library type matters. --- cmake/OpenCVModule.cmake | 3 ++- modules/core/src/system.cpp | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/cmake/OpenCVModule.cmake b/cmake/OpenCVModule.cmake index 81340bd0e..0ac39e4c1 100644 --- a/cmake/OpenCVModule.cmake +++ b/cmake/OpenCVModule.cmake @@ -508,7 +508,8 @@ macro(ocv_create_module) ) endif() - if(BUILD_SHARED_LIBS) + if((NOT DEFINED OPENCV_MODULE_TYPE AND BUILD_SHARED_LIBS) + OR (DEFINED OPENCV_MODULE_TYPE AND OPENCV_MODULE_TYPE STREQUAL SHARED)) if(MSVC) set_target_properties(${the_module} PROPERTIES DEFINE_SYMBOL CVAPI_EXPORTS) else() diff --git a/modules/core/src/system.cpp b/modules/core/src/system.cpp index a891e94cc..062045de1 100644 --- a/modules/core/src/system.cpp +++ b/modules/core/src/system.cpp @@ -779,7 +779,7 @@ cvGetModuleInfo( const char* name, const char **version, const char **plugin_lis *plugin_list = plugin_list_buf; } -#if defined BUILD_SHARED_LIBS && defined CVAPI_EXPORTS && defined WIN32 && !defined WINCE +#if defined CVAPI_EXPORTS && defined WIN32 && !defined WINCE BOOL WINAPI DllMain( HINSTANCE, DWORD fdwReason, LPVOID ); BOOL WINAPI DllMain( HINSTANCE, DWORD fdwReason, LPVOID )