From: <pat...@us...> - 2006-11-07 23:32:39
|
Revision: 561 http://svn.sourceforge.net/xml-cppdom/?rev=561&view=rev Author: patrickh Date: 2006-11-07 15:32:35 -0800 (Tue, 07 Nov 2006) Log Message: ----------- When using Visual C++ 8.0 or newer, embed the DLL manifest into the DLL. This implementation is pretty lame, but it seems to work. Too bad that SCons doesn't provide a simpler way of getting this same result. :( Modified Paths: -------------- trunk/SConstruct trunk/cppdom/SConscript Modified: trunk/SConstruct =================================================================== --- trunk/SConstruct 2006-11-07 22:34:22 UTC (rev 560) +++ trunk/SConstruct 2006-11-07 23:32:35 UTC (rev 561) @@ -60,7 +60,6 @@ if GetPlatform() == "win32": if ARGUMENTS.has_key("MSVS_VERSION"): common_env = Environment(MSVS_VERSION = ARGUMENTS["MSVS_VERSION"]) - common_env['WINDOWS_INSERT_MANIFEST'] = True else: common_env = Environment() else: Modified: trunk/cppdom/SConscript =================================================================== --- trunk/cppdom/SConscript 2006-11-07 22:34:22 UTC (rev 560) +++ trunk/cppdom/SConscript 2006-11-07 23:32:35 UTC (rev 561) @@ -33,7 +33,13 @@ # If should not do static only, then create static and shared libraries if "shared" in combo["libtype"]: - cppdom_lib = cppdom_lib_env.SharedLibrary(cppdom_shared_libname, sources) + shlinkcom = cppdom_lib_env['SHLINKCOM'] + # When using Visual C++ 8.0 or newer, embed the manifest in the DLL. + if float(cppdom_lib_env['MSVS_VERSION']) >= 8.0: + shlinkcom = [shlinkcom, + 'mt.exe -manifest ${TARGET}.manifest -outputresource:$TARGET;2'] + cppdom_lib = cppdom_lib_env.SharedLibrary(cppdom_shared_libname, sources, + SHLINKCOM = shlinkcom) cppdom_lib_env.Install(inst_paths['lib'], cppdom_lib) if "static" in combo["libtype"]: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |