On Wed, May 21, 2014 at 2:29 PM, Rick McGuire <object.r...@gmail.com> wrote:

> Mark,
>
> Thanks for the answer.  I did find a solution for this.  It turns out to
> possible to replace or merge additional manifest information into the
> executables as a post-processing step.  I wasn't really sure which .exe
> files needed this, so I end up merging it into them all.  If only ooDialog
> needs this, then that can simplify things in the cmake file considerably
> since I had to add a lot of WIN32 conditional stuff to do this.
>

It is actually all the executables that would run an ooDialog program.  So,
rexx.exe, rexxhide.exe, rexxpaws.exe and oodialog.exe need the manifest.
 With the common controls dependency part I posted.

--
Mark Miesfeld



>
> Rick
>
>
> On Wed, May 21, 2014 at 5:17 PM, Mark Miesfeld <miesf...@gmail.com> wrote:
>
>> Hi Rick,
>>
>> I'm still traveling and only have good Internet once in  awhile.  So I've
>> put off answering this.  But thought I'd better do something about it.
>>
>> The existing manifest was only needed for ooDialog.  The important part
>> is the part to load the  6.0 common controls library:
>>
>> <description>Open Object Rexx Interpreter.</description>
>> <dependency>
>>     <dependentAssembly>
>>         <assemblyIdentity
>>             type="win32"
>>             name="Microsoft.Windows.Common-Controls"
>>             version="6.0.0.0"
>>             processorArchitecture="amd64"
>>             publicKeyToken="6595b64144ccf1df"
>>             language="*"
>>         />
>>     </dependentAssembly>
>> </dependency>
>>
>> Since that is needed by any Windows GUI application to use the 6.0, or
>> later, version of the library, it seems odd to me that CMake wouldn't have
>> a way to do it, if it is generating its own manifest.  Without it, the
>> pre-verison 6.0 is loaded automatically, which is essentially W2K controls.
>>
>> It took me quite a bit of work to get it working originally.  It needs to
>> be the manifest of the executable that loads the ooDialog extension, which
>> I didn't understand when I first started with it.  I thought it was
>> sufficient to use it for ooDialog.dll.
>>
>> So, if we can't get CMake to add the common controls part to the manifest
>> it generates, then I'll have to add the custom step.  I won't be back at
>> home until after Memorial day.  I'll work on it then if you haven't already
>> come up with something.
>>
>> --
>> Mark Miesfeld
>>
>>
>>
>> On Mon, May 5, 2014 at 4:17 AM, Rick McGuire <object.r...@gmail.com>wrote:
>>
>>> This is mostly to get this question recorded for Mark for when he gets
>>> back from vacation.
>>>
>>> I'm currently running into some issues with the manifest file we're
>>> embedding in rexx.exe via an include within rexx.rc.  Building this via
>>> this method causes a duplicate resource error because the cmake build tools
>>> generate a default manifest which gets embedded via the /MANIFEST and
>>> /MANIFESTFILE linker options.  When the .rc file pulls in the second
>>> manifest, this creates the error.
>>>
>>> For now, I've commented out the link in rexx.rc that pulls in the
>>> manifest file, so the cmake build is using the one it generates.  For the
>>> existing build, I've switched to rexx.mak file to use /MANIFEST and
>>> /MANIFESTFILE link options.  We're going to run into this same issue with
>>> the oodialog executables when we get that portion working in cmake as well.
>>>  I really don't understand the manifests and what information needs to be
>>> in there.  The cmake-generated manifests and the ones we are using are
>>> quite different.  Here is our version:
>>>
>>> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
>>> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
>>> <assemblyIdentity
>>>     version="1.0.0.0"
>>>     processorArchitecture="amd64"
>>>     name="RexxLA.ooRexx.rexx"
>>>     type="win32"
>>> />
>>> <description>Open Object Rexx Interpreter.</description>
>>> <dependency>
>>>     <dependentAssembly>
>>>         <assemblyIdentity
>>>             type="win32"
>>>             name="Microsoft.Windows.Common-Controls"
>>>             version="6.0.0.0"
>>>             processorArchitecture="amd64"
>>>             publicKeyToken="6595b64144ccf1df"
>>>             language="*"
>>>         />
>>>     </dependentAssembly>
>>> </dependency>
>>> </assembly>
>>>
>>>
>>> and here is the cmake version:
>>>
>>>
>>> <?xml version='1.0' encoding='UTF-8' standalone='yes'?>
>>> <assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
>>>   <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
>>>     <security>
>>>       <requestedPrivileges>
>>>         <requestedExecutionLevel level='asInvoker' uiAccess='false' />
>>>       </requestedPrivileges>
>>>     </security>
>>>   </trustInfo>
>>> </assembly>
>>>
>>> Note that cmake generates one of these for all of the dlls and exes.
>>>
>>>
>>> So, do we need to continue using our manifest version or can just allow the 
>>> cmake defaults?  Does the cmake version cause any problems with the other 
>>> files?  I've found information on how to use custom manifests, which 
>>> involves disabling the automatic generation and then adding a 
>>> post-processing step that uses a tool to add the custom manifest.  A bit of 
>>> a pain, but doable.  I think I'd prefer to let cmake do the heavy lifting 
>>> if we can.
>>>
>>>
>>> Rick
>>>
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> Is your legacy SCM system holding you back? Join Perforce May 7 to find
>>> out:
>>> &#149; 3 signs your SCM is hindering your productivity
>>> &#149; Requirements for releasing software faster
>>> &#149; Expert tips and advice for migrating your SCM now
>>> http://p.sf.net/sfu/perforce
>>> _______________________________________________
>>> Oorexx-devel mailing list
>>> Oorexx-devel@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/oorexx-devel
>>>
>>>
>>
>>
>> ------------------------------------------------------------------------------
>> "Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
>> Instantly run your Selenium tests across 300+ browser/OS combos.
>> Get unparalleled scalability from the best Selenium testing platform
>> available
>> Simple to use. Nothing to install. Get started now for free."
>> http://p.sf.net/sfu/SauceLabs
>>
>> _______________________________________________
>> Oorexx-devel mailing list
>> Oorexx-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/oorexx-devel
>>
>>
>
>
> ------------------------------------------------------------------------------
> "Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
> Instantly run your Selenium tests across 300+ browser/OS combos.
> Get unparalleled scalability from the best Selenium testing platform
> available
> Simple to use. Nothing to install. Get started now for free."
> http://p.sf.net/sfu/SauceLabs
> _______________________________________________
> Oorexx-devel mailing list
> Oorexx-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/oorexx-devel
>
>
------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.
Get unparalleled scalability from the best Selenium testing platform available
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel

Reply via email to