summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorflaviojs <flaviojs@54d463be-8e91-2dee-dedb-b68131a5f0ec>2011-07-09 07:39:27 +0000
committerflaviojs <flaviojs@54d463be-8e91-2dee-dedb-b68131a5f0ec>2011-07-09 07:39:27 +0000
commitab9b60f5c4501eb8d7bec4a053d73fc723ea31b5 (patch)
treeceea0d69fbfe3366454c34157adc1baa414f291b
parent912dfc3af719b251d8a5036e76fb2733dddad46c (diff)
downloadhercules-ab9b60f5c4501eb8d7bec4a053d73fc723ea31b5.tar.gz
hercules-ab9b60f5c4501eb8d7bec4a053d73fc723ea31b5.tar.bz2
hercules-ab9b60f5c4501eb8d7bec4a053d73fc723ea31b5.tar.xz
hercules-ab9b60f5c4501eb8d7bec4a053d73fc723ea31b5.zip
* CMake: added search for math library, made CPack existence optional, updated the search for mysqlclient and corrected misspelled variables (tested with FreeBSD-8.2-i386)
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14893 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r--3rdparty/mysql/CMakeLists.txt23
-rw-r--r--3rdparty/mysql/FindMYSQL.cmake39
-rw-r--r--CMakeLists.txt32
-rw-r--r--Changelog-Trunk.txt1
-rw-r--r--src/tool/CMakeLists.txt2
5 files changed, 54 insertions, 43 deletions
diff --git a/3rdparty/mysql/CMakeLists.txt b/3rdparty/mysql/CMakeLists.txt
index 3f792281c..f4996907f 100644
--- a/3rdparty/mysql/CMakeLists.txt
+++ b/3rdparty/mysql/CMakeLists.txt
@@ -42,25 +42,10 @@ endif( WIN32 )
# system
#
message( STATUS "Detecting system MYSQL" )
-find_program( MYSQL_CONFIG_EXECUTABLE "mysql_config" )
-mark_as_advanced( MYSQL_CONFIG_EXECUTABLE )
-if( MYSQL_CONFIG_EXECUTABLE )
- # use mysql_config data
- message( "Found mysql_config: ${MYSQL_CONFIG_EXECUTABLE}" )
- execute_process( COMMAND "${MYSQL_CONFIG_EXECUTABLE} --libs"
- OUTPUT_VARIABLE MYSQL_LIBRARIES )
- execute_process( COMMAND "${MYSQL_CONFIG_EXECUTABLE} --include"
- OUTPUT_VARIABLE MYSQL_INCLUDE_DIRS )
- execute_process( COMMAND "${MYSQL_CONFIG_EXECUTABLE} --version"
- OUTPUT_VARIABLE MYSQL_VERSION )
- message( STATUS "Found MYSQL: ${MYSQL_LIBRARIES} (found version ${MYSQL_VERSION})" )
-else()
- # find mysql package
- unset( MYSQL_LIBRARIES CACHE )
- unset( MYSQL_INCLUDE_DIRS CACHE )
- set( CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_MODULE_PATH} )
- find_package( MYSQL )
-endif()
+unset( MYSQL_LIBRARIES CACHE )
+unset( MYSQL_INCLUDE_DIRS CACHE )
+set( CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_MODULE_PATH} )
+find_package( MYSQL )
set( MYSQL_SYSTEM_LIBRARIES "${MYSQL_LIBRARIES}"
CACHE PATH "system mysql libraries" )
set( MYSQL_SYSTEM_INCLUDE_DIRS "${MYSQL_INCLUDE_DIRS}"
diff --git a/3rdparty/mysql/FindMYSQL.cmake b/3rdparty/mysql/FindMYSQL.cmake
index 5ac264098..0a07f3612 100644
--- a/3rdparty/mysql/FindMYSQL.cmake
+++ b/3rdparty/mysql/FindMYSQL.cmake
@@ -1,23 +1,29 @@
# - Find mysqlclient
# Find the native MySQL includes and library
#
-# MYSQL_INCLUDE_DIR - where to find mysql.h, etc.
-# MYSQL_LIBRARIES - List of libraries when using MySQL.
-# MYSQL_FOUND - True if MySQL found.
+# MYSQL_INCLUDE_DIRS - where to find mysql.h, etc.
+# MYSQL_LIBRARIES - mysqlclient library.
+# MYSQL_FOUND - True if mysqlclient is found.
#
-# Based on: http://www.itk.org/Wiki/CMakeUserFindMySQL
-find_path( MYSQL_INCLUDE_DIR "mysql.h"
- PATH_SUFFIXES "mysql" )
+find_path( MYSQL_INCLUDE_DIRS "mysql.h"
+ PATHS
+ "/usr/include/mysql"
+ "/usr/local/include/mysql"
+ "$ENV{PROGRAMFILES}/MySQL/*/include"
+ "$ENV{SYSTEMDRIVE}/MySQL/*/include" )
-set( MYSQL_NAMES mysqlclient mysqlclient_r )
-find_library( MYSQL_LIBRARY
- NAMES ${MYSQL_NAMES}
- PATH_SUFFIXES "mysql" )
-mark_as_advanced( MYSQL_LIBRARY MYSQL_INCLUDE_DIR )
+find_library( MYSQL_LIBRARIES
+ NAMES "mysqlclient" "mysqlclient_r"
+ PATHS
+ "/usr/lib/mysql"
+ "/usr/local/lib/mysql"
+ "$ENV{PROGRAMFILES}/MySQL/*/lib"
+ "$ENV{SYSTEMDRIVE}/MySQL/*/lib" )
+mark_as_advanced( MYSQL_LIBRARIES MYSQL_INCLUDE_DIRS )
-if( MYSQL_INCLUDE_DIR AND EXISTS "${MYSQL_INCLUDE_DIR}/mysql_version.h" )
- file( STRINGS "${MYSQL_INCLUDE_DIR}/mysql_version.h" MYSQL_VERSION_H REGEX "^#define[ \t]+MYSQL_SERVER_VERSION[ \t]+\"[^\"]+\".*$" )
+if( MYSQL_INCLUDE_DIRS AND EXISTS "${MYSQL_INCLUDE_DIRS}/mysql_version.h" )
+ file( STRINGS "${MYSQL_INCLUDE_DIRS}/mysql_version.h" MYSQL_VERSION_H REGEX "^#define[ \t]+MYSQL_SERVER_VERSION[ \t]+\"[^\"]+\".*$" )
string( REGEX REPLACE "^.*MYSQL_SERVER_VERSION[ \t]+\"([^\"]+)\".*$" "\\1" MYSQL_VERSION_STRING "${MYSQL_VERSION_H}" )
endif()
@@ -25,10 +31,5 @@ endif()
# all listed variables are TRUE
include( FindPackageHandleStandardArgs )
FIND_PACKAGE_HANDLE_STANDARD_ARGS( MYSQL
- REQUIRED_VARS MYSQL_LIBRARY MYSQL_INCLUDE_DIR
+ REQUIRED_VARS MYSQL_LIBRARIES MYSQL_INCLUDE_DIRS
VERSION_VAR MYSQL_VERSION_STRING )
-
-if( MYSQL_FOUND )
- set( MYSQL_LIBRARIES ${PCRE_LIBRARY} )
- set( MYSQL_INCLUDE_DIRS ${PCRE_INCLUDE_DIR} )
-endif()
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 953c804ff..523d445ef 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -47,6 +47,9 @@ endif()
message( STATUS "Detecting svnversion" )
find_program( SVNVERSION_EXECUTABLE svnversion )
mark_as_advanced( SVNVERSION_EXECUTABLE )
+if( SVNVERSION_EXECUTABLE )
+ message( STATUS "Found svnversion: ${SVNVERSION_EXECUTABLE}" )
+endif()
message( STATUS "Detecting svnversion - done" )
@@ -59,6 +62,19 @@ message( STATUS "Detecting Subversion - done" )
#
+# Find math library (FreeBSD)
+#
+message( STATUS "Detecting math library" )
+find_library( M_LIBRARIES m )
+mark_as_advanced( M_LIBRARIES )
+if( M_LIBRARIES )
+ message( STATUS "Found m: ${M_LIBRARIES}" )
+ list( APPEND GLOBAL_LIBRARIES ${M_LIBRARIES} )
+endif()
+message( STATUS "Detecting math library - done" )
+
+
+#
# PACKETVER
#
set( PACKETVER CACHE STRING "Sets the PACKETVER define of the servers. (see src/common/mmo.h)" )
@@ -93,7 +109,15 @@ set( CPACK_PACKAGE_DESCRIPTION_SUMMARY "MMORPG server package" )
set( CPACK_PACKAGE_VERSION ${SVNVERSION} )
set( CPACK_RESOURCE_FILE_LICENSE ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE )
#set( CPACK_MONOLITHIC_INSTALL ON )
-include( CPACK )
+include( CPACK OPTIONAL RESULT_VARIABLE HAVE_CPACK )
+if( NOT HAVE_CPACK )
+ # empty replacements
+ macro( cpack_add_component_group )
+ endmacro()
+ macro( cpack_add_component )
+ endmacro()
+ message( STATUS "CPACK not found, package creation disabled" )
+endif()
set( Runtime "Runtime files" CACHE INTERNAL "" )
set( Runtime_base "configurations, dbs, npcs, docs, ..." CACHE INTERNAL "" )
@@ -111,10 +135,10 @@ cpack_add_component( Development_base DESCRIPTION ${Development_base} DISPLAY_NA
#
# install stuff
#
-option( WITH_COMPONENT_RUNTIME "install files needed to run the project" ON )
-option( WITH_COMPONENT_DEVELOPMENT "install files needed to build the project" OFF )
+option( WITH_COMPONENT_RUNTIME "install/package files needed to run the project" ON )
+option( WITH_COMPONENT_DEVELOPMENT "install/package files needed to build the project" OFF )
option( INSTALL_TO_PATH "copy files to INSTALL_PATH" OFF )
-option( INSTALL_TO_SOURCE "copy files to source directory (${CMAKE_CURRENT_SOURCE_DIR})" OFF )
+option( INSTALL_TO_SOURCE "copy files to source directory, skips what is already there (${CMAKE_CURRENT_SOURCE_DIR})" OFF )
option( INSTALL_TO_SUBDIR "copy files to subdirectory (${CMAKE_CURRENT_BINARY_DIR}/install)" OFF )
set( INSTALL_PATH "${CMAKE_INSTALL_PREFIX}" CACHE STRING "install path (only used when INSTALL_TO_PATH is set)" )
mark_as_advanced( CMAKE_INSTALL_PREFIX )
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt
index e5e1b81cc..fe07980c3 100644
--- a/Changelog-Trunk.txt
+++ b/Changelog-Trunk.txt
@@ -1,6 +1,7 @@
Date Added
2011/07/09
+ * CMake: added search for math library, made CPack existence optional, updated the search for mysqlclient and corrected misspelled variables (tested with FreeBSD-8.2-i386) [FlavioJS]
* Removed duplicate entries for Gunslinger and Ninja in msg_athena.conf (since r5506). [Ai4rei]
2011/07/07
* Replaced compress/uncompress inline code (encode_zip/decode_zip) with the respective zlib library calls while keeping 3rdparty calls inside common code (follow up to r14888, related r14808). [Ai4rei]
diff --git a/src/tool/CMakeLists.txt b/src/tool/CMakeLists.txt
index a23637e3d..e45586915 100644
--- a/src/tool/CMakeLists.txt
+++ b/src/tool/CMakeLists.txt
@@ -25,7 +25,7 @@ source_group( common FILES ${COMMON_HEADERS} ${COMMON_SOURCES} )
source_group( mapcache FILES ${MAPCACHE_SOURCES} )
add_executable( mapcache ${SOURCE_FILES} )
include_directories( ${INCLUDE_DIRS} )
-target_link_libraries( mapcache ${ZLIB_LIBRARIES} )
+target_link_libraries( mapcache ${LIBRARIES} )
set_target_properties( mapcache PROPERTIES COMPILE_DEFINITIONS "${DEFINITIONS}" )
if( WITH_COMPONENT_RUNTIME )
cpack_add_component( Runtime_mapcache DESCRIPTION "mapcache generator" DISPLAY_NAME "mapcache" GROUP Runtime )