summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/djinterop/enginelibrary/el_track_impl.cpp4
-rw-r--r--src/djinterop/impl/track_impl.hpp2
-rw-r--r--src/djinterop/track.cpp29
-rw-r--r--src/meson.build22
4 files changed, 24 insertions, 33 deletions
diff --git a/src/djinterop/enginelibrary/el_track_impl.cpp b/src/djinterop/enginelibrary/el_track_impl.cpp
index 3ab3d7e..6356dc7 100644
--- a/src/djinterop/enginelibrary/el_track_impl.cpp
+++ b/src/djinterop/enginelibrary/el_track_impl.cpp
@@ -504,8 +504,8 @@ void el_track_impl::set_import_info(
if (import_info)
{
set_cell("isExternalTrack", 1);
- set_cell("uuidOfExternalDatabase", import_info->external_db_uuid());
- set_cell("idTrackInExternalDatabase", import_info->external_track_id());
+ set_cell("uuidOfExternalDatabase", import_info->external_db_uuid);
+ set_cell("idTrackInExternalDatabase", import_info->external_track_id);
}
else
{
diff --git a/src/djinterop/impl/track_impl.hpp b/src/djinterop/impl/track_impl.hpp
index d4f086a..2279a78 100644
--- a/src/djinterop/impl/track_impl.hpp
+++ b/src/djinterop/impl/track_impl.hpp
@@ -29,7 +29,7 @@ namespace djinterop
{
class database;
class track;
-class track_import_info;
+struct track_import_info;
enum class musical_key;
class track_impl
diff --git a/src/djinterop/track.cpp b/src/djinterop/track.cpp
index e7ae768..972f89b 100644
--- a/src/djinterop/track.cpp
+++ b/src/djinterop/track.cpp
@@ -39,35 +39,6 @@ using std::chrono::system_clock;
namespace djinterop
{
-track_import_info::track_import_info() noexcept = default;
-
-track_import_info::track_import_info(
- std::string external_db_uuid, int64_t external_track_id) noexcept
- : external_db_uuid_{std::move(external_db_uuid)},
- external_track_id_{external_track_id}
-{
-}
-
-std::string& track_import_info::external_db_uuid()
-{
- return external_db_uuid_;
-}
-
-const std::string& track_import_info::external_db_uuid() const
-{
- return external_db_uuid_;
-}
-
-int64_t& track_import_info::external_track_id()
-{
- return external_track_id_;
-}
-
-const int64_t& track_import_info::external_track_id() const
-{
- return external_track_id_;
-}
-
track::track(const track& other) noexcept = default;
track::~track() = default;
diff --git a/src/meson.build b/src/meson.build
index e730244..a7a697b 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -24,13 +24,33 @@ sources = [
# Dependencies required by the main library.
core_deps = [thread_dep, dl_dep, sqlite3_dep, zlib_dep, boost_dep]
+if cpp_compiler.get_id() == 'msvc'
+ # Boost UUID on Windows uses bcrypt for random UUID generation.
+ bcrypt_dep = cpp_compiler.find_library('bcrypt')
+ core_deps += [bcrypt_dep]
+endif
+
# Used by unit tests to reference internal classes.
internal_inc = include_directories('.')
+# Set a compile-time definition that we are building the libdjinterop source.
+# This information is needed in `config.hpp` to determine whether public symbols
+# ought to be exported or imported.
+building_library_args = ['-DDJINTEROP_SOURCE']
+
+# Set hidden visibility arguments as required.
+hidden_visibility_args = []
+if get_option('default_library') != 'static'
+ if cpp_compiler.has_argument('-fvisibility=hidden')
+ hidden_visibility_args = ['-fvisibility=hidden']
+ endif
+endif
+
djinterop_lib = library(
'djinterop',
sources: sources,
include_directories: inc,
dependencies: core_deps,
- install: true)
+ install: true,
+ cpp_args: building_library_args + hidden_visibility_args)