From 33e3054fcabac99de4d593d6d52d607ffecba52b Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Wed, 12 Dec 2007 09:48:39 +0000 Subject: [PATCH] From Serge Lages, "Here is a new modification to CMake adding an option (OSG_MSVC_GENERATE_PLUGINS_AND_WRAPPERS_MANIFESTS) to specify if we want to generate or not the manifest files under VS8 for the plugins and the wrappers. It seems that the manifests are needed if we try to load dynamically a core OSG dll." --- src/CMakeLists.txt | 5 +++++ src/osgPlugins/CMakeLists.txt | 4 +++- src/osgWrappers/CMakeLists.txt | 4 +++- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 1d28fb7e2..be9d3bb5f 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -26,3 +26,8 @@ IF (BUILD_OSG_WRAPPERS) ADD_SUBDIRECTORY(osgIntrospection) ADD_SUBDIRECTORY(osgWrappers) ENDIF(BUILD_OSG_WRAPPERS) + +IF(MSVC80) + OPTION(OSG_MSVC_GENERATE_PLUGINS_AND_WRAPPERS_MANIFESTS "Generate or not manifests files under VS8 for dynamically loaded dlls" ON) +ENDIF(MSVC80) + diff --git a/src/osgPlugins/CMakeLists.txt b/src/osgPlugins/CMakeLists.txt index 8e813fbd4..1bcb29f89 100644 --- a/src/osgPlugins/CMakeLists.txt +++ b/src/osgPlugins/CMakeLists.txt @@ -14,7 +14,9 @@ ENDIF(NOT MSVC) SET(CMAKE_SHARED_MODULE_PREFIX ${OSG_PLUGIN_PREFIX}) IF(MSVC80) - SET(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} /MANIFEST:NO") + IF(NOT OSG_MSVC_GENERATE_PLUGINS_AND_WRAPPERS_MANIFESTS) + SET(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} /MANIFEST:NO") + ENDIF(NOT OSG_MSVC_GENERATE_PLUGINS_AND_WRAPPERS_MANIFESTS) ENDIF(MSVC80) SET(TARGET_DEFAULT_PREFIX "osgdb_") diff --git a/src/osgWrappers/CMakeLists.txt b/src/osgWrappers/CMakeLists.txt index e0ed2b787..8154622e4 100644 --- a/src/osgWrappers/CMakeLists.txt +++ b/src/osgWrappers/CMakeLists.txt @@ -5,7 +5,9 @@ SET(LIBRARY_OUTPUT_PATH "${LIBRARY_OUTPUT_PATH}/${OSG_PLUGINS}") SET(CMAKE_SHARED_MODULE_PREFIX ${OSG_PLUGIN_PREFIX}) IF(MSVC80) - SET(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} /MANIFEST:NO") + IF(NOT OSG_MSVC_GENERATE_PLUGINS_AND_WRAPPERS_MANIFESTS) + SET(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} /MANIFEST:NO") + ENDIF(NOT OSG_MSVC_GENERATE_PLUGINS_AND_WRAPPERS_MANIFESTS) ENDIF(MSVC80) MACRO(ADD_WRAPPER_LIB SUBDIR EXPORTDEF)