Avro
  1. Avro
  2. AVRO-467

CMake: Complete CMake build system and remove autotools build system

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.3.0
    • Fix Version/s: 1.6.0
    • Component/s: c
    • Labels:

      Description

      Placeholder bug to serve as a parent for all of the various remaining tasks for the CMake build system.

        Activity

        Transition Time In Source Status Execution Times Last Executer Last Execution Date
        Open Open Resolved Resolved
        587d 7h 4m 1 Douglas Creager 24/Oct/11 16:02
        Resolved Resolved Closed Closed
        8d 3h 33m 1 Doug Cutting 01/Nov/11 18:36
        Doug Cutting made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        Douglas Creager made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Assignee Bruce Mitchener [ brucem ] Douglas Creager [ dcreager ]
        Fix Version/s 1.6.0 [ 12316198 ]
        Resolution Fixed [ 1 ]
        Hide
        Douglas Creager added a comment -

        Committed this to SVN trunk so that it's in place for the 1.6.0 release.

        Show
        Douglas Creager added a comment - Committed this to SVN trunk so that it's in place for the 1.6.0 release.
        Hide
        Douglas Creager added a comment -

        Thanks for the sanity check, Scott, I've removed the reference to the Swanson language. That's what I get for copy/pasting too liberally!

        I also updated the top-level BUILD.txt file to mention cmake instead of the autotools, and put the cmake URL into the C library's INSTALL file.

        Show
        Douglas Creager added a comment - Thanks for the sanity check, Scott, I've removed the reference to the Swanson language. That's what I get for copy/pasting too liberally! I also updated the top-level BUILD.txt file to mention cmake instead of the autotools, and put the cmake URL into the C library's INSTALL file.
        Hide
        Doug Cutting added a comment -

        lang/c/build.sh seems to work correctly for me after applying the patch.

        cmake is already required by the C++ build and is listed in the top-level BUILD.txt as a requirement. We should probably add it to the C requirements there too. I have traditionally used Ubuntu package names in that file, since that's what I install.

        Show
        Doug Cutting added a comment - lang/c/build.sh seems to work correctly for me after applying the patch. cmake is already required by the C++ build and is listed in the top-level BUILD.txt as a requirement. We should probably add it to the C requirements there too. I have traditionally used Ubuntu package names in that file, since that's what I install.
        Hide
        Scott Carey added a comment -

        OK, the patch is applied. My mistake.

        The INSTALL file says

        Building from source
        --------------------

        The swanson language uses cmake as its build manager. In most cases,
        you should be able to build the source code using the following:

        Swanson? That doesn't sound right.

        cd lang/c
        ./build.sh

        Fails – I don't have cmake installed. The README and/or INSTALL in lang/c does not tell me where to get it.
        The BUILD.txt in the root dir also lists improper build requirements for C:

        • C: gcc, autoconf, automake, libtool, asciidoc, source-highlight

        We need to make sure the build instructions and requirements are correct.

        Show
        Scott Carey added a comment - OK, the patch is applied. My mistake. The INSTALL file says Building from source -------------------- The swanson language uses cmake as its build manager. In most cases, you should be able to build the source code using the following: Swanson? That doesn't sound right. cd lang/c ./build.sh Fails – I don't have cmake installed. The README and/or INSTALL in lang/c does not tell me where to get it. The BUILD.txt in the root dir also lists improper build requirements for C: C: gcc, autoconf, automake, libtool, asciidoc, source-highlight We need to make sure the build instructions and requirements are correct.
        Hide
        Douglas Creager added a comment -

        You're using the newer patch file, right? That one works for me on my mac:

        $ cd ~/svn/avro/
        $ patch -p1 --dry-run < 0001-AVRO-467.-C-Switch-from-autotools-to-CMake.patch 
        patching file lang/c/.gitignore
        patching file lang/c/Makefile.am
        patching file lang/c/build.sh
        patching file lang/c/config/.gitignore
        patching file lang/c/configure.in
        patching file lang/c/docs/Makefile.am
        patching file lang/c/examples/Makefile.am
        patching file lang/c/jansson/.gitignore
        patching file lang/c/m4/.gitignore
        patching file lang/c/src/Makefile.am
        patching file lang/c/tests/Makefile.am
        
        Show
        Douglas Creager added a comment - You're using the newer patch file, right? That one works for me on my mac: $ cd ~/svn/avro/ $ patch -p1 --dry-run < 0001-AVRO-467.-C-Switch-from-autotools-to-CMake.patch patching file lang/c/.gitignore patching file lang/c/Makefile.am patching file lang/c/build.sh patching file lang/c/config/.gitignore patching file lang/c/configure.in patching file lang/c/docs/Makefile.am patching file lang/c/examples/Makefile.am patching file lang/c/jansson/.gitignore patching file lang/c/m4/.gitignore patching file lang/c/src/Makefile.am patching file lang/c/tests/Makefile.am
        Hide
        Scott Carey added a comment -

        I'd test the above patch if I knew how to apply it. 'patch' on a mac is confused and I'm checked out with svn. Can you generate a patch that is less git specialized?

        Show
        Scott Carey added a comment - I'd test the above patch if I knew how to apply it. 'patch' on a mac is confused and I'm checked out with svn. Can you generate a patch that is less git specialized?
        Douglas Creager made changes -
        Hide
        Douglas Creager added a comment -

        Here's an updated version of the patch that applies to SVN trunk.

        Show
        Douglas Creager added a comment - Here's an updated version of the patch that applies to SVN trunk.
        Douglas Creager made changes -
        Hide
        Douglas Creager added a comment -

        Apart from adding some documentation for AVRO-468, I'd argue that we're in a good spot to dump autotools in favor of CMake for 1.6.0.

        Here's a patch that actually removes the autotools files, and updates build.sh to use the CMake scripts. I've verified that running build.sh from within the lang/c directory has the same results as before.

        Show
        Douglas Creager added a comment - Apart from adding some documentation for AVRO-468 , I'd argue that we're in a good spot to dump autotools in favor of CMake for 1.6.0. Here's a patch that actually removes the autotools files, and updates build.sh to use the CMake scripts. I've verified that running build.sh from within the lang/c directory has the same results as before.
        Doug Cutting made changes -
        Fix Version/s 1.4.0 [ 12314789 ]
        Bruce Mitchener made changes -
        Fix Version/s 1.4.0 [ 12314789 ]
        Bruce Mitchener made changes -
        Summary Finish up CMake build system missing features CMake: Complete CMake build system and remove autotools build system
        Labels cmake
        Bruce Mitchener made changes -
        Field Original Value New Value
        Assignee Bruce Mitchener [ brucem ]
        Bruce Mitchener created issue -

          People

          • Assignee:
            Douglas Creager
            Reporter:
            Bruce Mitchener
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development