Skip to content

Commit

Permalink
Fix broken build when using system zxcvbn (#10717)
Browse files Browse the repository at this point in the history
* Fix broken build when using system zxcvbn

Fixup of zxcvbn include statement added in 5513ff5. A zxcvbn/ directory
prefix breaks building with system zxcvbn. Remove this prefix to align
this include statement with ones present in other files. Add zxcvbn
libraries as dependency to CliTest.

* Move src/zxcvbn/ to src/thirdparty/zxcvbn
  • Loading branch information
sebastianlipponer committed May 27, 2024
1 parent 20868ab commit 9aa0406
Show file tree
Hide file tree
Showing 12 changed files with 20 additions and 21 deletions.
8 changes: 7 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -467,7 +467,7 @@ if(WITH_COVERAGE)
append_coverage_compiler_flags()

set(COVERAGE_EXCLUDES
"'^(.+/)?(thirdparty|zxcvbn)/.*'"
"'^(.+/)?thirdparty/.*'"
"'^(.+/)?main\\.cpp$$'"
"'^(.+/)?cli/keepassxc-cli\\.cpp$$'"
"'^(.+/)?proxy/keepassxc-proxy\\.cpp$$'")
Expand Down Expand Up @@ -613,6 +613,12 @@ endif()

include_directories(SYSTEM ${ZLIB_INCLUDE_DIR})

find_library(ZXCVBN_LIBRARIES zxcvbn)
if(NOT ZXCVBN_LIBRARIES)
add_subdirectory(src/thirdparty/zxcvbn)
set(ZXCVBN_LIBRARIES zxcvbn)
endif(NOT ZXCVBN_LIBRARIES)

add_subdirectory(src)
add_subdirectory(share)
if(WITH_TESTS)
Expand Down
2 changes: 1 addition & 1 deletion COPYING
Original file line number Diff line number Diff line change
Expand Up @@ -249,7 +249,7 @@ Files: src/streams/qtiocompressor.*
Copyright: 2009-2012, Nokia Corporation and/or its subsidiary(-ies)
License: LGPL-2.1 or GPL-3

Files: src/zxcvbn/zxcvbn.*
Files: src/thirdparty/zxcvbn/zxcvbn.*
Copyright: 2015-2017, Tony Evans
License: MIT

Expand Down
1 change: 0 additions & 1 deletion cmake/CLangFormat.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
set(EXCLUDED_DIRS
# third-party directories
src/thirdparty
src/zxcvbn
# objective-c directories
src/quickunlock/touchid
src/autotype/mac
Expand Down
1 change: 0 additions & 1 deletion codecov.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,5 @@ fixes:
ignore:
- "src/gui/styles/**"
- "src/thirdparty/**"
- "src/zxcvbn/**"
comment:
require_changes: true
14 changes: 0 additions & 14 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,20 +16,6 @@

include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})

find_library(ZXCVBN_LIBRARIES zxcvbn)
if(NOT ZXCVBN_LIBRARIES)
add_library(zxcvbn STATIC zxcvbn/zxcvbn.c)
# Disable error-level shadow issues
if(CC_HAS_Wshadow_compatible_local)
set_property(SOURCE zxcvbn/zxcvbn.c APPEND PROPERTY COMPILE_OPTIONS "-Wno-shadow-compatible-local")
endif()
if(CC_HAS_Wshadow_local)
set_property(SOURCE zxcvbn/zxcvbn.c APPEND PROPERTY COMPILE_OPTIONS "-Wno-shadow-local")
endif()
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/zxcvbn)
set(ZXCVBN_LIBRARIES zxcvbn)
endif(NOT ZXCVBN_LIBRARIES)

set(keepassx_SOURCES
core/Alloc.cpp
core/AutoTypeAssociations.cpp
Expand Down
2 changes: 1 addition & 1 deletion src/cli/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ set(cli_SOURCES
Show.cpp)

add_library(cli STATIC ${cli_SOURCES})
target_link_libraries(cli Qt5::Core)
target_link_libraries(cli ${ZXCVBN_LIBRARIES} Qt5::Core)

find_package(Readline)

Expand Down
9 changes: 9 additions & 0 deletions src/thirdparty/zxcvbn/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
add_library(zxcvbn STATIC zxcvbn.c)
# Disable error-level shadow issues
if(CC_HAS_Wshadow_compatible_local)
set_property(SOURCE zxcvbn.c APPEND PROPERTY COMPILE_OPTIONS "-Wno-shadow-compatible-local")
endif()
if(CC_HAS_Wshadow_local)
set_property(SOURCE zxcvbn.c APPEND PROPERTY COMPILE_OPTIONS "-Wno-shadow-local")
endif()
target_include_directories(zxcvbn PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
File renamed without changes.
File renamed without changes.
File renamed without changes.
2 changes: 1 addition & 1 deletion tests/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -249,7 +249,7 @@ if(WITH_XC_NETWORKING OR WITH_XC_BROWSER)
endif()

add_unit_test(NAME testcli SOURCES TestCli.cpp
LIBS testsupport cli ${TEST_LIBRARIES})
LIBS testsupport cli ${ZXCVBN_LIBRARIES} ${TEST_LIBRARIES})
target_compile_definitions(testcli PRIVATE KEEPASSX_CLI_PATH="$<TARGET_FILE:keepassxc-cli>")

if(WITH_GUI_TESTS)
Expand Down
2 changes: 1 addition & 1 deletion tests/TestCli.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@
#include "crypto/Crypto.h"
#include "keys/FileKey.h"
#include "keys/drivers/YubiKey.h"
#include "zxcvbn/zxcvbn.h"

#include "cli/Add.h"
#include "cli/AddGroup.h"
Expand Down Expand Up @@ -59,6 +58,7 @@
#include <QSignalSpy>
#include <QTest>
#include <QtConcurrent>
#include <zxcvbn.h>

QTEST_MAIN(TestCli)

Expand Down

0 comments on commit 9aa0406

Please sign in to comment.