Hi Chuck,

> I have spent time recently working with Qpid-cpp, CMake, and 
> Windows x64. I can see two issues that could use a general solution:
> 
> 1. CMake's find_boost finds the same Boost library tree for 
> both x86 and x64 builds. If environment variable BOOST_ROOT 
> points to one lib or the other first, then CMake sets things 
> up correctly. This is cumbersome to do using CMake-gui 
> (2.8.0). It's easy to do if CMake is run from a command line.

Right.

>   Does anyone else compile both x86 and x64? How do you deal 
> with Boost versions?

Yes - I "prime" the cmake cache with what I want based on the desired
build, then run cmake.

> 2. CMake does not have a good story for emitting CSharp project files.

To be more succinct, it has no story ;-)

>  Does anyone have CMake dealing with .csproj files?

No.

> To make my environment work I've written a powershell script. 
> It basically:
> 
>  a. Asks for BOOST_ROOT's, x86 and x64.
>  b. Asks for QPID_BUILD_ROOT's, or "where to build the 
> binaries", x86 and x64.  c. It runs two CMake command lines 
> producing x86 and x64 output.  d. It produces scripts that 
> you use to launch Visual Studio 
>     with the proper BOOST_ROOT and QPID_BUILD_ROOT. 
> 
> The script uses BOOST_ROOT and CMake command line to work 
> around problem #1. It uses an environment variable for 
> .csproj files to find qpidmessaging and qpidcommon binaries 
> to work around problem #2.

Right - this is what we came up with when I was doing work for
Microsoft.

> Is there a better way to do this? Any suggestions are welcome.

Not that I know of, no. You may want to scan the cmake email archives
(list [email protected]) for hints on the csproj support.

-Steve


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to