From b999a4b7d2d7f4cdf3713de74c35f6186a70b5b5 Mon Sep 17 00:00:00 2001 From: Mordred Admin Date: Tue, 12 Sep 2017 11:11:32 +0200 Subject: [PATCH] Update of cmake setup --- CMakeLists.txt | 2 ++ boost.cmake | 39 ++++++++++++++++++++++++ src/servers/Server_Common/CMakeLists.txt | 33 +------------------- src/servers/Server_Lobby/CMakeLists.txt | 32 +------------------ src/servers/Server_REST/CMakeLists.txt | 35 +-------------------- src/servers/Server_Zone/CMakeLists.txt | 35 ++------------------- 6 files changed, 46 insertions(+), 130 deletions(-) create mode 100644 boost.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index 1284d86b..a2674e2c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,6 +17,8 @@ if(NOT SAPPHIRE_BOOST_VER) endif() set(SAPPHIRE_BOOST_FOLDER_NAME boost_1_60_0) +include( "boost.cmake" ) + include_directories("${PROJECT_INCLUDE_DIR}") include_directories("${PROJECT_SOURCE_DIR}") diff --git a/boost.cmake b/boost.cmake new file mode 100644 index 00000000..9286a487 --- /dev/null +++ b/boost.cmake @@ -0,0 +1,39 @@ + +if(UNIX) + + find_package(Boost ${SAPPHIRE_BOOST_VER} COMPONENTS system) + if(Boost_FOUND) + set(BOOST_LIBRARY_DIR ${Boost_LIBRARY_DIR}) + else() + if (EXISTS /opt/build_libs/${SAPPHIRE_BOOST_FOLDER_NAME}) + set(Boost_INCLUDE_DIR /opt/build_libs/${SAPPHIRE_BOOST_FOLDER_NAME}) + set(BOOST_LIBRARYDIR /opt/build_libs/${SAPPHIRE_BOOST_FOLDER_NAME}/stage/lib) + else() + message(FATAL_ERROR "Unable to find boost ${SAPPHIRE_BOOST_VER} package!") + endif() + endif() +else() + + if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../../external/${SAPPHIRE_BOOST_FOLDER_NAME}) + message(STATUS "Using boost in /libraries/external") + set(Boost_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../external/${SAPPHIRE_BOOST_FOLDER_NAME}) + set(BOOST_LIBRARYDIR ${CMAKE_CURRENT_SOURCE_DIR}/../../external/${SAPPHIRE_BOOST_FOLDER_NAME}/lib32-msvc-14.0) + else() + find_package(Boost ${SAPPHIRE_BOOST_VER} COMPONENTS system) + if(Boost_FOUND) + set(BOOST_LIBRARY_DIR ${Boost_LIBRARY_DIR}) + elseif ((EXISTS $ENV{BOOST_ROOT_DIR}) AND (EXISTS $ENV{BOOST_LIB_DIR})) + set(Boost_INCLUDE_DIR $ENV{BOOST_ROOT_DIR}) + set(BOOST_LIBRARYDIR $ENV{BOOST_LIB_DIR}) + else() + message(FATAL_ERROR "SapphireError: Unable to find boost ${SAPPHIRE_BOOST_VER} package and environment variables BOOST_ROOT_DIR and BOOST_LIB_DIR not set!") + endif() + endif() +endif() + +set(Boost_USE_STATIC_LIBS ON) + +find_package(Boost ${SAPPHIRE_BOOST_VER} COMPONENTS log log_setup thread date_time filesystem system) +include_directories(${Boost_INCLUDE_DIR}) +link_directories(${BOOST_LIBRARYDIR}) + diff --git a/src/servers/Server_Common/CMakeLists.txt b/src/servers/Server_Common/CMakeLists.txt index a6d70d7f..625d4844 100644 --- a/src/servers/Server_Common/CMakeLists.txt +++ b/src/servers/Server_Common/CMakeLists.txt @@ -8,19 +8,8 @@ include_directories("${CMAKE_CURRENT_SOURCE_DIR}/../../libraries/external/ChaiSc if(UNIX) include_directories("/usr/include/mysql/") message(STATUS "Setting GCC flags") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -m32") - find_package(Boost ${SAPPHIRE_BOOST_VER} COMPONENTS log log_setup thread date_time filesystem system) - if(Boost_FOUND) - set(BOOST_LIBRARY_DIR ${Boost_LIBRARY_DIR}) - else() - if (EXISTS /opt/build_libs/${SAPPHIRE_BOOST_FOLDER_NAME}) - set(Boost_INCLUDE_DIR /opt/build_libs/${SAPPHIRE_BOOST_FOLDER_NAME}) - set(BOOST_LIBRARYDIR /opt/build_libs/${SAPPHIRE_BOOST_FOLDER_NAME}/stage/lib) - else() - message(FATAL_ERROR "Unable to find boost ${SAPPHIRE_BOOST_VER} package!") - endif() - endif() else() add_definitions(-D_WIN32_WINNT=0x601) include_directories("${CMAKE_CURRENT_SOURCE_DIR}/../../libraries/external/MySQL/") @@ -32,25 +21,8 @@ else() set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /bigobj") - if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../../libraries/external/${SAPPHIRE_BOOST_FOLDER_NAME}) - message(STATUS "Using boost in /libraries/external") - set(Boost_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../libraries/external/${SAPPHIRE_BOOST_FOLDER_NAME}) - set(BOOST_LIBRARYDIR ${CMAKE_CURRENT_SOURCE_DIR}/../../libraries/external/${SAPPHIRE_BOOST_FOLDER_NAME}/lib32-msvc-14.0) - else() - find_package(Boost ${SAPPHIRE_BOOST_VER} COMPONENTS log log_setup thread date_time filesystem system) - if(Boost_FOUND) - set(BOOST_LIBRARY_DIR ${Boost_LIBRARY_DIR}) - elseif ((EXISTS $ENV{BOOST_ROOT_DIR}) AND (EXISTS $ENV{BOOST_LIB_DIR})) - set(Boost_INCLUDE_DIR $ENV{BOOST_ROOT_DIR}) - set(BOOST_LIBRARYDIR $ENV{BOOST_LIB_DIR}) - else() - message(FATAL_ERROR "SapphireError: Unable to find boost ${SAPPHIRE_BOOST_VER} package and environment variables BOOST_ROOT_DIR and BOOST_LIB_DIR not set!") - endif() - endif() endif() -set(Boost_USE_STATIC_LIBS ON) - file(GLOB UTILS_PUBLIC_INCLUDE_FILES "${CMAKE_CURRENT_SOURCE_DIR}/*") file(GLOB UTILS_SOURCE_FILES @@ -66,9 +38,6 @@ file(GLOB UTILS_SOURCE_FILES "${CMAKE_CURRENT_SOURCE_DIR}/Util/*.cpp") -find_package(Boost ${SAPPHIRE_BOOST_VER} COMPONENTS log log_setup thread date_time filesystem system) -include_directories(${Boost_INCLUDE_DIR}) -link_directories(${BOOST_LIBRARYDIR}) link_directories("${CMAKE_CURRENT_SOURCE_DIR}/../../libraries/sapphire/datReader/") set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) diff --git a/src/servers/Server_Lobby/CMakeLists.txt b/src/servers/Server_Lobby/CMakeLists.txt index 4f8720fc..b47b4599 100644 --- a/src/servers/Server_Lobby/CMakeLists.txt +++ b/src/servers/Server_Lobby/CMakeLists.txt @@ -15,20 +15,8 @@ set(Boost_USE_STATIC_LIBS ON) if(UNIX) include_directories("/usr/include/mysql/") message(STATUS "Setting GCC flags") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -m32") - find_package(Boost ${SAPPHIRE_BOOST_VER} COMPONENTS log log_setup thread date_time filesystem system) - if(Boost_FOUND) - set(BOOST_LIBRARY_DIR ${Boost_LIBRARY_DIR}) - else() - if (EXISTS /opt/build_libs/${SAPPHIRE_BOOST_FOLDER_NAME}) - set(Boost_INCLUDE_DIR /opt/build_libs/${SAPPHIRE_BOOST_FOLDER_NAME}) - set(BOOST_LIBRARYDIR /opt/build_libs/${SAPPHIRE_BOOST_FOLDER_NAME}/stage/lib) - find_package(Boost ${SAPPHIRE_BOOST_VER} COMPONENTS log log_setup thread date_time filesystem system) - else() - message(FATAL_ERROR "Unable to find boost ${SAPPHIRE_BOOST_VER} package!") - endif() - endif() else() add_definitions(-D_WIN32_WINNT=0x601) add_definitions(-D_CRT_SECURE_NO_WARNINGS) @@ -38,27 +26,9 @@ else() set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /bigobj") - if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../../libraries/external/${SAPPHIRE_BOOST_FOLDER_NAME}) - message(STATUS "Using boost in /libraries/external") - set(Boost_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../libraries/external/${SAPPHIRE_BOOST_FOLDER_NAME}) - set(BOOST_LIBRARYDIR ${CMAKE_CURRENT_SOURCE_DIR}/../../libraries/external/${SAPPHIRE_BOOST_FOLDER_NAME}/lib32-msvc-14.0) - else() - find_package(Boost ${SAPPHIRE_BOOST_VER} COMPONENTS log log_setup thread date_time filesystem system) - if(Boost_FOUND) - set(BOOST_LIBRARY_DIR ${Boost_LIBRARY_DIR}) - elseif ((EXISTS $ENV{BOOST_ROOT_DIR}) AND (EXISTS $ENV{BOOST_LIB_DIR})) - set(Boost_INCLUDE_DIR $ENV{BOOST_ROOT_DIR}) - set(BOOST_LIBRARYDIR $ENV{BOOST_LIB_DIR}) - else() - message(FATAL_ERROR "SapphireError: Unable to find boost ${SAPPHIRE_BOOST_VER} package and environment variables BOOST_ROOT_DIR and BOOST_LIB_DIR not set!") - endif() - endif() endif() -include_directories(${Boost_INCLUDE_DIR}) - -link_directories(${BOOST_LIBRARYDIR}) link_directories(${SERVER_COMMON_DIR}) link_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../libraries/sapphire/datReader) diff --git a/src/servers/Server_REST/CMakeLists.txt b/src/servers/Server_REST/CMakeLists.txt index 4891ea36..92f6b8e1 100644 --- a/src/servers/Server_REST/CMakeLists.txt +++ b/src/servers/Server_REST/CMakeLists.txt @@ -15,20 +15,7 @@ set(Boost_USE_STATIC_LIBS ON) if(UNIX) include_directories("/usr/include/mysql/") message(STATUS "Setting GCC flags") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14") - - find_package(Boost ${SAPPHIRE_BOOST_VER} COMPONENTS log log_setup thread date_time filesystem system) - if(Boost_FOUND) - set(BOOST_LIBRARY_DIR ${Boost_LIBRARY_DIR}) - else() - if (EXISTS /opt/build_libs/${SAPPHIRE_BOOST_FOLDER_NAME}) - set(Boost_INCLUDE_DIR /opt/build_libs/${SAPPHIRE_BOOST_FOLDER_NAME}) - set(BOOST_LIBRARYDIR /opt/build_libs/${SAPPHIRE_BOOST_FOLDER_NAME}/stage/lib) - find_package(Boost ${SAPPHIRE_BOOST_VER} COMPONENTS log log_setup thread date_time filesystem system) - else() - message(FATAL_ERROR "Unable to find boost ${SAPPHIRE_BOOST_VER} package!") - endif() - endif() + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -m32") else() add_definitions(-D_WIN32_WINNT=0x601) add_definitions(-D_CRT_SECURE_NO_WARNINGS) @@ -37,28 +24,8 @@ else() set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHc") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /bigobj") - - if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../../libraries/external/${SAPPHIRE_BOOST_FOLDER_NAME}) - message(STATUS "Using boost in /src/lib") - set(Boost_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../libraries/external/${SAPPHIRE_BOOST_FOLDER_NAME}) - set(BOOST_LIBRARYDIR ${CMAKE_CURRENT_SOURCE_DIR}/../../libraries/external/${SAPPHIRE_BOOST_FOLDER_NAME}/lib32-msvc-14.0) - else() - find_package(Boost ${SAPPHIRE_BOOST_VER} COMPONENTS log log_setup thread date_time filesystem system) - if(Boost_FOUND) - set(BOOST_LIBRARY_DIR ${Boost_LIBRARY_DIR}) - elseif ((EXISTS $ENV{BOOST_ROOT_DIR}) AND (EXISTS $ENV{BOOST_LIB_DIR})) - set(Boost_INCLUDE_DIR $ENV{BOOST_ROOT_DIR}) - set(BOOST_LIBRARYDIR $ENV{BOOST_LIB_DIR}) - else() - message(FATAL_ERROR "SapphireError: Unable to find boost ${SAPPHIRE_BOOST_VER} package and environment variables BOOST_ROOT_DIR and BOOST_LIB_DIR not set!") - endif() - endif() endif() - -include_directories(${Boost_INCLUDE_DIR}) - -link_directories(${BOOST_LIBRARYDIR}) link_directories(${SERVER_COMMON_DIR}) link_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../libraries/sapphire/datReader) diff --git a/src/servers/Server_Zone/CMakeLists.txt b/src/servers/Server_Zone/CMakeLists.txt index 9a98c457..c2538cc2 100644 --- a/src/servers/Server_Zone/CMakeLists.txt +++ b/src/servers/Server_Zone/CMakeLists.txt @@ -31,20 +31,7 @@ set(Boost_USE_STATIC_LIBS ON) if(UNIX) include_directories("/usr/include/mysql/") message(STATUS "Setting GCC flags") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14") - - find_package(Boost ${SAPPHIRE_BOOST_VER} COMPONENTS log log_setup thread date_time filesystem system) - if(Boost_FOUND) - set(BOOST_LIBRARY_DIR ${Boost_LIBRARY_DIR}) - else() - if (EXISTS /opt/build_libs/${SAPPHIRE_BOOST_FOLDER_NAME}) - set(Boost_INCLUDE_DIR /opt/build_libs/${SAPPHIRE_BOOST_FOLDER_NAME}) - set(BOOST_LIBRARYDIR /opt/build_libs/${SAPPHIRE_BOOST_FOLDER_NAME}/stage/lib) - find_package(Boost ${SAPPHIRE_BOOST_VER} COMPONENTS log log_setup thread date_time filesystem system) - else() - message(FATAL_ERROR "Unable to find boost ${SAPPHIRE_BOOST_VER} package!") - endif() - endif() + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -m32") else() add_definitions(-D_WIN32_WINNT=0x601) add_definitions(-D_CRT_SECURE_NO_WARNINGS) @@ -54,28 +41,10 @@ else() set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /bigobj") - if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../../libraries/external/${SAPPHIRE_BOOST_FOLDER_NAME}) - message(STATUS "Using boost in /libraries/external") - set(Boost_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../libraries/external/${SAPPHIRE_BOOST_FOLDER_NAME}) - set(BOOST_LIBRARYDIR ${CMAKE_CURRENT_SOURCE_DIR}/../../libraries/external/${SAPPHIRE_BOOST_FOLDER_NAME}/lib32-msvc-14.0) - else() - find_package(Boost ${SAPPHIRE_BOOST_VER} COMPONENTS log log_setup thread date_time filesystem system) - if(Boost_FOUND) - set(BOOST_LIBRARY_DIR ${Boost_LIBRARY_DIR}) - elseif ((EXISTS $ENV{BOOST_ROOT_DIR}) AND (EXISTS $ENV{BOOST_LIB_DIR})) - set(Boost_INCLUDE_DIR $ENV{BOOST_ROOT_DIR}) - set(BOOST_LIBRARYDIR $ENV{BOOST_LIB_DIR}) - else() - message(FATAL_ERROR "SapphireError: Unable to find boost ${SAPPHIRE_BOOST_VER} package and environment variables BOOST_ROOT_DIR and BOOST_LIB_DIR not set!") - endif() - endif() endif() add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/Script) -include_directories(${Boost_INCLUDE_DIR}) - -link_directories(${BOOST_LIBRARYDIR}) link_directories(${SERVER_COMMON_DIR}) link_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../libraries/sapphire/datReader) link_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../libraries/external/MySQLpp/lib/opt) @@ -106,7 +75,7 @@ set_target_properties(server_zone PROPERTIES ) if (UNIX) - target_link_libraries ( server_zone Common xivdat pthread mysqlclient dl z ) + target_link_libraries ( server_zone Common xivdat pthread mysqlclient mysqlcppconn dl z ) else() target_link_libraries ( server_zone Common xivdat libmysql zlib1 mysqlcppconn ) endif()