diff options
author | flaviojs <flaviojs@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2011-07-09 07:39:27 +0000 |
---|---|---|
committer | flaviojs <flaviojs@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2011-07-09 07:39:27 +0000 |
commit | ab9b60f5c4501eb8d7bec4a053d73fc723ea31b5 (patch) | |
tree | ceea0d69fbfe3366454c34157adc1baa414f291b | |
parent | 912dfc3af719b251d8a5036e76fb2733dddad46c (diff) | |
download | hercules-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.txt | 23 | ||||
-rw-r--r-- | 3rdparty/mysql/FindMYSQL.cmake | 39 | ||||
-rw-r--r-- | CMakeLists.txt | 32 | ||||
-rw-r--r-- | Changelog-Trunk.txt | 1 | ||||
-rw-r--r-- | src/tool/CMakeLists.txt | 2 |
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 ) |