James E. King, III created THRIFT-4025:
------------------------------------------

             Summary: As a developer, I would like to use the cmake generated 
config.h even on windows
                 Key: THRIFT-4025
                 URL: https://issues.apache.org/jira/browse/THRIFT-4025
             Project: Thrift
          Issue Type: Improvement
          Components: C++ - Library
    Affects Versions: 0.10.0
         Environment: Windows
            Reporter: James E. King, III
            Assignee: James E. King, III


The thrift windows C++ library build uses a special cased config.h file that 
does not honor the flags used when generating the cmake build environment.  If 
you look into thrift/thrift-config.h which is included from thrift/Thrift.h you 
will find:

{noformat}
#ifdef _WIN32
#include <thrift/windows/config.h>
#else
#include <thrift/config.h>
#endif
{noformat}

The cmake build environment generates a thrift/config.h file and places it into 
the out-of-tree build directory.  It differs significantly from the build 
options used when running cmake.  For example:

In thrift/windows/config.h if Visual Studio 2012 or later is being used, boost 
threads are disabled and std threads are enabled, indicating C++11.  If you 
look in thrift/config.h for a build generated with boost threads enabled,  
(-DUSE_BOOST_THREADS), the generated config.h should have that.  The windows 
specific config. blindly sets HAVE_INTTYPES_H to 1, without actually checking 
for <inttypes.h>, which is checked during cmake generation and put into 
thrift/config.h.

In short, We should eliminate the windows branch on the configuration files 
here, and just use the config.h that is generated by cmake.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to