[cmake-developers] [CMake 0012128]: FindProtobuf module behavior under Windows is annoying

Mantis Bug Tracker mantis at public.kitware.com
Wed Apr 27 14:12:11 EDT 2011


The following issue has been SUBMITTED. 
====================================================================== 
http://public.kitware.com/Bug/view.php?id=12128 
====================================================================== 
Reported By:                Dat Chu
Assigned To:                
====================================================================== 
Project:                    CMake
Issue ID:                   12128
Category:                   Modules
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     new
====================================================================== 
Date Submitted:             2011-04-27 14:12 EDT
Last Modified:              2011-04-27 14:12 EDT
====================================================================== 
Summary:                    FindProtobuf module behavior under Windows is
annoying
Description: 
FindProtobuf module at the moment does not allow a Windows user to choose where
he has downloaded and built the ProtocolBuffer library. It forces the user to
choose by hand 4 variables: library, include, protoc library and protoc
executable.

If the user chooses a Release version of the built programs and libraries, then
try to build his project in Debug mode, he will receive the error:
_iterator_debug_level value '0' doesn't match value '2'

The module currently, thus, does not support multi-type build on Windows

Steps to Reproduce: 
- Build ProtocolBuffer
- Configure a project which uses ProtocolBuffer choosing the Release version
- Build the project in Debug 

Additional Information: 
Attached is the updated FindProtobuf.cmake which solves these issues. Under
Windows, there is a new variable: PROTOBUF_SRC_ROOT_FOLDER which will be used to
resolved the rest of the variables. The user only need to specify this variable
in order to have ProtocolBuffer detected.

Steps:
- Download ProtocolBuffer
- Build ProtocolBuffer with the supplied sln file
- Configure project which uses ProtocolBuffer
- Set PROTOBUF_SRC_ROOT_FOLDER to where one downloaded ProtocolBuffer 
====================================================================== 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2011-04-27 14:12 Dat Chu        New Issue                                    
2011-04-27 14:12 Dat Chu        File Added: FindProtobuf.cmake                  
 
======================================================================




More information about the cmake-developers mailing list