1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-04-24 13:47:46 +00:00

Simplified some cmake logic

This commit is contained in:
Mordred 2018-12-31 17:30:45 +01:00
parent 02dca45cfe
commit 2761a9029a
8 changed files with 52 additions and 60 deletions

View file

@ -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" )

View file

@ -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 )

View file

@ -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 )

View file

@ -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 )

View file

@ -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

View file

@ -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)

View file

@ -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 ),

View file

@ -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 )