diff --git a/CMakeLists.txt b/CMakeLists.txt index 83dacc20f..374941cac 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -482,3 +482,4 @@ ENDIF(EQEMU_BUILD_TESTS) IF(EQEMU_BUILD_CLIENT_FILES) ADD_SUBDIRECTORY(client_files) ENDIF(EQEMU_BUILD_CLIENT_FILES) + diff --git a/common/CMakeLists.txt b/common/CMakeLists.txt index 3b06c0e1f..b7032b488 100644 --- a/common/CMakeLists.txt +++ b/common/CMakeLists.txt @@ -803,8 +803,12 @@ IF (UNIX) SET_SOURCE_FILES_PROPERTIES("patches/sod.cpp" "patches/sof.cpp" "patches/rof.cpp" "patches/rof2.cpp" "patches/uf.cpp" PROPERTIES COMPILE_FLAGS -O0) ENDIF (UNIX) -IF (WIN32 AND EQEMU_BUILD_PCH) - TARGET_PRECOMPILE_HEADERS(common PRIVATE pch/pch.h) +IF (EQEMU_BUILD_PCH) + TARGET_PRECOMPILE_HEADERS(common PRIVATE pch/pch-emu-common.h) + TARGET_PRECOMPILE_HEADERS(common PRIVATE pch/pch-containers.h) + TARGET_PRECOMPILE_HEADERS(common PRIVATE pch/pch-utilities.h) + TARGET_PRECOMPILE_HEADERS(common PRIVATE pch/pch-types.h) + TARGET_PRECOMPILE_HEADERS(common PRIVATE pch/pch-fmt.h) ENDIF () SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin) diff --git a/common/pch/pch-containers.h b/common/pch/pch-containers.h new file mode 100644 index 000000000..aebb4534e --- /dev/null +++ b/common/pch/pch-containers.h @@ -0,0 +1,13 @@ +#ifndef EQEMU_CONTAINERS_PCH_H +#define EQEMU_CONTAINERS_PCH_H + +// containers +#include +#include +#include +#include +#include +#include +#include + +#endif diff --git a/common/pch/pch-emu-common.h b/common/pch/pch-emu-common.h new file mode 100644 index 000000000..f5fa7cead --- /dev/null +++ b/common/pch/pch-emu-common.h @@ -0,0 +1,14 @@ +#ifndef EQEMU_EMU_COMMON_PCH_H +#define EQEMU_EMU_COMMON_PCH_H + +// emu +#include "../../common/timer.h" +#include "../../common/strings.h" +#include "../../common/http/httplib.h" +#include "../../common/base_packet.h" +#include "../../common/database.h" +#include "../../common/emu_constants.h" +#include "../../common/servertalk.h" +#include "../../common/global_define.h" +#include "../../common/eqemu_logsys.h" +#endif diff --git a/common/pch/pch-fmt.h b/common/pch/pch-fmt.h new file mode 100644 index 000000000..792ed30d1 --- /dev/null +++ b/common/pch/pch-fmt.h @@ -0,0 +1,8 @@ +#ifndef EQEMU_FMT_PCH_H +#define EQEMU_FMT_PCH_H + +// fmt +#include +#include + +#endif diff --git a/common/pch/pch-types.h b/common/pch/pch-types.h new file mode 100644 index 000000000..3857bb996 --- /dev/null +++ b/common/pch/pch-types.h @@ -0,0 +1,11 @@ +#ifndef EQEMU_TYPES_PCH_H +#define EQEMU_TYPES_PCH_H + +// types +#include +#include +#include +#include +#include + +#endif diff --git a/common/pch/pch-utilities.h b/common/pch/pch-utilities.h new file mode 100644 index 000000000..be128c116 --- /dev/null +++ b/common/pch/pch-utilities.h @@ -0,0 +1,18 @@ +#ifndef EQEMU_UTILITIES_PCH_H +#define EQEMU_UTILITIES_PCH_H + +// utilities +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#endif diff --git a/common/pch/pch.h b/common/pch/pch.h deleted file mode 100644 index 06b1d1a8f..000000000 --- a/common/pch/pch.h +++ /dev/null @@ -1,34 +0,0 @@ -// types -#include -#include -#include -#include - -// containers -#include -#include -#include -#include -#include -#include -#include - -// utilities -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -// fmt -#include - -// lua -#include "lua.hpp" -#include -#include diff --git a/world/CMakeLists.txt b/world/CMakeLists.txt index 2d4c6ebaa..f0522d6a7 100644 --- a/world/CMakeLists.txt +++ b/world/CMakeLists.txt @@ -78,8 +78,12 @@ ADD_EXECUTABLE(world ${world_sources} ${world_headers}) INSTALL(TARGETS world RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin) -IF (WIN32 AND EQEMU_BUILD_PCH) - TARGET_PRECOMPILE_HEADERS(world PRIVATE ../common/pch/pch.h) +IF (EQEMU_BUILD_PCH) + TARGET_PRECOMPILE_HEADERS(world PRIVATE ../common/pch/pch-emu-common.h) + TARGET_PRECOMPILE_HEADERS(world PRIVATE ../common/pch/pch-containers.h) + TARGET_PRECOMPILE_HEADERS(world PRIVATE ../common/pch/pch-utilities.h) + TARGET_PRECOMPILE_HEADERS(world PRIVATE ../common/pch/pch-types.h) + TARGET_PRECOMPILE_HEADERS(world PRIVATE ../common/pch/pch-fmt.h) ENDIF () ADD_DEFINITIONS(-DWORLD) diff --git a/zone/CMakeLists.txt b/zone/CMakeLists.txt index ddfa57d15..8f4efbf97 100644 --- a/zone/CMakeLists.txt +++ b/zone/CMakeLists.txt @@ -289,10 +289,14 @@ ADD_EXECUTABLE(zone ${zone_sources} ${zone_headers}) INSTALL(TARGETS zone RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin) -IF (WIN32 AND EQEMU_BUILD_PCH) - TARGET_PRECOMPILE_HEADERS(zone PRIVATE ../common/pch/pch.h) +IF (EQEMU_BUILD_PCH) + TARGET_PRECOMPILE_HEADERS(zone PRIVATE ../common/pch/pch-emu-common.h) + TARGET_PRECOMPILE_HEADERS(zone PRIVATE ../common/pch/pch-containers.h) + TARGET_PRECOMPILE_HEADERS(zone PRIVATE ../common/pch/pch-utilities.h) + TARGET_PRECOMPILE_HEADERS(zone PRIVATE ../common/pch/pch-types.h) + TARGET_PRECOMPILE_HEADERS(zone PRIVATE ../common/pch/pch-fmt.h) TARGET_PRECOMPILE_HEADERS(zone PRIVATE ../common/types.h ../common/eqemu_logsys.h ../common/eqemu_logsys_log_aliases.h ../common/features.h ../common/global_define.h) - TARGET_PRECOMPILE_HEADERS(zone PRIVATE mob.h npc.h corpse.h doors.h bot.h entity.h client.h zone.h) + TARGET_PRECOMPILE_HEADERS(zone PRIVATE pch/pch.h) ENDIF() ADD_DEFINITIONS(-DZONE) diff --git a/zone/pch/pch.h b/zone/pch/pch.h new file mode 100644 index 000000000..c88a5018a --- /dev/null +++ b/zone/pch/pch.h @@ -0,0 +1,20 @@ +#ifndef EQEMU_ZONE_PCH_H +#define EQEMU_ZONE_PCH_H + +#include "../quest_parser_collection.h" +#include "../mob.h" +#include "../npc.h" +#include "../corpse.h" +#include "../doors.h" +#include "../bot.h" +#include "../entity.h" +#include "../client.h" +#include "../zone.h" + +// lua +#include "lua.hpp" +#include +#include +#include + +#endif //EQEMU_ZONE_PCH_H