diff --git a/Userland/Libraries/LibCrypt/CMakeLists.txt b/Userland/Libraries/LibCrypt/CMakeLists.txt index f24d3f318a..4f9ea90447 100644 --- a/Userland/Libraries/LibCrypt/CMakeLists.txt +++ b/Userland/Libraries/LibCrypt/CMakeLists.txt @@ -1,6 +1,14 @@ + +# HACK ALERT! +# To avoid a circular dependency chain with LibCrypt --> LibCrypto --> LibCore --> LibCrypt +# We include the SHA2 implementation from LibCrypto here manually +add_library(LibCryptSHA2 OBJECT ../LibCrypto/Hash/SHA2.cpp) +set_target_properties(LibCryptSHA2 PROPERTIES CXX_VISIBILITY_PRESET hidden) +set_target_properties(LibCryptSHA2 PROPERTIES VISIBILITY_INLINES_HIDDEN ON) + set(SOURCES crypt.cpp ) serenity_libc(LibCrypt crypt) -target_link_libraries(LibCrypt LibC LibCrypto) +target_link_libraries(LibCrypt LibC LibCryptSHA2)