Browse Source

* CMake: split txt and sql variants of login-server and map-server.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14886 54d463be-8e91-2dee-dedb-b68131a5f0ec
flaviojs 14 năm trước cách đây
mục cha
commit
9ef5902840

+ 2 - 0
Changelog-Trunk.txt

@@ -1,5 +1,7 @@
 Date	Added
 
+2011/07/05
+	* CMake: split txt and sql variants of login-server and map-server. [FlavioJS]
 2011/07/04
 	* Fixed 'strnlen' still causing warnings in db.c on Debian (follow up to r14855). [Ai4rei]
 2011/07/03

+ 10 - 73
src/login/CMakeLists.txt

@@ -27,85 +27,22 @@ set( COMMON_SQL_SOURCES
 	"${COMMON_SOURCE_DIR}/sql.c"
 	)
 set( LOGIN_SOURCES
-	"login.c"
+	"${CMAKE_CURRENT_SOURCE_DIR}/login.c"
 	)
 set( LOGIN_TXT_SOURCES
-	"account_txt.c"
-	"ipban_txt.c"
-	"loginlog_txt.c"
+	"${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
-	"account_sql.c"
-	"ipban_sql.c"
-	"loginlog_sql.c"
+	"${CMAKE_CURRENT_SOURCE_DIR}/account_sql.c"
+	"${CMAKE_CURRENT_SOURCE_DIR}/ipban_sql.c"
+	"${CMAKE_CURRENT_SOURCE_DIR}/loginlog_sql.c"
 	)
 
 
 #
-# login txt
+# targets
 #
-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} )
-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} )
-include_directories( ${INCLUDE_DIRS} )
-add_executable( login-server ${SOURCE_FILES} )
-target_link_libraries( login-server ${LIBRARIES} )
-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" )
-else()
-message ( STATUS "Skipping target login-server (requires ZLIB)" )
-endif()
-
-
-#
-# 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} )
-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} )
-include_directories( ${INCLUDE_DIRS} )
-add_executable( login-server_sql ${SOURCE_FILES} )
-target_link_libraries( login-server_sql ${LIBRARIES} )
-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" )
-else()
-message ( STATUS "Skipping target login-server_sql (requires ZLIB and MYSQL)" )
-endif()
+add_subdirectory( txt )
+add_subdirectory( sql )

+ 34 - 0
src/login/sql/CMakeLists.txt

@@ -0,0 +1,34 @@
+
+#
+# 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} )
+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} )
+include_directories( ${INCLUDE_DIRS} )
+add_executable( login-server_sql ${SOURCE_FILES} )
+target_link_libraries( login-server_sql ${LIBRARIES} )
+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" )
+else()
+message ( STATUS "Skipping target login-server_sql (requires ZLIB and MYSQL)" )
+endif()

+ 34 - 0
src/login/txt/CMakeLists.txt

@@ -0,0 +1,34 @@
+
+#
+# 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} )
+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} )
+include_directories( ${INCLUDE_DIRS} )
+add_executable( login-server ${SOURCE_FILES} )
+target_link_libraries( login-server ${LIBRARIES} )
+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" )
+else()
+message ( STATUS "Skipping target login-server (requires ZLIB)" )
+endif()

+ 39 - 112
src/map/CMakeLists.txt

