[
https://issues.apache.org/jira/browse/QPID-6611?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Chuck Rolke updated QPID-6611:
------------------------------
Attachment: qpid-exe-in-build_src.patch
Patch to put all .exe files in the same folder as qpid .dll files.
> [C++ Windows] Create all binary executables in build/src folder
> ---------------------------------------------------------------
>
> Key: QPID-6611
> URL: https://issues.apache.org/jira/browse/QPID-6611
> Project: Qpid
> Issue Type: New Feature
> Components: C++ Broker, C++ Client
> Affects Versions: 0.32
> Environment: Windows and Visual Studio; C++ builds
> Reporter: Chuck Rolke
> Attachments: qpid-exe-in-build_src.patch
>
>
> My windows build produces 38 executables. Only one of them, qpidd.exe,
> actually runs in the folder in which it is produced. This means the other 37
> just don't work.
> {noformat}
> $ cd build\src\tests\Debug
> $ hello_world.exe
> The program can't start because qpidmessagingd.dll is missing from
> your computer. Try reinstalling the program to fix this problem.
> {noformat}
> I'm including a patch to some cmake scripts that force all of the executables
> to be in the same folders that hold the qpid*.dll libraries. Then all of the
> executables work with minimal external diddling. Further, from within Visual
> Studio all executables, think HelloWorld, can be selected as as the 'Startup
> Project' and run directly.
> One can currently go into the shared installation /bin folder and run a fair
> number programs from there. All of the qpid/proton/boost libraries are in
> that folder and things 'just work'. What one cannot do is run 'hello_world'
> from within Visual Studio. So if you have a problem or a test case to try
> then you are stuck with no debugger. For hello_world to work under the
> debugger go into the project properties and point the $OutDir macro at
> <build>/src/Debug where all of the qpid dll files are and recompile. Now
> hello_world runs as expected in VS.
> So here's how working with this patch should play out.
> # Get a nice checkout and apply the patch.
> # Run cmake. Assume: mkdir build; cd build; cmake ../cpp
> # Do a build. For this example use the Debug configuration. At this point the
> qpid dll files are in build\src\Debug and so are all 38 .exe example and test
> programs.
> # Manually install some libraries.
> #* copy ..\..\..\install_dir\bin\qpid-proton*.dll build\src\Debug. This step
> is not necessary if you have no proton.
> #* You can also copy boost libraries or have boost in your path for native
> C++. For the .NET binding you must copy the boost libraries to
> build\src\Debug of the application will not start.
> Now CD into build\bin\Debug and *all* of the programs run. I can 'dir *.exe'
> and see the choices and try them. I can't remember the last time I ran
> print_events on Windows before today!
> I tried this patch on a Linux system. All of the executables are now in
> build/src as expected. Everything works: self test, qpidd, examples, tests. I
> will not suggest forcing this patch on the source tree in general as it will
> surely break scripts that have hard coded paths to executables and will break
> if the targets move around.
> If I'm missing some magic that solves these issues some other way I'd love to
> hear about it.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]