mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-11 16:51:29 +00:00
Going through and cleaning up the build.
This commit is contained in:
parent
612a248612
commit
6027c56d9e
181
CMakeLists.txt
181
CMakeLists.txt
@ -37,21 +37,10 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||
|
||||
option(EQEMU_BUILD_PCH "Build with precompiled headers (Windows)" ON)
|
||||
option(EQEMU_ADD_PROFILER "Link with Google perftools profiler" OFF)
|
||||
option(USE_MAP_MMFS "Use memory-mapped files for maps" OFF)
|
||||
|
||||
# Requires libgoogle-perftools-dev google-perftools packages for linux (debian)
|
||||
if(EQEMU_ADD_PROFILER)
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-Wl,--no-as-needed,-lprofiler,--as-needed")
|
||||
endif()
|
||||
|
||||
if(USE_MAP_MMFS)
|
||||
add_definitions(-DUSE_MAP_MMFS)
|
||||
endif()
|
||||
|
||||
if(MSVC)
|
||||
add_compile_options(/bigobj)
|
||||
add_definitions(-D_CRT_SECURE_NO_WARNINGS -DNOMINMAX -DCRASH_LOGGING -D_HAS_AUTO_PTR_ETC)
|
||||
add_compile_definitions(_CRT_SECURE_NO_WARNINGS NOMINMAX CRASH_LOGGING _HAS_AUTO_PTR_ETC)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP")
|
||||
|
||||
option(EQEMU_DISABLE_MSVC_WARNINGS "Disable MSVC compile warnings." ON)
|
||||
@ -59,26 +48,22 @@ if(MSVC)
|
||||
add_compile_options(/W0 /wd4005 /wd4996 /nologo /Os)
|
||||
endif()
|
||||
else()
|
||||
add_definitions(-DHAS_UNION_SEMUN)
|
||||
add_compile_definitions(HAS_UNION_SEMUN)
|
||||
endif()
|
||||
|
||||
#FreeBSD support
|
||||
if(UNIX)
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
|
||||
add_definitions(-DFREEBSD)
|
||||
add_definitions(-D_GLIBCXX_USE_C99)
|
||||
add_compile_definitions(FREEBSD)
|
||||
add_compile_definitions(_GLIBCXX_USE_C99)
|
||||
set(FREEBSD TRUE)
|
||||
endif()
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
|
||||
add_definitions(-DDARWIN)
|
||||
add_compile_definitions(DARWIN)
|
||||
set(DARWIN TRUE)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
add_definitions(-DGLM_FORCE_RADIANS)
|
||||
add_definitions(-DGLM_FORCE_CTOR_INIT)
|
||||
add_definitions(-DGLM_ENABLE_EXPERIMENTAL)
|
||||
|
||||
find_package(Boost REQUIRED COMPONENTS dynamic_bitset foreach tuple)
|
||||
find_package(cereal CONFIG REQUIRED)
|
||||
find_package(fmt CONFIG REQUIRED)
|
||||
@ -133,75 +118,22 @@ message(STATUS "PERL_LIBRARIES: ${PERL_LIBRARIES}")
|
||||
message(STATUS "PERL_VERSION: ${PERL_VERSION}")
|
||||
message(STATUS "**************************************************")
|
||||
|
||||
include_directories(SYSTEM "${CMAKE_CURRENT_SOURCE_DIR}/submodules/websocketpp")
|
||||
|
||||
add_definitions(-DBOOST_BIND_GLOBAL_PLACEHOLDERS)
|
||||
|
||||
#options
|
||||
option(EQEMU_COMMANDS_LOGGING "Enable GM Command logs" ON)
|
||||
option(EQEMU_BUILD_SERVER "Build the game server." ON)
|
||||
option(EQEMU_BUILD_LOGIN "Build the login server." ON)
|
||||
option(EQEMU_BUILD_TESTS "Build utility tests." OFF)
|
||||
option(EQEMU_BUILD_CLIENT_FILES "Build Client Import/Export Data Programs." ON)
|
||||
option(EQEMU_PREFER_LUA "Build with normal Lua even if LuaJIT is found." OFF)
|
||||
|
||||
#PRNG options
|
||||
option(EQEMU_ADDITIVE_LFIB_PRNG "Use Additive LFib for PRNG." OFF)
|
||||
mark_as_advanced(EQEMU_ADDITIVE_LFIB_PRNG)
|
||||
option(EQEMU_BIASED_INT_DIST "Use biased int dist instead of uniform." OFF)
|
||||
mark_as_advanced(EQEMU_BIASED_INT_DIST)
|
||||
set(EQEMU_CUSTOM_PRNG_ENGINE "" CACHE STRING "Custom random engine. (ex. std::default_random_engine)")
|
||||
mark_as_advanced(EQEMU_CUSTOM_PRNG_ENGINE)
|
||||
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
option(EQEMU_SFMT19937 "Use GCC's extention for SIMD Fast MT19937." OFF)
|
||||
mark_as_advanced(EQEMU_SFMT19937)
|
||||
endif()
|
||||
|
||||
if(EQEMU_ADDITIVE_LFIB_PRNG)
|
||||
add_definitions(-DUSE_ADDITIVE_LFIB_PRNG)
|
||||
if(EQEMU_SFMT19937)
|
||||
message(STATUS "SFMT19937 and ADDITITVE_LFIB_PRNG both set, SFMT19937 ignored.")
|
||||
set(EQEMU_SFMT19937 OFF)
|
||||
endif()
|
||||
if(NOT EQEMU_CUSTOM_PRNG_ENGINE STREQUAL "")
|
||||
message(STATUS "CUSTOM_PRNG_ENGINE and ADDITITVE_LFIB_PRNG both set, CUSTOM_PRNG_ENGINE ignored.")
|
||||
set(EQEMU_CUSTOM_PRNG_ENGINE "")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(EQEMU_SFMT19937)
|
||||
add_definitions(-DUSE_SFMT19937)
|
||||
if(NOT EQEMU_CUSTOM_PRNG_ENGINE STREQUAL "")
|
||||
message(STATUS "CUSTOM_PRNG_ENGINE and SFMT19937 both set, CUSTOM_PRNG_ENGINE ignored.")
|
||||
set(EQEMU_CUSTOM_PRNG_ENGINE "")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(NOT EQEMU_CUSTOM_PRNG_ENGINE STREQUAL "")
|
||||
add_definitions(-DUSE_CUSTOM_PRNG_ENGINE=${EQEMU_CUSTOM_PRNG_ENGINE})
|
||||
endif()
|
||||
|
||||
if(EQEMU_BIASED_INT_DIST)
|
||||
add_definitions(-DBIASED_INT_DIST)
|
||||
endif()
|
||||
|
||||
if(EQEMU_COMMANDS_LOGGING)
|
||||
add_definitions(-DCOMMANDS_LOGGING)
|
||||
endif()
|
||||
|
||||
if(${OPENSSL_VERSION} VERSION_GREATER_EQUAL "1.1.1")
|
||||
add_compile_definitions(CPPHTTPLIB_OPENSSL_SUPPORT)
|
||||
endif()
|
||||
|
||||
if(PerlLibs_FOUND)
|
||||
set(PERL_LIBRARY_TYPE " Perl")
|
||||
set(PERL_LIBRARY_ENABLED ON)
|
||||
set(PERL_LIBRARY_LIBS ${PERL_LIBRARY})
|
||||
set(PERL_LIBRARY_INCLUDE ${PERL_INCLUDE_PATH})
|
||||
option(EQEMU_BUILD_PERL "Build Perl parser." ON)
|
||||
|
||||
if(EQEMU_BUILD_PERL)
|
||||
set(PERL_LIBRARY_TYPE " Perl")
|
||||
else()
|
||||
set(PERL_LIBRARY_TYPE " Missing")
|
||||
endif()
|
||||
else()
|
||||
set(PERL_LIBRARY_TYPE "Disabled")
|
||||
set(PERL_LIBRARY_ENABLED OFF)
|
||||
endif()
|
||||
|
||||
message(STATUS "")
|
||||
@ -215,74 +147,33 @@ message(STATUS "* Perl: ${PERL_LIBRARY_TYPE} *")
|
||||
message(STATUS "* zlib: ZLIB *")
|
||||
message(STATUS "**************************************************")
|
||||
|
||||
|
||||
option(EQEMU_BUILD_LUA "Build Lua parser." ON)
|
||||
|
||||
if(EQEMU_BUILD_LUA)
|
||||
add_definitions(-DLUA_EQEMU)
|
||||
|
||||
include_directories(SYSTEM "${LUAJIT_INCLUDE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/libs/luabind")
|
||||
|
||||
option(EQEMU_SANITIZE_LUA_LIBS "Sanitize Lua Libraries (Remove OS and IO standard libraries from being able to run)." ON)
|
||||
if(EQEMU_SANITIZE_LUA_LIBS)
|
||||
add_definitions(-DSANITIZE_LUA_LIBS)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(SERVER_LIBS common)
|
||||
|
||||
if(PERL_LIBRARY_ENABLED)
|
||||
option(EQEMU_BUILD_PERL "Build Perl parser." ON)
|
||||
if(EQEMU_BUILD_PERL)
|
||||
set(SERVER_LIBS ${SERVER_LIBS} ${PERL_LIBRARY_LIBS} perlbind)
|
||||
INCLUDE_DIRECTORIES(SYSTEM "${PERL_LIBRARY_INCLUDE}" "${CMAKE_CURRENT_SOURCE_DIR}/libs/perlbind/include")
|
||||
add_definitions(-DEMBPERL)
|
||||
add_definitions(-DEMBPERL_PLUGIN)
|
||||
add_definitions(-DPERLBIND_NO_STRICT_SCALAR_TYPES)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# silence obnoxious deprecation message
|
||||
add_definitions(-DBOOST_BIND_GLOBAL_PLACEHOLDERS)
|
||||
|
||||
if(WIN32)
|
||||
set(SERVER_LIBS ${SERVER_LIBS} "ws2_32" "psapi" "iphlpapi" "userenv")
|
||||
endif()
|
||||
|
||||
if(UNIX)
|
||||
set(SERVER_LIBS ${SERVER_LIBS} ${CMAKE_DL_LIBS} "z" "m" "pthread")
|
||||
if(NOT DARWIN)
|
||||
set(SERVER_LIBS ${SERVER_LIBS} "rt")
|
||||
endif()
|
||||
# Freebsd provides uuids in the C library
|
||||
if(NOT ${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
|
||||
set(SERVER_LIBS ${SERVER_LIBS} "uuid")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(ZONE_LIBS ${ZONE_LIBS} ${SERVER_LIBS})
|
||||
|
||||
if(EQEMU_BUILD_SERVER OR EQEMU_BUILD_LOGIN OR EQEMU_BUILD_TESTS)
|
||||
if(EQEMU_BUILD_SERVER OR EQEMU_BUILD_LOGIN OR EQEMU_BUILD_TESTS OR EQEMU_BUILD_CLIENT_FILES)
|
||||
add_subdirectory(common)
|
||||
add_subdirectory(libs)
|
||||
else()
|
||||
message(FATAL_ERROR "No targets were selected to build, we must build at least one target.")
|
||||
endif()
|
||||
|
||||
if(EQEMU_BUILD_SERVER)
|
||||
add_subdirectory(shared_memory)
|
||||
add_subdirectory(world)
|
||||
add_subdirectory(zone)
|
||||
add_subdirectory(ucs)
|
||||
add_subdirectory(queryserv)
|
||||
add_subdirectory(eqlaunch)
|
||||
endif()
|
||||
|
||||
if(EQEMU_BUILD_LOGIN)
|
||||
add_subdirectory(loginserver)
|
||||
endif()
|
||||
|
||||
if(EQEMU_BUILD_TESTS)
|
||||
add_subdirectory(tests)
|
||||
endif()
|
||||
|
||||
if(EQEMU_BUILD_CLIENT_FILES)
|
||||
add_subdirectory(client_files)
|
||||
endif()
|
||||
#if(EQEMU_BUILD_SERVER)
|
||||
# add_subdirectory(shared_memory)
|
||||
# add_subdirectory(world)
|
||||
# add_subdirectory(zone)
|
||||
# add_subdirectory(ucs)
|
||||
# add_subdirectory(queryserv)
|
||||
# add_subdirectory(eqlaunch)
|
||||
#endif()
|
||||
#
|
||||
#if(EQEMU_BUILD_LOGIN)
|
||||
# add_subdirectory(loginserver)
|
||||
#endif()
|
||||
#
|
||||
#if(EQEMU_BUILD_TESTS)
|
||||
# add_subdirectory(tests)
|
||||
#endif()
|
||||
#
|
||||
#if(EQEMU_BUILD_CLIENT_FILES)
|
||||
# add_subdirectory(client_files)
|
||||
#endif()
|
||||
|
||||
@ -817,6 +817,407 @@ source_group(Patches FILES
|
||||
patches/uf_limits.cpp
|
||||
)
|
||||
|
||||
source_group(Repositories FILES
|
||||
|
||||
# Criteria
|
||||
repositories/criteria/content_filter_criteria.h
|
||||
|
||||
repositories/base/base_grid_repository.h
|
||||
repositories/base/base_grid_entries_repository.h
|
||||
|
||||
# Base Repositories
|
||||
repositories/base/base_aa_ability_repository.h
|
||||
repositories/base/base_aa_ranks_repository.h
|
||||
repositories/base/base_aa_rank_effects_repository.h
|
||||
repositories/base/base_aa_rank_prereqs_repository.h
|
||||
repositories/base/base_account_repository.h
|
||||
repositories/base/base_account_flags_repository.h
|
||||
repositories/base/base_account_ip_repository.h
|
||||
repositories/base/base_account_rewards_repository.h
|
||||
repositories/base/base_adventure_details_repository.h
|
||||
repositories/base/base_adventure_members_repository.h
|
||||
repositories/base/base_adventure_stats_repository.h
|
||||
repositories/base/base_adventure_template_repository.h
|
||||
repositories/base/base_adventure_template_entry_repository.h
|
||||
repositories/base/base_adventure_template_entry_flavor_repository.h
|
||||
repositories/base/base_alternate_currency_repository.h
|
||||
repositories/base/base_auras_repository.h
|
||||
repositories/base/base_base_data_repository.h
|
||||
repositories/base/base_blocked_spells_repository.h
|
||||
repositories/base/base_books_repository.h
|
||||
repositories/base/base_bugs_repository.h
|
||||
repositories/base/base_bug_reports_repository.h
|
||||
repositories/base/base_buyer_repository.h
|
||||
repositories/base/base_buyer_trade_items_repository.h
|
||||
repositories/base/base_character_activities_repository.h
|
||||
repositories/base/base_character_alternate_abilities_repository.h
|
||||
repositories/base/base_character_alt_currency_repository.h
|
||||
repositories/base/base_character_auras_repository.h
|
||||
repositories/base/base_character_bandolier_repository.h
|
||||
repositories/base/base_character_bind_repository.h
|
||||
repositories/base/base_character_buffs_repository.h
|
||||
repositories/base/base_character_corpses_repository.h
|
||||
repositories/base/base_character_corpse_items_repository.h
|
||||
repositories/base/base_character_currency_repository.h
|
||||
repositories/base/base_character_data_repository.h
|
||||
repositories/base/base_character_disciplines_repository.h
|
||||
repositories/base/base_character_evolving_items_repository.h
|
||||
repositories/base/base_character_expedition_lockouts_repository.h
|
||||
repositories/base/base_character_exp_modifiers_repository.h
|
||||
repositories/base/base_character_inspect_messages_repository.h
|
||||
repositories/base/base_character_instance_safereturns_repository.h
|
||||
repositories/base/base_character_item_recast_repository.h
|
||||
repositories/base/base_character_languages_repository.h
|
||||
repositories/base/base_character_leadership_abilities_repository.h
|
||||
repositories/base/base_character_material_repository.h
|
||||
repositories/base/base_character_memmed_spells_repository.h
|
||||
repositories/base/base_character_parcels_repository.h
|
||||
repositories/base/base_character_parcels_containers_repository.h
|
||||
repositories/base/base_character_peqzone_flags_repository.h
|
||||
repositories/base/base_character_pet_buffs_repository.h
|
||||
repositories/base/base_character_pet_info_repository.h
|
||||
repositories/base/base_character_pet_inventory_repository.h
|
||||
repositories/base/base_character_potionbelt_repository.h
|
||||
repositories/base/base_character_skills_repository.h
|
||||
repositories/base/base_character_spells_repository.h
|
||||
repositories/base/base_character_tasks_repository.h
|
||||
repositories/base/base_character_task_timers_repository.h
|
||||
repositories/base/base_char_create_combinations_repository.h
|
||||
repositories/base/base_char_create_point_allocations_repository.h
|
||||
repositories/base/base_char_recipe_list_repository.h
|
||||
repositories/base/base_chatchannels_repository.h
|
||||
repositories/base/base_chatchannel_reserved_names_repository.h
|
||||
repositories/base/base_completed_shared_tasks_repository.h
|
||||
repositories/base/base_completed_shared_task_activity_state_repository.h
|
||||
repositories/base/base_completed_shared_task_members_repository.h
|
||||
repositories/base/base_completed_tasks_repository.h
|
||||
repositories/base/base_content_flags_repository.h
|
||||
repositories/base/base_damageshieldtypes_repository.h
|
||||
repositories/base/base_data_buckets_repository.h
|
||||
repositories/base/base_db_str_repository.h
|
||||
repositories/base/base_discord_webhooks_repository.h
|
||||
repositories/base/base_discovered_items_repository.h
|
||||
repositories/base/base_doors_repository.h
|
||||
repositories/base/base_dynamic_zones_repository.h
|
||||
repositories/base/base_dynamic_zone_lockouts_repository.h
|
||||
repositories/base/base_dynamic_zone_members_repository.h
|
||||
repositories/base/base_dynamic_zone_templates_repository.h
|
||||
repositories/base/base_faction_association_repository.h
|
||||
repositories/base/base_faction_base_data_repository.h
|
||||
repositories/base/base_faction_list_repository.h
|
||||
repositories/base/base_faction_list_mod_repository.h
|
||||
repositories/base/base_faction_values_repository.h
|
||||
repositories/base/base_fishing_repository.h
|
||||
repositories/base/base_forage_repository.h
|
||||
repositories/base/base_friends_repository.h
|
||||
repositories/base/base_global_loot_repository.h
|
||||
repositories/base/base_gm_ips_repository.h
|
||||
repositories/base/base_graveyard_repository.h
|
||||
repositories/base/base_ground_spawns_repository.h
|
||||
repositories/base/base_group_id_repository.h
|
||||
repositories/base/base_group_leaders_repository.h
|
||||
repositories/base/base_guilds_repository.h
|
||||
repositories/base/base_guild_ranks_repository.h
|
||||
repositories/base/base_guild_permissions_repository.h
|
||||
repositories/base/base_guild_members_repository.h
|
||||
repositories/base/base_guild_bank_repository.h
|
||||
repositories/base/base_guild_relations_repository.h
|
||||
repositories/base/base_horses_repository.h
|
||||
repositories/base/base_instance_list_repository.h
|
||||
repositories/base/base_instance_list_player_repository.h
|
||||
repositories/base/base_inventory_repository.h
|
||||
repositories/base/base_inventory_snapshots_repository.h
|
||||
repositories/base/base_ip_exemptions_repository.h
|
||||
repositories/base/base_items_repository.h
|
||||
repositories/base/base_items_evolving_details_repository.h
|
||||
repositories/base/base_ldon_trap_entries_repository.h
|
||||
repositories/base/base_ldon_trap_templates_repository.h
|
||||
repositories/base/base_level_exp_mods_repository.h
|
||||
repositories/base/base_lfguild_repository.h
|
||||
repositories/base/base_login_accounts_repository.h
|
||||
repositories/base/base_login_api_tokens_repository.h
|
||||
repositories/base/base_login_server_admins_repository.h
|
||||
repositories/base/base_login_server_list_types_repository.h
|
||||
repositories/base/base_login_world_servers_repository.h
|
||||
repositories/base/base_logsys_categories_repository.h
|
||||
repositories/base/base_lootdrop_repository.h
|
||||
repositories/base/base_lootdrop_entries_repository.h
|
||||
repositories/base/base_loottable_repository.h
|
||||
repositories/base/base_loottable_entries_repository.h
|
||||
repositories/base/base_mail_repository.h
|
||||
repositories/base/base_merchantlist_repository.h
|
||||
repositories/base/base_merchantlist_temp_repository.h
|
||||
repositories/base/base_name_filter_repository.h
|
||||
repositories/base/base_npc_emotes_repository.h
|
||||
repositories/base/base_npc_faction_repository.h
|
||||
repositories/base/base_npc_faction_entries_repository.h
|
||||
repositories/base/base_npc_scale_global_base_repository.h
|
||||
repositories/base/base_npc_spells_repository.h
|
||||
repositories/base/base_npc_spells_effects_repository.h
|
||||
repositories/base/base_npc_spells_effects_entries_repository.h
|
||||
repositories/base/base_npc_spells_entries_repository.h
|
||||
repositories/base/base_npc_types_repository.h
|
||||
repositories/base/base_npc_types_tint_repository.h
|
||||
repositories/base/base_object_repository.h
|
||||
repositories/base/base_object_contents_repository.h
|
||||
repositories/base/base_perl_event_export_settings_repository.h
|
||||
repositories/base/base_petitions_repository.h
|
||||
repositories/base/base_pets_repository.h
|
||||
repositories/base/base_pets_beastlord_data_repository.h
|
||||
repositories/base/base_pets_equipmentset_repository.h
|
||||
repositories/base/base_pets_equipmentset_entries_repository.h
|
||||
repositories/base/base_player_titlesets_repository.h
|
||||
repositories/base/base_player_event_aa_purchase_repository.h
|
||||
repositories/base/base_player_event_killed_npc_repository.h
|
||||
repositories/base/base_player_event_killed_named_npc_repository.h
|
||||
repositories/base/base_player_event_killed_raid_npc_repository.h
|
||||
repositories/base/base_player_event_log_settings_repository.h
|
||||
repositories/base/base_player_event_logs_repository.h
|
||||
repositories/base/base_player_event_loot_items_repository.h
|
||||
repositories/base/base_player_event_merchant_purchase_repository.h
|
||||
repositories/base/base_player_event_merchant_sell_repository.h
|
||||
repositories/base/base_player_event_npc_handin_repository.h
|
||||
repositories/base/base_player_event_npc_handin_entries_repository.h
|
||||
repositories/base/base_player_event_speech_repository.h
|
||||
repositories/base/base_player_event_trade_repository.h
|
||||
repositories/base/base_player_event_trade_entries_repository.h
|
||||
repositories/base/base_quest_globals_repository.h
|
||||
repositories/base/base_raid_details_repository.h
|
||||
repositories/base/base_raid_members_repository.h
|
||||
repositories/base/base_reports_repository.h
|
||||
repositories/base/base_respawn_times_repository.h
|
||||
repositories/base/base_rule_sets_repository.h
|
||||
repositories/base/base_rule_values_repository.h
|
||||
repositories/base/base_saylink_repository.h
|
||||
repositories/base/base_server_scheduled_events_repository.h
|
||||
repositories/base/base_shared_tasks_repository.h
|
||||
repositories/base/base_shared_task_activity_state_repository.h
|
||||
repositories/base/base_shared_task_dynamic_zones_repository.h
|
||||
repositories/base/base_shared_task_members_repository.h
|
||||
repositories/base/base_skill_caps_repository.h
|
||||
repositories/base/base_spawn2_repository.h
|
||||
repositories/base/base_spawnentry_repository.h
|
||||
repositories/base/base_spawngroup_repository.h
|
||||
repositories/base/base_spawn_conditions_repository.h
|
||||
repositories/base/base_spawn_condition_values_repository.h
|
||||
repositories/base/base_spawn_events_repository.h
|
||||
repositories/base/base_spells_new_repository.h
|
||||
repositories/base/base_spell_buckets_repository.h
|
||||
repositories/base/base_spell_globals_repository.h
|
||||
repositories/base/base_starting_items_repository.h
|
||||
repositories/base/base_start_zones_repository.h
|
||||
repositories/base/base_tasks_repository.h
|
||||
repositories/base/base_tasksets_repository.h
|
||||
repositories/base/base_task_activities_repository.h
|
||||
repositories/base/base_timers_repository.h
|
||||
repositories/base/base_titles_repository.h
|
||||
repositories/base/base_trader_repository.h
|
||||
repositories/base/base_tradeskill_recipe_repository.h
|
||||
repositories/base/base_tradeskill_recipe_entries_repository.h
|
||||
repositories/base/base_traps_repository.h
|
||||
repositories/base/base_tributes_repository.h
|
||||
repositories/base/base_tribute_levels_repository.h
|
||||
repositories/base/base_veteran_reward_templates_repository.h
|
||||
repositories/base/base_zone_repository.h
|
||||
repositories/base/base_zone_points_repository.h
|
||||
|
||||
# Extended Repositories
|
||||
repositories/aa_ability_repository.h
|
||||
repositories/aa_ranks_repository.h
|
||||
repositories/aa_rank_effects_repository.h
|
||||
repositories/aa_rank_prereqs_repository.h
|
||||
repositories/account_repository.h
|
||||
repositories/account_flags_repository.h
|
||||
repositories/account_ip_repository.h
|
||||
repositories/account_rewards_repository.h
|
||||
repositories/adventure_details_repository.h
|
||||
repositories/adventure_members_repository.h
|
||||
repositories/adventure_stats_repository.h
|
||||
repositories/adventure_template_repository.h
|
||||
repositories/adventure_template_entry_repository.h
|
||||
repositories/adventure_template_entry_flavor_repository.h
|
||||
repositories/alternate_currency_repository.h
|
||||
repositories/auras_repository.h
|
||||
repositories/base_data_repository.h
|
||||
repositories/blocked_spells_repository.h
|
||||
repositories/books_repository.h
|
||||
repositories/bugs_repository.h
|
||||
repositories/bug_reports_repository.h
|
||||
repositories/buyer_buy_lines_repository.h
|
||||
repositories/buyer_trade_items_repository.h
|
||||
repositories/character_activities_repository.h
|
||||
repositories/character_alternate_abilities_repository.h
|
||||
repositories/character_alt_currency_repository.h
|
||||
repositories/character_auras_repository.h
|
||||
repositories/character_bandolier_repository.h
|
||||
repositories/character_bind_repository.h
|
||||
repositories/character_buffs_repository.h
|
||||
repositories/character_corpses_repository.h
|
||||
repositories/character_corpse_items_repository.h
|
||||
repositories/character_currency_repository.h
|
||||
repositories/character_data_repository.h
|
||||
repositories/character_disciplines_repository.h
|
||||
repositories/character_evolving_items_repository.h
|
||||
repositories/character_expedition_lockouts_repository.h
|
||||
repositories/character_exp_modifiers_repository.h
|
||||
repositories/character_inspect_messages_repository.h
|
||||
repositories/character_instance_safereturns_repository.h
|
||||
repositories/character_item_recast_repository.h
|
||||
repositories/character_languages_repository.h
|
||||
repositories/character_leadership_abilities_repository.h
|
||||
repositories/character_material_repository.h
|
||||
repositories/character_memmed_spells_repository.h
|
||||
repositories/character_parcels_repository.h
|
||||
repositories/character_parcels_containers_repository.h
|
||||
repositories/character_peqzone_flags_repository.h
|
||||
repositories/character_pet_buffs_repository.h
|
||||
repositories/character_pet_info_repository.h
|
||||
repositories/character_pet_inventory_repository.h
|
||||
repositories/character_potionbelt_repository.h
|
||||
repositories/character_skills_repository.h
|
||||
repositories/character_spells_repository.h
|
||||
repositories/character_tasks_repository.h
|
||||
repositories/character_task_timers_repository.h
|
||||
repositories/char_create_combinations_repository.h
|
||||
repositories/char_create_point_allocations_repository.h
|
||||
repositories/char_recipe_list_repository.h
|
||||
repositories/chatchannels_repository.h
|
||||
repositories/chatchannel_reserved_names_repository.h
|
||||
repositories/completed_shared_tasks_repository.h
|
||||
repositories/completed_shared_task_activity_state_repository.h
|
||||
repositories/completed_shared_task_members_repository.h
|
||||
repositories/completed_tasks_repository.h
|
||||
repositories/content_flags_repository.h
|
||||
repositories/damageshieldtypes_repository.h
|
||||
repositories/data_buckets_repository.h
|
||||
repositories/db_str_repository.h
|
||||
repositories/discord_webhooks_repository.h
|
||||
repositories/discovered_items_repository.h
|
||||
repositories/doors_repository.h
|
||||
repositories/dynamic_zones_repository.h
|
||||
repositories/dynamic_zone_lockouts_repository.h
|
||||
repositories/dynamic_zone_members_repository.h
|
||||
repositories/dynamic_zone_templates_repository.h
|
||||
repositories/faction_association_repository.h
|
||||
repositories/faction_base_data_repository.h
|
||||
repositories/faction_list_repository.h
|
||||
repositories/faction_list_mod_repository.h
|
||||
repositories/faction_values_repository.h
|
||||
repositories/fishing_repository.h
|
||||
repositories/forage_repository.h
|
||||
repositories/friends_repository.h
|
||||
repositories/global_loot_repository.h
|
||||
repositories/gm_ips_repository.h
|
||||
repositories/graveyard_repository.h
|
||||
repositories/ground_spawns_repository.h
|
||||
repositories/group_id_repository.h
|
||||
repositories/group_leaders_repository.h
|
||||
repositories/guilds_repository.h
|
||||
repositories/guild_ranks_repository.h
|
||||
repositories/guild_permissions_repository.h
|
||||
repositories/guild_members_repository.h
|
||||
repositories/guild_bank_repository.h
|
||||
repositories/guild_relations_repository.h
|
||||
repositories/horses_repository.h
|
||||
repositories/instance_list_repository.h
|
||||
repositories/instance_list_player_repository.h
|
||||
repositories/inventory_repository.h
|
||||
repositories/inventory_snapshots_repository.h
|
||||
repositories/ip_exemptions_repository.h
|
||||
repositories/items_repository.h
|
||||
repositories/items_evolving_details_repository.h
|
||||
repositories/ldon_trap_entries_repository.h
|
||||
repositories/ldon_trap_templates_repository.h
|
||||
repositories/level_exp_mods_repository.h
|
||||
repositories/lfguild_repository.h
|
||||
repositories/login_accounts_repository.h
|
||||
repositories/login_api_tokens_repository.h
|
||||
repositories/login_server_admins_repository.h
|
||||
repositories/login_server_list_types_repository.h
|
||||
repositories/login_world_servers_repository.h
|
||||
repositories/logsys_categories_repository.h
|
||||
repositories/lootdrop_repository.h
|
||||
repositories/lootdrop_entries_repository.h
|
||||
repositories/loottable_repository.h
|
||||
repositories/loottable_entries_repository.h
|
||||
repositories/mail_repository.h
|
||||
repositories/merchantlist_repository.h
|
||||
repositories/merchantlist_temp_repository.h
|
||||
repositories/name_filter_repository.h
|
||||
repositories/npc_emotes_repository.h
|
||||
repositories/npc_faction_repository.h
|
||||
repositories/npc_faction_entries_repository.h
|
||||
repositories/npc_scale_global_base_repository.h
|
||||
repositories/npc_spells_repository.h
|
||||
repositories/npc_spells_effects_repository.h
|
||||
repositories/npc_spells_effects_entries_repository.h
|
||||
repositories/npc_spells_entries_repository.h
|
||||
repositories/npc_types_repository.h
|
||||
repositories/npc_types_tint_repository.h
|
||||
repositories/object_repository.h
|
||||
repositories/object_contents_repository.h
|
||||
repositories/perl_event_export_settings_repository.h
|
||||
repositories/petitions_repository.h
|
||||
repositories/pets_repository.h
|
||||
repositories/pets_beastlord_data_repository.h
|
||||
repositories/pets_equipmentset_repository.h
|
||||
repositories/pets_equipmentset_entries_repository.h
|
||||
repositories/player_titlesets_repository.h
|
||||
repositories/player_event_aa_purchase_repository.h
|
||||
repositories/player_event_killed_npc_repository.h
|
||||
repositories/player_event_killed_named_npc_repository.h
|
||||
repositories/player_event_killed_raid_npc_repository.h
|
||||
repositories/player_event_log_settings_repository.h
|
||||
repositories/player_event_logs_repository.h
|
||||
repositories/player_event_loot_items_repository.h
|
||||
repositories/player_event_merchant_purchase_repository.h
|
||||
repositories/player_event_merchant_sell_repository.h
|
||||
repositories/player_event_npc_handin_repository.h
|
||||
repositories/player_event_npc_handin_entries_repository.h
|
||||
repositories/player_event_speech_repository.h
|
||||
repositories/player_event_trade_repository.h
|
||||
repositories/player_event_trade_entries_repository.h
|
||||
repositories/quest_globals_repository.h
|
||||
repositories/raid_details_repository.h
|
||||
repositories/raid_members_repository.h
|
||||
repositories/reports_repository.h
|
||||
repositories/respawn_times_repository.h
|
||||
repositories/rule_sets_repository.h
|
||||
repositories/rule_values_repository.h
|
||||
repositories/saylink_repository.h
|
||||
repositories/server_scheduled_events_repository.h
|
||||
repositories/shared_tasks_repository.h
|
||||
repositories/shared_task_activity_state_repository.h
|
||||
repositories/shared_task_dynamic_zones_repository.h
|
||||
repositories/shared_task_members_repository.h
|
||||
repositories/skill_caps_repository.h
|
||||
repositories/spawn2_repository.h
|
||||
repositories/spawnentry_repository.h
|
||||
repositories/spawngroup_repository.h
|
||||
repositories/spawn_conditions_repository.h
|
||||
repositories/spawn_condition_values_repository.h
|
||||
repositories/spawn_events_repository.h
|
||||
repositories/spells_new_repository.h
|
||||
repositories/spell_buckets_repository.h
|
||||
repositories/spell_globals_repository.h
|
||||
repositories/starting_items_repository.h
|
||||
repositories/start_zones_repository.h
|
||||
repositories/tasks_repository.h
|
||||
repositories/tasksets_repository.h
|
||||
repositories/task_activities_repository.h
|
||||
repositories/timers_repository.h
|
||||
repositories/titles_repository.h
|
||||
repositories/trader_repository.h
|
||||
repositories/tradeskill_recipe_repository.h
|
||||
repositories/tradeskill_recipe_entries_repository.h
|
||||
repositories/traps_repository.h
|
||||
repositories/tributes_repository.h
|
||||
repositories/tribute_levels_repository.h
|
||||
repositories/veteran_reward_templates_repository.h
|
||||
repositories/zone_repository.h
|
||||
repositories/zone_points_repository.h
|
||||
)
|
||||
|
||||
source_group(StackWalker FILES
|
||||
StackWalker/StackWalker.h
|
||||
StackWalker/StackWalker.cpp
|
||||
@ -830,12 +1231,65 @@ source_group(Util FILES
|
||||
util/uuid.h
|
||||
)
|
||||
|
||||
option(EQEMU_ADD_PROFILER "Link with Google perftools profiler" OFF)
|
||||
#PRNG options
|
||||
option(EQEMU_ADDITIVE_LFIB_PRNG "Use Additive LFib for PRNG." OFF)
|
||||
mark_as_advanced(EQEMU_ADDITIVE_LFIB_PRNG)
|
||||
option(EQEMU_BIASED_INT_DIST "Use biased int dist instead of uniform." OFF)
|
||||
mark_as_advanced(EQEMU_BIASED_INT_DIST)
|
||||
set(EQEMU_CUSTOM_PRNG_ENGINE "" CACHE STRING "Custom random engine. (ex. std::default_random_engine)")
|
||||
mark_as_advanced(EQEMU_CUSTOM_PRNG_ENGINE)
|
||||
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
option(EQEMU_SFMT19937 "Use GCC's extention for SIMD Fast MT19937." OFF)
|
||||
mark_as_advanced(EQEMU_SFMT19937)
|
||||
endif()
|
||||
|
||||
include_directories(Patches SocketLib StackWalker)
|
||||
|
||||
add_library(common ${common_sources} ${common_headers} ${repositories})
|
||||
|
||||
target_compile_definitions(common PUBLIC BOOST_BIND_GLOBAL_PLACEHOLDERS GLM_FORCE_RADIANS GLM_FORCE_CTOR_INIT GLM_ENABLE_EXPERIMENTAL)
|
||||
target_include_directories(common PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/../submodules/websocketpp")
|
||||
target_link_libraries(common PUBLIC cereal::cereal fmt::fmt unofficial::libmariadb $<IF:$<TARGET_EXISTS:libuv::uv_a>,libuv::uv_a,libuv::uv> OpenSSL::SSL OpenSSL::Crypto ZLIB::ZLIB)
|
||||
|
||||
# Requires libgoogle-perftools-dev google-perftools packages for linux (debian)
|
||||
if(EQEMU_ADD_PROFILER)
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-Wl,--no-as-needed,-lprofiler,--as-needed")
|
||||
endif()
|
||||
|
||||
if(EQEMU_ADDITIVE_LFIB_PRNG)
|
||||
target_compile_definitions(common PUBLIC USE_ADDITIVE_LFIB_PRNG)
|
||||
if(EQEMU_SFMT19937)
|
||||
message(STATUS "SFMT19937 and ADDITITVE_LFIB_PRNG both set, SFMT19937 ignored.")
|
||||
set(EQEMU_SFMT19937 OFF)
|
||||
endif()
|
||||
if(NOT EQEMU_CUSTOM_PRNG_ENGINE STREQUAL "")
|
||||
message(STATUS "CUSTOM_PRNG_ENGINE and ADDITITVE_LFIB_PRNG both set, CUSTOM_PRNG_ENGINE ignored.")
|
||||
set(EQEMU_CUSTOM_PRNG_ENGINE "")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(EQEMU_SFMT19937)
|
||||
target_compile_definitions(common PUBLIC USE_SFMT19937)
|
||||
if(NOT EQEMU_CUSTOM_PRNG_ENGINE STREQUAL "")
|
||||
message(STATUS "CUSTOM_PRNG_ENGINE and SFMT19937 both set, CUSTOM_PRNG_ENGINE ignored.")
|
||||
set(EQEMU_CUSTOM_PRNG_ENGINE "")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(NOT EQEMU_CUSTOM_PRNG_ENGINE STREQUAL "")
|
||||
target_compile_definitions(common PUBLIC USE_CUSTOM_PRNG_ENGINE=${EQEMU_CUSTOM_PRNG_ENGINE})
|
||||
endif()
|
||||
|
||||
if(EQEMU_BIASED_INT_DIST)
|
||||
target_compile_definitions(common PUBLIC BIASED_INT_DIST)
|
||||
endif()
|
||||
|
||||
if(${OPENSSL_VERSION} VERSION_GREATER_EQUAL "1.1.1")
|
||||
target_compile_definitions(common PUBLIC CPPHTTPLIB_OPENSSL_SUPPORT)
|
||||
endif()
|
||||
|
||||
if(UNIX)
|
||||
set_source_files_properties("SocketLib/Mime.cpp" PROPERTY COMPILE_FLAGS -Wno-unused-result)
|
||||
set_source_files_properties("patches/sod.cpp" "patches/sof.cpp" "patches/rof.cpp" "patches/rof2.cpp" "patches/uf.cpp" PROPERTIES COMPILE_FLAGS -O0)
|
||||
|
||||
@ -20,12 +20,9 @@ set(lb_sources
|
||||
src/wrapper_base.cpp
|
||||
)
|
||||
|
||||
set(lb_headers
|
||||
|
||||
)
|
||||
|
||||
add_library(luabind ${lb_sources} ${lb_headers})
|
||||
target_link_libraries(luabind PRIVATE Boost::dynamic_bitset Boost::tuple Boost::foreach ${LUAJIT_LIBRARY})
|
||||
add_library(luabind ${lb_sources})
|
||||
target_include_directories(luabind PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} ${LUAJIT_INCLUDE_DIR})
|
||||
target_link_libraries(luabind PUBLIC Boost::dynamic_bitset Boost::tuple Boost::foreach ${LUAJIT_LIBRARY})
|
||||
|
||||
if(UNIX)
|
||||
set_source_files_properties(${lb_sources} PROPERTY COMPILE_FLAGS -Wno-deprecated-declarations)
|
||||
|
||||
@ -2,10 +2,6 @@ cmake_minimum_required(VERSION 3.20.0)
|
||||
|
||||
project(perlbind LANGUAGES CXX)
|
||||
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ".lib" ".so" ".a")
|
||||
|
||||
find_package(PerlLibs)
|
||||
|
||||
set(PERLBIND_HEADERS
|
||||
include/perlbind/array.h
|
||||
include/perlbind/forward.h
|
||||
@ -45,6 +41,8 @@ target_include_directories(perlbind PUBLIC
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
|
||||
$<INSTALL_INTERFACE:include>)
|
||||
|
||||
target_compile_definitions(perlbind PUBLIC EMBPERL EMBPERL_PLUGIN PERLBIND_NO_STRICT_SCALAR_TYPES)
|
||||
|
||||
option(PERLBIND_BUILD_TESTS "Build tests" OFF)
|
||||
option(PERLBIND_ENABLE_ASAN "Build with address sanitizer" OFF)
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user