@@ -27,124 +27,51 @@ set( COMMON_SQL_SOURCES
 	"${COMMON_SOURCE_DIR}/sql.c"
 	)
 set( MAP_SOURCES
-	"atcommand.c"
-	"battle.c"
-	"battleground.c"
-	"buyingstore.c"
-	"chat.c"
-	"chrif.c"
-	"clif.c"
-	"date.c"
-	"duel.c"
-	"guild.c"
-	"homunculus.c"
-	"instance.c"
-	"intif.c"
-	"itemdb.c"
-	"log.c"
-	"mail.c"
-	"map.c"
-	"mercenary.c"
-	"mob.c"
-	"npc.c"
-	"npc_chat.c"
-	"party.c"
-	"path.c"
-	"pc.c"
-	"pet.c"
-	"quest.c"
-	"script.c"
-	"searchstore.c"
-	"skill.c"
-	"status.c"
-	"storage.c"
-	"trade.c"
-	"unit.c"
-	"vending.c"
+	"${CMAKE_CURRENT_SOURCE_DIR}/atcommand.c"
+	"${CMAKE_CURRENT_SOURCE_DIR}/battle.c"
+	"${CMAKE_CURRENT_SOURCE_DIR}/battleground.c"
+	"${CMAKE_CURRENT_SOURCE_DIR}/buyingstore.c"
+	"${CMAKE_CURRENT_SOURCE_DIR}/chat.c"
+	"${CMAKE_CURRENT_SOURCE_DIR}/chrif.c"
+	"${CMAKE_CURRENT_SOURCE_DIR}/clif.c"
+	"${CMAKE_CURRENT_SOURCE_DIR}/date.c"
+	"${CMAKE_CURRENT_SOURCE_DIR}/duel.c"
+	"${CMAKE_CURRENT_SOURCE_DIR}/guild.c"
+	"${CMAKE_CURRENT_SOURCE_DIR}/homunculus.c"
+	"${CMAKE_CURRENT_SOURCE_DIR}/instance.c"
+	"${CMAKE_CURRENT_SOURCE_DIR}/intif.c"
+	"${CMAKE_CURRENT_SOURCE_DIR}/itemdb.c"
+	"${CMAKE_CURRENT_SOURCE_DIR}/log.c"
+	"${CMAKE_CURRENT_SOURCE_DIR}/mail.c"
+	"${CMAKE_CURRENT_SOURCE_DIR}/map.c"
+	"${CMAKE_CURRENT_SOURCE_DIR}/mercenary.c"
+	"${CMAKE_CURRENT_SOURCE_DIR}/mob.c"
+	"${CMAKE_CURRENT_SOURCE_DIR}/npc.c"
+	"${CMAKE_CURRENT_SOURCE_DIR}/npc_chat.c"
+	"${CMAKE_CURRENT_SOURCE_DIR}/party.c"
+	"${CMAKE_CURRENT_SOURCE_DIR}/path.c"
+	"${CMAKE_CURRENT_SOURCE_DIR}/pc.c"
+	"${CMAKE_CURRENT_SOURCE_DIR}/pet.c"
+	"${CMAKE_CURRENT_SOURCE_DIR}/quest.c"
+	"${CMAKE_CURRENT_SOURCE_DIR}/script.c"
+	"${CMAKE_CURRENT_SOURCE_DIR}/searchstore.c"
+	"${CMAKE_CURRENT_SOURCE_DIR}/skill.c"
+	"${CMAKE_CURRENT_SOURCE_DIR}/status.c"
+	"${CMAKE_CURRENT_SOURCE_DIR}/storage.c"
+	"${CMAKE_CURRENT_SOURCE_DIR}/trade.c"
+	"${CMAKE_CURRENT_SOURCE_DIR}/unit.c"
+	"${CMAKE_CURRENT_SOURCE_DIR}/vending.c"
 	)
 set( MAP_TXT_SOURCES
-	"mapreg_txt.c"
+	"${CMAKE_CURRENT_SOURCE_DIR}/mapreg_txt.c"
 	)
 set( MAP_SQL_SOURCES
-	"mapreg_sql.c"
+	"${CMAKE_CURRENT_SOURCE_DIR}/mapreg_sql.c"
 	)
 
 
 #
-# map txt
+# targets
 #
-if( USE_ZLIB )
-message ( STATUS "Creating target map-server" )
-set( LIBRARIES ${GLOBAL_LIBRARIES} ${ZLIB_LIBRARIES} )
-set( INCLUDE_DIRS ${GLOBAL_INCLUDE_DIRS} ${MT19937AR_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIRS} )
-set( DEFINITIONS ${GLOBAL_DEFINITIONS} TXT_ONLY )
-if( USE_PCRE )
-	message( STATUS "Using PCRE" )
-	list( APPEND LIBRARIES ${PCRE_LIBRARIES} )
-	list( APPEND INCLUDE_DIRS ${PCRE_INCLUDE_DIRS} )
-endif()
-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} ${MAP_SOURCES} ${MAP_TXT_SOURCES} )
-source_group( 3rdparty FILES ${MT19937AR_SOURCES} )
-source_group( common FILES ${COMMON_SOURCES} )
-source_group( map FILES ${MAP_SOURCES} ${MAP_TXT_SOURCES} )
-include_directories( ${INCLUDE_DIRS} )
-add_executable( map-server ${SOURCE_FILES} )
-target_link_libraries( map-server ${LIBRARIES} )
-set_target_properties( map-server PROPERTIES COMPILE_DEFINITIONS "${DEFINITIONS}" )
-if( INSTALL_RUN_DATA )
-	install( TARGETS map-server
-		DESTINATION ${CMAKE_INSTALL_PREFIX}
-		COMPONENT "map-server" )
-endif()
-message ( STATUS "Creating target map-server - done" )
-else()
-message ( STATUS "Skipping target map-server (requires ZLIB; optional PCRE)" )
-endif()
-
-
-#
-# map sql
-#
-if( USE_ZLIB AND USE_MYSQL )
-message ( STATUS "Creating target map-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} )
-set( DEFINITIONS ${GLOBAL_DEFINITIONS} )
-if( USE_PCRE )
-	message( STATUS "Using PCRE" )
-	list( APPEND LIBRARIES ${PCRE_LIBRARIES} )
-	list( APPEND INCLUDE_DIRS ${PCRE_INCLUDE_DIRS} )
-endif()
-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} ${MAP_SOURCES} ${MAP_SQL_SOURCES} )
-source_group( 3rdparty FILES ${MT19937AR_SOURCES} )
-source_group( common FILES ${COMMON_SOURCES} ${COMMON_SQL_SOURCES} )
-source_group( map FILES ${MAP_SOURCES} ${MAP_SQL_SOURCES} )
-include_directories( ${INCLUDE_DIRS} )
-add_executable( map-server_sql ${SOURCE_FILES} )
-target_link_libraries( map-server_sql ${LIBRARIES} )
-set_target_properties( map-server_sql PROPERTIES COMPILE_DEFINITIONS "${DEFINITIONS}" )
-if( INSTALL_RUN_DATA )
-	install( TARGETS map-server_sql
-		DESTINATION ${CMAKE_INSTALL_PREFIX}
-		COMPONENT "map-server_sql" )
-endif()
-message ( STATUS "Creating target map-server_sql - done" )
-else()
-message ( STATUS "Skipping target map-server_sql (requires ZLIB and MYSQL; optional PCRE)" )
-endif()
+add_subdirectory( txt )
+add_subdirectory( sql )

