Fixed: #910 - NeL and Ryzom client should build out of the box using CMake on mac os x now.
This commit is contained in:
parent
6b2ddf3d59
commit
d17b9de3b0
7 changed files with 122 additions and 17 deletions
|
@ -84,7 +84,7 @@ ELSE(WITH_LUA51)
|
||||||
ENDIF(WITH_LUA51)
|
ENDIF(WITH_LUA51)
|
||||||
FIND_PACKAGE(CURL REQUIRED)
|
FIND_PACKAGE(CURL REQUIRED)
|
||||||
FIND_PACKAGE(Libwww)
|
FIND_PACKAGE(Libwww)
|
||||||
|
FIND_PACKAGE(ZLIB)
|
||||||
IF(NOT WIN32)
|
IF(NOT WIN32)
|
||||||
FIND_PACKAGE(X11)
|
FIND_PACKAGE(X11)
|
||||||
ENDIF(NOT WIN32)
|
ENDIF(NOT WIN32)
|
||||||
|
|
|
@ -24,20 +24,78 @@ FIND_PATH(LIBWWW_INCLUDE_DIR
|
||||||
PATH_SUFFIXES libwww w3c-libwww
|
PATH_SUFFIXES libwww w3c-libwww
|
||||||
)
|
)
|
||||||
|
|
||||||
FIND_LIBRARY(LIBWWW_LIBRARY
|
# when installing libwww on mac os x using macports the file wwwconf.h resides
|
||||||
wwwapp
|
# in /opt/local/include and not in the real libwww include dir :/
|
||||||
|
FIND_PATH(LIBWWW_ADDITIONAL_INCLUDE_DIR
|
||||||
|
wwwconf.h
|
||||||
PATHS
|
PATHS
|
||||||
/usr/local/lib
|
/usr/local/include
|
||||||
/usr/lib
|
/usr/include
|
||||||
/usr/local/X11R6/lib
|
/sw/include
|
||||||
/usr/X11R6/lib
|
/opt/local/include
|
||||||
/sw/lib
|
/opt/csw/include
|
||||||
/opt/local/lib
|
/opt/include
|
||||||
/opt/csw/lib
|
|
||||||
/opt/lib
|
|
||||||
/usr/freeware/lib64
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# combine both include directories into one variable
|
||||||
|
SET(LIBWWW_INCLUDE_DIR ${LIBWWW_INCLUDE_DIR} ${LIBWWW_ADDITIONAL_INCLUDE_DIR})
|
||||||
|
|
||||||
|
# helper to find all the libwww sub libraries
|
||||||
|
MACRO(FIND_WWW_LIBRARY MYLIBRARY)
|
||||||
|
FIND_LIBRARY(${MYLIBRARY}
|
||||||
|
NAMES ${ARGN}
|
||||||
|
PATHS
|
||||||
|
/usr/local/lib
|
||||||
|
/usr/lib
|
||||||
|
/usr/local/X11R6/lib
|
||||||
|
/usr/X11R6/lib
|
||||||
|
/sw/lib
|
||||||
|
/opt/local/lib
|
||||||
|
/opt/csw/lib
|
||||||
|
/opt/lib
|
||||||
|
/usr/freeware/lib64
|
||||||
|
)
|
||||||
|
ENDMACRO(FIND_WWW_LIBRARY MYLIBRARY)
|
||||||
|
|
||||||
|
# on mac os x, libwww sub libraries are not "inter-linked"
|
||||||
|
# we need to link them all manually
|
||||||
|
IF(APPLE)
|
||||||
|
# find all the libwww libraries
|
||||||
|
FIND_WWW_LIBRARY(LIBWWWAPP_LIBRARY wwwapp)
|
||||||
|
FIND_WWW_LIBRARY(LIBWWWCACHE_LIBRARY wwwcache)
|
||||||
|
FIND_WWW_LIBRARY(LIBWWWCORE_LIBRARY wwwcore)
|
||||||
|
FIND_WWW_LIBRARY(LIBWWWDIR_LIBRARY wwwdir)
|
||||||
|
FIND_WWW_LIBRARY(LIBWWWFILE_LIBRARY wwwfile)
|
||||||
|
FIND_WWW_LIBRARY(LIBWWWFTP_LIBRARY wwwftp)
|
||||||
|
FIND_WWW_LIBRARY(LIBWWWGOPHER_LIBRARY wwwgopher)
|
||||||
|
FIND_WWW_LIBRARY(LIBWWWHTML_LIBRARY wwwhtml)
|
||||||
|
FIND_WWW_LIBRARY(LIBWWWHTTP_LIBRARY wwwhttp)
|
||||||
|
FIND_WWW_LIBRARY(LIBWWWINIT_LIBRARY wwwinit)
|
||||||
|
FIND_WWW_LIBRARY(LIBWWWMIME_LIBRARY wwwmime)
|
||||||
|
FIND_WWW_LIBRARY(LIBWWWMUX_LIBRARY wwwmux)
|
||||||
|
FIND_WWW_LIBRARY(LIBWWWNEWS_LIBRARY wwwnews)
|
||||||
|
FIND_WWW_LIBRARY(LIBWWWSSL_LIBRARY wwwssl)
|
||||||
|
FIND_WWW_LIBRARY(LIBWWWSTREAM_LIBRARY wwwstream)
|
||||||
|
FIND_WWW_LIBRARY(LIBWWWTELNET_LIBRARY wwwtelnet)
|
||||||
|
FIND_WWW_LIBRARY(LIBWWWTRANS_LIBRARY wwwtrans)
|
||||||
|
FIND_WWW_LIBRARY(LIBWWWUTILS_LIBRARY wwwutils)
|
||||||
|
FIND_WWW_LIBRARY(LIBWWWXML_LIBRARY wwwxml)
|
||||||
|
FIND_WWW_LIBRARY(LIBWWWZIP_LIBRARY wwwzip)
|
||||||
|
|
||||||
|
# combine all the libraries into one variable
|
||||||
|
SET(LIBWWW_LIBRARY
|
||||||
|
${LIBWWWAPP_LIBRARY} ${LIBWWWCACHE_LIBRARY} ${LIBWWWCORE_LIBRARY}
|
||||||
|
${LIBWWWDIR_LIBRARY} ${LIBWWWFILE_LIBRARY} ${LIBWWWFTP_LIBRARY}
|
||||||
|
${LIBWWWGOPHER_LIBRARY} ${LIBWWWHTML_LIBRARY} ${LIBWWWHTTP_LIBRARY}
|
||||||
|
${LIBWWWINIT_LIBRARY} ${LIBWWWMIME_LIBRARY} ${LIBWWWMUX_LIBRARY}
|
||||||
|
${LIBWWWNEWS_LIBRARY} ${LIBWWWSSL_LIBRARY} ${LIBWWWSTREAM_LIBRARY}
|
||||||
|
${LIBWWWTELNET_LIBRARY} ${LIBWWWTRANS_LIBRARY} ${LIBWWWUTILS_LIBRARY}
|
||||||
|
${LIBWWWXML_LIBRARY} ${LIBWWWZIP_LIBRARY}
|
||||||
|
)
|
||||||
|
ELSE(APPLE)
|
||||||
|
FIND_WWW_LIBRARY(LIBWWW_LIBRARY wwwapp)
|
||||||
|
ENDIF(APPLE)
|
||||||
|
|
||||||
IF(LIBWWW_LIBRARY AND LIBWWW_INCLUDE_DIR)
|
IF(LIBWWW_LIBRARY AND LIBWWW_INCLUDE_DIR)
|
||||||
SET(LIBWWW_FOUND "YES")
|
SET(LIBWWW_FOUND "YES")
|
||||||
IF(NOT LIBWWW_FIND_QUIETLY)
|
IF(NOT LIBWWW_FIND_QUIETLY)
|
||||||
|
@ -48,4 +106,3 @@ ELSE(LIBWWW_LIBRARY AND LIBWWW_INCLUDE_DIR)
|
||||||
MESSAGE(STATUS "Warning: Unable to find LibWWW!")
|
MESSAGE(STATUS "Warning: Unable to find LibWWW!")
|
||||||
ENDIF(NOT LIBWWW_FIND_QUIETLY)
|
ENDIF(NOT LIBWWW_FIND_QUIETLY)
|
||||||
ENDIF(LIBWWW_LIBRARY AND LIBWWW_INCLUDE_DIR)
|
ENDIF(LIBWWW_LIBRARY AND LIBWWW_INCLUDE_DIR)
|
||||||
|
|
||||||
|
|
39
code/ryzom/CMakeModules/FindZLIB.cmake
Normal file
39
code/ryzom/CMakeModules/FindZLIB.cmake
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
# - Find zlib
|
||||||
|
# Find the native ZLIB includes and library
|
||||||
|
#
|
||||||
|
# ZLIB_INCLUDE_DIRS - where to find zlib.h, etc.
|
||||||
|
# ZLIB_LIBRARIES - List of libraries when using zlib.
|
||||||
|
# ZLIB_FOUND - True if zlib found.
|
||||||
|
|
||||||
|
#=============================================================================
|
||||||
|
# Copyright 2001-2009 Kitware, Inc.
|
||||||
|
#
|
||||||
|
# Distributed under the OSI-approved BSD License (the "License");
|
||||||
|
# see accompanying file Copyright.txt for details.
|
||||||
|
#
|
||||||
|
# This software is distributed WITHOUT ANY WARRANTY; without even the
|
||||||
|
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
# See the License for more information.
|
||||||
|
#=============================================================================
|
||||||
|
# (To distributed this file outside of CMake, substitute the full
|
||||||
|
# License text for the above reference.)
|
||||||
|
|
||||||
|
IF (ZLIB_INCLUDE_DIR)
|
||||||
|
# Already in cache, be silent
|
||||||
|
SET(ZLIB_FIND_QUIETLY TRUE)
|
||||||
|
ENDIF (ZLIB_INCLUDE_DIR)
|
||||||
|
|
||||||
|
FIND_PATH(ZLIB_INCLUDE_DIR zlib.h)
|
||||||
|
|
||||||
|
SET(ZLIB_NAMES z zlib zdll)
|
||||||
|
FIND_LIBRARY(ZLIB_LIBRARY NAMES ${ZLIB_NAMES} )
|
||||||
|
MARK_AS_ADVANCED( ZLIB_LIBRARY ZLIB_INCLUDE_DIR )
|
||||||
|
|
||||||
|
# Per-recommendation
|
||||||
|
SET(ZLIB_INCLUDE_DIRS "${ZLIB_INCLUDE_DIR}")
|
||||||
|
SET(ZLIB_LIBRARIES "${ZLIB_LIBRARY}")
|
||||||
|
|
||||||
|
# handle the QUIETLY and REQUIRED arguments and set ZLIB_FOUND to TRUE if
|
||||||
|
# all listed variables are TRUE
|
||||||
|
INCLUDE(FindPackageHandleStandardArgs)
|
||||||
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(ZLIB DEFAULT_MSG ZLIB_LIBRARIES ZLIB_INCLUDE_DIRS)
|
|
@ -80,7 +80,10 @@ MACRO(NL_SETUP_BUILD)
|
||||||
IF(WITH_COVERAGE)
|
IF(WITH_COVERAGE)
|
||||||
SET(PLATFORM_CFLAGS "-fprofile-arcs -ftest-coverage ${PLATFORM_CFLAGS}")
|
SET(PLATFORM_CFLAGS "-fprofile-arcs -ftest-coverage ${PLATFORM_CFLAGS}")
|
||||||
ENDIF(WITH_COVERAGE)
|
ENDIF(WITH_COVERAGE)
|
||||||
SET(PLATFORM_LINKFLAGS "${CMAKE_THREAD_LIBS_INIT} -lc -lm -lstdc++ -lrt")
|
SET(PLATFORM_LINKFLAGS "${CMAKE_THREAD_LIBS_INIT} -lc -lm -lstdc++")
|
||||||
|
IF(NOT APPLE)
|
||||||
|
SET(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -lrt")
|
||||||
|
ENDIF(NOT APPLE)
|
||||||
SET(NL_DEBUG_CFLAGS "-DNL_DEBUG -g")
|
SET(NL_DEBUG_CFLAGS "-DNL_DEBUG -g")
|
||||||
SET(NL_RELEASE_CFLAGS "-DNL_RELEASE -O6")
|
SET(NL_RELEASE_CFLAGS "-DNL_RELEASE -O6")
|
||||||
SET(NL_RELEASEDEBUG_CFLAGS "-DNL_RELEASE_DEBUG -g -finline-functions -O3 ")
|
SET(NL_RELEASEDEBUG_CFLAGS "-DNL_RELEASE_DEBUG -g -finline-functions -O3 ")
|
||||||
|
|
|
@ -49,6 +49,7 @@ TARGET_LINK_LIBRARIES(client ${PLATFORM_LINKFLAGS}
|
||||||
${NELNET_LIBRARY}
|
${NELNET_LIBRARY}
|
||||||
${NELLIGO_LIBRARY}
|
${NELLIGO_LIBRARY}
|
||||||
${NELGEORGES_LIBRARY}
|
${NELGEORGES_LIBRARY}
|
||||||
|
${NEL3D_LIBRARY}
|
||||||
${LUA_LIBRARIES}
|
${LUA_LIBRARIES}
|
||||||
${CURL_LIBRARIES}
|
${CURL_LIBRARIES}
|
||||||
${NELSOUND_LIBRARY}
|
${NELSOUND_LIBRARY}
|
||||||
|
|
|
@ -14,7 +14,9 @@ ELSE(WIN32)
|
||||||
ENDIF(WIN32)
|
ENDIF(WIN32)
|
||||||
|
|
||||||
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR} ${NEL_INCLUDE_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
|
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR} ${NEL_INCLUDE_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
TARGET_LINK_LIBRARIES(game_share ${NELMISC_LIBRARY})
|
TARGET_LINK_LIBRARIES(game_share
|
||||||
|
${NELMISC_LIBRARY} ${NELNET_LIBRARY} ${NELLIGO_LIBRARY} ${NELGEORGES_LIBRARY}
|
||||||
|
${LIBXML2_LIBRARIES} ${ZLIB_LIBRARIES})
|
||||||
SET_TARGET_PROPERTIES(game_share PROPERTIES VERSION ${NL_VERSION})
|
SET_TARGET_PROPERTIES(game_share PROPERTIES VERSION ${NL_VERSION})
|
||||||
|
|
||||||
IF(WIN32)
|
IF(WIN32)
|
||||||
|
|
|
@ -93,7 +93,10 @@ MACRO(NL_SETUP_BUILD)
|
||||||
IF(WITH_COVERAGE)
|
IF(WITH_COVERAGE)
|
||||||
SET(PLATFORM_CFLAGS "-fprofile-arcs -ftest-coverage ${PLATFORM_CFLAGS}")
|
SET(PLATFORM_CFLAGS "-fprofile-arcs -ftest-coverage ${PLATFORM_CFLAGS}")
|
||||||
ENDIF(WITH_COVERAGE)
|
ENDIF(WITH_COVERAGE)
|
||||||
SET(PLATFORM_LINKFLAGS "${CMAKE_THREAD_LIBS_INIT} -lc -lm -lstdc++ -lrt")
|
SET(PLATFORM_LINKFLAGS "${CMAKE_THREAD_LIBS_INIT} -lc -lm -lstdc++")
|
||||||
|
IF(NOT APPLE)
|
||||||
|
SET(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -lrt")
|
||||||
|
ENDIF(NOT APPLE)
|
||||||
SET(NL_DEBUG_CFLAGS "-DNL_DEBUG -g")
|
SET(NL_DEBUG_CFLAGS "-DNL_DEBUG -g")
|
||||||
SET(NL_RELEASE_CFLAGS "-DNL_RELEASE -O6")
|
SET(NL_RELEASE_CFLAGS "-DNL_RELEASE -O6")
|
||||||
SET(NL_RELEASEDEBUG_CFLAGS "-DNL_RELEASE_DEBUG -g -finline-functions -O3 ")
|
SET(NL_RELEASEDEBUG_CFLAGS "-DNL_RELEASE_DEBUG -g -finline-functions -O3 ")
|
||||||
|
|
Loading…
Reference in a new issue