You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "James E. King, III (JIRA)" <ji...@apache.org> on 2017/01/10 19:48:59 UTC
[jira] [Created] (THRIFT-4025) As a developer, I would like to use
the cmake generated config.h even on windows
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)