# qtcreator generated files
*.pro.user
*.pro.user.*
+CMakeLists.txt.user
*.autosave
*.files
*.creator
# ---------------------
build
+cmakebuild
debug
release
lib/qtsingleapplication/lib
qtc-gdbmacros
test-data
-# Binaries
-# --------
-build/*.dll
-build/*.lib
-build/*.exe
-build/*.so*
-
-
--- /dev/null
+cmake_minimum_required(VERSION 3.8 FATAL_ERROR)
+include(FeatureSummary)
+
+project(LocalMyList)
+
+set(QT_MIN_VERSION "5.3.0")
+
+option(WITH_ANIONI "Build anioni daemon" ON)
+add_feature_info(Anioni WITH_ANIONI "friendly LocalMyList daemon")
+
+option(WITH_GUI "Build LocalMyList management gui" ON)
+add_feature_info(Gui WITH_GUI "the main UI to manage LocalMyList")
+
+option(WITH_TOOLS "Build LocalMyList tools" ON)
+add_feature_info(Tools WITH_GUI "miscellanious tools to perform various management operations from the command line")
+
+option(WITH_RUNSCRIPT "Build LocalMyList runscript" ON)
+add_feature_info(Runscript WITH_RUNSCRIPT "tool to run custom JavaScript scripts with full access to the LocalMyList API")
+
+option(WITH_ANIDBUDPCLIENT "Build with AniDBUdpClient" ON)
+add_feature_info(AniDBUdpClient WITH_ANIDBUDPCLIENT "required for adding and/or renaming files")
+
+set(TOOL_PREFIX "lml-" CACHE STRING "Prefix for most tool executable names")
+
+
+add_subdirectory(localmylist)
+
+if(${WITH_ANIONI})
+ add_subdirectory(anioni)
+endif()
+if(${WITH_GUI})
+ add_subdirectory(localmylist-management)
+endif()
+if(${WITH_TOOLS})
+ add_subdirectory(import-titles)
+ add_subdirectory(import-mylist)
+ add_subdirectory(play-next)
+endif()
+if(${WITH_SCRIPT})
+ add_subdirectory(runscript)
+endif()
+
+feature_summary(WHAT ALL)
--- /dev/null
+project(anioni)
+
+add_subdirectory("qtservice")
+
+find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS
+ Core
+)
+
+if (WITH_ANIDBUDPCLIENT)
+ find_package(AniDBUdpClient CONFIG REQUIRED)
+endif()
+
+set(anioni_LIBS
+ Qt5::Core
+ LocalMyList::LocalMyList
+ AniDBUdpClient::AniDBUdpClient
+ qtservice
+)
+
+set(anioni_SOURCES
+ main.cpp
+ anioni.cpp
+)
+
+set(anioni_HEADERS
+ anioni.h
+)
+
+if(NOT AniDBUdpClient_FOUND)
+ add_definitions(-DLOCALMYLIST_NO_ANIDBUDPCLIENT)
+endif()
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTOUIC ON)
+set(CMAKE_AUTORCC ON)
+
+add_executable(anioni
+ ${anioni_SOURCES}
+ ${anioni_HEADERS}
+)
+
+set_property(TARGET anioni PROPERTY CXX_STANDARD 14)
+set_property(TARGET anioni PROPERTY OUTPUT_NAME "anioni")
+target_link_libraries(anioni ${anioni_LIBS})
+
+install(TARGETS anioni
+ LIBRARY DESTINATION lib${LIB_SUFFIX}
+ ARCHIVE DESTINATION lib${LIB_SUFFIX}
+ RUNTIME DESTINATION bin
+)
+if(WIN32)
+ install(FILES $<TARGET_PDB_FILE:anioni> DESTINATION bin OPTIONAL)
+endif()
--- /dev/null
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+set(CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE ON)
+project(qtservice)
+
+if(WIN32)
+ find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS
+ Core
+ )
+else()
+ find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS
+ Core
+ Network
+ )
+endif()
+
+set(qtservice_LIBS
+ Qt5::Core
+)
+
+set(qtservice_SOURCES
+ qtservice.cpp
+)
+
+set(qtservice_HEADERS
+ qtservice.h
+ qtservice_p.h
+
+)
+
+if(WIN32)
+ set(qtservice_SOURCES
+ ${qtservice_SOURCES}
+ qtservice_win.cpp
+ )
+else()
+ set(qtservice_SOURCES
+ ${qtservice_SOURCES}
+ qtservice_unix.cpp
+ qtunixsocket.cpp
+ qtunixserversocket.cpp
+ )
+ set(qtservice_LIBS
+ ${qtservice_LIBS}
+ Qt5::Network
+ )
+ set(qtservice_HEADERS
+ ${qtservice_HEADERS}
+ qtunixsocket.h
+ qtunixserversocket.h
+ )
+endif()
+
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTOUIC ON)
+set(CMAKE_AUTORCC ON)
+
+add_library(qtservice STATIC
+ ${qtservice_SOURCES}
+ ${qtservice_HEADERS}
+)
+
+set_property(TARGET qtservice PROPERTY CXX_STANDARD 14)
+target_link_libraries(qtservice ${qtservice_LIBS})
+if(WIN32)
+ add_definitions(-DUNICODE -D_UNICODE)
+endif()
+
--- /dev/null
+project(import-mylist)
+
+find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS
+ Core
+)
+
+set(import-mylist_LIBS
+ Qt5::Core
+ LocalMyList::LocalMyList
+)
+
+set(import-mylist_SOURCES
+ main.cpp
+)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTOUIC ON)
+set(CMAKE_AUTORCC ON)
+
+add_executable(import-mylist
+ ${import-mylist_SOURCES}
+)
+
+set_property(TARGET import-mylist PROPERTY CXX_STANDARD 14)
+set_property(TARGET import-mylist PROPERTY OUTPUT_NAME "${TOOL_PREFIX}import-mylist")
+target_link_libraries(import-mylist ${import-mylist_LIBS})
+
+install(TARGETS import-mylist
+ LIBRARY DESTINATION lib${LIB_SUFFIX}
+ ARCHIVE DESTINATION lib${LIB_SUFFIX}
+ RUNTIME DESTINATION bin
+)
+if(WIN32)
+ install(FILES $<TARGET_PDB_FILE:import-mylist> DESTINATION bin OPTIONAL)
+endif()
--- /dev/null
+project(import-titles)
+
+find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS
+ Core
+)
+
+set(import-titles_LIBS
+ Qt5::Core
+ LocalMyList::LocalMyList
+)
+
+set(import-titles_SOURCES
+ main.cpp
+)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTOUIC ON)
+set(CMAKE_AUTORCC ON)
+
+add_executable(import-titles
+ ${import-titles_SOURCES}
+)
+
+set_property(TARGET import-titles PROPERTY CXX_STANDARD 14)
+set_property(TARGET import-titles PROPERTY OUTPUT_NAME "${TOOL_PREFIX}import-titles")
+target_link_libraries(import-titles ${import-titles_LIBS})
+
+install(TARGETS import-titles
+ LIBRARY DESTINATION lib${LIB_SUFFIX}
+ ARCHIVE DESTINATION lib${LIB_SUFFIX}
+ RUNTIME DESTINATION bin
+)
+if(WIN32)
+ install(FILES $<TARGET_PDB_FILE:import-titles> DESTINATION bin OPTIONAL)
+endif()
--- /dev/null
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+project(LocalMyList-management)
+
+set(LocalMyList-management_VERSION "0.4.0")
+
+add_subdirectory("qtsingleapplication")
+
+find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS
+ Core
+ Gui
+ Widgets
+)
+
+set(LocalMyList-management_LIBS
+ Qt5::Core
+ Qt5::Gui
+ Qt5::Widgets
+ LocalMyList::LocalMyList
+ qtsingleapplication
+)
+
+if(WITH_ANIDBUDPCLIENT)
+ find_package(AniDBUdpClient CONFIG REQUIRED)
+endif()
+
+set(LocalMyList-management_SOURCES
+ main.cpp
+ mainwindow.cpp
+ databaseconnectiondialog.cpp
+ mylistview.cpp
+ mylistfiltermodel.cpp
+ reporteditordialog.cpp
+ versiondialog.cpp
+ mylistitemdelegate.cpp
+ filterlineedit.cpp
+ tabwidget.cpp
+ abstracttab.cpp
+ tabs/mylisttab.cpp
+ tabs/searchtab.cpp
+ tabs/reportstab.cpp
+ tabs/unknownfilestab.cpp
+ tabs/pendingrequesttab.cpp
+ registertabs.cpp
+ tabs/databaselogtab.cpp
+ tabs/clientlogtab.cpp
+ tabs/dynamicmodeltab.cpp
+ tabs/pathmappingtab.cpp
+ tabs/hosttab.cpp
+ tabs/watcheddirectoriestab.cpp
+ fonts.cpp
+ aniaddsyntaxhighlighter.cpp
+ settingsdialog.cpp
+ codeeditor.cpp
+ dynamicmodelfiltermodel.cpp
+ dynamicmodelview.cpp
+ dynamicmodelitemdelegate.cpp
+
+ mainwindow.ui
+ databaseconnectiondialog.ui
+ settingsdialog.ui
+ tabs/mylisttab.ui
+ tabs/searchtab.ui
+ tabs/reportstab.ui
+ tabs/unknownfilestab.ui
+ tabs/pendingrequesttab.ui
+ tabs/databaselogtab.ui
+ tabs/clientlogtab.ui
+ tabs/dynamicmodeltab.ui
+ tabs/pathmappingtab.ui
+ tabs/hosttab.ui
+ tabs/watcheddirectoriestab.ui
+
+ resources.qrc
+
+# localmylist-management.rc
+)
+
+set(LocalMyList-management_HEADERS
+ mainwindow.h
+ databaseconnectiondialog.h
+ mylistview.h
+ mylistfiltermodel.h
+ reporteditordialog.h
+ versiondialog.h
+ mylistitemdelegate.h
+ filterlineedit.h
+ tabwidget.h
+ abstracttab.h
+ tabs/mylisttab.h
+ tabs/searchtab.h
+ tabs/reportstab.h
+ tabs/unknownfilestab.h
+ tabs/pendingrequesttab.h
+ tabs/databaselogtab.h
+ tabs/clientlogtab.h
+ tabs/dynamicmodeltab.h
+ tabs/pathmappingtab.h
+ tabs/hosttab.h
+ tabs/watcheddirectoriestab.h
+ fonts.h
+ aniaddsyntaxhighlighter.h
+ settingsdialog.h
+ codeeditor.h
+ dynamicmodelfiltermodel.h
+ dynamicmodelview.h
+ dynamicmodelitemdelegate.h
+)
+
+if(AniDBUdpClient_FOUND)
+ set(LocalMyList-management_SOURCES
+ ${LocalMyList-management_SOURCES}
+ renamesettingsdialog.cpp
+
+ renamesettingsdialog.ui
+ )
+
+ set(LocalMyList-management_HEADERS
+ ${LocalMyList-management_HEADERS}
+ renamesettingsdialog.h
+ )
+ set(LocalMyList-management_CONV_HEADERS
+ ${LocalMyList-management_CONV_HEADERS}
+ include/LocalMyList/RenameUtils
+ include/LocalMyList/RequestHandler
+ )
+
+ set(LocalMyList-management_LIBS
+ ${LocalMyList-management_LIBS}
+ AniDBUdpClient::AniDBUdpClient
+ )
+else()
+ add_definitions(-DLOCALMYLIST_NO_ANIDBUDPCLIENT)
+endif()
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTOUIC ON)
+set(CMAKE_AUTORCC ON)
+
+add_executable(LocalMyList-management WIN32
+ ${LocalMyList-management_SOURCES}
+ ${LocalMyList-management_HEADERS}
+)
+set_property(TARGET LocalMyList-management PROPERTY CXX_STANDARD 14)
+set_property(TARGET LocalMyList-management PROPERTY PUBLIC_HEADER ${LocalMyList_PUBLIC_HEADERS})
+set_property(TARGET LocalMyList-management PROPERTY OUTPUT_NAME "localmylist-management")
+target_link_libraries(LocalMyList-management ${LocalMyList-management_LIBS})
+
+install(TARGETS LocalMyList-management
+ LIBRARY DESTINATION lib${LIB_SUFFIX}
+ ARCHIVE DESTINATION lib${LIB_SUFFIX}
+ RUNTIME DESTINATION bin
+)
+if(WIN32)
+ install(FILES $<TARGET_PDB_FILE:LocalMyList-management> DESTINATION bin OPTIONAL)
+endif()
--- /dev/null
+set(CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE ON)
+project(qtsingleapplication)
+
+find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS
+ Core
+ Widgets
+ Network
+)
+
+set(qtsingleapplication_LIBS
+ Qt5::Core
+ Qt5::Widgets
+ Qt5::Network
+)
+
+set(qtsingleapplication_SOURCES
+ qtsingleapplication.cpp
+ qtlocalpeer.cpp
+)
+
+set(qtsingleapplication_HEADERS
+ qtsingleapplication.h
+ qtlocalpeer.h
+)
+
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTOUIC ON)
+set(CMAKE_AUTORCC ON)
+
+add_library(qtsingleapplication STATIC
+ ${qtsingleapplication_SOURCES}
+ ${qtsingleapplication_HEADERS}
+)
+
+set_property(TARGET qtsingleapplication PROPERTY CXX_STANDARD 14)
+target_link_libraries(qtsingleapplication ${qtsingleapplication_LIBS})
+if(WIN32)
+ add_definitions(-DUNICODE -D_UNICODE)
+endif()
+
--- /dev/null
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+set(CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE ON)
+project(LocalMyList)
+
+set(LocalMyList_VERSION "0.4.0")
+
+find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS
+ Core
+ Widgets
+ Sql
+ Script
+)
+
+find_package(Boost REQUIRED)
+set_package_properties(Boost PROPERTIES
+ PURPOSE "Boost intrusive is used in dynamicmodel"
+)
+
+set(LocalMyList_PUBLIC_LIBS
+ Qt5::Core
+ Qt5::Sql
+)
+
+set(LocalMyList_LIBS
+ Qt5::Script
+ Boost::boost
+)
+
+if(WITH_ANIDBUDPCLIENT)
+ find_package(AniDBUdpClient CONFIG REQUIRED)
+endif()
+
+set(LocalMyList_SOURCES
+ database.cpp
+ workthread.cpp
+ addfiletask.cpp
+ abstracttask.cpp
+ directoryscantask.cpp
+ mylist.cpp
+ mylistmodel.cpp
+ mylistnode.cpp
+ mylistnodedata.cpp
+ animetitleparsetask.cpp
+ mylistexportparsetask.cpp
+ settings.cpp
+ unknownfilelookuptask.cpp
+ directorywatcher.cpp
+ addrelatedepisodestask.cpp
+ scriptablesql.cpp
+ reportengine.cpp
+ databaseclasses.cpp
+ sqlquery.cpp
+ sqlasyncquery.cpp
+ sqlasyncqueryinternal.cpp
+ filelocationchecktask.cpp
+ messagehandler.cpp
+ asyncquerytask.cpp
+ service.cpp
+ raiimylist.cpp
+ servicemanager.cpp
+ dynamicmodel/data.cpp
+ dynamicmodel/node.cpp
+ dynamicmodel/model.cpp
+ dynamicmodel/datatype.cpp
+ dynamicmodel/types.cpp
+ dynamicmodel/datamodel.cpp
+ dynamicmodel/typerelation.cpp
+ dynamicmodel/queryparser.cpp
+
+ scriptable.cpp
+)
+
+set(LocalMyList_PUBLIC_HEADERS
+ localmylist_global.h
+ database.h
+ workthread.h
+ addfiletask.h
+ abstracttask.h
+ directoryscantask.h
+ mylist.h
+ mylistmodel.h
+ mylistnode.h
+ mylistnodedata.h
+ animetitleparsetask.h
+ mylistexportparsetask.h
+ settings.h
+ unknownfilelookuptask.h
+ directorywatcher.h
+ addrelatedepisodestask.h
+ scriptablesql.h
+ reportengine.h
+ databaseclasses.h
+ sqlquery.h
+ sqlasyncquery.h
+ sqlasyncqueryinternal.h
+ asyncquerytask.h
+ filelocationchecktask.h
+ sqlresultiteratorinterface.h
+ service.h
+ servicemanager.h
+ raiimylist.h
+ dynamicmodel/data.h
+ dynamicmodel/node.h
+ dynamicmodel/model.h
+ dynamicmodel/datatype.h
+ dynamicmodel/dynamicmodel_global.h
+ dynamicmodel/types.h
+ dynamicmodel/datamodel.h
+ dynamicmodel/typerelation.h
+ dynamicmodel/queryparser.h
+
+ scriptable.h
+)
+
+set(LocalMyList_CONV_HEADERS
+ include/LocalMyList/AbstractTask
+ include/LocalMyList/AddFileTask
+ include/LocalMyList/AddRelatedEpisodesTask
+ include/LocalMyList/AnimeTitleParseTask
+ include/LocalMyList/Database
+ include/LocalMyList/SqlQuery
+ include/LocalMyList/DirectoryScanTask
+ include/LocalMyList/MyList
+ include/LocalMyList/MyListExportParseTask
+ include/LocalMyList/MyListModel
+ include/LocalMyList/MyListNode
+ include/LocalMyList/Service
+ include/LocalMyList/ServiceManager
+ include/LocalMyList/Settings
+ include/LocalMyList/UnknownFileLookupTask
+ include/LocalMyList/UnknownFileLookupTask
+ include/LocalMyList/FileLocationCheckTask
+ include/LocalMyList/RequestHandler
+ include/LocalMyList/DirectoryWatcher
+ include/LocalMyList/RaiiMyList
+)
+
+install(FILES ${LocalMyList_CONV_HEADERS}
+ DESTINATION include/LocalMyList
+)
+
+set(LocalMyList_SHARE
+ share/schema/schema.sql
+ share/schema/default_config.sql
+)
+
+install(FILES ${LocalMyList_SHARE}
+ DESTINATION share/LocalMyList
+)
+
+if(NOT AniDBUdpClient_WITH_RENAMEPARSER)
+ message(FATAL_ERROR "AniDBUdpClient must be compiled with WITH_RENAMEPARSER")
+endif()
+
+if(AniDBUdpClient_FOUND)
+ set(LocalMyList_SOURCES
+ ${LocalMyList_SOURCES}
+ requesthandler.cpp
+ renamehandler.cpp
+ renameutils.cpp
+ )
+
+ set(LocalMyList_PUBLIC_HEADERS
+ ${LocalMyList_PUBLIC_HEADERS}
+ requesthandler.h
+ renamehandler.h
+ renameutils.h
+ )
+ set(LocalMyList_CONV_HEADERS
+ ${LocalMyList_CONV_HEADERS}
+ include/LocalMyList/RenameUtils
+ include/LocalMyList/RequestHandler
+ )
+
+ set(LocalMyList_LIBS
+ ${LocalMyList_LIBS}
+ AniDBUdpClient::AniDBUdpClient
+ )
+else()
+ add_definitions(-DLOCALMYLIST_NO_ANIDBUDPCLIENT)
+endif()
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTOUIC ON)
+set(CMAKE_AUTORCC ON)
+
+add_library(LocalMyList SHARED
+ ${LocalMyList_SOURCES}
+ ${LocalMyList_HEADERS}
+ ${LocalMyList_PUBLIC_HEADERS}
+)
+add_library(LocalMyList::LocalMyList ALIAS LocalMyList)
+set_property(TARGET LocalMyList PROPERTY CXX_STANDARD 14)
+set_property(TARGET LocalMyList PROPERTY PUBLIC_HEADER ${LocalMyList_PUBLIC_HEADERS})
+set_property(TARGET LocalMyList PROPERTY OUTPUT_NAME "localmylist")
+target_link_libraries(LocalMyList
+ PUBLIC ${LocalMyList_PUBLIC_LIBS}
+ PRIVATE ${LocalMyList_LIBS})
+
+# This is the Qt generated export macro
+# TODO replace with export header?
+add_definitions(-DLOCALMYLIST_LIBRARY)
+
+set(CONFIG_INSTALL_DIRECTORY "lib${LIB_SUFFIX}/cmake/LocalMyList")
+
+install(TARGETS LocalMyList
+ EXPORT LocalMyListTargets
+ LIBRARY DESTINATION lib${LIB_SUFFIX}
+ ARCHIVE DESTINATION lib${LIB_SUFFIX}
+ RUNTIME DESTINATION bin
+ INCLUDES DESTINATION include/LocalMyList
+ PUBLIC_HEADER DESTINATION include/LocalMyList
+)
+if(WIN32)
+ install(FILES $<TARGET_PDB_FILE:LocalMyList> DESTINATION bin OPTIONAL)
+endif()
+
+# Config file
+set(CONFIG_NAME "${PROJECT_NAME}")
+
+install(EXPORT LocalMyListTargets
+ FILE LocalMyListTargets.cmake
+ NAMESPACE LocalMyList::
+ DESTINATION ${CONFIG_INSTALL_DIRECTORY}
+)
+
+include(CMakePackageConfigHelpers)
+configure_package_config_file(${CONFIG_NAME}Config.cmake.in
+ ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}Config.cmake
+ INSTALL_DESTINATION ${LIB_INSTALL_DIR}/${CONFIG_NAME}/cmake
+)
+write_basic_package_version_file(LocalMyListConfigVersion.cmake
+ VERSION ${LocalMyList_VERSION}
+ COMPATIBILITY SameMajorVersion
+)
+
+install(FILES
+ "${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}Config.cmake"
+ "${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}ConfigVersion.cmake"
+ DESTINATION ${CONFIG_INSTALL_DIRECTORY}
+)
--- /dev/null
+@PACKAGE_INIT@
+
+# TODO when CMake can automatically find transitive deps, this can be removed
+include(CMakeFindDependencyMacro)
+
+# TODO find_dependency with components is nonstandard
+find_dependency(Qt5Sql)
+
+include("${CMAKE_CURRENT_LIST_DIR}/@CONFIG_NAME@Targets.cmake")
+
+check_required_components(@CONFIG_NAME@)
-#include "../../abstracttask.h"
+#include "abstracttask.h"
-#include "../../addfiletask.h"
+#include "addfiletask.h"
-#include "../../addrelatedepisodestask.h"
+#include "addrelatedepisodestask.h"
-#include "../../animetitleparsetask.h"
+#include "animetitleparsetask.h"
-#include "../../database.h"
+#include "database.h"
-#include "../../directoryscan.h"
+#include "directoryscan.h"
-#include "../../directorywatcher.h"
+#include "directorywatcher.h"
-#include "../../filelocationchecktask.h"
\ No newline at end of file
+#include "filelocationchecktask.h"
\ No newline at end of file
-#include "../../mylist.h"
+#include "mylist.h"
-#include "../../mylistexportparsetask.h"
+#include "mylistexportparsetask.h"
-#include "../../mylistmodel.h"
+#include "mylistmodel.h"
-#include "../../mylistnode.h"
+#include "mylistnode.h"
-#include "../../raiimylist.h"
+#include "raiimylist.h"
-#include "../../renameutils.h"
+#include "renameutils.h"
-#include "../../requesthandler.h"
+#include "requesthandler.h"
-#include "../../service.h"
+#include "service.h"
-#include "../../servicemanager.h"
+#include "servicemanager.h"
-#include "../../settings.h"
+#include "settings.h"
-#include "../../sqlasyncquery.h"
+#include "sqlasyncquery.h"
-#include "../../sqlquery.h"
+#include "sqlquery.h"
-#include "../../unknownfilelookuptask.h"
+#include "unknownfilelookuptask.h"
--- /dev/null
+project(play-next)
+
+find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS
+ Core
+)
+
+set(play-next_LIBS
+ Qt5::Core
+ LocalMyList::LocalMyList
+)
+
+set(play-next_SOURCES
+ main.cpp
+)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTOUIC ON)
+set(CMAKE_AUTORCC ON)
+
+add_executable(play-next
+ ${play-next_SOURCES}
+)
+
+set_property(TARGET play-next PROPERTY CXX_STANDARD 14)
+# NOTE play-next did not have a prefix
+set_property(TARGET play-next PROPERTY OUTPUT_NAME "play-next")
+target_link_libraries(play-next ${play-next_LIBS})
+
+install(TARGETS play-next
+ LIBRARY DESTINATION lib${LIB_SUFFIX}
+ ARCHIVE DESTINATION lib${LIB_SUFFIX}
+ RUNTIME DESTINATION bin
+)
+if(WIN32)
+ install(FILES $<TARGET_PDB_FILE:play-next> DESTINATION bin OPTIONAL)
+endif()
--- /dev/null
+project(runscript)
+
+set(QT_MIN_VERSION "5.3.0")
+
+find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS
+ Core
+ Script
+)
+
+set(runscript_LIBS
+ Qt5::Core
+ Qt5::Script
+ LocalMyList::LocalMyList
+)
+
+set(runscript_SOURCES
+ main.cpp
+)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTOUIC ON)
+set(CMAKE_AUTORCC ON)
+
+add_executable(runscript
+ ${runscript_SOURCES}
+)
+
+set_property(TARGET runscript PROPERTY CXX_STANDARD 14)
+set_property(TARGET runscript PROPERTY OUTPUT_NAME "${TOOL_PREFIX}runscript")
+target_link_libraries(runscript ${runscript_LIBS})
+
+install(TARGETS runscript
+ LIBRARY DESTINATION lib${LIB_SUFFIX}
+ ARCHIVE DESTINATION lib${LIB_SUFFIX}
+ RUNTIME DESTINATION bin
+)
+install(FILES $<TARGET_PDB_FILE:runscript> DESTINATION bin OPTIONAL)