CMakeLists cleanup and enable Android headless building.

This commit is contained in:
Ryan Houdek 2016-02-05 10:54:59 -06:00
parent 6305f09467
commit 2f7e3ae58e
3 changed files with 166 additions and 147 deletions

View File

@ -375,10 +375,24 @@ endif(VTUNE)
if(ANDROID)
message("Building for Android")
if(NOT ENABLE_HEADLESS)
add_definitions(-DANDROID)
else()
# Lie to cmake a bit. We are cross compiling to Android
# but not as a shared library. We want an executable.
set(ANDROID 0)
endif()
set(USE_X11 0)
set(USE_UPNP 0)
set(USE_EGL 1)
set(DISABLE_WX 1)
set(ENABLE_QT2 0)
# We are cross compiling, search only the toolchain for libraries and includes
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
elseif(NOT APPLE)
list(APPEND LIBS rt)
endif()
if(ENABLE_HEADLESS)
@ -390,8 +404,6 @@ if(ENABLE_HEADLESS)
add_definitions(-DUSE_HEADLESS)
endif()
include_directories(Externals/GL)
add_definitions(-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE)
########################################
@ -403,10 +415,10 @@ add_definitions(-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE)
include(CheckLib)
include(CheckCXXSourceRuns)
if(NOT ANDROID)
include(FindOpenGL)
if (OPENGL_GL)
include_directories(${OPENGL_INCLUDE_DIR})
endif()
include(FindALSA OPTIONAL)
if(ALSA_FOUND)
@ -467,7 +479,7 @@ if(NOT ANDROID)
set(USE_X11 0)
if(UNIX AND NOT APPLE AND NOT ENABLE_HEADLESS)
if(UNIX AND NOT APPLE AND NOT ANDROID AND NOT ENABLE_HEADLESS)
include(FindX11)
if(TRY_X11 AND X11_FOUND)
set(USE_X11 1)
@ -538,7 +550,6 @@ if(NOT ANDROID)
message(FATAL_ERROR "OProfile not found. Can't build profiling support.")
endif()
endif()
endif()
if(USE_EGL)
message("EGL OpenGL interface enabled")
@ -586,7 +597,7 @@ endif()
add_subdirectory(Externals/Bochs_disasm)
include_directories(Externals/Bochs_disasm)
if(NOT ANDROID AND USE_SHARED_ENET)
if(USE_SHARED_ENET)
check_lib(ENET libenet enet enet/enet.h QUIET)
include(CheckSymbolExists)
if (ENET_FOUND)
@ -636,7 +647,7 @@ else(ZLIB_FOUND)
include_directories(Externals/zlib)
endif(ZLIB_FOUND)
if(NOT APPLE AND NOT ANDROID)
if(NOT APPLE)
check_lib(LZO "(no .pc for lzo2)" lzo2 lzo/lzo1x.h QUIET)
endif()
if(LZO_FOUND)
@ -649,7 +660,7 @@ else()
endif()
list(APPEND LIBS ${LZO})
if(NOT APPLE AND NOT ANDROID)
if(NOT APPLE)
check_lib(PNG libpng png png.h QUIET)
endif()
if (PNG_FOUND)
@ -701,7 +712,7 @@ if(LIBUSB_FOUND)
endif(LIBUSB_FOUND)
set(SFML_REQD_VERSION 2.1)
if(NOT APPLE AND NOT ANDROID)
if(NOT APPLE)
find_package(SFML ${SFML_REQD_VERSION} COMPONENTS network system)
endif()
if(SFML_FOUND)
@ -714,7 +725,7 @@ else()
endif()
if(USE_UPNP)
if(NOT APPLE AND NOT ANDROID)
if(NOT APPLE)
include(FindMiniupnpc)
endif()
if(MINIUPNPC_FOUND AND MINIUPNPC_API_VERSION GREATER 8)
@ -730,7 +741,7 @@ if(USE_UPNP)
list(APPEND LIBS ${MINIUPNPC_LIBRARIES})
endif()
if(NOT APPLE AND NOT ANDROID)
if(NOT APPLE)
include(FindMbedTLS)
endif()
if(MBEDTLS_FOUND)
@ -743,7 +754,7 @@ else()
include_directories(Externals/mbedtls/include)
endif()
if(NOT APPLE AND NOT ANDROID)
if(NOT APPLE)
check_lib(SOIL "(no .pc for SOIL)" SOIL SOIL/SOIL.h QUIET)
endif()
if(SOIL_FOUND)
@ -754,16 +765,27 @@ else()
include_directories(Externals/SOIL)
endif()
if (ANDROID)
find_library(ICONV_LIBRARIES NAMES iconv libiconv libiconv-2 c)
find_path(ICONV_INCLUDE_DIR NAMES iconv.h)
if (ICONV_LIBRARIES AND ICONV_INCLUDE_DIR)
mark_as_advanced(ICONV_INCLUDE_DIR ICONV_LIBRARIES)
else()
message("Using static iconv from Externals")
include_directories(Externals/libiconv-1.14/include)
add_subdirectory(Externals/libiconv-1.14)
list(APPEND LIBS iconv)
else()
find_library(ICONV_LIBRARIES NAMES iconv libiconv libiconv-2 c)
find_path(ICONV_INCLUDE_DIR NAMES iconv.h)
set(ICONV_LIBRARIES iconv)
endif()
list(APPEND LIBS ${ICONV_LIBRARIES})
mark_as_advanced(ICONV_INCLUDE_DIR ICONV_LIBRARIES)
find_library(OPENSLES_LIBRARIES NAMES OpenSLES)
find_path(OPENSLES_INCLUDE_DIR NAMES SLES/OpenSLES.h)
if (OPENSLES_LIBRARIES AND OPENSLES_INCLUDE_DIR)
set(OPENSLES_FOUND 1)
add_definitions(-DHAVE_OPENSLES=1)
include_directories(${OPENSLES_INCLUDE_DIR})
message("OpenSLES found, enabling OpenSLES sound backend")
endif()
if(ENABLE_QT2)
@ -771,7 +793,7 @@ if(ENABLE_QT2)
message("Found Qt version ${Qt5Core_VERSION}, enabling the Qt backend")
endif()
if(NOT DISABLE_WX AND NOT ANDROID)
if(NOT DISABLE_WX)
include(FindwxWidgets OPTIONAL)
FIND_PACKAGE(wxWidgets COMPONENTS core aui adv)
@ -845,7 +867,7 @@ if(NOT DISABLE_WX AND NOT ANDROID)
set(wxWidgets_LIBRARIES "wx")
endif(wxWidgets_FOUND)
add_definitions(-DHAVE_WX=1)
endif(NOT DISABLE_WX AND NOT ANDROID)
endif(NOT DISABLE_WX)
if(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD|NetBSD")
set(LIBS ${LIBS} usbhid)

View File

@ -6,10 +6,10 @@ set(SRCS AudioCommon.cpp
set(LIBS "")
if(ANDROID)
if(OPENSLES_FOUND)
set(SRCS ${SRCS} OpenSLESStream.cpp)
set(LIBS ${LIBS} OpenSLES)
endif(ANDROID)
set(LIBS ${LIBS} ${OPENSLES_LIBRARIES})
endif(OPENSLES_FOUND)
if(ALSA_FOUND)
set(SRCS ${SRCS} AlsaSoundStream.cpp)

View File

@ -61,9 +61,6 @@ else()
endif()
list(APPEND LIBS "${CMAKE_THREAD_LIBS_INIT}" ${VTUNE_LIBRARIES})
if(NOT APPLE AND NOT ANDROID)
list(APPEND LIBS rt)
endif()
# OpenGL Interface
set(SRCS ${SRCS}