Qpid Proton
  1. Qpid Proton
  2. PROTON-413

[proton-c] Cmake install does not produce package files that work on windows

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 0.5
    • Fix Version/s: 0.6
    • Component/s: proton-c
    • Labels:
      None
    • Environment:
      Windows

      Description

      Installed proton relies on pkg-config to export the library's location to consuming projects like Qpid. This doesn't play well on Windows where pkg-config is not standard.

      It would be relatively easy to install export files that enable proton to be located with find_package(). This feature could be installed in addition to the pkg-config files and either could be used to find proton.

        Activity

        Hide
        Chuck Rolke added a comment -
        Show
        Chuck Rolke added a comment - Fixed at https://svn.apache.org/r1522678
        Hide
        ASF subversion and git services added a comment -

        Commit 1522678 from chug@apache.org in branch 'proton/trunk'
        [ https://svn.apache.org/r1522678 ]

        PROTON-413: Support for finding an installed proton that works on windows
        Use in conjunction with commit associated with QPID-5103.
        1. In proton: cmake -DCMAKE_INSTALL_PREFIX=P:/install ...
        2. devenv proton.sln /build "Debug|Win32" /project INSTALL
        3. In qpid: cmake -DPROTON_ROOT=P:/install ...
        4. devenv qpid-cpp.sln /build "Debug|Win32 /project INSTALL

        Show
        ASF subversion and git services added a comment - Commit 1522678 from chug@apache.org in branch 'proton/trunk' [ https://svn.apache.org/r1522678 ] PROTON-413 : Support for finding an installed proton that works on windows Use in conjunction with commit associated with QPID-5103 . 1. In proton: cmake -DCMAKE_INSTALL_PREFIX=P:/install ... 2. devenv proton.sln /build "Debug|Win32" /project INSTALL 3. In qpid: cmake -DPROTON_ROOT=P:/install ... 4. devenv qpid-cpp.sln /build "Debug|Win32 /project INSTALL
        Hide
        Chuck Rolke added a comment -

        This patch splits the library install target from the executable(s) install target. The library is tagged with 'EXPORT qpid-proton'. Then the EXPORT is installed along with a version file.

        Proton usage:

        • Run cmake with -DCMAKE_INSTALL_PREFIX=P:/install
        • then 'make install'

        Qpid consumer usage:

        • in cpp/src/amqp.cmake use find_package(qpid-proton)
        • set path to find proton install: SET PATH=P:\install;%PATH%
        • run cmake

        Result:

        Proton is found:

        -- qpid-proton_CONFIG == P:/install/lib/qpid-proton.cmake/qpid-proton-config.cmake
        -- qpid-proton_CONSIDERED_CONFIGS == P:/install/lib/qpid-proton.cmake/qpid-proton-config.cmake
        -- qpid-proton_CONSIDERED_VERSIONS == 0.5
        -- qpid-proton_DIR == P:/install/lib/qpid-proton.cmake
        -- qpid-proton_FOUND == 1
        -- qpid-proton_VERSION == 0.5
        -- qpid-proton_VERSION_COUNT == 2
        -- qpid-proton_VERSION_MAJOR == 0
        -- qpid-proton_VERSION_MINOR == 5
        -- qpid-proton_VERSION_PATCH == 0
        -- qpid-proton_VERSION_TWEAK == 0
        

        Comment:

        This is not what I really want to check in yet but it gets a windows build possible.

        Show
        Chuck Rolke added a comment - This patch splits the library install target from the executable(s) install target. The library is tagged with 'EXPORT qpid-proton'. Then the EXPORT is installed along with a version file. Proton usage: Run cmake with -DCMAKE_INSTALL_PREFIX=P:/install then 'make install' Qpid consumer usage: in cpp/src/amqp.cmake use find_package(qpid-proton) set path to find proton install: SET PATH=P:\install;%PATH% run cmake Result: Proton is found: -- qpid-proton_CONFIG == P:/install/lib/qpid-proton.cmake/qpid-proton-config.cmake -- qpid-proton_CONSIDERED_CONFIGS == P:/install/lib/qpid-proton.cmake/qpid-proton-config.cmake -- qpid-proton_CONSIDERED_VERSIONS == 0.5 -- qpid-proton_DIR == P:/install/lib/qpid-proton.cmake -- qpid-proton_FOUND == 1 -- qpid-proton_VERSION == 0.5 -- qpid-proton_VERSION_COUNT == 2 -- qpid-proton_VERSION_MAJOR == 0 -- qpid-proton_VERSION_MINOR == 5 -- qpid-proton_VERSION_PATCH == 0 -- qpid-proton_VERSION_TWEAK == 0 Comment: This is not what I really want to check in yet but it gets a windows build possible.

          People

          • Assignee:
            Unassigned
            Reporter:
            Chuck Rolke
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development