Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add vcpkg installation instructions #282

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

FrankXie05
Copy link

bde is available as a port in vcpkg, a C++ library manager that simplifies installation for bde and other project dependencies. Documenting the install process here will help users get started by providing a single set of commands to build bde, ready to be included in their projects.

We also test whether our library ports build in various configurations (dynamic, static) on various platforms (OSX, Linux, Windows: x86, x64) to keep a wide coverage for users.

I'm a maintainer for vcpkg, and here is what the port script looks like. We try to keep the library maintained as close as possible to the original library.😊

@osubboo
Copy link
Contributor

osubboo commented Sep 1, 2022

  1. Those instructions do not work (tried from powershell & git bash):
    .\vcpkg.exe install bde
    Computing installation plan...
    A suitable version of cmake was not found (required v3.24.0). Downloading portable cmake v3.24.0...
    Downloading cmake...
    https://github.com/Kitware/CMake/releases/download/v3.24.0/cmake-3.24.0-windows-i386.zip -> C:\Users\osubbotin\work\vcpkg\vcpkg\downloads\cmake-3.24.0-windows-i386.zip
    Extracting cmake...
    bde[core]:x86-windows is only supported on '!windows & !arm'

  2. Port script uses waf build system that is not supported for a few years now.
    This probably means that this port uses very old BDE code base (3.2.0 as I see; waf does not work with the current version of bde (3.107.0)).

@bloomberg bloomberg deleted a comment from Marazali75 Feb 3, 2025
@bloomberg bloomberg deleted a comment from Marazali75 Feb 3, 2025
@bloomberg bloomberg deleted a comment from Marazali75 Feb 3, 2025
@FrankXie05
Copy link
Author

Currently, vcpkg supports bde version 4.14.0.

https://github.com/microsoft/vcpkg/blob/3de032f834a9b28a455e35600b03e9d365ce3b85/ports/bde/vcpkg.json#L4

PS G:\bud\vcpkg> ./vcpkg install bde
Computing installation plan...
The following packages will be built and installed:
    bde:x64-windows@4.14.0.0
Detecting compiler hash for triplet x64-windows...
Compiler found: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.39.33519/bin/Hostx64/x64/cl.exeRestored 0 package(s) from F:\VCPKG_CACHE in 7.11 ms. Use --debug to see more details.
Installing 1/1 bde:x64-windows@4.14.0.0...
Building bde:x64-windows@4.14.0.0...
-- Note: bde only supports static library linkage. Building static library.
Downloading bloomberg-bde-tools-4.13.0.0.tar.gz
Successfully downloaded bloomberg-bde-tools-4.13.0.0.tar.gz.
-- Extracting source G:/bud/vcpkg/downloads/bloomberg-bde-tools-4.13.0.0.tar.gz
-- Using source at G:/bud/vcpkg/buildtrees/bde/src/4.13.0.0-64d054b347.clean
-- Configure bde-tools-v
Downloading bloomberg-bde-4.14.0.0.tar.gz
Successfully downloaded bloomberg-bde-4.14.0.0.tar.gz.
-- Extracting source G:/bud/vcpkg/downloads/bloomberg-bde-4.14.0.0.tar.gz
-- Using source at G:/bud/vcpkg/buildtrees/bde/src/4.14.0.0-15aa00dc79.clean
-- Configuring x64-windows
CMake Warning at installed/x64-windows/share/vcpkg-cmake/vcpkg_cmake_configure.cmake:344 (message):
  The following variables are not used in CMakeLists.txt:

      BDE_BUILD_TARGET_DBG

  Please recheck them and remove the unnecessary options from the
  `vcpkg_cmake_configure` call.

  If these options should still be passed for whatever reason, please use the
  `MAYBE_UNUSED_VARIABLES` argument.
Call Stack (most recent call first):
  ports/bde/portfile.cmake:30 (vcpkg_cmake_configure)
  scripts/ports.cmake:196 (include)


-- Building x64-windows-dbg
-- Building x64-windows-rel
-- Building x64-windows-dbg
-- Building x64-windows-rel
CMake Warning (dev) at downloads/tools/cmake-3.30.1-windows/cmake-3.30.1-windows-i386/share/cmake-3.30/Modules/GNUInstallDirs.cmake:253 (message):
  Unable to determine default CMAKE_INSTALL_LIBDIR directory because no
  target architecture is known.  Please enable at least one language before
  including GNUInstallDirs.
Call Stack (most recent call first):
  ports/bde/portfile.cmake:52 (include)
  scripts/ports.cmake:196 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Installing: G:/bud/vcpkg/packages/bde_x64-windows/share/bde/copyright
-- Using cached msys2-mingw-w64-x86_64-pkgconf-1~2.3.0-1-any.pkg.tar.zst
-- Using cached msys2-msys2-runtime-3.5.4-2-x86_64.pkg.tar.zst
-- Using msys root at G:/bud/vcpkg/downloads/tools/msys2/21caed2f81ec917b
-- Performing post-build validation
Stored binaries in 1 destinations in 25 s.
Elapsed time to handle bde:x64-windows: 5.5 min
bde:x64-windows package ABI: 7850f364f5a15a5e55988e3288c175b962096102a0bd67af4c8a6f2128fdc5ac
Total install time: 5.5 min
bde provides CMake targets:

  # this is heuristically generated, and may not be correct
  find_package(bal CONFIG REQUIRED)
  # note: 7 additional targets are not displayed.
  target_link_libraries(main PRIVATE bal balb-iface ball-iface balm-iface)

  find_package(bdl CONFIG REQUIRED)
  # note: 16 additional targets are not displayed.
  target_link_libraries(main PRIVATE bdl bdlb-iface bdlc-iface bdld-iface)

  find_package(bsl CONFIG REQUIRED)
  # note: 13 additional targets are not displayed.
  target_link_libraries(main PRIVATE bsl bsla-iface bslh-iface bsls-iface)

  find_package(inteldfp CONFIG REQUIRED)
  target_link_libraries(main PRIVATE inteldfp)

  find_package(pcre2 CONFIG REQUIRED)
  target_link_libraries(main PRIVATE pcre2)

  find_package(ryu CONFIG REQUIRED)
  target_link_libraries(main PRIVATE ryu)

  find_package(s_baltst CONFIG REQUIRED)
  target_link_libraries(main PRIVATE s_baltst)

PS G:\bud\vcpkg>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants