Index: head/games/aquaria/files/patch-CMakeLists.txt =================================================================== --- head/games/aquaria/files/patch-CMakeLists.txt (revision 398013) +++ head/games/aquaria/files/patch-CMakeLists.txt (revision 398014) @@ -1,39 +1,41 @@ +partially https://github.com/AquariaOSE/Aquaria/pull/22 + --- CMakeLists.txt.orig 2015-08-16 13:19:19 UTC +++ CMakeLists.txt @@ -227,6 +227,7 @@ endif (NOT OPENAL_FOUND) OPTION(AQUARIA_INTERNAL_TINYXML2 "Always use included TinyXML2 library" ${WIN32_TRUE}) if(NOT AQUARIA_INTERNAL_TINYXML2) + set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/") find_package(TinyXML2) endif(NOT AQUARIA_INTERNAL_TINYXML2) if (AQUARIA_INTERNAL_TINYXML2 OR NOT TINYXML2_FOUND) @@ -316,6 +317,10 @@ ELSE(AQUARIA_DEMO_BUILD) ADD_DEFINITIONS(-DAQUARIA_BUILD_SCENEEDITOR=1) ENDIF(AQUARIA_DEMO_BUILD) +IF(CMAKE_BUILD_TYPE STREQUAL "Release") + ADD_DEFINITIONS(-DNDEBUG) + message(STATUS "This is a release build.") +ENDIF(CMAKE_BUILD_TYPE STREQUAL "Release") IF(CMAKE_BUILD_TYPE STREQUAL "Debug") ADD_DEFINITIONS(-D_DEBUG) # MSVC defines this in debug mode by default, gcc/mingw do not message(STATUS "This is a debug build.") @@ -341,7 +346,7 @@ IF(UNIX AND NOT HAIKU) ADD_DEFINITIONS(-DLUA_USE_ULONGJMP=1) ENDIF() -IF(CMAKE_COMPILER_IS_GNUCC) +IF(AQUARIA_CRUFT) ADD_DEFINITIONS(-pipe -fsigned-char) #ADD_DEFINITIONS(-Wall) @@ -367,7 +372,7 @@ IF(CMAKE_COMPILER_IS_GNUCC) SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS) SET(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS) ENDIF(CMAKE_SYSTEM_NAME STREQUAL "Linux") -ENDIF(CMAKE_COMPILER_IS_GNUCC) +ENDIF(AQUARIA_CRUFT) CHECK_FUNCTION_EXISTS(strcasecmp HAVE_STRCASECMP) IF(HAVE_STRCASECMP) Index: head/games/aquaria/files/patch-ExternalLibs_minihttp.cpp =================================================================== --- head/games/aquaria/files/patch-ExternalLibs_minihttp.cpp (revision 398013) +++ head/games/aquaria/files/patch-ExternalLibs_minihttp.cpp (revision 398014) @@ -1,10 +1,12 @@ +https://github.com/AquariaOSE/Aquaria/pull/21 + --- ExternalLibs/minihttp.cpp.orig 2015-08-16 13:19:19 UTC +++ ExternalLibs/minihttp.cpp @@ -32,6 +32,7 @@ # include # include # include +# include # include # include # define SOCKET_ERROR (-1) Index: head/games/aquaria/files/patch-system-ftgl =================================================================== --- head/games/aquaria/files/patch-system-ftgl (revision 398013) +++ head/games/aquaria/files/patch-system-ftgl (revision 398014) @@ -1,111 +1,113 @@ +https://github.com/AquariaOSE/Aquaria/pull/20 + diff --git BBGE/TTFFont.h BBGE/TTFFont.h index 364cfb5..b23438a 100644 --- BBGE/TTFFont.h +++ BBGE/TTFFont.h @@ -24,11 +24,15 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "Base.h" #include "BaseText.h" +#ifdef AQUARIA_INTERNAL_FTGL #include #include FT_FREETYPE_H #include "FTGL.h" #include "FTGLTextureFont.h" +#else +#include +#endif struct TTFFont { diff --git CMakeLists.txt CMakeLists.txt index 07dca08..059cb94 100644 --- CMakeLists.txt +++ CMakeLists.txt @@ -235,6 +235,20 @@ if (AQUARIA_INTERNAL_TINYXML2 OR NOT TINYXML2_FOUND) set(TINYXML2_SRCS "${EXTLIBDIR}/tinyxml2.cpp") endif (AQUARIA_INTERNAL_TINYXML2 OR NOT TINYXML2_FOUND) +### FTGL + +OPTION(AQUARIA_INTERNAL_FTGL "Always use included FTGL library" TRUE) +if(NOT AQUARIA_INTERNAL_FTGL) + find_package(FTGL) +endif(NOT AQUARIA_INTERNAL_FTGL) +if(FTGL_FOUND) + set(FREETYPE_INCLUDE_DIRS) +else(FTGL_FOUND) + message(STATUS "Using internal copy of FTGL") + set(FTGL_INCLUDE_DIRS "${FTGLDIR}/include") + ADD_DEFINITIONS(-DAQUARIA_INTERNAL_FTGL=1) +endif(FTGL_FOUND) + ################ End of external libraries INCLUDE_DIRECTORIES(${BBGEDIR}) @@ -242,7 +256,7 @@ INCLUDE_DIRECTORIES(${BBGEDIR}/GL) INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIRS}) INCLUDE_DIRECTORIES(${PNG_INCLUDE_DIR}) INCLUDE_DIRECTORIES(${SRCDIR}) -INCLUDE_DIRECTORIES(${FTGLDIR}/include) +INCLUDE_DIRECTORIES(${FTGL_INCLUDE_DIRS}) INCLUDE_DIRECTORIES(${FREETYPE_INCLUDE_DIRS}) INCLUDE_DIRECTORIES(${LUA_INCLUDE_DIR}) INCLUDE_DIRECTORIES(${OGGVORBIS_INCLUDE_DIRS}) @@ -740,11 +754,13 @@ ELSE(PNG_FOUND) SET(OPTIONAL_SRCS ${OPTIONAL_SRCS} ${PNG_SRCS}) ENDIF(PNG_FOUND) +IF(NOT FTGL_FOUND) IF(FREETYPE_FOUND) SET(OPTIONAL_LIBS ${OPTIONAL_LIBS} ${FREETYPE_LIBRARIES}) ELSE(FREETYPE_FOUND) SET(OPTIONAL_SRCS ${OPTIONAL_SRCS} ${FREETYPE2_SRCS}) ENDIF(FREETYPE_FOUND) +ENDIF(NOT FTGL_FOUND) IF(LUA51_FOUND) SET(OPTIONAL_LIBS ${OPTIONAL_LIBS} ${LUA_LIBRARIES}) @@ -764,10 +780,15 @@ ELSE(TINYXML2_FOUND) SET(OPTIONAL_SRCS ${OPTIONAL_SRCS} ${TINYXML2_SRCS}) ENDIF(TINYXML2_FOUND) +IF(FTGL_FOUND) + SET(OPTIONAL_LIBS ${OPTIONAL_LIBS} ${FTGL_LIBRARIES}) +ELSE(FTGL_FOUND) + SET(OPTIONAL_SRCS ${OPTIONAL_SRCS} ${FTGL_SRCS}) +ENDIF(FTGL_FOUND) + ADD_EXECUTABLE(aquaria ${EXETYPE} ${AQUARIA_SRCS} ${BBGE_SRCS} - ${FTGL_SRCS} ${OPTIONAL_SRCS} ) TARGET_LINK_LIBRARIES(aquaria ${OPTIONAL_LIBS}) diff --git cmake/Modules/FindFTGL.cmake cmake/Modules/FindFTGL.cmake new file mode 100644 index 0000000..9c9d61d --- /dev/null +++ cmake/Modules/FindFTGL.cmake @@ -0,0 +1,20 @@ +# - Try to find FTGL +# Once done this will define +# FTGL_FOUND - System has FTGL +# FTGL_INCLUDE_DIRS - The FTGL include directories +# FTGL_LIBRARIES - The libraries needed to use FTGL +# FTGL_DEFINITIONS - Compiler switches required for using FTGL + +find_package(PkgConfig) +pkg_check_modules(PC_FTGL QUIET ftgl) +set(FTGL_INCLUDE_DIRS ${PC_FTGL_INCLUDE_DIRS}) +set(FTGL_DEFINITIONS ${PC_FTGL_CFLAGS_OTHER}) + +find_library(FTGL_LIBRARY ftgl + HINTS ${PC_FTGL_LIBDIR} ${PC_FTGL_LIBRARY_DIRS}) +set(FTGL_LIBRARIES ${FTGL_LIBRARY}) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(FTGL DEFAULT_MSG FTGL_LIBRARIES FTGL_INCLUDE_DIRS) + +mark_as_advanced(FTGL_LIBRARIES FTGL_INCLUDE_DIRS)