Do not use gcrypt cmake variables if gcrypt is not found - #2403
Open
Tropicao wants to merge 1 commit into
Open
Conversation
Commit d12d820 ("Fix build without crypto support") enabled building the crapi library without a crypto backend, but left the target_include_directories and target_compile_definitions calls unguarded. When no crypto library is available, the GCrypt find module leaves GCRYPT_INCLUDE_DIRS unset, so CMake fails at the generate step with: CMake Error: The following variables are used in this project, but they are set to NOTFOUND: GCRYPT_INCLUDE_DIR The test command provided at this time made the build successful because it provided -DCMAKE_DISABLE_FIND_PACKAGE_GCrypt=TRUE, but if no crypto backend is provided, it does not make sense to provide those cmake configuration options preventing dependency search manually. Guard both calls with a CRYPTO_FOUND check so they are only applied when an actual digest backend is present, even without providing -DCMAKE_DISABLE_FIND_PACKAGE_foo Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com>
|
Contributor
Author
|
The failed jobs do not look related to the proposed change. I guess those are parts of what #2391 is aiming to fix ? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Commit d12d820 ("Fix build without crypto support") enabled building the crapi library without a crypto backend, but left the target_include_directories and target_compile_definitions calls unguarded. When no crypto library is available, the GCrypt find module leaves GCRYPT_INCLUDE_DIRS unset, so CMake fails at the generate step with:
CMake Error: The following variables are used in this project, but
they are set to NOTFOUND: GCRYPT_INCLUDE_DIR
The test command provided at this time made the build successful because it provided -DCMAKE_DISABLE_FIND_PACKAGE_GCrypt=TRUE, but if no crypto backend is provided, it does not make sense to provide those cmake configuration options preventing dependency search manually.
Guard both calls with a CRYPTO_FOUND check so they are only applied when an actual digest backend is present, even without providing -DCMAKE_DISABLE_FIND_PACKAGE_foo