Skip to content

Commit 9a05287

Browse files
committed
make kaitai rekordbox code a library
This makes it easier to ignore warnings in the autogenerated code. It also makes more sense since the `*.ksy` files are effectively vendored and the generated C++ files are autogenerated. Both something that doesn't belong in `src/`.
1 parent 7df39ab commit 9a05287

9 files changed

Lines changed: 10 additions & 31 deletions

File tree

CMakeLists.txt

Lines changed: 8 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -939,8 +939,6 @@ add_library(mixxx-lib STATIC EXCLUDE_FROM_ALL
939939
src/library/recording/dlgrecording.cpp
940940
src/library/recording/dlgrecording.ui
941941
src/library/recording/recordingfeature.cpp
942-
src/library/rekordbox/kaitaistructs/rekordbox_anlz.cpp
943-
src/library/rekordbox/kaitaistructs/rekordbox_pdb.cpp
944942
src/library/rekordbox/rekordboxfeature.cpp
945943
src/library/rhythmbox/rhythmboxfeature.cpp
946944
src/library/scanner/importfilestask.cpp
@@ -1576,26 +1574,6 @@ if(CMAKE_BUILD_TYPE STREQUAL "Debug")
15761574
message(STATUS "Enabling QML Debugging! This poses a security risk as Mixxx will open a TCP port for debugging")
15771575
endif()
15781576

1579-
# Disable warnings in generated source files
1580-
if(GNU_GCC OR LLVM_CLANG)
1581-
set_property(
1582-
SOURCE src/library/rekordbox/kaitaistructs/rekordbox_anlz.cpp
1583-
APPEND_STRING
1584-
PROPERTY COMPILE_OPTIONS -Wno-unused-parameter
1585-
)
1586-
set_property(
1587-
SOURCE src/library/rekordbox/kaitaistructs/rekordbox_pdb.cpp
1588-
APPEND_STRING
1589-
PROPERTY COMPILE_OPTIONS -Wno-unused-parameter -Wno-switch
1590-
)
1591-
elseif(MSVC)
1592-
set_property(
1593-
SOURCE src/library/rekordbox/kaitaistructs/rekordbox_pdb.cpp
1594-
APPEND_STRING
1595-
PROPERTY COMPILE_OPTIONS /wd4244
1596-
)
1597-
endif()
1598-
15991577
option(WARNINGS_PEDANTIC "Let the compiler show even more warnings" OFF)
16001578
if(MSVC)
16011579
if(WARNINGS_PEDANTIC)
@@ -2508,13 +2486,20 @@ target_link_libraries(mixxx-lib PRIVATE FpClassify)
25082486
find_package(mp3lame REQUIRED)
25092487
target_link_libraries(mixxx-lib PRIVATE mp3lame::mp3lame)
25102488

2489+
add_library(rekordbox_metadata STATIC EXCLUDE_FROM_ALL
2490+
lib/rekordbox-metadata/rekordbox_pdb.cpp
2491+
lib/rekordbox-metadata/rekordbox_anlz.cpp
2492+
)
2493+
target_include_directories(rekordbox_metadata SYSTEM PUBLIC lib/rekordbox-metadata)
2494+
target_link_libraries(mixxx-lib PRIVATE rekordbox_metadata)
2495+
25112496
# Kaitai for reading Rekordbox libraries
25122497
add_library(Kaitai STATIC EXCLUDE_FROM_ALL
25132498
lib/kaitai/kaitai/kaitaistream.cpp
25142499
)
25152500
target_include_directories(Kaitai SYSTEM PUBLIC lib/kaitai)
25162501
target_compile_definitions(Kaitai PRIVATE KS_STR_ENCODING_NONE)
2517-
target_link_libraries(mixxx-lib PRIVATE Kaitai)
2502+
target_link_libraries(rekordbox_metadata PRIVATE Kaitai)
25182503

25192504
# For determining MP3 timing offset cases in Rekordbox library feature
25202505
add_library(MP3GuessEnc STATIC EXCLUDE_FROM_ALL
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

src/library/rekordbox/kaitaistructs/.clang-tidy

Lines changed: 0 additions & 6 deletions
This file was deleted.

src/library/rekordbox/rekordboxfeature.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
#include "library/rekordbox/rekordboxfeature.h"
22

33
#include <mp3guessenc.h>
4+
#include <rekordbox_anlz.h>
5+
#include <rekordbox_pdb.h>
46

57
#include <QMap>
68
#include <QMessageBox>
@@ -13,8 +15,6 @@
1315
#include "library/dao/trackschema.h"
1416
#include "library/library.h"
1517
#include "library/queryutil.h"
16-
#include "library/rekordbox/kaitaistructs/rekordbox_anlz.h"
17-
#include "library/rekordbox/kaitaistructs/rekordbox_pdb.h"
1818
#include "library/rekordbox/rekordboxconstants.h"
1919
#include "library/trackcollection.h"
2020
#include "library/trackcollectionmanager.h"

0 commit comments

Comments
 (0)