Cross platform support dev
This commit is contained in:
@@ -1,23 +1,23 @@
|
||||
project(AuthServer LANGUAGES CXX)
|
||||
|
||||
add_executable(AuthServer
|
||||
AuthServerMain.cpp
|
||||
src/AuthServer.cpp
|
||||
src/AuthSession.cpp
|
||||
src/DbPlayerInfo.cpp
|
||||
|
||||
file(GLOB_RECURSE AUTH_SOURCES CONFIGURE_DEPENDS
|
||||
${CMAKE_CURRENT_LIST_DIR}/*.cpp
|
||||
)
|
||||
|
||||
add_executable(AuthServer
|
||||
${AUTH_SOURCES}
|
||||
)
|
||||
|
||||
target_include_directories(AuthServer PRIVATE ${CMAKE_CURRENT_LIST_DIR}/include)
|
||||
target_include_directories(AuthServer PUBLIC ${CMAKE_CURRENT_LIST_DIR}/include)
|
||||
|
||||
|
||||
target_link_libraries(AuthServer PRIVATE
|
||||
target_link_libraries(AuthServer PUBLIC
|
||||
Common
|
||||
unofficial::mariadb-connector-cpp::mariadbcpp
|
||||
)
|
||||
|
||||
if (WIN32)
|
||||
target_link_libraries(AuthServer PRIVATE wsock32 ws2_32)
|
||||
target_link_libraries(AuthServer PUBLIC wsock32 ws2_32)
|
||||
endif()
|
||||
|
||||
|
||||
|
||||
@@ -5,19 +5,19 @@ set(CMAKE_CXX_STANDARD 23)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
if (WIN32)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_WIN32_WINNT=0x0601 -Wa,-mbig-obj")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--allow-multiple-definition")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}")
|
||||
else()
|
||||
set(CMAKE_EXECUTABLE_SUFFIX ".elf")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wa,-mbig-obj")
|
||||
set(CMAKE_EXE_LINKER_FLAGS
|
||||
"${CMAKE_EXE_LINKER_FLAGS} -Wl,--allow-multiple-definition -Wl,-rpath=. -Wl,-rpath=/data/data/com.termux/files/usr/lib -Wl,--enable-new-dtags"
|
||||
)
|
||||
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/Output)
|
||||
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/Output)
|
||||
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/Output)
|
||||
endif()
|
||||
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/Output)
|
||||
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/Output)
|
||||
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/Output)
|
||||
|
||||
find_package(Boost 1.73.0 REQUIRED COMPONENTS system json beast asio)
|
||||
find_package(OpenSSL REQUIRED)
|
||||
find_package(cryptopp CONFIG REQUIRED)
|
||||
@@ -29,4 +29,3 @@ add_subdirectory(Common)
|
||||
add_subdirectory(AuthServer)
|
||||
add_subdirectory(CastServer)
|
||||
add_subdirectory(MainServer)
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ project(CastServer LANGUAGES CXX)
|
||||
|
||||
|
||||
file(GLOB_RECURSE CAST_SOURCES CONFIGURE_DEPENDS
|
||||
${CMAKE_CURRENT_LIST_DIR}/src/*.cpp
|
||||
${CMAKE_CURRENT_LIST_DIR}/*.cpp
|
||||
)
|
||||
|
||||
add_executable(CastServer
|
||||
@@ -10,24 +10,23 @@ add_executable(CastServer
|
||||
)
|
||||
|
||||
|
||||
target_include_directories(CastServer PRIVATE
|
||||
target_include_directories(CastServer PUBLIC
|
||||
${CMAKE_CURRENT_LIST_DIR}/include
|
||||
)
|
||||
|
||||
find_package(directxmath CONFIG REQUIRED)
|
||||
|
||||
target_link_libraries(CastServer
|
||||
PRIVATE
|
||||
PUBLIC
|
||||
Common
|
||||
Boost::system
|
||||
)
|
||||
|
||||
|
||||
if (WIN32)
|
||||
target_link_libraries(CastServer PRIVATE wsock32 ws2_32)
|
||||
target_link_libraries(CastServer PUBLIC wsock32 ws2_32)
|
||||
endif()
|
||||
|
||||
# Output binary at repo root
|
||||
set_target_properties(CastServer PROPERTIES
|
||||
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||
)
|
||||
|
||||
@@ -1,14 +1,33 @@
|
||||
project(Common LANGUAGES CXX)
|
||||
|
||||
file(GLOB_RECURSE COMMON_SOURCES CONFIGURE_DEPENDS
|
||||
${CMAKE_CURRENT_LIST_DIR}/src/*.cpp
|
||||
${CMAKE_CURRENT_LIST_DIR}/*.cpp
|
||||
)
|
||||
|
||||
add_library(Common STATIC
|
||||
Common.cpp
|
||||
${COMMON_SOURCES}
|
||||
)
|
||||
|
||||
set_target_properties(Common PROPERTIES
|
||||
ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/ExternalLibraries/CommonLib
|
||||
ARCHIVE_OUTPUT_DIRECTORY_DEBUG ${CMAKE_SOURCE_DIR}/ExternalLibraries/CommonLib
|
||||
ARCHIVE_OUTPUT_DIRECTORY_RELEASE ${CMAKE_SOURCE_DIR}/ExternalLibraries/CommonLib
|
||||
ARCHIVE_OUTPUT_DIRECTORY_RELWITHDEBINFO ${CMAKE_SOURCE_DIR}/ExternalLibraries/CommonLib
|
||||
ARCHIVE_OUTPUT_DIRECTORY_MINSIZEREL ${CMAKE_SOURCE_DIR}/ExternalLibraries/CommonLib
|
||||
|
||||
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/ExternalLibraries/CommonLib
|
||||
LIBRARY_OUTPUT_DIRECTORY_DEBUG ${CMAKE_SOURCE_DIR}/ExternalLibraries/CommonLib
|
||||
LIBRARY_OUTPUT_DIRECTORY_RELEASE ${CMAKE_SOURCE_DIR}/ExternalLibraries/CommonLib
|
||||
LIBRARY_OUTPUT_DIRECTORY_RELWITHDEBINFO ${CMAKE_SOURCE_DIR}/ExternalLibraries/CommonLib
|
||||
LIBRARY_OUTPUT_DIRECTORY_MINSIZEREL ${CMAKE_SOURCE_DIR}/ExternalLibraries/CommonLib
|
||||
|
||||
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/ExternalLibraries/CommonLib
|
||||
RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_SOURCE_DIR}/ExternalLibraries/CommonLib
|
||||
RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_SOURCE_DIR}/ExternalLibraries/CommonLib
|
||||
RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO ${CMAKE_SOURCE_DIR}/ExternalLibraries/CommonLib
|
||||
RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL ${CMAKE_SOURCE_DIR}/ExternalLibraries/CommonLib
|
||||
)
|
||||
|
||||
target_include_directories(Common
|
||||
PUBLIC
|
||||
${CMAKE_CURRENT_LIST_DIR}
|
||||
@@ -17,14 +36,12 @@ target_include_directories(Common
|
||||
${CMAKE_SOURCE_DIR}/Common/include/Utils
|
||||
)
|
||||
|
||||
|
||||
target_link_libraries(Common
|
||||
PRIVATE
|
||||
PUBLIC
|
||||
cryptopp::cryptopp
|
||||
unofficial::mariadb-connector-cpp::mariadbcpp
|
||||
)
|
||||
|
||||
if (WIN32)
|
||||
target_link_libraries(Common PRIVATE wsock32 ws2_32)
|
||||
target_link_libraries(Common PUBLIC wsock32 ws2_32)
|
||||
endif()
|
||||
|
||||
|
||||
@@ -1,11 +1,9 @@
|
||||
project(MainServer LANGUAGES CXX)
|
||||
|
||||
file(GLOB_RECURSE MAIN_SOURCES CONFIGURE_DEPENDS
|
||||
${CMAKE_CURRENT_LIST_DIR}/src/*.cpp
|
||||
${CMAKE_CURRENT_LIST_DIR}/*.cpp
|
||||
)
|
||||
|
||||
add_compile_options(-Wbuiltin-macro-redefined)
|
||||
|
||||
|
||||
add_executable(MainServer
|
||||
${MAIN_SOURCES}
|
||||
@@ -17,10 +15,10 @@ target_include_directories(MainServer
|
||||
)
|
||||
|
||||
find_path(JWT_CPP_INCLUDE_DIRS "jwt-cpp/base.h")
|
||||
target_include_directories(MainServer PRIVATE ${JWT_CPP_INCLUDE_DIRS})
|
||||
target_include_directories(MainServer PUBLIC ${JWT_CPP_INCLUDE_DIRS})
|
||||
|
||||
target_link_libraries(MainServer
|
||||
PRIVATE
|
||||
PUBLIC
|
||||
Common
|
||||
unofficial::mariadb-connector-cpp::mariadbcpp
|
||||
OpenSSL::SSL
|
||||
@@ -31,13 +29,13 @@ target_link_libraries(MainServer
|
||||
)
|
||||
|
||||
if (WIN32)
|
||||
target_link_libraries(MainServer PRIVATE wsock32 ws2_32)
|
||||
target_link_libraries(MainServer PUBLIC wsock32 ws2_32)
|
||||
endif()
|
||||
|
||||
if (MSVC)
|
||||
target_compile_options(MainServer PRIVATE /W0)
|
||||
target_compile_options(MainServer PUBLIC /W0)
|
||||
else()
|
||||
target_compile_options(MainServer PRIVATE -w)
|
||||
target_compile_options(MainServer PUBLIC -w)
|
||||
endif()
|
||||
|
||||
set_target_properties(MainServer PROPERTIES
|
||||
|
||||
Reference in New Issue
Block a user