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/02/11 06:21:41 UTC

[jira] [Updated] (THRIFT-4025) Use the cmake generated config.h on windows

     [ https://issues.apache.org/jira/browse/THRIFT-4025?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

James E. King, III updated THRIFT-4025:
---------------------------------------
    Summary: Use the cmake generated config.h on windows  (was: As a developer, I would like to use the cmake generated config.h even on windows)

> Use the cmake generated config.h on windows
> -------------------------------------------
>
>                 Key: THRIFT-4025
>                 URL: https://issues.apache.org/jira/browse/THRIFT-4025
>             Project: Thrift
>          Issue Type: Story
>          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.15#6346)