|
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.
|