set(DASHBOARDROUTES_SOURCES "APIRoutes.cpp" "StaticRoutes.cpp" "DashboardRoutes.cpp" "WSRoutes.cpp" "AuthRoutes.cpp" "ApiKeyRoutes.cpp" "GrantRoutes.cpp" "GuildRoutes.cpp" "RouteUtils.cpp" "PlayerActions.cpp" "AccountRoutes.cpp" "ClientAssets.cpp" "GameText.cpp" "MaintenanceRoutes.cpp" "ReportRoutes.cpp" "EconomyPlaces.cpp" "SecurityRoutes.cpp" "WebhookRoutes.cpp" "EconomyJobs.cpp" "LiveWorld.cpp" "LiveUpdateRoutes.cpp" "SettingsRoutes.cpp" "Background.cpp" "Scheduler.cpp" "SettingsCatalog.cpp" "BackupRoutes.cpp" "BackupFiles.cpp" "ReportViews.cpp" "CharacterTools.cpp" "CharacterRestore.cpp" "MissionTools.cpp" "CharacterProgress.cpp" "ServerRoutes.cpp" "LogBundle.cpp" "Traffic.cpp" "TrafficHistory.cpp" "NetworkView.cpp" "PerfHistory.cpp" "Performance.cpp" "LeaderboardRoutes.cpp" "VanityRoutes.cpp" "ChatRoutes.cpp" "ChatHistory.cpp" "ChatFlagRoutes.cpp" "ClientSysInfoRoutes.cpp" "ClientSysInfoView.cpp" "Strikes.cpp" "Inspector.cpp" "CaptureReplay.cpp" "CDClientBrowser.cpp" "SettingsHistory.cpp" "Announcements.cpp" "EventsCalendar.cpp" "LiveEventRoutes.cpp" "ChallengeRoutes.cpp" "InstanceLoad.cpp" "WorldView.cpp" "Scenery.cpp" "WorkerPool.cpp" "Workers.cpp" "AccountModeration.cpp" "ModerationTools.cpp" "ModeratorHelper.cpp" "../ai/ClaudeClient.cpp" "../ai/ModeratorPrompt.cpp" "PublicRoutes.cpp" "Showcase.cpp" "FeaturedProperties.cpp" "ContrabandRoutes.cpp" "UgcRoutes.cpp" "UgcLinks.cpp" "UgcFetch.cpp" "PropertyRentRoutes.cpp" "PasswordRecovery.cpp" "PrometheusMetrics.cpp" "../email/SmtpClient.cpp" "../email/EmailService.cpp" "../email/OAuth2.cpp" "../notify/WebhookFormat.cpp" "../notify/Alerts.cpp" # Shared with the world servers, which add items and models the same way "${PROJECT_SOURCE_DIR}/dGame/dUtilities/ObjectIDManager.cpp" ) add_library(DashboardRoutes STATIC ${DASHBOARDROUTES_SOURCES}) target_include_directories(DashboardRoutes PRIVATE "${PROJECT_SOURCE_DIR}/dCommon" "${PROJECT_SOURCE_DIR}/dCommon/dClient" "${PROJECT_SOURCE_DIR}/dCommon/dEnums" "${PROJECT_SOURCE_DIR}/dDatabase" "${PROJECT_SOURCE_DIR}/dDatabase/CDClientDatabase" "${PROJECT_SOURCE_DIR}/dDatabase/CDClientDatabase/CDClientTables" "${PROJECT_SOURCE_DIR}/dDatabase/GameDatabase" "${PROJECT_SOURCE_DIR}/dDatabase/GameDatabase/ITables" "${PROJECT_SOURCE_DIR}/dDatabase/GameDatabase/MySQL" "${PROJECT_SOURCE_DIR}/dNet" "${PROJECT_SOURCE_DIR}/dWeb" "${PROJECT_SOURCE_DIR}/dServer" "${PROJECT_SOURCE_DIR}/thirdparty" "${PROJECT_SOURCE_DIR}/thirdparty/nlohmann" "${PROJECT_SOURCE_DIR}/thirdparty/libbcrypt/include" "${PROJECT_SOURCE_DIR}/dDashboardServer/auth" "${PROJECT_SOURCE_DIR}/dDashboardServer/routes" "${PROJECT_SOURCE_DIR}/dDashboardServer/email" "${PROJECT_SOURCE_DIR}/dDashboardServer/notify" "${PROJECT_SOURCE_DIR}/dDashboardServer/ai" "${PROJECT_SOURCE_DIR}/dChatFilter" # word rules for the chat filter page "${PROJECT_SOURCE_DIR}/dGame/dUtilities" # ObjectIDManager.h ) execute_process(COMMAND git rev-parse --short HEAD WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} OUTPUT_VARIABLE DLU_GIT_COMMIT OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET) if(NOT DLU_GIT_COMMIT) set(DLU_GIT_COMMIT "unknown") endif() target_compile_definitions(DashboardRoutes PRIVATE PROJECT_VERSION="\"${PROJECT_VERSION}\"" DLU_GIT_COMMIT="${DLU_GIT_COMMIT}") target_link_libraries(DashboardRoutes PRIVATE ${COMMON_LIBRARIES} dWeb dServer dUgc sqlite3 OpenSSL::Crypto CURL::libcurl)