From 482beafefb9c50e5c1d3d16fd69b88cf2c9e84db Mon Sep 17 00:00:00 2001 From: flaviojs Date: Wed, 6 Jul 2011 20:40:38 +0000 Subject: * 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 --- src/login/sql/CMakeLists.txt | 46 ++++++++++++++++++++++++++------------------ 1 file changed, 27 insertions(+), 19 deletions(-) (limited to 'src/login/sql') 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() -- cgit v1.2.3-60-g2f50