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]