+ 39 - 0
src/map/sql/CMakeLists.txt

@@ -0,0 +1,39 @@
+
+#
+# map sql
+#
+if( USE_ZLIB AND USE_MYSQL )
+message ( STATUS "Creating target map-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} )
+set( DEFINITIONS ${GLOBAL_DEFINITIONS} )
+if( USE_PCRE )
+	message( STATUS "Using PCRE" )
+	list( APPEND LIBRARIES ${PCRE_LIBRARIES} )
+	list( APPEND INCLUDE_DIRS ${PCRE_INCLUDE_DIRS} )
+endif()
+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} ${MAP_SOURCES} ${MAP_SQL_SOURCES} )
+source_group( 3rdparty FILES ${MT19937AR_SOURCES} )
+source_group( common FILES ${COMMON_SOURCES} ${COMMON_SQL_SOURCES} )
+source_group( map FILES ${MAP_SOURCES} ${MAP_SQL_SOURCES} )
+include_directories( ${INCLUDE_DIRS} )
+add_executable( map-server_sql ${SOURCE_FILES} )
+target_link_libraries( map-server_sql ${LIBRARIES} )
+set_target_properties( map-server_sql PROPERTIES COMPILE_DEFINITIONS "${DEFINITIONS}" )
+if( INSTALL_RUN_DATA )
+	install( TARGETS map-server_sql
+		DESTINATION ${CMAKE_INSTALL_PREFIX}
+		COMPONENT "map-server_sql" )
+endif()
+message ( STATUS "Creating target map-server_sql - done" )
+else()
+message ( STATUS "Skipping target map-server_sql (requires ZLIB and MYSQL; optional PCRE)" )
+endif()

+ 39 - 0
src/map/txt/CMakeLists.txt

@@ -0,0 +1,39 @@
+
+#
+# map txt
+#
+if( USE_ZLIB )
+message ( STATUS "Creating target map-server" )
+set( LIBRARIES ${GLOBAL_LIBRARIES} ${ZLIB_LIBRARIES} )
+set( INCLUDE_DIRS ${GLOBAL_INCLUDE_DIRS} ${MT19937AR_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIRS} )
+set( DEFINITIONS ${GLOBAL_DEFINITIONS} TXT_ONLY )
+if( USE_PCRE )
+	message( STATUS "Using PCRE" )
+	list( APPEND LIBRARIES ${PCRE_LIBRARIES} )
+	list( APPEND INCLUDE_DIRS ${PCRE_INCLUDE_DIRS} )
+endif()
+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} ${MAP_SOURCES} ${MAP_TXT_SOURCES} )
+source_group( 3rdparty FILES ${MT19937AR_SOURCES} )
+source_group( common FILES ${COMMON_SOURCES} )
+source_group( map FILES ${MAP_SOURCES} ${MAP_TXT_SOURCES} )
+include_directories( ${INCLUDE_DIRS} )
+add_executable( map-server ${SOURCE_FILES} )
+target_link_libraries( map-server ${LIBRARIES} )
+set_target_properties( map-server PROPERTIES COMPILE_DEFINITIONS "${DEFINITIONS}" )
+if( INSTALL_RUN_DATA )
+	install( TARGETS map-server
+		DESTINATION ${CMAKE_INSTALL_PREFIX}
+		COMPONENT "map-server" )
+endif()
+message ( STATUS "Creating target map-server - done" )
+else()
+message ( STATUS "Skipping target map-server (requires ZLIB; optional PCRE)" )
+endif()