summaryrefslogtreecommitdiff
path: root/src/login
diff options
context:
space:
mode:
authorflaviojs <flaviojs@54d463be-8e91-2dee-dedb-b68131a5f0ec>2011-07-06 20:40:38 +0000
committerflaviojs <flaviojs@54d463be-8e91-2dee-dedb-b68131a5f0ec>2011-07-06 20:40:38 +0000
commit482beafefb9c50e5c1d3d16fd69b88cf2c9e84db (patch)
tree79b02817ddb47fc28e67aeb63fb1c1e29482d597 /src/login
parent37377cfe2c7a46d23e44d0f67606c360008167b2 (diff)
downloadhercules-482beafefb9c50e5c1d3d16fd69b88cf2c9e84db.tar.gz
hercules-482beafefb9c50e5c1d3d16fd69b88cf2c9e84db.tar.bz2
hercules-482beafefb9c50e5c1d3d16fd69b88cf2c9e84db.tar.xz
hercules-482beafefb9c50e5c1d3d16fd69b88cf2c9e84db.zip
* CMake: src/common builds static libraries common_base/common_sql, that are used as dependencies by the other targets.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14889 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/login')
-rw-r--r--src/login/CMakeLists.txt38
-rw-r--r--src/login/sql/CMakeLists.txt46
-rw-r--r--src/login/txt/CMakeLists.txt46
3 files changed, 55 insertions, 75 deletions
diff --git a/src/login/CMakeLists.txt b/src/login/CMakeLists.txt
index 82390ebd8..afa4e5f20 100644
--- a/src/login/CMakeLists.txt
+++ b/src/login/CMakeLists.txt
@@ -2,43 +2,7 @@
#
# setup
#
-set( MT19937AR_SOURCES
- "${MT19937AR_SOURCE_DIR}/mt19937ar.c"
- )
-set( COMMON_SOURCES
- "${COMMON_SOURCE_DIR}/core.c"
- "${COMMON_SOURCE_DIR}/db.c"
- "${COMMON_SOURCE_DIR}/ers.c"
-# "${COMMON_SOURCE_DIR}/grfio.c"
- "${COMMON_SOURCE_DIR}/lock.c"
- "${COMMON_SOURCE_DIR}/malloc.c"
-# "${COMMON_SOURCE_DIR}/mapindex.c"
- "${COMMON_SOURCE_DIR}/md5calc.c"
-# "${COMMON_SOURCE_DIR}/nullpo.c"
- "${COMMON_SOURCE_DIR}/plugins.c"
- "${COMMON_SOURCE_DIR}/random.c"
- "${COMMON_SOURCE_DIR}/showmsg.c"
- "${COMMON_SOURCE_DIR}/socket.c"
- "${COMMON_SOURCE_DIR}/strlib.c"
- "${COMMON_SOURCE_DIR}/timer.c"
- "${COMMON_SOURCE_DIR}/utils.c"
- )
-set( COMMON_SQL_SOURCES
- "${COMMON_SOURCE_DIR}/sql.c"
- )
-set( LOGIN_SOURCES
- "${CMAKE_CURRENT_SOURCE_DIR}/login.c"
- )
-set( LOGIN_TXT_SOURCES
- "${CMAKE_CURRENT_SOURCE_DIR}/account_txt.c"
- "${CMAKE_CURRENT_SOURCE_DIR}/ipban_txt.c"
- "${CMAKE_CURRENT_SOURCE_DIR}/loginlog_txt.c"
- )
-set( LOGIN_SQL_SOURCES
- "${CMAKE_CURRENT_SOURCE_DIR}/account_sql.c"
- "${CMAKE_CURRENT_SOURCE_DIR}/ipban_sql.c"
- "${CMAKE_CURRENT_SOURCE_DIR}/loginlog_sql.c"
- )
+set( LOGIN_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR} )
#
diff --git a/src/login/sql/CMakeLists.txt b/src/login/sql/CMakeLists.txt
index 3cecb8840..50bf256e2 100644
--- a/src/login/sql/CMakeLists.txt
+++ b/src/login/sql/CMakeLists.txt
@@ -2,33 +2,41 @@
#
# login sql
#
-if( USE_ZLIB AND USE_MYSQL )
-message ( STATUS "Creating target login-server_sql" )
-set( LIBRARIES ${GLOBAL_LIBRARIES} ${ZLIB_LIBRARIES} ${MYSQL_LIBRARIES} )
-set( INCLUDE_DIRS ${GLOBAL_INCLUDE_DIRS} ${MT19937AR_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIRS} ${MYSQL_INCLUDE_DIRS} ${COMMON_INCLUDE_DIRS} )
+if( HAVE_common_sql )
+message( STATUS "Creating target login-server_sql" )
+set( SQL_LOGIN_HEADERS
+ "${LOGIN_SOURCE_DIR}/account.h"
+ "${LOGIN_SOURCE_DIR}/ipban.h"
+ "${LOGIN_SOURCE_DIR}/login.h"
+ "${LOGIN_SOURCE_DIR}/loginlog.h"
+ )
+set( SQL_LOGIN_SOURCES
+ "${LOGIN_SOURCE_DIR}/account_sql.c"
+ "${LOGIN_SOURCE_DIR}/ipban_sql.c"
+ "${LOGIN_SOURCE_DIR}/login.c"
+ "${LOGIN_SOURCE_DIR}/loginlog_sql.c"
+ )
+set( DEPENDENCIES common_sql )
+set( LIBRARIES ${GLOBAL_LIBRARIES} )
+set( INCLUDE_DIRS ${GLOBAL_INCLUDE_DIRS} )
set( DEFINITIONS ${GLOBAL_DEFINITIONS} WITH_SQL )
-if( PACKETVER )
- message( STATUS "Using PACKETVER=${PACKETVER}" )
- list( APPEND DEFINITIONS PACKETVER=${PACKETVER} )
-endif()
-if( WIN32 )
- list( APPEND LIBRARIES "oldnames.lib" "ws2_32.lib" )
- list( APPEND INCLUDE_DIRS ${MSINTTYPES_INCLUDE_DIRS} )
-endif()
-set( SOURCE_FILES ${MT19937AR_SOURCES} ${COMMON_SOURCES} ${COMMON_SQL_SOURCES} ${LOGIN_SOURCES} ${LOGIN_SQL_SOURCES} )
-source_group( 3rdparty FILES ${MT19937AR_SOURCES} )
-source_group( common FILES ${COMMON_SOURCES} ${COMMON_SQL_SOURCES} )
-source_group( login FILES ${LOGIN_SOURCES} ${LOGIN_SQL_SOURCES} )
+set( SOURCE_FILES ${COMMON_BASE_HEADERS} ${COMMON_SQL_HEADERS} ${SQL_LOGIN_HEADERS} ${SQL_LOGIN_SOURCES} )
+source_group( common FILES ${COMMON_BASE_HEADERS} ${COMMON_SQL_HEADERS} )
+source_group( login FILES ${SQL_LOGIN_HEADERS} ${SQL_LOGIN_SOURCES} )
include_directories( ${INCLUDE_DIRS} )
add_executable( login-server_sql ${SOURCE_FILES} )
-target_link_libraries( login-server_sql ${LIBRARIES} )
+add_dependencies( login-server_sql ${DEPENDENCIES} )
+target_link_libraries( login-server_sql ${LIBRARIES} ${DEPENDENCIES} )
set_target_properties( login-server_sql PROPERTIES COMPILE_DEFINITIONS "${DEFINITIONS}" )
if( INSTALL_RUN_DATA )
install( TARGETS login-server_sql
DESTINATION ${CMAKE_INSTALL_PREFIX}
COMPONENT "login-server_sql" )
endif()
-message ( STATUS "Creating target login-server_sql - done" )
+message( STATUS "Creating target login-server_sql - done" )
+set( HAVE_login-server_sql ON CACHE BOOL "login-server_sql target is available" )
+mark_as_advanced( HAVE_login-server_sql )
else()
-message ( STATUS "Skipping target login-server_sql (requires ZLIB and MYSQL)" )
+message( STATUS "Skipping target login-server_sql (requires common_sql)" )
+unset( HAVE_login-server_sql CACHE )
endif()
diff --git a/src/login/txt/CMakeLists.txt b/src/login/txt/CMakeLists.txt
index 0c567f9e2..dff7d322c 100644
--- a/src/login/txt/CMakeLists.txt
+++ b/src/login/txt/CMakeLists.txt
@@ -2,33 +2,41 @@
#
# login txt
#
-if( USE_ZLIB )
-message ( STATUS "Creating target login-server" )
-set( LIBRARIES ${GLOBAL_LIBRARIES} ${ZLIB_LIBRARIES} )
-set( INCLUDE_DIRS ${GLOBAL_INCLUDE_DIRS} ${MT19937AR_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIRS} ${COMMON_INCLUDE_DIRS} )
+if( HAVE_common_base )
+message( STATUS "Creating target login-server" )
+set( TXT_LOGIN_HEADERS
+ "${LOGIN_SOURCE_DIR}/account.h"
+ "${LOGIN_SOURCE_DIR}/ipban.h"
+ "${LOGIN_SOURCE_DIR}/login.h"
+ "${LOGIN_SOURCE_DIR}/loginlog.h"
+ )
+set( TXT_LOGIN_SOURCES
+ "${LOGIN_SOURCE_DIR}/account_txt.c"
+ "${LOGIN_SOURCE_DIR}/ipban_txt.c"
+ "${LOGIN_SOURCE_DIR}/login.c"
+ "${LOGIN_SOURCE_DIR}/loginlog_txt.c"
+ )
+set( DEPENDENCIES common_base )
+set( LIBRARIES ${GLOBAL_LIBRARIES} )
+set( INCLUDE_DIRS ${GLOBAL_INCLUDE_DIRS} )
set( DEFINITIONS ${GLOBAL_DEFINITIONS} WITH_TXT )
-if( PACKETVER )
- message( STATUS "Using PACKETVER=${PACKETVER}" )
- list( APPEND DEFINITIONS PACKETVER=${PACKETVER} )
-endif()
-if( WIN32 )
- list( APPEND LIBRARIES "oldnames.lib" "ws2_32.lib" )
- list( APPEND INCLUDE_DIRS ${MSINTTYPES_INCLUDE_DIRS} )
-endif()
-set( SOURCE_FILES ${MT19937AR_SOURCES} ${COMMON_SOURCES} ${LOGIN_SOURCES} ${LOGIN_TXT_SOURCES} )
-source_group( 3rdparty FILES ${MT19937AR_SOURCES} )
-source_group( common FILES ${COMMON_SOURCES} )
-source_group( login FILES ${LOGIN_SOURCES} ${LOGIN_TXT_SOURCES} )
+set( SOURCE_FILES ${COMMON_BASE_HEADERS} ${TXT_LOGIN_HEADERS} ${TXT_LOGIN_SOURCES} )
+source_group( common FILES ${COMMON_BASE_HEADERS} )
+source_group( login FILES ${TXT_LOGIN_HEADERS} ${TXT_LOGIN_SOURCES} )
include_directories( ${INCLUDE_DIRS} )
add_executable( login-server ${SOURCE_FILES} )
-target_link_libraries( login-server ${LIBRARIES} )
+add_dependencies( login-server ${DEPENDENCIES} )
+target_link_libraries( login-server ${LIBRARIES} ${DEPENDENCIES} )
set_target_properties( login-server PROPERTIES COMPILE_DEFINITIONS "${DEFINITIONS}" )
if( INSTALL_RUN_DATA )
install( TARGETS login-server
DESTINATION ${CMAKE_INSTALL_PREFIX}
COMPONENT "login-server" )
endif()
-message ( STATUS "Creating target login-server - done" )
+message( STATUS "Creating target login-server - done" )
+set( HAVE_login-server ON CACHE BOOL "login-server target is available" )
+mark_as_advanced( HAVE_login-server )
else()
-message ( STATUS "Skipping target login-server (requires ZLIB)" )
+message( STATUS "Skipping target login-server (requires common_base)" )
+unset( HAVE_login-server CACHE )
endif()