Rabbitmq-c: Windows CMAKE build only spits out Debug builds

Created on 9 May 2013  ·  3Comments  ·  Source: alanxz/rabbitmq-c

Using Visual C++ 2008 Express, CMake 2.810, Python 3.3.1. Tagert arch is x86. Build environment is using Windows 7 Pro SP1.

This seems to ignore the -DCMAKE_BUILD_TYPE=Release . No matter what value is put in here, it always builds a Debug build. This also means that it links against debug versions of the MSVC runtime dll's, which don't seem to be present in the redistributable. I was able to overcome this by opening the project within the Microsoft GUI and manually changing the type from Debug to Release and rebuilding. Ideally, however, it would default to a non-debug build.

Most helpful comment

On May 8, 2013, at 9:40 PM, Alan Antonuk [email protected] wrote:

This is a CMake issue.

As far as I can tell CMake ignores CMAKE_BUILD_TYPE when generating project files that allow you to select the build configuration from within whatever builds it (such as Visual Studio, Eclipse, XCode…)

I think i might have stumbled onto a solution that doesn't require modifying anything with the Visual Studio settings:

If you do the following, from source directory:

md build
cd build
cmake -DCMAKE_INSTALL_PREFIX=c:/rabbitmq-c

And then issue:

cmake --build . --config Release --target install

This worked for me anyway. This may not be a bug with Rabbitmq-C, but it might not be bad to update the README.

Nathan

All 3 comments

This is a CMake issue.

As far as I can tell CMake ignores CMAKE_BUILD_TYPE when generating project files that allow you to select the build configuration from within whatever builds it (such as Visual Studio, Eclipse, XCode...)

In Visual Studio 2008+ the default configuration is stored in a *.vcxproj.user file which is not generated by CMake.

One option you have: instead of opening VS is to use something like [msbuild](http://msdn.microsoft.com/en-us/library/wea2sca5(v=vs.90).aspx) to build rabbitmq-c and pass a configuration parameter specifying which build you want:

msbuild rabbitmq-c.sln /t:Build /p:Configuration=Release

On May 8, 2013, at 9:40 PM, Alan Antonuk [email protected] wrote:

This is a CMake issue.

As far as I can tell CMake ignores CMAKE_BUILD_TYPE when generating project files that allow you to select the build configuration from within whatever builds it (such as Visual Studio, Eclipse, XCode…)

I think i might have stumbled onto a solution that doesn't require modifying anything with the Visual Studio settings:

If you do the following, from source directory:

md build
cd build
cmake -DCMAKE_INSTALL_PREFIX=c:/rabbitmq-c

And then issue:

cmake --build . --config Release --target install

This worked for me anyway. This may not be a bug with Rabbitmq-C, but it might not be bad to update the README.

Nathan

That'll also work.

Was this page helpful?
0 / 5 - 0 ratings