|
| 1 | +# vim: setlocal syntax=cmake: |
| 2 | + |
| 3 | +add_definitions(-DTARGET_BOXEEBOX) |
| 4 | + |
| 5 | +message(STATUS "Building for BoxeeBox") |
| 6 | + |
| 7 | +######################### Compiler CFLAGS |
| 8 | +set(EXTRA_CFLAGS "-fPIC -DPIC") |
| 9 | + |
| 10 | +######################### CHECK LIBRARIES / FRAMEWORKS |
| 11 | +option(USE_INTERNAL_FFMPEG "Use internal FFmpeg?" OFF) |
| 12 | + |
| 13 | +set(LINK_PKG |
| 14 | + Freetype |
| 15 | + ZLIB |
| 16 | + JPEG |
| 17 | + SQLite3 |
| 18 | + PCRE |
| 19 | + Lzo2 |
| 20 | + FriBiDi |
| 21 | + Fontconfig |
| 22 | + YAJL |
| 23 | + microhttpd |
| 24 | + Crypto |
| 25 | + OpenSSL |
| 26 | + TinyXML |
| 27 | + Iconv |
| 28 | + Avahi |
| 29 | + LibDl |
| 30 | + LibRt |
| 31 | + FLAC |
| 32 | + DBUS |
| 33 | +) |
| 34 | + |
| 35 | +if(NOT USE_INTERNAL_FFMPEG) |
| 36 | + list(APPEND LINK_PKG FFmpeg) |
| 37 | +else() |
| 38 | + set(FFMPEG_INCLUDE_DIRS ${PROJECT_SOURCE_DIR}/lib/ffmpeg ${CMAKE_BINARY_DIR}/lib/ffmpeg/ffmpeg/src/ffmpeg-build) |
| 39 | +endif() |
| 40 | + |
| 41 | +if(ENABLE_PYTHON) |
| 42 | + list(APPEND LINK_PKG Python) |
| 43 | +endif(ENABLE_PYTHON) |
| 44 | + |
| 45 | +foreach(l ${LINK_PKG}) |
| 46 | + plex_find_package(${l} 1 1) |
| 47 | +endforeach() |
| 48 | + |
| 49 | +find_package(Boost COMPONENTS thread system REQUIRED) |
| 50 | +if(Boost_FOUND) |
| 51 | + include_directories(${Boost_INCLUDE_DIRS}) |
| 52 | + list(APPEND CONFIG_PLEX_LINK_LIBRARIES boost_random ${Boost_LIBRARIES}) |
| 53 | + set(HAVE_BOOST 1) |
| 54 | +endif() |
| 55 | + |
| 56 | +### install libs |
| 57 | +set(INSTALL_LIB |
| 58 | + CURL |
| 59 | + PNG |
| 60 | + TIFF |
| 61 | + Vorbis |
| 62 | + Mpeg2 |
| 63 | + Ass |
| 64 | + RTMP |
| 65 | + PLIST |
| 66 | +) |
| 67 | + |
| 68 | +foreach(l ${INSTALL_LIB}) |
| 69 | + plex_find_package(${l} 1 0) |
| 70 | +endforeach() |
| 71 | + |
| 72 | +option(ENABLE_SHAIRPLAY "Enable ShairPlay?" ON) |
| 73 | +if(ENABLE_SHAIRPLAY) |
| 74 | + plex_find_package(ShairPlay 1 0) |
| 75 | +endif() |
| 76 | + |
| 77 | +option(ENABLE_SHAIRPORT "Enable ShairPort?" OFF) |
| 78 | +if(ENABLE_SHAIRPORT AND NOT ENABLE_SHAIRPLAY) |
| 79 | + plex_find_package(ShairPort 1 0) |
| 80 | +endif() |
| 81 | + |
| 82 | +option(ENABLE_CEC "Enable CEC?" ON) |
| 83 | +if(ENABLE_CEC) |
| 84 | + plex_find_package(CEC 1 0) |
| 85 | +endif() |
| 86 | + |
| 87 | +plex_find_package(Threads 1 0) |
| 88 | +if(CMAKE_USE_PTHREADS_INIT) |
| 89 | + message(STATUS "Using pthreads: ${CMAKE_THREAD_LIBS_INIT}") |
| 90 | + list(APPEND CONFIG_PLEX_LINK_LIBRARIES ${CMAKE_THREAD_LIBS_INIT}) |
| 91 | + set(HAVE_LIBPTHREAD 1) |
| 92 | +endif() |
| 93 | + |
| 94 | +plex_find_package(PulseAudio 0 1) |
| 95 | +if(HAVE_LIBPULSEAUDIO) |
| 96 | + set(HAVE_LIBPULSE 1) |
| 97 | +endif() |
| 98 | +plex_find_package(Alsa 0 1) |
| 99 | + |
| 100 | +plex_find_package(LibUSB 0 1) |
| 101 | +plex_find_package(LibUDEV 0 1) |
| 102 | + |
| 103 | +if(NOT LIBUSB_FOUND AND NOT LIBUDEV_FOUND) |
| 104 | + message(WARNING "No USB support") |
| 105 | +endif() |
| 106 | + |
| 107 | +list(APPEND CONFIG_PLEX_LINK_LIBRARIES util) |
| 108 | +list(APPEND CONFIG_PLEX_LINK_LIBRARIES gdl ismd_core ismd_viddec ismd_vidpproc ismd_audio ismd_vidrend ismd_demux ismd_bufmon osal platform_config) |
| 109 | + |
| 110 | +plex_get_soname(CURL_SONAME ${CURL_LIBRARY}) |
| 111 | + |
| 112 | +#### |
| 113 | +if(DEFINED DBUS_FOUND) |
| 114 | + include_directories(${DBUS_INCLUDE_DIR} ${DBUS_ARCH_INCLUDE_DIR}) |
| 115 | + set(HAVE_DBUS 1) |
| 116 | +endif() |
| 117 | + |
| 118 | +#### default lircdevice |
| 119 | +if(NOT DEFINED LIRC_DEVICE) |
| 120 | + set(LIRC_DEVICE "/run/lirc/lircd") |
| 121 | +endif() |
| 122 | + |
| 123 | +#### on linux we want to use a "easy" name |
| 124 | +set(EXECUTABLE_NAME "plexhometheater") |
| 125 | + |
| 126 | +set(ARCH "i686") |
| 127 | +set(USE_OPENGLES 1) |
| 128 | +set(USE_OMXLIB 0) |
| 129 | +set(USE_OPENMAX 0) |
| 130 | +set(USE_PULSE 0) |
| 131 | +set(DISABLE_PROJECTM 1) |
| 132 | +set(USE_TEXTUREPACKER_NATIVE_ROOT 0) |
| 133 | + |
| 134 | +set(BUILD_DVDCSS 0) |
| 135 | +set(SKIP_CONFIG_DVDCSS 1) |
| 136 | +set(DVDREAD_CFLAGS "-D_XBMC -UHAVE_DVDCSS_DVDCSS_H") |
| 137 | + |
| 138 | +## remove annying useless warnings |
| 139 | +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-reorder") |
| 140 | +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-sign-compare") |
| 141 | +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unused-function") |
| 142 | +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated-declarations") |
| 143 | +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unused-variable") |
| 144 | +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-format") |
| 145 | +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-address") |
| 146 | +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-strict-aliasing") |
| 147 | +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-sequence-point") |
| 148 | +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-parentheses") |
| 149 | +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unknown-pragmas") |
| 150 | +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unused-value") |
| 151 | +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-switch") |
| 152 | +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-pointer-arith") |
| 153 | + |
| 154 | +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-unused-function") |
| 155 | + |
| 156 | +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m32 -march=i686 -mmmx -msse -msse2 -msse3 -mfpmath=sse") |
| 157 | +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32 -march=i686 -mmmx -msse -msse2 -msse3 -mfpmath=sse") |
| 158 | + |
| 159 | +plex_find_library(EGL 0 0 system/usr/lib 1) |
| 160 | +plex_find_library(GLESv2 0 0 system/usr/lib 1) |
| 161 | +#plex_find_library(amadec 0 0 system/usr/lib 1) |
| 162 | +#plex_find_library(amavutils 0 0 system/usr/lib 1) |
| 163 | +#plex_find_library(amcodec 0 0 system/usr/lib 1) |
| 164 | + |
| 165 | +#needed for the commandline flag CMAKE_INCLUDE_PATH |
| 166 | +foreach(path ${CMAKE_INCLUDE_PATH}) |
| 167 | + include_directories(${path}) |
| 168 | +endforeach() |
| 169 | + |
| 170 | +set(LIBPATH bin) |
| 171 | +set(BINPATH bin) |
| 172 | +set(RESOURCEPATH share/XBMC) |
| 173 | + |
| 174 | +set(PLEX_LINK_WRAPPED "-Wl,--unresolved-symbols=ignore-all -Wl,-wrap,_IO_getc -Wl,-wrap,_IO_getc_unlocked -Wl,-wrap,_IO_putc -Wl,-wrap,__fgets_chk -Wl,-wrap,__fprintf_chk -Wl,-wrap,__fread_chk -Wl,-wrap,__fxstat64 -Wl,-wrap,__lxstat64 -Wl,-wrap,__printf_chk -Wl,-wrap,__read_chk -Wl,-wrap,__vfprintf_chk -Wl,-wrap,__xstat64 -Wl,-wrap,_stat -Wl,-wrap,calloc -Wl,-wrap,clearerr -Wl,-wrap,close -Wl,-wrap,closedir -Wl,-wrap,dlopen -Wl,-wrap,fclose -Wl,-wrap,fdopen -Wl,-wrap,feof -Wl,-wrap,ferror -Wl,-wrap,fflush -Wl,-wrap,fgetc -Wl,-wrap,fgetpos -Wl,-wrap,fgetpos64 -Wl,-wrap,fgets -Wl,-wrap,fileno -Wl,-wrap,flockfile -Wl,-wrap,fopen -Wl,-wrap,fopen64 -Wl,-wrap,fprintf -Wl,-wrap,fputc -Wl,-wrap,fputs -Wl,-wrap,fread -Wl,-wrap,free -Wl,-wrap,freopen -Wl,-wrap,fseek -Wl,-wrap,fseeko64 -Wl,-wrap,fsetpos -Wl,-wrap,fsetpos64 -Wl,-wrap,fstat -Wl,-wrap,ftell -Wl,-wrap,ftello64 -Wl,-wrap,ftrylockfile -Wl,-wrap,funlockfile -Wl,-wrap,fwrite -Wl,-wrap,getc -Wl,-wrap,getc_unlocked -Wl,-wrap,getmntent -Wl,-wrap,ioctl -Wl,-wrap,lseek -Wl,-wrap,lseek64 -Wl,-wrap,malloc -Wl,-wrap,open -Wl,-wrap,open64 -Wl,-wrap,opendir -Wl,-wrap,popen -Wl,-wrap,printf -Wl,-wrap,read -Wl,-wrap,readdir -Wl,-wrap,readdir64 -Wl,-wrap,realloc -Wl,-wrap,rewind -Wl,-wrap,rewinddir -Wl,-wrap,setvbuf -Wl,-wrap,ungetc -Wl,-wrap,vfprintf -Wl,-wrap,write") |
| 175 | + |
| 176 | +set(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} system/usr/lib ) |
| 177 | + |
| 178 | +set(PLEX_LINK_WHOLEARCHIVE -Wl,--whole-archive) |
| 179 | +set(PLEX_LINK_NOWHOLEARCHIVE -Wl,--no-whole-archive) |
| 180 | + |
| 181 | +option(OPENELEC "Are we building OpenELEC dist?" ON) |
| 182 | +if(OPENELEC) |
| 183 | + add_definitions(-DTARGET_OPENELEC) |
| 184 | +endif(OPENELEC) |
| 185 | + |
| 186 | +############ Add our definitions |
| 187 | +add_definitions( |
| 188 | + -DTARGET_LINUX |
| 189 | + -DTARGET_BOXEE |
| 190 | + -DHAS_GLES=2 |
| 191 | + -DHAS_INTEL_SMD |
| 192 | +# -DHAS_BUILTIN_SYNC_ADD_AND_FETCH |
| 193 | +# -DHAS_BUILTIN_SYNC_SUB_AND_FETCH |
| 194 | +# -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP |
| 195 | +) |
0 commit comments