Qpid
  1. Qpid
  2. QPID-3633

Make cmake the primary build tool for the cpp tree

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Duplicate
    • Affects Version/s: 0.19
    • Fix Version/s: None
    • Component/s: Build Tools
    • Labels:
      None

      Description

      This will serve as a tracker for the steps remaining to prepare cmake to be our primary (and very probably only) build tool for the cpp tree.

        Issue Links

          Activity

          Justin Ross created issue -
          Darryl L. Pierce made changes -
          Field Original Value New Value
          Assignee Andrew Stitcher [ astitcher ] Darryl L. Pierce [ mcpierce ]
          Darryl L. Pierce made changes -
          Affects Version/s 0.19 [ 12322452 ]
          Affects Version/s 0.15 [ 12319043 ]
          Darryl L. Pierce made changes -
          Assignee Darryl L. Pierce [ mcpierce ] Andrew Stitcher [ astitcher ]
          Hide
          Andrew Stitcher added a comment - - edited

          committed changes r1400780-r1400783 for 0.20 which bring the cmake install target fairly closely into line with the automake install target.

          Show
          Andrew Stitcher added a comment - - edited committed changes r1400780-r1400783 for 0.20 which bring the cmake install target fairly closely into line with the automake install target.
          Hide
          Darryl L. Pierce added a comment -

          In testing the updated Cmake setup, I hit a problem with the set_target_properties macro in amqp.make. Variables using in this macro need to be in double quotes to avoid the error:

          CMake Error at src/amqp.cmake:75 (set_target_properties):
          set_target_properties called with incorrect number of arguments.

          The fix is:

          diff --git a/qpid/cpp/src/amqp.cmake b/qpid/cpp/src/amqp.cmake
          index 7a113a8..c8da3ab 100644
          — a/qpid/cpp/src/amqp.cmake
          +++ b/qpid/cpp/src/amqp.cmake
          @@ -74,8 +74,8 @@ if (BUILD_AMQP)
          target_link_libraries (amqp qpidbroker qpidcommon)
          set_target_properties (amqp PROPERTIES
          PREFIX ""

          • COMPILE_FLAGS $ {PROTON_COMPILE_FLAGS}
            - LINK_FLAGS ${PROTON_LINK_FLAGS})
            + COMPILE_FLAGS "${PROTON_COMPILE_FLAGS}

            "
            + LINK_FLAGS "$

            {PROTON_LINK_FLAGS}")
            install (TARGETS amqp
            DESTINATION ${QPIDD_MODULE_DIR}
            COMPONENT ${QPID_COMPONENT_BROKER})
            @@ -109,8 +109,8 @@ if (BUILD_AMQP)
            target_link_libraries (amqpc qpidclient qpidcommon)
            set_target_properties (amqpc PROPERTIES
            PREFIX ""
            - COMPILE_FLAGS ${PROTON_COMPILE_FLAGS}
            - LINK_FLAGS ${PROTON_LINK_FLAGS}

            )
            + COMPILE_FLAGS "$

            {PROTON_COMPILE_FLAGS}

            "
            + LINK_FLAGS "$

            {PROTON_LINK_FLAGS}

            ")
            install (TARGETS amqpc
            DESTINATION $

            {QPIDC_MODULE_DIR}

            COMPONENT $

            {QPID_COMPONENT_CLIENT}

            )

          Show
          Darryl L. Pierce added a comment - In testing the updated Cmake setup, I hit a problem with the set_target_properties macro in amqp.make. Variables using in this macro need to be in double quotes to avoid the error: CMake Error at src/amqp.cmake:75 (set_target_properties): set_target_properties called with incorrect number of arguments. The fix is: diff --git a/qpid/cpp/src/amqp.cmake b/qpid/cpp/src/amqp.cmake index 7a113a8..c8da3ab 100644 — a/qpid/cpp/src/amqp.cmake +++ b/qpid/cpp/src/amqp.cmake @@ -74,8 +74,8 @@ if (BUILD_AMQP) target_link_libraries (amqp qpidbroker qpidcommon) set_target_properties (amqp PROPERTIES PREFIX "" COMPILE_FLAGS $ {PROTON_COMPILE_FLAGS} - LINK_FLAGS ${PROTON_LINK_FLAGS}) + COMPILE_FLAGS "${PROTON_COMPILE_FLAGS} " + LINK_FLAGS "$ {PROTON_LINK_FLAGS}") install (TARGETS amqp DESTINATION ${QPIDD_MODULE_DIR} COMPONENT ${QPID_COMPONENT_BROKER}) @@ -109,8 +109,8 @@ if (BUILD_AMQP) target_link_libraries (amqpc qpidclient qpidcommon) set_target_properties (amqpc PROPERTIES PREFIX "" - COMPILE_FLAGS ${PROTON_COMPILE_FLAGS} - LINK_FLAGS ${PROTON_LINK_FLAGS} ) + COMPILE_FLAGS "$ {PROTON_COMPILE_FLAGS} " + LINK_FLAGS "$ {PROTON_LINK_FLAGS} ") install (TARGETS amqpc DESTINATION $ {QPIDC_MODULE_DIR} COMPONENT $ {QPID_COMPONENT_CLIENT} )
          Hide
          Andrew Stitcher added a comment -

          This last issue has nothing really to do with this issue - it's just a different bug that has crept into the source base coincidentally at the same time.

          Show
          Andrew Stitcher added a comment - This last issue has nothing really to do with this issue - it's just a different bug that has crept into the source base coincidentally at the same time.
          Alan Conway made changes -
          Link This issue duplicates QPID-4640 [ QPID-4640 ]
          Alan Conway made changes -
          Status Open [ 1 ] Resolved [ 5 ]
          Resolution Duplicate [ 3 ]
          Andrew Stitcher made changes -
          Link This issue incorporates QPID-4926 [ QPID-4926 ]
          Andrew Stitcher made changes -
          Link This issue incorporates QPID-4927 [ QPID-4927 ]
          Andrew Stitcher made changes -
          Link This issue incorporates QPID-4928 [ QPID-4928 ]
          Hide
          ASF subversion and git services added a comment -

          Commit 1507112 from Andrew Stitcher in branch 'qpid/trunk'
          [ https://svn.apache.org/r1507112 ]

          QPID-4640: QPID-3633: Remove autotools build from qpid C++ source tree

          Show
          ASF subversion and git services added a comment - Commit 1507112 from Andrew Stitcher in branch 'qpid/trunk' [ https://svn.apache.org/r1507112 ] QPID-4640 : QPID-3633 : Remove autotools build from qpid C++ source tree
          Justin Ross made changes -
          Status Resolved [ 5 ] Closed [ 6 ]

            People

            • Assignee:
              Andrew Stitcher
              Reporter:
              Justin Ross
            • Votes:
              1 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development