Uploaded image for project: 'Thrift'
  1. Thrift
  2. THRIFT-2850

Have the cmake build system run make cross

    Details

    • Type: Improvement
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: 1.0
    • Component/s: Build Process
    • Environment:

      all platforms

      Description

      Goal: Extend Apache Thrift's make cross approach to the build system.

      Due to growing the field of operating system support, a proper executable
      and library detection mechanism running on as much platforms as possible
      becomes required. The other aspect is simplify the release process and
      package generation process.

      As nice side benefit of CMake is the generation of development environment
      specific solution files(VisualStudio, Eclipse, Xcode, etc. ). => No solution files within source tree.

      We are already building Apache Thrift with CMake for Linux-ARM, Linux-x86, Windows CE and Windows.

      We are in preparation phase for a pull request here:
      https://github.com/siemens/thrift/commits/cmake-master

        Issue Links

          Activity

          Hide
          jfarrell Jake Farrell added a comment -

          As this is a major change to the overall project build can you please open a discussion thread on dev@ regarding this topic

          Show
          jfarrell Jake Farrell added a comment - As this is a major change to the overall project build can you please open a discussion thread on dev@ regarding this topic
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user hcorg commented on the pull request:

          https://github.com/apache/thrift/pull/318#issuecomment-66850037

          check https://issues.apache.org/jira/browse/THRIFT-2850

          maybe those two changes can be merged

          Show
          githubbot ASF GitHub Bot added a comment - Github user hcorg commented on the pull request: https://github.com/apache/thrift/pull/318#issuecomment-66850037 check https://issues.apache.org/jira/browse/THRIFT-2850 maybe those two changes can be merged
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user bufferoverflow commented on the pull request:

          https://github.com/apache/thrift/pull/318#issuecomment-66887590

          @hcorg this is https://issues.apache.org/jira/browse/THRIFT-2850
          Pascal Bach, Sergei Nikulov and I worked on this together.
          I suggest to merge this and improve CMake support step by step.

          Show
          githubbot ASF GitHub Bot added a comment - Github user bufferoverflow commented on the pull request: https://github.com/apache/thrift/pull/318#issuecomment-66887590 @hcorg this is https://issues.apache.org/jira/browse/THRIFT-2850 Pascal Bach, Sergei Nikulov and I worked on this together. I suggest to merge this and improve CMake support step by step.
          Hide
          snikulov Sergei Nikulov added a comment -

          Hi!
          Looks like cmake already on master branch.
          Does anybody cares about this ticket?

          Show
          snikulov Sergei Nikulov added a comment - Hi! Looks like cmake already on master branch. Does anybody cares about this ticket?
          Hide
          roger.meier Roger Meier added a comment -
          Show
          roger.meier Roger Meier added a comment - There are still some todos left: https://github.com/apache/thrift/blob/master/cmake/README.md#todo
          Hide
          githubbot ASF GitHub Bot added a comment -
          Show
          githubbot ASF GitHub Bot added a comment - Github user snikulov commented on the pull request: https://github.com/apache/thrift/pull/365#issuecomment-72184044 Related to https://issues.apache.org/jira/browse/THRIFT-2850
          Hide
          hudson Hudson added a comment -

          FAILURE: Integrated in Thrift #1441 (See https://builds.apache.org/job/Thrift/1441/)
          THRIFT-2850 CMake: Fixed Java lib build enable - Ant required to build java part of Thrift (roger: rev 9d8c1bf6f62c22c13c5b6b4da51b1de1a9d27339)

          • lib/java/CMakeLists.txt
          • cmake/DefineOptions.cmake
          Show
          hudson Hudson added a comment - FAILURE: Integrated in Thrift #1441 (See https://builds.apache.org/job/Thrift/1441/ ) THRIFT-2850 CMake: Fixed Java lib build enable - Ant required to build java part of Thrift (roger: rev 9d8c1bf6f62c22c13c5b6b4da51b1de1a9d27339) lib/java/CMakeLists.txt cmake/DefineOptions.cmake
          Hide
          hudson Hudson added a comment -

          SUCCESS: Integrated in Thrift #1502 (See https://builds.apache.org/job/Thrift/1502/)
          THRIFT-2850 CMake for Apache Thrift (roger: rev 2659381e7f94b825c0b1ff6e80a119035a4a0de5)

          • build/cmake/FindLibevent.cmake
          • build/cmake/README.md
          • test/cpp/CMakeLists.txt
          • build/cmake/DefineOptions.cmake
          • CMakeLists.txt
          Show
          hudson Hudson added a comment - SUCCESS: Integrated in Thrift #1502 (See https://builds.apache.org/job/Thrift/1502/ ) THRIFT-2850 CMake for Apache Thrift (roger: rev 2659381e7f94b825c0b1ff6e80a119035a4a0de5) build/cmake/FindLibevent.cmake build/cmake/README.md test/cpp/CMakeLists.txt build/cmake/DefineOptions.cmake CMakeLists.txt
          Hide
          hudson Hudson added a comment -

          SUCCESS: Integrated in Thrift #1504 (See https://builds.apache.org/job/Thrift/1504/)
          THRIFT-2850 CMake for Apache Thrift (roger: rev 19e32dc0ed5090d6cc464242ede7d862c146fc3b)

          • lib/py/CMakeLists.txt
          Show
          hudson Hudson added a comment - SUCCESS: Integrated in Thrift #1504 (See https://builds.apache.org/job/Thrift/1504/ ) THRIFT-2850 CMake for Apache Thrift (roger: rev 19e32dc0ed5090d6cc464242ede7d862c146fc3b) lib/py/CMakeLists.txt
          Hide
          jking3 James E. King, III added a comment -

          I have a set of changes that I used to build a bunch of stuff successfully on Windows:

          C:\Users\Jim\workspace\thrift-build>dir bin\*.exe
           Volume in drive C is OS
          
           Directory of C:\Users\Jim\workspace\thrift-build\bin
          
          04/21/2015  01:05 AM           262,144 AllProtocolsTest.exe
          04/21/2015  01:05 AM         2,657,280 Benchmark.exe
          04/21/2015  01:07 AM           910,848 concurrency_test.exe
          04/21/2015  01:06 AM         2,721,792 DebugProtoTest.exe
          04/21/2015  01:06 AM         1,681,920 EnumTest.exe
          04/21/2015  01:06 AM         2,826,240 JSONProtoTest.exe
          04/21/2015  01:07 AM            42,496 link_test.exe
          04/21/2015  01:06 AM         1,825,792 OpenSSLManualInitTest.exe
          04/21/2015  01:06 AM           580,096 OptionalRequiredTest.exe
          04/21/2015  01:06 AM           335,872 RecursiveTest.exe
          04/21/2015  01:06 AM         2,747,392 SpecializationTest.exe
          04/21/2015  01:06 AM           139,776 TFDTransportTest.exe
          04/21/2015  01:03 AM         6,411,776 thrift.exe
          04/21/2015  01:06 AM           173,056 TPipedTransportTest.exe
          04/21/2015  01:06 AM         2,808,832 TransportTest.exe
          04/21/2015  01:07 AM         3,996,160 UnitTests.exe
          04/21/2015  01:07 AM         1,786,880 ZlibTest.exe
                        17 File(s)     31,908,352 bytes
                         0 Dir(s)  57,334,652,928 bytes free
          
          C:\Users\Jim\workspace\thrift-build>dir lib
           Volume in drive C is OS
          
           Directory of C:\Users\Jim\workspace\thrift-build\lib
          
          04/21/2015  01:07 AM    <DIR>          .
          04/21/2015  01:07 AM    <DIR>          ..
          04/21/2015  12:45 AM    <DIR>          cpp
          04/21/2015  01:02 AM         6,516,332 libparsed.lib
          04/21/2015  01:05 AM        53,386,360 testgencppd.lib
          04/21/2015  01:07 AM           907,678 testgencpp_cobd.lib
          04/21/2015  01:04 AM        28,138,136 thriftmdd.lib
          04/21/2015  01:04 AM           729,324 thriftzmdd.lib
                         5 File(s)     89,677,830 bytes
                         3 Dir(s)  57,334,652,928 bytes free
          
          C:\Users\Jim\workspace\thrift-build>

          Do you want me to submit it as part of this open item?
          I could only get static libraries to build and work properly because building thrift.dll produces no /IMPLIB output file.
          As such I added a link macro that will honor WITH_SHARED_LIB and WITH_STATIC_LIB settings, preferring to link the tests against shared, and if that is disabled then against static. Previously, all unit tests linked only against shared libraries.
          I'll make sure it builds on linux before I send in a pull request.

          Show
          jking3 James E. King, III added a comment - I have a set of changes that I used to build a bunch of stuff successfully on Windows: C:\Users\Jim\workspace\thrift-build>dir bin\*.exe Volume in drive C is OS Directory of C:\Users\Jim\workspace\thrift-build\bin 04/21/2015 01:05 AM 262,144 AllProtocolsTest.exe 04/21/2015 01:05 AM 2,657,280 Benchmark.exe 04/21/2015 01:07 AM 910,848 concurrency_test.exe 04/21/2015 01:06 AM 2,721,792 DebugProtoTest.exe 04/21/2015 01:06 AM 1,681,920 EnumTest.exe 04/21/2015 01:06 AM 2,826,240 JSONProtoTest.exe 04/21/2015 01:07 AM 42,496 link_test.exe 04/21/2015 01:06 AM 1,825,792 OpenSSLManualInitTest.exe 04/21/2015 01:06 AM 580,096 OptionalRequiredTest.exe 04/21/2015 01:06 AM 335,872 RecursiveTest.exe 04/21/2015 01:06 AM 2,747,392 SpecializationTest.exe 04/21/2015 01:06 AM 139,776 TFDTransportTest.exe 04/21/2015 01:03 AM 6,411,776 thrift.exe 04/21/2015 01:06 AM 173,056 TPipedTransportTest.exe 04/21/2015 01:06 AM 2,808,832 TransportTest.exe 04/21/2015 01:07 AM 3,996,160 UnitTests.exe 04/21/2015 01:07 AM 1,786,880 ZlibTest.exe 17 File(s) 31,908,352 bytes 0 Dir(s) 57,334,652,928 bytes free C:\Users\Jim\workspace\thrift-build>dir lib Volume in drive C is OS Directory of C:\Users\Jim\workspace\thrift-build\lib 04/21/2015 01:07 AM <DIR> . 04/21/2015 01:07 AM <DIR> .. 04/21/2015 12:45 AM <DIR> cpp 04/21/2015 01:02 AM 6,516,332 libparsed.lib 04/21/2015 01:05 AM 53,386,360 testgencppd.lib 04/21/2015 01:07 AM 907,678 testgencpp_cobd.lib 04/21/2015 01:04 AM 28,138,136 thriftmdd.lib 04/21/2015 01:04 AM 729,324 thriftzmdd.lib 5 File(s) 89,677,830 bytes 3 Dir(s) 57,334,652,928 bytes free C:\Users\Jim\workspace\thrift-build> Do you want me to submit it as part of this open item? I could only get static libraries to build and work properly because building thrift.dll produces no /IMPLIB output file. As such I added a link macro that will honor WITH_SHARED_LIB and WITH_STATIC_LIB settings, preferring to link the tests against shared, and if that is disabled then against static. Previously, all unit tests linked only against shared libraries. I'll make sure it builds on linux before I send in a pull request.
          Hide
          jking3 James E. King, III added a comment -

          I would suggest, that since cmake's integration with libraries like boost have global settings (BOOST_USE_MULTITHREADED, BOOST_USE_STATIC_LIBS, BOOST_USE_DEBUG_RUNTIME are examples) that we should not allow a single cmake project to attempt to build both static and shared outputs, just as a single project does not attempt to build debug and release outputs. Instead, there should be only one link style and one output style per cmake configuration. If someone wants to make Debug shared, and release static, that should be two separate build directories.

          Show
          jking3 James E. King, III added a comment - I would suggest, that since cmake's integration with libraries like boost have global settings (BOOST_USE_MULTITHREADED, BOOST_USE_STATIC_LIBS, BOOST_USE_DEBUG_RUNTIME are examples) that we should not allow a single cmake project to attempt to build both static and shared outputs, just as a single project does not attempt to build debug and release outputs. Instead, there should be only one link style and one output style per cmake configuration. If someone wants to make Debug shared, and release static, that should be two separate build directories.
          Hide
          githubbot ASF GitHub Bot added a comment -

          GitHub user jeking3 opened a pull request:

          https://github.com/apache/thrift/pull/456

          THRIFT-2850 cmake win cpp library and unit tests

          I made changes to the cmake environment so that cmake can build the compiler, static libraries and unit tests on Windows. In my testing I found that the shared thrift library build is not exporting any symbols so no IMPLIB is being generated (that would be thrift.lib or thriftd.lib), so none of the unit tests would link, nor would thriftz.

          Here's the command I used to generate the environment:

          mkdir thrift-build
          cd thrift-build
          "C:\Program Files (x86)\CMake\bin\cmake.exe" ..\thrift -G"NMake Makefiles" -DWITH_SHARED_LIB=OFF -DWITH_BOOSTTHREADS=ON -DBOOST_ROOT=C:\Boost -DZLIB_ROOT=C:\win3p\tools\x64\zlib-1.2.5 -DOPENSSL_ROOT_DIR=C:\win3p\tools\x64\openssl-1.0.1b -DFLEX_EXECUTABLE=C:\Users\Jim\workspace\winflexbison\win_flex.exe -DBISON_EXECUTABLE=C:\Users\Jim\workspace\winflexbison\win_bison.exe

          You can also use -G"Visual Studio 10 Win64" to get a thrift.sln file that you can use to load visual studio, this example is for Visual Studio 2010. Visual Studio 2013 would be -G"Visual Studio 12 Win64".

          I was not able to get the nonblocking server to build because libevent requires autoconf to generate a "event-config.h", and the libevent nmake project does not produce one of these, so I could not compile the non-blocking server; further the libevent header "event.h" conflicts with the Windows Platform SDK header Event.h, so FindLibevent.cmake always finds the Platform SDK as an include directory, so I did not attempt to get it working right now.

          Tested this on Windows and on Ubuntu 12.04 using CMake-3.2.2.

          When running the tests on Windows you need to put the library paths into your PATH environment for boost, openssl so that they can be found. The CMake environment does not copy required libraries into the "bin" directory at this time.

          You can merge this pull request into a Git repository by running:

          $ git pull https://github.com/jeking3/thrift feature/cmake-win-cpp-library-build

          Alternatively you can review and apply these changes as the patch at:

          https://github.com/apache/thrift/pull/456.patch

          To close this pull request, make a commit to your master/trunk branch
          with (at least) the following in the commit message:

          This closes #456


          commit 4f27ece54ef90358ea2efe529786196c92d1a493
          Author: Jim King <jim.king@simplivity.com>
          Date: 2015-04-21T15:39:08Z

          cmake changes for windows to build through unit tests, WITH_STATIC_LIBS only, and resolve some compiler warnings

          commit 63f9fd1ed4dd18cf531f0015750cca1773603583
          Author: Jim King <jim.king@simplivity.com>
          Date: 2015-04-21T16:00:02Z

          fix cmake changes from windows on linux


          Show
          githubbot ASF GitHub Bot added a comment - GitHub user jeking3 opened a pull request: https://github.com/apache/thrift/pull/456 THRIFT-2850 cmake win cpp library and unit tests I made changes to the cmake environment so that cmake can build the compiler, static libraries and unit tests on Windows. In my testing I found that the shared thrift library build is not exporting any symbols so no IMPLIB is being generated (that would be thrift.lib or thriftd.lib), so none of the unit tests would link, nor would thriftz. Here's the command I used to generate the environment: mkdir thrift-build cd thrift-build "C:\Program Files (x86)\CMake\bin\cmake.exe" ..\thrift -G"NMake Makefiles" -DWITH_SHARED_LIB=OFF -DWITH_BOOSTTHREADS=ON -DBOOST_ROOT=C:\Boost -DZLIB_ROOT=C:\win3p\tools\x64\zlib-1.2.5 -DOPENSSL_ROOT_DIR=C:\win3p\tools\x64\openssl-1.0.1b -DFLEX_EXECUTABLE=C:\Users\Jim\workspace\winflexbison\win_flex.exe -DBISON_EXECUTABLE=C:\Users\Jim\workspace\winflexbison\win_bison.exe You can also use -G"Visual Studio 10 Win64" to get a thrift.sln file that you can use to load visual studio, this example is for Visual Studio 2010. Visual Studio 2013 would be -G"Visual Studio 12 Win64". I was not able to get the nonblocking server to build because libevent requires autoconf to generate a "event-config.h", and the libevent nmake project does not produce one of these, so I could not compile the non-blocking server; further the libevent header "event.h" conflicts with the Windows Platform SDK header Event.h, so FindLibevent.cmake always finds the Platform SDK as an include directory, so I did not attempt to get it working right now. Tested this on Windows and on Ubuntu 12.04 using CMake-3.2.2. When running the tests on Windows you need to put the library paths into your PATH environment for boost, openssl so that they can be found. The CMake environment does not copy required libraries into the "bin" directory at this time. You can merge this pull request into a Git repository by running: $ git pull https://github.com/jeking3/thrift feature/cmake-win-cpp-library-build Alternatively you can review and apply these changes as the patch at: https://github.com/apache/thrift/pull/456.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #456 commit 4f27ece54ef90358ea2efe529786196c92d1a493 Author: Jim King <jim.king@simplivity.com> Date: 2015-04-21T15:39:08Z cmake changes for windows to build through unit tests, WITH_STATIC_LIBS only, and resolve some compiler warnings commit 63f9fd1ed4dd18cf531f0015750cca1773603583 Author: Jim King <jim.king@simplivity.com> Date: 2015-04-21T16:00:02Z fix cmake changes from windows on linux
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user jeking3 commented on the pull request:

          https://github.com/apache/thrift/pull/456#issuecomment-94859580

          Darnit, a last minute change busted Windows - closing to fix. :|

          Show
          githubbot ASF GitHub Bot added a comment - Github user jeking3 commented on the pull request: https://github.com/apache/thrift/pull/456#issuecomment-94859580 Darnit, a last minute change busted Windows - closing to fix. :|
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user jeking3 closed the pull request at:

          https://github.com/apache/thrift/pull/456

          Show
          githubbot ASF GitHub Bot added a comment - Github user jeking3 closed the pull request at: https://github.com/apache/thrift/pull/456
          Hide
          githubbot ASF GitHub Bot added a comment -

          GitHub user jeking3 reopened a pull request:

          https://github.com/apache/thrift/pull/456

          THRIFT-2850 cmake win cpp library and unit tests

          I made changes to the cmake environment so that cmake can build the compiler, static libraries and unit tests on Windows. In my testing I found that the shared thrift library build is not exporting any symbols so no IMPLIB is being generated (that would be thrift.lib or thriftd.lib), so none of the unit tests would link, nor would thriftz.

          Here's the command I used to generate the environment:

          mkdir thrift-build
          cd thrift-build
          "C:\Program Files (x86)\CMake\bin\cmake.exe" ..\thrift -G"NMake Makefiles" -DWITH_SHARED_LIB=OFF -DWITH_BOOSTTHREADS=ON -DBOOST_ROOT=C:\Boost -DZLIB_ROOT=C:\win3p\tools\x64\zlib-1.2.5 -DOPENSSL_ROOT_DIR=C:\win3p\tools\x64\openssl-1.0.1b -DFLEX_EXECUTABLE=C:\Users\Jim\workspace\winflexbison\win_flex.exe -DBISON_EXECUTABLE=C:\Users\Jim\workspace\winflexbison\win_bison.exe

          You can also use -G"Visual Studio 10 Win64" to get a thrift.sln file that you can use to load visual studio, this example is for Visual Studio 2010. Visual Studio 2013 would be -G"Visual Studio 12 Win64".

          I was not able to get the nonblocking server to build because libevent requires autoconf to generate a "event-config.h", and the libevent nmake project does not produce one of these, so I could not compile the non-blocking server; further the libevent header "event.h" conflicts with the Windows Platform SDK header Event.h, so FindLibevent.cmake always finds the Platform SDK as an include directory, so I did not attempt to get it working right now.

          Tested this on Windows and on Ubuntu 12.04 using CMake-3.2.2.

          When running the tests on Windows you need to put the library paths into your PATH environment for boost, openssl so that they can be found. The CMake environment does not copy required libraries into the "bin" directory at this time.

          You can merge this pull request into a Git repository by running:

          $ git pull https://github.com/jeking3/thrift feature/cmake-win-cpp-library-build

          Alternatively you can review and apply these changes as the patch at:

          https://github.com/apache/thrift/pull/456.patch

          To close this pull request, make a commit to your master/trunk branch
          with (at least) the following in the commit message:

          This closes #456


          commit 4f27ece54ef90358ea2efe529786196c92d1a493
          Author: Jim King <jim.king@simplivity.com>
          Date: 2015-04-21T15:39:08Z

          cmake changes for windows to build through unit tests, WITH_STATIC_LIBS only, and resolve some compiler warnings

          commit 63f9fd1ed4dd18cf531f0015750cca1773603583
          Author: Jim King <jim.king@simplivity.com>
          Date: 2015-04-21T16:00:02Z

          fix cmake changes from windows on linux

          commit 3027c3e674575d2072dc01ebaece37855dec135a
          Author: Jim King <jim.king@simplivity.com>
          Date: 2015-04-21T16:24:40Z

          put unicode definitions back where they were

          commit ea41263f5d2e9deaecb5d933ea1996704cb42d79
          Author: Jim King <jim.king@simplivity.com>
          Date: 2015-04-21T16:25:41Z

          Merge branch 'master' into feature/cmake-win-cpp-library-build

          commit ac894b9d5d822834fd019fd0c9d7eaa16fcd97da
          Author: Jim King <jim.king@simplivity.com>
          Date: 2015-04-21T20:48:29Z

          fix cmake windows debug unit test environment

          commit 82bb8d73c1bda126ca570615de9951a09ad8277e
          Author: Jim King <jim.king@simplivity.com>
          Date: 2015-04-22T04:29:15Z

          on windows, disable much of the TFDTransport test due to MSVCRT assertions


          Show
          githubbot ASF GitHub Bot added a comment - GitHub user jeking3 reopened a pull request: https://github.com/apache/thrift/pull/456 THRIFT-2850 cmake win cpp library and unit tests I made changes to the cmake environment so that cmake can build the compiler, static libraries and unit tests on Windows. In my testing I found that the shared thrift library build is not exporting any symbols so no IMPLIB is being generated (that would be thrift.lib or thriftd.lib), so none of the unit tests would link, nor would thriftz. Here's the command I used to generate the environment: mkdir thrift-build cd thrift-build "C:\Program Files (x86)\CMake\bin\cmake.exe" ..\thrift -G"NMake Makefiles" -DWITH_SHARED_LIB=OFF -DWITH_BOOSTTHREADS=ON -DBOOST_ROOT=C:\Boost -DZLIB_ROOT=C:\win3p\tools\x64\zlib-1.2.5 -DOPENSSL_ROOT_DIR=C:\win3p\tools\x64\openssl-1.0.1b -DFLEX_EXECUTABLE=C:\Users\Jim\workspace\winflexbison\win_flex.exe -DBISON_EXECUTABLE=C:\Users\Jim\workspace\winflexbison\win_bison.exe You can also use -G"Visual Studio 10 Win64" to get a thrift.sln file that you can use to load visual studio, this example is for Visual Studio 2010. Visual Studio 2013 would be -G"Visual Studio 12 Win64". I was not able to get the nonblocking server to build because libevent requires autoconf to generate a "event-config.h", and the libevent nmake project does not produce one of these, so I could not compile the non-blocking server; further the libevent header "event.h" conflicts with the Windows Platform SDK header Event.h, so FindLibevent.cmake always finds the Platform SDK as an include directory, so I did not attempt to get it working right now. Tested this on Windows and on Ubuntu 12.04 using CMake-3.2.2. When running the tests on Windows you need to put the library paths into your PATH environment for boost, openssl so that they can be found. The CMake environment does not copy required libraries into the "bin" directory at this time. You can merge this pull request into a Git repository by running: $ git pull https://github.com/jeking3/thrift feature/cmake-win-cpp-library-build Alternatively you can review and apply these changes as the patch at: https://github.com/apache/thrift/pull/456.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #456 commit 4f27ece54ef90358ea2efe529786196c92d1a493 Author: Jim King <jim.king@simplivity.com> Date: 2015-04-21T15:39:08Z cmake changes for windows to build through unit tests, WITH_STATIC_LIBS only, and resolve some compiler warnings commit 63f9fd1ed4dd18cf531f0015750cca1773603583 Author: Jim King <jim.king@simplivity.com> Date: 2015-04-21T16:00:02Z fix cmake changes from windows on linux commit 3027c3e674575d2072dc01ebaece37855dec135a Author: Jim King <jim.king@simplivity.com> Date: 2015-04-21T16:24:40Z put unicode definitions back where they were commit ea41263f5d2e9deaecb5d933ea1996704cb42d79 Author: Jim King <jim.king@simplivity.com> Date: 2015-04-21T16:25:41Z Merge branch 'master' into feature/cmake-win-cpp-library-build commit ac894b9d5d822834fd019fd0c9d7eaa16fcd97da Author: Jim King <jim.king@simplivity.com> Date: 2015-04-21T20:48:29Z fix cmake windows debug unit test environment commit 82bb8d73c1bda126ca570615de9951a09ad8277e Author: Jim King <jim.king@simplivity.com> Date: 2015-04-22T04:29:15Z on windows, disable much of the TFDTransport test due to MSVCRT assertions
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user jeking3 commented on the pull request:

          https://github.com/apache/thrift/pull/456#issuecomment-95120411

          csharp build failed and I believe it is unrelated, recycling pull request to rebuild

          Show
          githubbot ASF GitHub Bot added a comment - Github user jeking3 commented on the pull request: https://github.com/apache/thrift/pull/456#issuecomment-95120411 csharp build failed and I believe it is unrelated, recycling pull request to rebuild
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user jeking3 closed the pull request at:

          https://github.com/apache/thrift/pull/456

          Show
          githubbot ASF GitHub Bot added a comment - Github user jeking3 closed the pull request at: https://github.com/apache/thrift/pull/456
          Hide
          githubbot ASF GitHub Bot added a comment -

          GitHub user jeking3 reopened a pull request:

          https://github.com/apache/thrift/pull/456

          THRIFT-2850 cmake win cpp library and unit tests

          I made changes to the cmake environment so that cmake can build the compiler, static libraries and unit tests on Windows. In my testing I found that the shared thrift library build is not exporting any symbols so no IMPLIB is being generated (that would be thrift.lib or thriftd.lib), so none of the unit tests would link, nor would thriftz.

          Here's the command I used to generate the environment:

          mkdir thrift-build
          cd thrift-build
          "C:\Program Files (x86)\CMake\bin\cmake.exe" ..\thrift -G"NMake Makefiles" -DWITH_SHARED_LIB=OFF -DWITH_BOOSTTHREADS=ON -DBOOST_ROOT=C:\Boost -DZLIB_ROOT=C:\win3p\tools\x64\zlib-1.2.5 -DOPENSSL_ROOT_DIR=C:\win3p\tools\x64\openssl-1.0.1b -DFLEX_EXECUTABLE=C:\Users\Jim\workspace\winflexbison\win_flex.exe -DBISON_EXECUTABLE=C:\Users\Jim\workspace\winflexbison\win_bison.exe

          You can also use -G"Visual Studio 10 Win64" to get a thrift.sln file that you can use to load visual studio, this example is for Visual Studio 2010. Visual Studio 2013 would be -G"Visual Studio 12 Win64".

          I was not able to get the nonblocking server to build because libevent requires autoconf to generate a "event-config.h", and the libevent nmake project does not produce one of these, so I could not compile the non-blocking server; further the libevent header "event.h" conflicts with the Windows Platform SDK header Event.h, so FindLibevent.cmake always finds the Platform SDK as an include directory, so I did not attempt to get it working right now.

          Tested this on Windows and on Ubuntu 12.04 using CMake-3.2.2.

          When running the tests on Windows you need to put the library paths into your PATH environment for boost, openssl so that they can be found. The CMake environment does not copy required libraries into the "bin" directory at this time.

          You can merge this pull request into a Git repository by running:

          $ git pull https://github.com/jeking3/thrift feature/cmake-win-cpp-library-build

          Alternatively you can review and apply these changes as the patch at:

          https://github.com/apache/thrift/pull/456.patch

          To close this pull request, make a commit to your master/trunk branch
          with (at least) the following in the commit message:

          This closes #456


          commit 4f27ece54ef90358ea2efe529786196c92d1a493
          Author: Jim King <jim.king@simplivity.com>
          Date: 2015-04-21T15:39:08Z

          cmake changes for windows to build through unit tests, WITH_STATIC_LIBS only, and resolve some compiler warnings

          commit 63f9fd1ed4dd18cf531f0015750cca1773603583
          Author: Jim King <jim.king@simplivity.com>
          Date: 2015-04-21T16:00:02Z

          fix cmake changes from windows on linux

          commit 3027c3e674575d2072dc01ebaece37855dec135a
          Author: Jim King <jim.king@simplivity.com>
          Date: 2015-04-21T16:24:40Z

          put unicode definitions back where they were

          commit ea41263f5d2e9deaecb5d933ea1996704cb42d79
          Author: Jim King <jim.king@simplivity.com>
          Date: 2015-04-21T16:25:41Z

          Merge branch 'master' into feature/cmake-win-cpp-library-build

          commit ac894b9d5d822834fd019fd0c9d7eaa16fcd97da
          Author: Jim King <jim.king@simplivity.com>
          Date: 2015-04-21T20:48:29Z

          fix cmake windows debug unit test environment

          commit 82bb8d73c1bda126ca570615de9951a09ad8277e
          Author: Jim King <jim.king@simplivity.com>
          Date: 2015-04-22T04:29:15Z

          on windows, disable much of the TFDTransport test due to MSVCRT assertions


          Show
          githubbot ASF GitHub Bot added a comment - GitHub user jeking3 reopened a pull request: https://github.com/apache/thrift/pull/456 THRIFT-2850 cmake win cpp library and unit tests I made changes to the cmake environment so that cmake can build the compiler, static libraries and unit tests on Windows. In my testing I found that the shared thrift library build is not exporting any symbols so no IMPLIB is being generated (that would be thrift.lib or thriftd.lib), so none of the unit tests would link, nor would thriftz. Here's the command I used to generate the environment: mkdir thrift-build cd thrift-build "C:\Program Files (x86)\CMake\bin\cmake.exe" ..\thrift -G"NMake Makefiles" -DWITH_SHARED_LIB=OFF -DWITH_BOOSTTHREADS=ON -DBOOST_ROOT=C:\Boost -DZLIB_ROOT=C:\win3p\tools\x64\zlib-1.2.5 -DOPENSSL_ROOT_DIR=C:\win3p\tools\x64\openssl-1.0.1b -DFLEX_EXECUTABLE=C:\Users\Jim\workspace\winflexbison\win_flex.exe -DBISON_EXECUTABLE=C:\Users\Jim\workspace\winflexbison\win_bison.exe You can also use -G"Visual Studio 10 Win64" to get a thrift.sln file that you can use to load visual studio, this example is for Visual Studio 2010. Visual Studio 2013 would be -G"Visual Studio 12 Win64". I was not able to get the nonblocking server to build because libevent requires autoconf to generate a "event-config.h", and the libevent nmake project does not produce one of these, so I could not compile the non-blocking server; further the libevent header "event.h" conflicts with the Windows Platform SDK header Event.h, so FindLibevent.cmake always finds the Platform SDK as an include directory, so I did not attempt to get it working right now. Tested this on Windows and on Ubuntu 12.04 using CMake-3.2.2. When running the tests on Windows you need to put the library paths into your PATH environment for boost, openssl so that they can be found. The CMake environment does not copy required libraries into the "bin" directory at this time. You can merge this pull request into a Git repository by running: $ git pull https://github.com/jeking3/thrift feature/cmake-win-cpp-library-build Alternatively you can review and apply these changes as the patch at: https://github.com/apache/thrift/pull/456.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #456 commit 4f27ece54ef90358ea2efe529786196c92d1a493 Author: Jim King <jim.king@simplivity.com> Date: 2015-04-21T15:39:08Z cmake changes for windows to build through unit tests, WITH_STATIC_LIBS only, and resolve some compiler warnings commit 63f9fd1ed4dd18cf531f0015750cca1773603583 Author: Jim King <jim.king@simplivity.com> Date: 2015-04-21T16:00:02Z fix cmake changes from windows on linux commit 3027c3e674575d2072dc01ebaece37855dec135a Author: Jim King <jim.king@simplivity.com> Date: 2015-04-21T16:24:40Z put unicode definitions back where they were commit ea41263f5d2e9deaecb5d933ea1996704cb42d79 Author: Jim King <jim.king@simplivity.com> Date: 2015-04-21T16:25:41Z Merge branch 'master' into feature/cmake-win-cpp-library-build commit ac894b9d5d822834fd019fd0c9d7eaa16fcd97da Author: Jim King <jim.king@simplivity.com> Date: 2015-04-21T20:48:29Z fix cmake windows debug unit test environment commit 82bb8d73c1bda126ca570615de9951a09ad8277e Author: Jim King <jim.king@simplivity.com> Date: 2015-04-22T04:29:15Z on windows, disable much of the TFDTransport test due to MSVCRT assertions
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user jeking3 commented on the pull request:

          https://github.com/apache/thrift/pull/456#issuecomment-95180226

          Need help - all of the "make cross" csharp tests appear to be failing in Travis CI but I do not believe the changes I made would have impacted them at all (this pull request contains CMake and trivial C++ changes). Are any build artifacts stored from Travis, for example the log files of each make cross child?

          Show
          githubbot ASF GitHub Bot added a comment - Github user jeking3 commented on the pull request: https://github.com/apache/thrift/pull/456#issuecomment-95180226 Need help - all of the "make cross" csharp tests appear to be failing in Travis CI but I do not believe the changes I made would have impacted them at all (this pull request contains CMake and trivial C++ changes). Are any build artifacts stored from Travis, for example the log files of each make cross child?
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user nsuke commented on the pull request:

          https://github.com/apache/thrift/pull/456#issuecomment-95649911

          It seems that the failure is introduced by THRIFT-3000 https://travis-ci.org/apache/thrift/builds/58981770.

          Unfortunately, there are no way (that I known of) to retrieve cross test failure log from Travis.
          Adding an `after_failure` entry to `cat` the `unexpected_failures.log` should do, though.

          Show
          githubbot ASF GitHub Bot added a comment - Github user nsuke commented on the pull request: https://github.com/apache/thrift/pull/456#issuecomment-95649911 It seems that the failure is introduced by THRIFT-3000 https://travis-ci.org/apache/thrift/builds/58981770 . Unfortunately, there are no way (that I known of) to retrieve cross test failure log from Travis. Adding an `after_failure` entry to `cat` the `unexpected_failures.log` should do, though.
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user henrique commented on a diff in the pull request:

          https://github.com/apache/thrift/pull/456#discussion_r29022002

          — Diff: lib/cpp/src/thrift/transport/TSSLSocket.cpp —
          @@ -576,12 +576,12 @@ int TSSLSocketFactory::passwordCallback(char* password, int size, int, void* dat
          TSSLSocketFactory* factory = (TSSLSocketFactory*)data;
          string userPassword;
          factory->getPassword(userPassword, size);

          • int length = userPassword.size();
            + std::string::size_type length = userPassword.size();
            if (length > size) {
              • End diff –

          Don't you get a signed vs unsigned warning here?

          Show
          githubbot ASF GitHub Bot added a comment - Github user henrique commented on a diff in the pull request: https://github.com/apache/thrift/pull/456#discussion_r29022002 — Diff: lib/cpp/src/thrift/transport/TSSLSocket.cpp — @@ -576,12 +576,12 @@ int TSSLSocketFactory::passwordCallback(char* password, int size, int, void* dat TSSLSocketFactory* factory = (TSSLSocketFactory*)data; string userPassword; factory->getPassword(userPassword, size); int length = userPassword.size(); + std::string::size_type length = userPassword.size(); if (length > size) { End diff – Don't you get a signed vs unsigned warning here?
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user jeking3 commented on a diff in the pull request:

          https://github.com/apache/thrift/pull/456#discussion_r29022096

          — Diff: lib/cpp/src/thrift/transport/TSSLSocket.cpp —
          @@ -576,12 +576,12 @@ int TSSLSocketFactory::passwordCallback(char* password, int size, int, void* dat
          TSSLSocketFactory* factory = (TSSLSocketFactory*)data;
          string userPassword;
          factory->getPassword(userPassword, size);

          • int length = userPassword.size();
            + std::string::size_type length = userPassword.size();
            if (length > size) {
              • End diff –

          std::string::size_time is the same as the return value of std::string::size(), which is potentially different than "int" (on Windows this was a compiler warning), which is why I changed it to quiet the warnings. It is more correct now.

          Show
          githubbot ASF GitHub Bot added a comment - Github user jeking3 commented on a diff in the pull request: https://github.com/apache/thrift/pull/456#discussion_r29022096 — Diff: lib/cpp/src/thrift/transport/TSSLSocket.cpp — @@ -576,12 +576,12 @@ int TSSLSocketFactory::passwordCallback(char* password, int size, int, void* dat TSSLSocketFactory* factory = (TSSLSocketFactory*)data; string userPassword; factory->getPassword(userPassword, size); int length = userPassword.size(); + std::string::size_type length = userPassword.size(); if (length > size) { End diff – std::string::size_time is the same as the return value of std::string::size(), which is potentially different than "int" (on Windows this was a compiler warning), which is why I changed it to quiet the warnings. It is more correct now.
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user nsuke commented on a diff in the pull request:

          https://github.com/apache/thrift/pull/456#discussion_r29066107

          — Diff: lib/cpp/src/thrift/transport/TSSLSocket.cpp —
          @@ -319,7 +319,7 @@ void TSSLSocket::checkHandshake()

          { return; }

          ssl_ = ctx_->createSSL();

          • SSL_set_fd(ssl_, socket_);
            + SSL_set_fd(ssl_, (int)socket_);
              • End diff –

          Maybe `static_cast` (and the other a few places) ?

          Show
          githubbot ASF GitHub Bot added a comment - Github user nsuke commented on a diff in the pull request: https://github.com/apache/thrift/pull/456#discussion_r29066107 — Diff: lib/cpp/src/thrift/transport/TSSLSocket.cpp — @@ -319,7 +319,7 @@ void TSSLSocket::checkHandshake() { return; } ssl_ = ctx_->createSSL(); SSL_set_fd(ssl_, socket_); + SSL_set_fd(ssl_, (int)socket_); End diff – Maybe `static_cast` (and the other a few places) ?
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user jeking3 commented on a diff in the pull request:

          https://github.com/apache/thrift/pull/456#discussion_r29076042

          — Diff: lib/cpp/src/thrift/transport/TSSLSocket.cpp —
          @@ -319,7 +319,7 @@ void TSSLSocket::checkHandshake()

          { return; }

          ssl_ = ctx_->createSSL();

          • SSL_set_fd(ssl_, socket_);
            + SSL_set_fd(ssl_, (int)socket_);
              • End diff –

          That's reasonable; the other signedness cases these changes created should also be cleaned up elsewhere. Thank you for reviewing!

          Show
          githubbot ASF GitHub Bot added a comment - Github user jeking3 commented on a diff in the pull request: https://github.com/apache/thrift/pull/456#discussion_r29076042 — Diff: lib/cpp/src/thrift/transport/TSSLSocket.cpp — @@ -319,7 +319,7 @@ void TSSLSocket::checkHandshake() { return; } ssl_ = ctx_->createSSL(); SSL_set_fd(ssl_, socket_); + SSL_set_fd(ssl_, (int)socket_); End diff – That's reasonable; the other signedness cases these changes created should also be cleaned up elsewhere. Thank you for reviewing!
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user jeking3 closed the pull request at:

          https://github.com/apache/thrift/pull/456

          Show
          githubbot ASF GitHub Bot added a comment - Github user jeking3 closed the pull request at: https://github.com/apache/thrift/pull/456
          Hide
          githubbot ASF GitHub Bot added a comment -

          GitHub user jeking3 opened a pull request:

          https://github.com/apache/thrift/pull/474

          THRIFT-2850 get windows cmake working again and building the unit tests

          I made changes to the cmake environment so that cmake can build the compiler, static libraries and unit tests on Windows. In my testing I found that the shared thrift library build is not exporting any symbols so no IMPLIB is being generated (that would be thrift.lib or thriftd.lib), so none of the unit tests would link, nor would thriftz.

          Here's the command I used to generate the environment:

          mkdir thrift-build
          cd thrift-build
          "C:\Program Files (x86)\CMake\bin\cmake.exe" ..\thrift -G"NMake Makefiles" -DCMAKE_BUILD_TYPE=RelWithDebInfo -DWITH_SHARED_LIB=OFF -DWITH_STATIC_LIB=ON -DWITH_BOOSTTHREADS=ON -DBOOST_ROOT=C:\Boost -DZLIB_ROOT=C:\win3p\tools\x64\zlib-1.2.5 -DOPENSSL_ROOT_DIR=C:\win3p\tools\x64\openssl-1.0.1b -DFLEX_EXECUTABLE=C:\Users\Jim\workspace\winflexbison\win_flex.exe -DBISON_EXECUTABLE=C:\Users\Jim\workspace\winflexbison\win_bison.exe

          You can also use -G"Visual Studio 10 Win64" to get a thrift.sln file that you can use to load visual studio, this example is for Visual Studio 2010. Visual Studio 2013 would be -G"Visual Studio 12 Win64".

          I was not able to get the nonblocking server to build because libevent requires autoconf to generate a "event-config.h", and the libevent nmake project does not produce one of these, so I could not compile the non-blocking server; further the libevent header "event.h" conflicts with the Windows Platform SDK header Event.h, so FindLibevent.cmake always finds the Platform SDK as an include directory, so I did not attempt to get it working right now.

          Tested this on Windows and on Ubuntu 12.04 using CMake-3.2.2.

          When running the tests on Windows you need to put the library paths into your PATH environment for boost, openssl so that they can be found. The CMake environment does not copy required libraries into the "bin" directory at this time.

          You can merge this pull request into a Git repository by running:

          $ git pull https://github.com/jeking3/thrift bugfix/THRIFT-2850wincmake-on-master-afterTHRIFT-3084

          Alternatively you can review and apply these changes as the patch at:

          https://github.com/apache/thrift/pull/474.patch

          To close this pull request, make a commit to your master/trunk branch
          with (at least) the following in the commit message:

          This closes #474


          commit cd03e580855d4b37bbb97b79f398ff81b3804ee9
          Author: Jim King <jim.king@simplivity.com>
          Date: 2015-04-30T20:03:34Z

          THRIFT-2850 get windows cmake working again and building the unit tests for lib/cpp, and pass make check through cmake - also resolve some compiler warnings


          Show
          githubbot ASF GitHub Bot added a comment - GitHub user jeking3 opened a pull request: https://github.com/apache/thrift/pull/474 THRIFT-2850 get windows cmake working again and building the unit tests I made changes to the cmake environment so that cmake can build the compiler, static libraries and unit tests on Windows. In my testing I found that the shared thrift library build is not exporting any symbols so no IMPLIB is being generated (that would be thrift.lib or thriftd.lib), so none of the unit tests would link, nor would thriftz. Here's the command I used to generate the environment: mkdir thrift-build cd thrift-build "C:\Program Files (x86)\CMake\bin\cmake.exe" ..\thrift -G"NMake Makefiles" -DCMAKE_BUILD_TYPE=RelWithDebInfo -DWITH_SHARED_LIB=OFF -DWITH_STATIC_LIB=ON -DWITH_BOOSTTHREADS=ON -DBOOST_ROOT=C:\Boost -DZLIB_ROOT=C:\win3p\tools\x64\zlib-1.2.5 -DOPENSSL_ROOT_DIR=C:\win3p\tools\x64\openssl-1.0.1b -DFLEX_EXECUTABLE=C:\Users\Jim\workspace\winflexbison\win_flex.exe -DBISON_EXECUTABLE=C:\Users\Jim\workspace\winflexbison\win_bison.exe You can also use -G"Visual Studio 10 Win64" to get a thrift.sln file that you can use to load visual studio, this example is for Visual Studio 2010. Visual Studio 2013 would be -G"Visual Studio 12 Win64". I was not able to get the nonblocking server to build because libevent requires autoconf to generate a "event-config.h", and the libevent nmake project does not produce one of these, so I could not compile the non-blocking server; further the libevent header "event.h" conflicts with the Windows Platform SDK header Event.h, so FindLibevent.cmake always finds the Platform SDK as an include directory, so I did not attempt to get it working right now. Tested this on Windows and on Ubuntu 12.04 using CMake-3.2.2. When running the tests on Windows you need to put the library paths into your PATH environment for boost, openssl so that they can be found. The CMake environment does not copy required libraries into the "bin" directory at this time. You can merge this pull request into a Git repository by running: $ git pull https://github.com/jeking3/thrift bugfix/ THRIFT-2850 wincmake-on-master-after THRIFT-3084 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/thrift/pull/474.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #474 commit cd03e580855d4b37bbb97b79f398ff81b3804ee9 Author: Jim King <jim.king@simplivity.com> Date: 2015-04-30T20:03:34Z THRIFT-2850 get windows cmake working again and building the unit tests for lib/cpp, and pass make check through cmake - also resolve some compiler warnings
          Hide
          hudson Hudson added a comment -

          SUCCESS: Integrated in Thrift #1528 (See https://builds.apache.org/job/Thrift/1528/)
          THRIFT-2850 get windows cmake working again and building the unit tests for lib/cpp, and pass make check through cmake - also resolve some compiler warnings (roger: rev 9de9b1f1be7b343e8493560b6eb540a948303f6f)

          • lib/cpp/test/Benchmark.cpp
          • build/cmake/ConfigureChecks.cmake
          • lib/cpp/test/TFDTransportTest.cpp
          • build/cmake/ThriftMacros.cmake
          • compiler/cpp/src/generate/t_hs_generator.cc
          • compiler/cpp/src/generate/t_go_generator.cc
          • CMakeLists.txt
          • build/cmake/DefinePlatformSpecifc.cmake
          • lib/cpp/test/CMakeLists.txt
          • lib/cpp/CMakeLists.txt
          • compiler/cpp/src/generate/t_html_generator.cc
          • lib/cpp/test/ZlibTest.cpp
          • compiler/cpp/src/main.cc
          • lib/cpp/src/thrift/transport/TSSLSocket.cpp
          • compiler/cpp/src/generate/t_delphi_generator.cc
          • lib/cpp/src/thrift/concurrency/Mutex.h
          • compiler/cpp/src/parse/t_program.h
          • build/cmake/DefineOptions.cmake
          • lib/cpp/test/OpenSSLManualInitTest.cpp
          • compiler/cpp/src/generate/t_py_generator.cc
          Show
          hudson Hudson added a comment - SUCCESS: Integrated in Thrift #1528 (See https://builds.apache.org/job/Thrift/1528/ ) THRIFT-2850 get windows cmake working again and building the unit tests for lib/cpp, and pass make check through cmake - also resolve some compiler warnings (roger: rev 9de9b1f1be7b343e8493560b6eb540a948303f6f) lib/cpp/test/Benchmark.cpp build/cmake/ConfigureChecks.cmake lib/cpp/test/TFDTransportTest.cpp build/cmake/ThriftMacros.cmake compiler/cpp/src/generate/t_hs_generator.cc compiler/cpp/src/generate/t_go_generator.cc CMakeLists.txt build/cmake/DefinePlatformSpecifc.cmake lib/cpp/test/CMakeLists.txt lib/cpp/CMakeLists.txt compiler/cpp/src/generate/t_html_generator.cc lib/cpp/test/ZlibTest.cpp compiler/cpp/src/main.cc lib/cpp/src/thrift/transport/TSSLSocket.cpp compiler/cpp/src/generate/t_delphi_generator.cc lib/cpp/src/thrift/concurrency/Mutex.h compiler/cpp/src/parse/t_program.h build/cmake/DefineOptions.cmake lib/cpp/test/OpenSSLManualInitTest.cpp compiler/cpp/src/generate/t_py_generator.cc
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user jeking3 commented on the pull request:

          https://github.com/apache/thrift/pull/474#issuecomment-99566301

          Closing as it was merged into external repo.

          Show
          githubbot ASF GitHub Bot added a comment - Github user jeking3 commented on the pull request: https://github.com/apache/thrift/pull/474#issuecomment-99566301 Closing as it was merged into external repo.
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user jeking3 closed the pull request at:

          https://github.com/apache/thrift/pull/474

          Show
          githubbot ASF GitHub Bot added a comment - Github user jeking3 closed the pull request at: https://github.com/apache/thrift/pull/474
          Hide
          githubbot ASF GitHub Bot added a comment -

          GitHub user bufferoverflow opened a pull request:

          https://github.com/apache/thrift/pull/494

          THRIFT-2850 CMake: improve Windows support

          use YY_NO_UNISTD_H and remove --wincompat

          Signed-off-by: Roger Meier <roger@apache.org>

          You can merge this pull request into a Git repository by running:

          $ git pull https://github.com/bufferoverflow/thrift THRIFT-2850

          Alternatively you can review and apply these changes as the patch at:

          https://github.com/apache/thrift/pull/494.patch

          To close this pull request, make a commit to your master/trunk branch
          with (at least) the following in the commit message:

          This closes #494


          commit 847ccf8b378eeea2e03682d93cb063293af0c7e3
          Author: Roger Meier <roger@apache.org>
          Date: 2015-05-15T10:01:38Z

          THRIFT-2850 CMake: improve Windows support

          use YY_NO_UNISTD_H and remove --wincompat

          Signed-off-by: Roger Meier <roger@apache.org>


          Show
          githubbot ASF GitHub Bot added a comment - GitHub user bufferoverflow opened a pull request: https://github.com/apache/thrift/pull/494 THRIFT-2850 CMake: improve Windows support use YY_NO_UNISTD_H and remove --wincompat Signed-off-by: Roger Meier <roger@apache.org> You can merge this pull request into a Git repository by running: $ git pull https://github.com/bufferoverflow/thrift THRIFT-2850 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/thrift/pull/494.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #494 commit 847ccf8b378eeea2e03682d93cb063293af0c7e3 Author: Roger Meier <roger@apache.org> Date: 2015-05-15T10:01:38Z THRIFT-2850 CMake: improve Windows support use YY_NO_UNISTD_H and remove --wincompat Signed-off-by: Roger Meier <roger@apache.org>
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user bufferoverflow commented on the pull request:

          https://github.com/apache/thrift/pull/494#issuecomment-102401826

          committed

          Show
          githubbot ASF GitHub Bot added a comment - Github user bufferoverflow commented on the pull request: https://github.com/apache/thrift/pull/494#issuecomment-102401826 committed
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user bufferoverflow closed the pull request at:

          https://github.com/apache/thrift/pull/494

          Show
          githubbot ASF GitHub Bot added a comment - Github user bufferoverflow closed the pull request at: https://github.com/apache/thrift/pull/494
          Hide
          hudson Hudson added a comment -

          SUCCESS: Integrated in Thrift #1548 (See https://builds.apache.org/job/Thrift/1548/)
          THRIFT-2850 CMake: improve Windows support (roger: rev 86fded21b55573bb9240552a284f1f3d7255bd32)

          • build/cmake/DefinePlatformSpecifc.cmake
          • compiler/cpp/README.md
          • compiler/cpp/src/thriftl.ll
          • compiler/cpp/CMakeLists.txt
            THRIFT-2850 CMake: Windows improvements, doc, TMemoryBufferTest fix (roger: rev a6b66332599f45dbfd7eb75d1bd001661b6cace4)
          • build/cmake/README.md
          • lib/cpp/test/CMakeLists.txt
          • build/cmake/DefinePlatformSpecifc.cmake
          • lib/cpp/test/TMemoryBufferTest.cpp
          Show
          hudson Hudson added a comment - SUCCESS: Integrated in Thrift #1548 (See https://builds.apache.org/job/Thrift/1548/ ) THRIFT-2850 CMake: improve Windows support (roger: rev 86fded21b55573bb9240552a284f1f3d7255bd32) build/cmake/DefinePlatformSpecifc.cmake compiler/cpp/README.md compiler/cpp/src/thriftl.ll compiler/cpp/CMakeLists.txt THRIFT-2850 CMake: Windows improvements, doc, TMemoryBufferTest fix (roger: rev a6b66332599f45dbfd7eb75d1bd001661b6cace4) build/cmake/README.md lib/cpp/test/CMakeLists.txt build/cmake/DefinePlatformSpecifc.cmake lib/cpp/test/TMemoryBufferTest.cpp
          Hide
          hudson Hudson added a comment -

          SUCCESS: Integrated in Thrift #1553 (See https://builds.apache.org/job/Thrift/1553/)
          THRIFT-2850 CMake: mingw32-toolchain, set static linker flags (roger: rev e46ec45b38f2ba9062f9bcf1709708f8bdab1809)

          • build/cmake/mingw32-toolchain.cmake
          Show
          hudson Hudson added a comment - SUCCESS: Integrated in Thrift #1553 (See https://builds.apache.org/job/Thrift/1553/ ) THRIFT-2850 CMake: mingw32-toolchain, set static linker flags (roger: rev e46ec45b38f2ba9062f9bcf1709708f8bdab1809) build/cmake/mingw32-toolchain.cmake
          Hide
          roger.meier Roger Meier added a comment -

          Change project name to "Apache Thrift" and add test/py

          Show
          roger.meier Roger Meier added a comment - Change project name to "Apache Thrift" and add test/py
          Hide
          hudson Hudson added a comment -

          SUCCESS: Integrated in Thrift #1569 (See https://builds.apache.org/job/Thrift/1569/)
          THRIFT-2850 CMake for Apache Thrift (roger: rev 211b82de11c3c5bb83f669a95373b3ea6601d666)

          • CMakeLists.txt
          Show
          hudson Hudson added a comment - SUCCESS: Integrated in Thrift #1569 (See https://builds.apache.org/job/Thrift/1569/ ) THRIFT-2850 CMake for Apache Thrift (roger: rev 211b82de11c3c5bb83f669a95373b3ea6601d666) CMakeLists.txt
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user ben-craig closed the pull request at:

          https://github.com/apache/thrift/pull/534

          Show
          githubbot ASF GitHub Bot added a comment - Github user ben-craig closed the pull request at: https://github.com/apache/thrift/pull/534
          Hide
          githubbot ASF GitHub Bot added a comment -

          GitHub user ben-craig reopened a pull request:

          https://github.com/apache/thrift/pull/534

          THRIFT-2850: Fix some Windows CMake issues

          Some issues that are fixed here:

          • Removed some files from the build that do nothing except for cause warnings on Windows (VirtualProfiling.cpp and Server.cpp)
          • Fix includes for latest version of libevent. Allegedly the entry points that libthriftnb use are deprecated, and require extra header includes.
          • Fully qualifying apache::thrift::concurrency, because MSVC does funky things with an unadorned concurrency namespace.
          • Added missing dependency include paths to test binaries
          • Ensured that tests are built against the proper static / shared versions of Thrift.

          You can merge this pull request into a Git repository by running:

          $ git pull https://github.com/ben-craig/thrift THRIFT-2850

          Alternatively you can review and apply these changes as the patch at:

          https://github.com/apache/thrift/pull/534.patch

          To close this pull request, make a commit to your master/trunk branch
          with (at least) the following in the commit message:

          This closes #534


          commit 96c84cb0090ceab39f3c1992e5935feb8d7feed3
          Author: Ben Craig <bencraig@apache.org>
          Date: 2015-06-28T01:32:56Z

          Fixing core lib building issues with libevent and msvc concurrency
          namespace.

          commit 78e964b4f9a79ce972a7b171043d0db83846a3aa
          Author: Ben Craig <bencraig@apache.org>
          Date: 2015-06-30T00:42:44Z

          Making tests build

          commit 347fd09fc0de9dd9bee17ee9bff966a21db1a1cb
          Author: Ben Craig <bencraig@apache.org>
          Date: 2015-06-30T00:57:24Z

          Merge c:/src/thrift into THRIFT-2850

          commit 873af4328bfdb2e004c1e729af91217554347f09
          Author: Ben Craig <bencraig@apache.org>
          Date: 2015-06-30T01:13:12Z

          Cleaning up comments

          commit 8594253824d01ef961291ee20fdb251658a6f50b
          Author: Ben Craig <bencraig@apache.org>
          Date: 2015-06-30T01:13:27Z

          Merge c:/src/thrift into THRIFT-2850


          Show
          githubbot ASF GitHub Bot added a comment - GitHub user ben-craig reopened a pull request: https://github.com/apache/thrift/pull/534 THRIFT-2850 : Fix some Windows CMake issues Some issues that are fixed here: Removed some files from the build that do nothing except for cause warnings on Windows (VirtualProfiling.cpp and Server.cpp) Fix includes for latest version of libevent. Allegedly the entry points that libthriftnb use are deprecated, and require extra header includes. Fully qualifying apache::thrift::concurrency, because MSVC does funky things with an unadorned concurrency namespace. Added missing dependency include paths to test binaries Ensured that tests are built against the proper static / shared versions of Thrift. You can merge this pull request into a Git repository by running: $ git pull https://github.com/ben-craig/thrift THRIFT-2850 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/thrift/pull/534.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #534 commit 96c84cb0090ceab39f3c1992e5935feb8d7feed3 Author: Ben Craig <bencraig@apache.org> Date: 2015-06-28T01:32:56Z Fixing core lib building issues with libevent and msvc concurrency namespace. commit 78e964b4f9a79ce972a7b171043d0db83846a3aa Author: Ben Craig <bencraig@apache.org> Date: 2015-06-30T00:42:44Z Making tests build commit 347fd09fc0de9dd9bee17ee9bff966a21db1a1cb Author: Ben Craig <bencraig@apache.org> Date: 2015-06-30T00:57:24Z Merge c:/src/thrift into THRIFT-2850 commit 873af4328bfdb2e004c1e729af91217554347f09 Author: Ben Craig <bencraig@apache.org> Date: 2015-06-30T01:13:12Z Cleaning up comments commit 8594253824d01ef961291ee20fdb251658a6f50b Author: Ben Craig <bencraig@apache.org> Date: 2015-06-30T01:13:27Z Merge c:/src/thrift into THRIFT-2850
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user asfgit closed the pull request at:

          https://github.com/apache/thrift/pull/534

          Show
          githubbot ASF GitHub Bot added a comment - Github user asfgit closed the pull request at: https://github.com/apache/thrift/pull/534
          Hide
          hudson Hudson added a comment -

          SUCCESS: Integrated in Thrift #1593 (See https://builds.apache.org/job/Thrift/1593/)
          THRIFT-2850 CMake for Apache Thrift (bencraig: rev 7207c22f9d50ee28ea8c0842404541524bde8bcd)

          • lib/cpp/test/TNonblockingServerTest.cpp
          • lib/cpp/src/thrift/server/TNonblockingServer.h
          • lib/cpp/src/thrift/async/TEvhttpServer.cpp
          • lib/cpp/CMakeLists.txt
          • lib/cpp/src/thrift/async/TEvhttpClientChannel.cpp
          • test/cpp/CMakeLists.txt
          Show
          hudson Hudson added a comment - SUCCESS: Integrated in Thrift #1593 (See https://builds.apache.org/job/Thrift/1593/ ) THRIFT-2850 CMake for Apache Thrift (bencraig: rev 7207c22f9d50ee28ea8c0842404541524bde8bcd) lib/cpp/test/TNonblockingServerTest.cpp lib/cpp/src/thrift/server/TNonblockingServer.h lib/cpp/src/thrift/async/TEvhttpServer.cpp lib/cpp/CMakeLists.txt lib/cpp/src/thrift/async/TEvhttpClientChannel.cpp test/cpp/CMakeLists.txt
          Hide
          githubbot ASF GitHub Bot added a comment -

          GitHub user snikulov opened a pull request:

          https://github.com/apache/thrift/pull/598

          cmake // fixes for std/boost::thread detection; security test; qt test

          Hello All!

          Relates to https://issues.apache.org/jira/browse/THRIFT-2850

          1. Will use BOOST if not explicitly provided -DWITH_STDTHREADS=ON and Boost_FOUND.
          2. Will not build SecurityTest if NOT OPENSSL_FOUND (SecurityTest uses SSL headers which is not available)
          3. Fix for TQTcpServerTest_Qt5.

          Build successful on Windows (MSVC 2013) and CentOS 7

          You can merge this pull request into a Git repository by running:

          $ git pull https://github.com/snikulov/thrift cmake_build_updates

          Alternatively you can review and apply these changes as the patch at:

          https://github.com/apache/thrift/pull/598.patch

          To close this pull request, make a commit to your master/trunk branch
          with (at least) the following in the commit message:

          This closes #598


          commit b10dbb8a10e159af358585e0a5445b46e3e7094a
          Author: Sergei Nikulov <sergey.nikulov@gmail.com>
          Date: 2015-09-02T10:06:22Z

          fixes for std/boost::thread detection; security test; qt test


          Show
          githubbot ASF GitHub Bot added a comment - GitHub user snikulov opened a pull request: https://github.com/apache/thrift/pull/598 cmake // fixes for std/boost::thread detection; security test; qt test Hello All! Relates to https://issues.apache.org/jira/browse/THRIFT-2850 1. Will use BOOST if not explicitly provided -DWITH_STDTHREADS=ON and Boost_FOUND. 2. Will not build SecurityTest if NOT OPENSSL_FOUND (SecurityTest uses SSL headers which is not available) 3. Fix for TQTcpServerTest_Qt5. Build successful on Windows (MSVC 2013) and CentOS 7 You can merge this pull request into a Git repository by running: $ git pull https://github.com/snikulov/thrift cmake_build_updates Alternatively you can review and apply these changes as the patch at: https://github.com/apache/thrift/pull/598.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #598 commit b10dbb8a10e159af358585e0a5445b46e3e7094a Author: Sergei Nikulov <sergey.nikulov@gmail.com> Date: 2015-09-02T10:06:22Z fixes for std/boost::thread detection; security test; qt test
          Hide
          githubbot ASF GitHub Bot added a comment -

          Github user asfgit closed the pull request at:

          https://github.com/apache/thrift/pull/598

          Show
          githubbot ASF GitHub Bot added a comment - Github user asfgit closed the pull request at: https://github.com/apache/thrift/pull/598
          Hide
          hudson Hudson added a comment -

          SUCCESS: Integrated in Thrift #1652 (See https://builds.apache.org/job/Thrift/1652/)
          THRIFT-2850 CMake for Apache Thrift (roger: rev 34e0bb64bda3f7163e715fab09d014696deefa9c)

          • lib/cpp/test/qt/CMakeLists.txt
          • build/cmake/DefineOptions.cmake
          • lib/cpp/test/CMakeLists.txt
          Show
          hudson Hudson added a comment - SUCCESS: Integrated in Thrift #1652 (See https://builds.apache.org/job/Thrift/1652/ ) THRIFT-2850 CMake for Apache Thrift (roger: rev 34e0bb64bda3f7163e715fab09d014696deefa9c) lib/cpp/test/qt/CMakeLists.txt build/cmake/DefineOptions.cmake lib/cpp/test/CMakeLists.txt
          Hide
          jking3 James E. King, III added a comment -

          So, is this one "Fixed" now?

          Show
          jking3 James E. King, III added a comment - So, is this one "Fixed" now?
          Hide
          jking3 James E. King, III added a comment -

          Should we keep this issue open or open a new one?

          I would like an Epic in the backlog for replacing autoconf with cmake, with the acceptance criteria being that a cmake build can do everything an autoconf build does today. This will take time to get to, and will have many stories. The cmake environment already supports about 5 languages. We need a story for each language (to build the library AND run tests AND packaging) and then we need a story for running make cross (which is what this one appears to be), and we can hang it under the overall epic.

          Thoughts?

          Show
          jking3 James E. King, III added a comment - Should we keep this issue open or open a new one? I would like an Epic in the backlog for replacing autoconf with cmake, with the acceptance criteria being that a cmake build can do everything an autoconf build does today. This will take time to get to, and will have many stories. The cmake environment already supports about 5 languages. We need a story for each language (to build the library AND run tests AND packaging) and then we need a story for running make cross (which is what this one appears to be), and we can hang it under the overall epic. Thoughts?

            People

            • Assignee:
              roger.meier Roger Meier
              Reporter:
              roger.meier Roger Meier
            • Votes:
              2 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

              • Created:
                Updated:

                Development