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

          Transition Time In Source Status Execution Times Last Executer Last Execution Date
          Open Open Resolved Resolved
          478d 22h 39m 1 Alan Conway 11/Mar/13 18:38
          Resolved Resolved Closed Closed
          154d 15h 24m 1 Justin Ross 13/Aug/13 11:03
          Justin Ross made changes -
          Status Resolved [ 5 ] Closed [ 6 ]
          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
          Andrew Stitcher made changes -
          Link This issue incorporates QPID-4928 [ QPID-4928 ]
          Andrew Stitcher made changes -
          Link This issue incorporates QPID-4927 [ QPID-4927 ]
          Andrew Stitcher made changes -
          Link This issue incorporates QPID-4926 [ QPID-4926 ]
          Alan Conway made changes -
          Status Open [ 1 ] Resolved [ 5 ]
          Resolution Duplicate [ 3 ]
          Alan Conway made changes -
          Link This issue duplicates QPID-4640 [ QPID-4640 ]
          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.
          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 - - 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.
          Darryl L. Pierce made changes -
          Assignee Darryl L. Pierce [ mcpierce ] Andrew Stitcher [ astitcher ]
          Darryl L. Pierce made changes -
          Affects Version/s 0.19 [ 12322452 ]
          Affects Version/s 0.15 [ 12319043 ]
          Darryl L. Pierce made changes -
          Field Original Value New Value
          Assignee Andrew Stitcher [ astitcher ] Darryl L. Pierce [ mcpierce ]
          Justin Ross created issue -

            People

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

              Dates

              • Created:
                Updated:
                Resolved:

                Development