Skip to content

Conversation

@PierreZ
Copy link
Contributor

@PierreZ PierreZ commented Aug 19, 2021

This commits addresses the comments made by @xis19 on #5389. This PR is not trying to fix dependencies, but rather print binding's dependencies as warning when requirements are not reached.

Example

cmake -G Ninja -DBUILD_C_BINDING=OFF ../foundationdb

We now have some warnings if we are trying to do something illegal:

CMake Warning at cmake/FDBComponents.cmake:94 (message):
  Java binding depends on C binding, but C binding is not enabled
Call Stack (most recent call first):
  CMakeLists.txt:70 (include)

CMake Warning at cmake/FDBComponents.cmake:130 (message):             
  Go binding depends on C binding, but C binding is not enabled
Call Stack (most recent call first): 
  CMakeLists.txt:70 (include)

CMake Warning at cmake/FDBComponents.cmake:154 (message): 
  Ruby binding depends on C binding, but C binding is not enabled 
Call Stack (most recent call first):
  CMakeLists.txt:70 (include)

In the example, the call will still fail:

-- =========================================
--    Components Build Overview 
-- =========================================
-- Build Bindings (depends on Python):   ON
-- Build C Bindings:                     OFF
-- Build Python Bindings:                ON
-- Build Java Bindings:                  OFF
-- Build Go bindings:                    OFF
-- Build Ruby bindings:                  OFF
-- Build with TLS support:               ON
-- Build Documentation (make html):      ON
-- Build Python sdist (make package):    ON
-- Configure CTest (depends on Python):  ON
-- Build with RocksDB:                   ON
-- =========================================
-- CPACK_COMPONENTS_ALL Unspecified;clients-deb;clients-el7;clients-tgz;clients-versioned;server-deb;server-el7;server-tgz;server-versioned
-- Configuring done
CMake Error at fdbclient/CMakeLists.txt:190 (add_dependencies):
  The dependency target "fdb_c_options" of target "fdbclient_sampling" does
  not exist.


CMake Error at fdbclient/CMakeLists.txt:183 (add_dependencies):
  The dependency target "fdb_c_options" of target "fdbclient" does not exist.

Code-Reviewer Section

The general guidelines can be found here.

Please check each of the following things and check all boxes before accepting a PR.

  • The PR has a description, explaining both the problem and the solution.
  • The description mentions which forms of testing were done and the testing seems reasonable.
  • Every function/class/actor that was touched is reasonably well documented.

For Release-Branches

If this PR is made against a release-branch, please also check the following:

  • This change/bugfix is a cherry-pick from the next younger branch (younger release-branch or master if this is the youngest branch)
  • There is a good reason why this PR needs to go into a release branch and this reason is documented (either in the description above or in a linked GitHub issue)

@jzhou77 jzhou77 requested a review from xis19 August 19, 2021 16:26
@foundationdb-ci
Copy link
Contributor

AWS CodeBuild CI Report

  • CodeBuild project: foundationdb-pull-request-build
  • Commit ID: b1dce03
  • Result: SUCCEEDED
  • Build Logs (available for 7 days)

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.

3 participants