Files
@ 10fa67acb7bf
Branch filter:
Location: ohnobinki_overlay/games-arcade/supertux/files/supertux-0.3.3-externals.patch
10fa67acb7bf
4.4 KiB
text/x-diff
sys-fs/mdadm: Import mdadm-3.1.4 from gentoo-x86 to fix portage-multilib compilation and bug 336175.
(Portage version: 2.2.0_alpha2-r1/hg/Linux x86_64, signed Manifest commit with key 6BA81050)
(Portage version: 2.2.0_alpha2-r1/hg/Linux x86_64, signed Manifest commit with key 6BA81050)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 | Author: Nathan Phillip Brink <ohnobinki@ohnopublishing.net>
Purpose: To enable supertux to link against system-installed libsquirrel (as installed with pkg-config files by dev-lang/squirrel), tinygettext (whose API will someday change to be more ABI-friendly), and findlocale (which grumbel claims is pointless to externalize). This patch is not upstreamable because 1. upstream squirrel doesn't support system-installed squirrel at all and 2. tinygettext's API is C++ atm and will change.
diff -r e2cf0ccf00c7 CMakeLists.txt
--- a/CMakeLists.txt Thu May 13 11:06:57 2010 -0400
+++ b/CMakeLists.txt Fri May 14 02:20:14 2010 -0400
@@ -102,6 +102,21 @@
SET(HAVE_LIBCURL TRUE)
ENDIF(CURL_FOUND)
+INCLUDE(FindPkgConfig)
+pkg_check_modules(TINYGETTEXT tinygettext>=0.1)
+IF(TINYGETTEXT_FOUND)
+ SET(TINYGETTEXT_SOURCES_CXX "")
+ ADD_DEFINITIONS(${TINYGETTEXT_CFLAGS})
+ELSE(TINYGETTEXT_FOUND)
+ include_directories (${CMAKE_CURRENT_SOURCE_DIR}/external/tinygettext/)
+ FILE(GLOB TINYGETTEXT_SOURCES_CXX RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} external/tinygettext/tinygettext/*.cpp)
+ SET_SOURCE_FILES_PROPERTIES(${TINYGETTEXT_SOURCES_CXX} PROPERTIES COMPILE_DEFINITIONS HAVE_SDL)
+ENDIF(TINYGETTEXT_FOUND)
+
+INCLUDE(FindPkgConfig)
+pkg_check_modules(FINDLOCALE REQUIRED findlocale>=0.47)
+ADD_DEFINITIONS(${FINDLOCALE_CFLAGS})
+
#FIND_PACKAGE(ICONV REQUIRED)
#INCLUDE_DIRECTORIES(${ICONV_INCLUDE_DIR})
#LINK_LIBRARIES(${ICONV_LIBRARY})
@@ -149,31 +164,41 @@
## Also execute instructions in src/squirrel/CMakeLists.txt
-ADD_SUBDIRECTORY(external/squirrel)
+INCLUDE(FindPkgConfig)
-## Add squirrel lib dir to search path
+## check for external squirrel. To meet grumbel's requirements, must
+## default to internal squirrel.
+OPTION(EXTERNAL_LIBSQUIRREL "Build against external libsquirel libraries" OFF)
-LINK_DIRECTORIES(external/squirrel)
+IF(EXTERNAL_LIBSQUIRREL)
+ pkg_check_modules(LIBSQUIRREL REQUIRED libsquirrel>=2.2.4 libsqstdlib>=2.2.4)
+
+ ## libs are handled much further on
+ ADD_DEFINITIONS(${LIBSQUIRREL_CFLAGS})
+ELSE(EXTERNAL_LIBSQUIRREL)
+ ADD_SUBDIRECTORY(external/squirrel)
+
+ ## Add squirrel lib dir to search paths
+
+ LINK_DIRECTORIES(external/squirrel)
+
+ include_directories (${CMAKE_CURRENT_SOURCE_DIR}/external/squirrel/include/)
+ SET(LIBSQUIRREL_LIBRARIES squirrel)
+ENDIF(EXTERNAL_LIBSQUIRREL)
## Some additional include paths
include_directories (${CMAKE_BINARY_DIR}/)
include_directories (${CMAKE_CURRENT_SOURCE_DIR}/src/)
-include_directories (${CMAKE_CURRENT_SOURCE_DIR}/external/squirrel/include/)
-include_directories (${CMAKE_CURRENT_SOURCE_DIR}/external/tinygettext/)
-include_directories (${CMAKE_CURRENT_SOURCE_DIR}/external/findlocale/)
include_directories (${CMAKE_CURRENT_SOURCE_DIR}/external/obstack/)
include_directories (${CMAKE_CURRENT_SOURCE_DIR}/external/binreloc/)
## Build list of sources for supertux binary
-FILE(GLOB SUPERTUX_SOURCES_C RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} external/obstack/*.c external/findlocale/findlocale.c)
+FILE(GLOB SUPERTUX_SOURCES_C RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} external/obstack/*.c)
FILE(GLOB SUPERTUX_SOURCES_CXX RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} src/main.cpp src/*/*.cpp src/supertux/menu/*.cpp src/video/sdl/*.cpp)
-FILE(GLOB TINYGETTEXT_SOURCES_CXX RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} external/tinygettext/tinygettext/*.cpp)
-SET_SOURCE_FILES_PROPERTIES(${TINYGETTEXT_SOURCES_CXX} PROPERTIES COMPILE_DEFINITIONS HAVE_SDL)
-
IF(HAVE_OPENGL)
FILE(GLOB SUPERTUX_OPENGL_SOURCES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} src/video/gl/*.cpp)
SET(SUPERTUX_SOURCES_CXX ${SUPERTUX_SOURCES_CXX} ${SUPERTUX_OPENGL_SOURCES})
@@ -333,12 +358,13 @@
## Link supertux binary with squirrel and other libraries
-TARGET_LINK_LIBRARIES(supertux2 squirrel)
+TARGET_LINK_LIBRARIES(supertux2 ${LIBSQUIRREL_LIBRARIES})
TARGET_LINK_LIBRARIES(supertux2 ${SDL_LIBRARY})
TARGET_LINK_LIBRARIES(supertux2 ${SDLIMAGE_LIBRARY})
TARGET_LINK_LIBRARIES(supertux2 ${OPENAL_LIBRARY})
TARGET_LINK_LIBRARIES(supertux2 ${OGGVORBIS_LIBRARIES})
TARGET_LINK_LIBRARIES(supertux2 ${PHYSFS_LIBRARY})
+TARGET_LINK_LIBRARIES(supertux2 ${FINDLOCALE_LDFLAGS})
IF(HAVE_OPENGL)
TARGET_LINK_LIBRARIES(supertux2 ${OPENGL_LIBRARY})
TARGET_LINK_LIBRARIES(supertux2 ${GLEW_LIBRARY})
@@ -346,6 +372,9 @@
IF(HAVE_LIBCURL)
TARGET_LINK_LIBRARIES(supertux2 ${CURL_LIBRARY})
ENDIF(HAVE_LIBCURL)
+IF(TINYGETTEXT_FOUND)
+ TARGET_LINK_LIBRARIES(supertux2 ${TINYGETTEXT_LDFLAGS})
+ENDIF(TINYGETTEXT_FOUND)
## Install stuff
|