diff --git a/CMakeLists.txt b/CMakeLists.txt index 1a53f793..a2a23030 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,13 +8,17 @@ set( EXECUTABLE_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/bin ) set( LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin ) set( EXECUTABLE_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin ) -set( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake ) +set( CMAKE_MODULE_PATH + ${CMAKE_MODULE_PATH} + ${CMAKE_SOURCE_DIR}/cmake ) -########################################################################## -# Dependencies and compiler settings +###################################### +# Dependencies and compiler settings # +###################################### include( "cmake/mysql.cmake" ) include( "cmake/compiler.cmake" ) include( "cmake/cotire.cmake" ) + ############################## # Git # ############################## @@ -49,4 +53,4 @@ add_subdirectory( "src/tools/quest_parser" ) add_subdirectory( "src/tools/discovery_parser" ) add_subdirectory( "src/tools/mob_parse" ) add_subdirectory( "src/tools/pcb_reader" ) -add_subdirectory( "src/tools/event_object_parser" ) +add_subdirectory( "src/tools/event_object_parser" ) \ No newline at end of file diff --git a/cmake/compiler.cmake b/cmake/compiler.cmake index f8fa19b2..8d203ba7 100644 --- a/cmake/compiler.cmake +++ b/cmake/compiler.cmake @@ -1,36 +1,43 @@ -if(UNIX) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17 -fPIC") -# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32") +if( UNIX ) + set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17 -fPIC" ) else() - add_definitions(-D_WIN32_WINNT=0x601) - add_definitions(-D_CRT_SECURE_NO_WARNINGS) - add_definitions(-DNOMINMAX) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHc") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /bigobj") - set(CMAKE_CXX_STANDARD 17) - set(CMAKE_CXX_STANDARD_REQUIRED ON) - set(CMAKE_CXX_EXTENSIONS ON) + add_definitions( -D_WIN32_WINNT=0x601 ) + add_definitions( -D_CRT_SECURE_NO_WARNINGS ) + add_definitions( -DNOMINMAX ) + + set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHc" ) + set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP" ) + set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /bigobj" ) + set( CMAKE_CXX_STANDARD 17 ) + set( CMAKE_CXX_STANDARD_REQUIRED ON ) + set( CMAKE_CXX_EXTENSIONS ON ) - if(CMAKE_BUILD_TYPE STREQUAL "Debug") + set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG "${CMAKE_CURRENT_SOURCE_DIR}/bin/" ) + set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_CURRENT_SOURCE_DIR}/bin/" ) + set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO "${CMAKE_CURRENT_SOURCE_DIR}/bin/" ) + set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL "${CMAKE_CURRENT_SOURCE_DIR}/bin/" ) + + set( VS_DEBUGGER_WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/bin/" ) + + if( CMAKE_BUILD_TYPE STREQUAL "Debug" ) # disabling SAFESEH - message(STATUS "Disabling Safe Exception Handlers..") - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SAFESEH:NO") + message( STATUS "Disabling Safe Exception Handlers.." ) + set( CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SAFESEH:NO" ) # edit and continue - message(STATUS "Enabling Edit and Continue..") - add_definitions(/Zi) + message( STATUS "Enabling Edit and Continue.." ) + add_definitions( /Zi ) # incremental linking - message(STATUS "Enabling Incremental Linking..") - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /INCREMENTAL") + message( STATUS "Enabling Incremental Linking.." ) + set( CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /INCREMENTAL" ) # enable building with multiple processes - message(STATUS "Enabling Build with Multiple Processes..") - add_definitions(/MP) + message( STATUS "Enabling Build with Multiple Processes.." ) + add_definitions( /MP ) endif() endif() # force standalone asio -add_definitions( -DASIO_STANDALONE ) +add_definitions( -DASIO_STANDALONE ) \ No newline at end of file diff --git a/src/api/CMakeLists.txt b/src/api/CMakeLists.txt index a9eca8ca..83279c18 100644 --- a/src/api/CMakeLists.txt +++ b/src/api/CMakeLists.txt @@ -7,14 +7,6 @@ file( GLOB SERVER_SOURCE_FILES "${CMAKE_CURRENT_SOURCE_DIR}*.c*" ) add_executable( api ${SERVER_PUBLIC_INCLUDE_FILES} ${SERVER_SOURCE_FILES} ) -set_target_properties( api PROPERTIES - RUNTIME_OUTPUT_DIRECTORY_DEBUG "${CMAKE_CURRENT_SOURCE_DIR}/../../bin/" - RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_CURRENT_SOURCE_DIR}/../../bin/" - RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO "${CMAKE_CURRENT_SOURCE_DIR}/../../bin/" - RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL "${CMAKE_CURRENT_SOURCE_DIR}/../../bin/" - VS_DEBUGGER_WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../../bin/" -) - target_link_libraries( api common ) if( UNIX ) target_link_libraries( api mysqlclient stdc++fs ) diff --git a/src/dbm/CMakeLists.txt b/src/dbm/CMakeLists.txt index 278cbd99..eb6b7aa1 100644 --- a/src/dbm/CMakeLists.txt +++ b/src/dbm/CMakeLists.txt @@ -7,18 +7,12 @@ file( GLOB SERVER_SOURCE_FILES "${CMAKE_CURRENT_SOURCE_DIR}*.c*" ) add_executable( dbm ${SERVER_PUBLIC_INCLUDE_FILES} ${SERVER_SOURCE_FILES} ) -set_target_properties( dbm PROPERTIES - RUNTIME_OUTPUT_DIRECTORY_DEBUG "${CMAKE_CURRENT_SOURCE_DIR}/../../bin/" - RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_CURRENT_SOURCE_DIR}/../../bin/" - RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO "${CMAKE_CURRENT_SOURCE_DIR}/../../bin/" - RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL "${CMAKE_CURRENT_SOURCE_DIR}/../../bin/" -) - target_include_directories( dbm PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/" PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/../" ) + target_link_libraries( dbm PRIVATE mysqlConnector common xivdat ) if (UNIX) target_link_libraries( dbm PRIVATE stdc++fs ) diff --git a/src/lobby/CMakeLists.txt b/src/lobby/CMakeLists.txt index 48a9596c..ce70e468 100644 --- a/src/lobby/CMakeLists.txt +++ b/src/lobby/CMakeLists.txt @@ -8,14 +8,6 @@ file( GLOB SERVER_SOURCE_FILES "${CMAKE_CURRENT_SOURCE_DIR}*.c*" ) add_executable( lobby ${SERVER_PUBLIC_INCLUDE_FILES} ${SERVER_SOURCE_FILES} ) -set_target_properties( lobby - PROPERTIES - RUNTIME_OUTPUT_DIRECTORY_DEBUG "${CMAKE_CURRENT_SOURCE_DIR}/../../bin/" - RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_CURRENT_SOURCE_DIR}/../../bin/" - RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO "${CMAKE_CURRENT_SOURCE_DIR}/../../bin/" - RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL "${CMAKE_CURRENT_SOURCE_DIR}/../../bin/" - VS_DEBUGGER_WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../../bin/" -) target_link_libraries( lobby PRIVATE common diff --git a/src/scripts/CMakeLists.txt b/src/scripts/CMakeLists.txt index a049fc96..710f957d 100644 --- a/src/scripts/CMakeLists.txt +++ b/src/scripts/CMakeLists.txt @@ -10,7 +10,6 @@ set(EXECUTABLE_OUTPUT_PATH "${SCRIPT_LIB_DIR}") set(LIBRARY_OUTPUT_PATH "${SCRIPT_LIB_DIR}") set(RUNTIME_OUTPUT_DIRECTORY "${SCRIPT_LIB_DIR}") - file(GLOB children "${CMAKE_CURRENT_SOURCE_DIR}/*" ) foreach(_scriptDir ${children}) get_filename_component(_name "${_scriptDir}" NAME_WE) diff --git a/src/scripts/quest/ScriptLoader.cpp b/src/scripts/quest/ScriptLoader.cpp index 2c05f339..d3bb8b6d 100644 --- a/src/scripts/quest/ScriptLoader.cpp +++ b/src/scripts/quest/ScriptLoader.cpp @@ -13,6 +13,7 @@ #include "subquest/gridania/SubFst002.cpp" #include "subquest/gridania/SubFst003.cpp" #include "subquest/gridania/SubFst004.cpp" +#include "subquest/gridania/SubFst005.cpp" #include "subquest/gridania/SubFst008.cpp" #include "subquest/gridania/SubFst009.cpp" #include "subquest/gridania/SubFst010.cpp" @@ -25,6 +26,7 @@ #include "subquest/gridania/SubFst029.cpp" #include "subquest/gridania/SubFst030.cpp" #include "subquest/gridania/SubFst041.cpp" +#include "subquest/gridania/SubFst045.cpp" #include "subquest/limsa/SubSea001.cpp" #include "subquest/uldah/SubWil000.cpp" #include "subquest/uldah/SubWil001.cpp" @@ -55,6 +57,7 @@ const Sapphire::ScriptAPI::ScriptObject* ptrs[] = static_cast< Sapphire::ScriptAPI::ScriptObject* >( new SubFst002 ), static_cast< Sapphire::ScriptAPI::ScriptObject* >( new SubFst003 ), static_cast< Sapphire::ScriptAPI::ScriptObject* >( new SubFst004 ), + static_cast< Sapphire::ScriptAPI::ScriptObject* >( new SubFst005 ), static_cast< Sapphire::ScriptAPI::ScriptObject* >( new SubFst008 ), static_cast< Sapphire::ScriptAPI::ScriptObject* >( new SubFst009 ), static_cast< Sapphire::ScriptAPI::ScriptObject* >( new SubFst010 ), @@ -67,6 +70,7 @@ const Sapphire::ScriptAPI::ScriptObject* ptrs[] = static_cast< Sapphire::ScriptAPI::ScriptObject* >( new SubFst029 ), static_cast< Sapphire::ScriptAPI::ScriptObject* >( new SubFst030 ), static_cast< Sapphire::ScriptAPI::ScriptObject* >( new SubFst041 ), + static_cast< Sapphire::ScriptAPI::ScriptObject* >( new SubFst045 ), static_cast< Sapphire::ScriptAPI::ScriptObject* >( new SubSea001 ), static_cast< Sapphire::ScriptAPI::ScriptObject* >( new SubWil000 ), static_cast< Sapphire::ScriptAPI::ScriptObject* >( new SubWil001 ), diff --git a/src/world/CMakeLists.txt b/src/world/CMakeLists.txt index 0542fc26..3c223058 100644 --- a/src/world/CMakeLists.txt +++ b/src/world/CMakeLists.txt @@ -23,19 +23,19 @@ file( GLOB SERVER_SOURCE_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} add_executable( world ${SERVER_SOURCE_FILES} ) -set_target_properties( world PROPERTIES - ENABLE_EXPORTS ON - WINDOWS_EXPORT_ALL_SYMBOLS ON - RUNTIME_OUTPUT_DIRECTORY_DEBUG "${CMAKE_CURRENT_SOURCE_DIR}/../../bin/" - RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_CURRENT_SOURCE_DIR}/../../bin/" - RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO "${CMAKE_CURRENT_SOURCE_DIR}/../../bin/" - RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL "${CMAKE_CURRENT_SOURCE_DIR}/../../bin/" - VS_DEBUGGER_WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../../bin/" +set_target_properties( world + PROPERTIES + ENABLE_EXPORTS ON + WINDOWS_EXPORT_ALL_SYMBOLS ON ) -target_link_libraries( world PUBLIC common ) -target_include_directories( world PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}" ) +target_link_libraries( world + PUBLIC + common ) +target_include_directories( world + PUBLIC + "${CMAKE_CURRENT_SOURCE_DIR}" ) if( UNIX )