mirror of
https://github.com/SFML/SFML.git
synced 2025-02-07 17:08:02 +08:00
Added SFML_OS_ prefix to IOS and ANDROID variables
This commit is contained in:
parent
00d3bf1e7f
commit
f60ab60263
@ -28,18 +28,18 @@ set(VERSION_PATCH 0)
|
|||||||
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)
|
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)
|
||||||
|
|
||||||
# add an option for choosing the build type (shared or static)
|
# add an option for choosing the build type (shared or static)
|
||||||
if(NOT (IOS OR ANDROID))
|
if(NOT (SFML_OS_IOS OR SFML_OS_ANDROID))
|
||||||
sfml_set_option(BUILD_SHARED_LIBS TRUE BOOL "TRUE to build SFML as shared libraries, FALSE to build it as static libraries")
|
sfml_set_option(BUILD_SHARED_LIBS TRUE BOOL "TRUE to build SFML as shared libraries, FALSE to build it as static libraries")
|
||||||
else()
|
else()
|
||||||
if(IOS)
|
if(SFML_OS_IOS)
|
||||||
set(BUILD_SHARED_LIBS FALSE)
|
set(BUILD_SHARED_LIBS FALSE)
|
||||||
elseif(ANDROID)
|
elseif(SFML_OS_ANDROID)
|
||||||
set(BUILD_SHARED_LIBS TRUE)
|
set(BUILD_SHARED_LIBS TRUE)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# add an option for building the examples
|
# add an option for building the examples
|
||||||
if(NOT (IOS OR ANDROID))
|
if(NOT (SFML_OS_IOS OR SFML_OS_ANDROID))
|
||||||
sfml_set_option(SFML_BUILD_EXAMPLES FALSE BOOL "TRUE to build the SFML examples, FALSE to ignore them")
|
sfml_set_option(SFML_BUILD_EXAMPLES FALSE BOOL "TRUE to build the SFML examples, FALSE to ignore them")
|
||||||
else()
|
else()
|
||||||
set(SFML_BUILD_EXAMPLES FALSE)
|
set(SFML_BUILD_EXAMPLES FALSE)
|
||||||
@ -70,7 +70,7 @@ if(SFML_OS_MACOSX)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Android options
|
# Android options
|
||||||
if(ANDROID)
|
if(SFML_OS_ANDROID)
|
||||||
# force usage of the STL port
|
# force usage of the STL port
|
||||||
set(ANDROID_USE_STLPORT TRUE)
|
set(ANDROID_USE_STLPORT TRUE)
|
||||||
|
|
||||||
|
@ -2,6 +2,9 @@
|
|||||||
if(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
|
if(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
|
||||||
set(SFML_OS_WINDOWS 1)
|
set(SFML_OS_WINDOWS 1)
|
||||||
|
|
||||||
|
# don't use the OpenGL ES implementation on Windows
|
||||||
|
set(OPENGL_ES 0)
|
||||||
|
|
||||||
# detect the architecture (note: this test won't work for cross-compilation)
|
# detect the architecture (note: this test won't work for cross-compilation)
|
||||||
include(CheckTypeSize)
|
include(CheckTypeSize)
|
||||||
check_type_size(void* SIZEOF_VOID_PTR)
|
check_type_size(void* SIZEOF_VOID_PTR)
|
||||||
@ -16,14 +19,18 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
|
|||||||
elseif(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
|
elseif(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
|
||||||
set(SFML_OS_UNIX 1)
|
set(SFML_OS_UNIX 1)
|
||||||
if(ANDROID)
|
if(ANDROID)
|
||||||
|
set(SFML_OS_ANDROID 1)
|
||||||
# use the OpenGL ES implementation on Android
|
# use the OpenGL ES implementation on Android
|
||||||
set(OPENGL_ES 1)
|
set(OPENGL_ES 1)
|
||||||
set(SFML_OS_ANDROID 1)
|
|
||||||
else()
|
else()
|
||||||
set(SFML_OS_LINUX 1)
|
set(SFML_OS_LINUX 1)
|
||||||
|
# don't use the OpenGL ES implementation on Linux
|
||||||
|
set(OPENGL_ES 0)
|
||||||
endif()
|
endif()
|
||||||
elseif(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD")
|
elseif(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD")
|
||||||
set(SFML_OS_FREEBSD 1)
|
set(SFML_OS_FREEBSD 1)
|
||||||
|
# don't use the OpenGL ES implementation on FreeBSD
|
||||||
|
set(OPENGL_ES 0)
|
||||||
elseif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
elseif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
||||||
if(IOS)
|
if(IOS)
|
||||||
set(SFML_OS_IOS 1)
|
set(SFML_OS_IOS 1)
|
||||||
@ -39,7 +46,10 @@ elseif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
|||||||
# use the OpenGL ES implementation on iOS
|
# use the OpenGL ES implementation on iOS
|
||||||
set(OPENGL_ES 1)
|
set(OPENGL_ES 1)
|
||||||
else()
|
else()
|
||||||
set(SFML_OS_MACOSX 1)
|
set(SFML_OS_MACOSX 1)
|
||||||
|
|
||||||
|
# don't use the OpenGL ES implementation on Mac OS X
|
||||||
|
set(OPENGL_ES 0)
|
||||||
|
|
||||||
# detect OS X version. (use '/usr/bin/sw_vers -productVersion' to extract V from '10.V.x'.)
|
# detect OS X version. (use '/usr/bin/sw_vers -productVersion' to extract V from '10.V.x'.)
|
||||||
EXEC_PROGRAM(/usr/bin/sw_vers ARGS -productVersion OUTPUT_VARIABLE MACOSX_VERSION_RAW)
|
EXEC_PROGRAM(/usr/bin/sw_vers ARGS -productVersion OUTPUT_VARIABLE MACOSX_VERSION_RAW)
|
||||||
|
@ -41,7 +41,7 @@ macro(sfml_add_library target)
|
|||||||
|
|
||||||
# set the version and soversion of the target (for compatible systems -- mostly Linuxes)
|
# set the version and soversion of the target (for compatible systems -- mostly Linuxes)
|
||||||
# except for Android which strips soversion suffixes
|
# except for Android which strips soversion suffixes
|
||||||
if(NOT ANDROID)
|
if(NOT SFML_OS_ANDROID)
|
||||||
set_target_properties(${target} PROPERTIES SOVERSION ${VERSION_MAJOR})
|
set_target_properties(${target} PROPERTIES SOVERSION ${VERSION_MAJOR})
|
||||||
set_target_properties(${target} PROPERTIES VERSION ${VERSION_MAJOR}.${VERSION_MINOR})
|
set_target_properties(${target} PROPERTIES VERSION ${VERSION_MAJOR}.${VERSION_MINOR})
|
||||||
endif()
|
endif()
|
||||||
@ -93,13 +93,13 @@ macro(sfml_add_library target)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
# enable automatic reference counting on iOS
|
# enable automatic reference counting on iOS
|
||||||
if (IOS)
|
if (SFML_OS_IOS)
|
||||||
set_target_properties(${target} PROPERTIES XCODE_ATTRIBUTE_CLANG_ENABLE_OBJC_ARC YES)
|
set_target_properties(${target} PROPERTIES XCODE_ATTRIBUTE_CLANG_ENABLE_OBJC_ARC YES)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# sfml-activity library is our bootstrap activity and must not depend on stlport_shared
|
# sfml-activity library is our bootstrap activity and must not depend on stlport_shared
|
||||||
# (otherwise Android will fail to load it)
|
# (otherwise Android will fail to load it)
|
||||||
if (ANDROID)
|
if (SFML_OS_ANDROID)
|
||||||
if (${target} MATCHES "sfml-activity")
|
if (${target} MATCHES "sfml-activity")
|
||||||
set_target_properties(${target} PROPERTIES COMPILE_FLAGS -fpermissive)
|
set_target_properties(${target} PROPERTIES COMPILE_FLAGS -fpermissive)
|
||||||
set_target_properties(${target} PROPERTIES LINK_FLAGS "-landroid -llog")
|
set_target_properties(${target} PROPERTIES LINK_FLAGS "-landroid -llog")
|
||||||
|
@ -40,7 +40,7 @@ elseif(SFML_OS_MACOSX)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
# find external libraries
|
# find external libraries
|
||||||
if(NOT ANDROID)
|
if(NOT SFML_OS_ANDROID)
|
||||||
find_package(OpenAL REQUIRED)
|
find_package(OpenAL REQUIRED)
|
||||||
find_package(Sndfile REQUIRED)
|
find_package(Sndfile REQUIRED)
|
||||||
set(AUDIO_EXT_LIBS ${OPENAL_LIBRARY} ${SNDFILE_LIBRARY})
|
set(AUDIO_EXT_LIBS ${OPENAL_LIBRARY} ${SNDFILE_LIBRARY})
|
||||||
@ -56,7 +56,7 @@ endif()
|
|||||||
include_directories(${OPENAL_INCLUDE_DIR} ${SNDFILE_INCLUDE_DIR})
|
include_directories(${OPENAL_INCLUDE_DIR} ${SNDFILE_INCLUDE_DIR})
|
||||||
|
|
||||||
# define the sfml-audio target
|
# define the sfml-audio target
|
||||||
if(NOT ANDROID)
|
if(NOT SFML_OS_ANDROID)
|
||||||
sfml_add_library(sfml-audio
|
sfml_add_library(sfml-audio
|
||||||
SOURCES ${SRC}
|
SOURCES ${SRC}
|
||||||
DEPENDS sfml-system
|
DEPENDS sfml-system
|
||||||
|
@ -23,10 +23,10 @@ if (SFML_OS_WINDOWS)
|
|||||||
elseif(SFML_OS_MACOSX)
|
elseif(SFML_OS_MACOSX)
|
||||||
set(CMAKE_INCLUDE_PATH ${CMAKE_INCLUDE_PATH} "${PROJECT_SOURCE_DIR}/extlibs/headers")
|
set(CMAKE_INCLUDE_PATH ${CMAKE_INCLUDE_PATH} "${PROJECT_SOURCE_DIR}/extlibs/headers")
|
||||||
set(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} "${PROJECT_SOURCE_DIR}/extlibs/libs-osx/lib/")
|
set(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} "${PROJECT_SOURCE_DIR}/extlibs/libs-osx/lib/")
|
||||||
elseif(IOS)
|
elseif(SFML_OS_IOS)
|
||||||
set(CMAKE_INCLUDE_PATH ${CMAKE_INCLUDE_PATH} "${PROJECT_SOURCE_DIR}/extlibs/headers")
|
set(CMAKE_INCLUDE_PATH ${CMAKE_INCLUDE_PATH} "${PROJECT_SOURCE_DIR}/extlibs/headers")
|
||||||
set(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} "${PROJECT_SOURCE_DIR}/extlibs/libs-ios/")
|
set(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} "${PROJECT_SOURCE_DIR}/extlibs/libs-ios/")
|
||||||
elseif(ANDROID)
|
elseif(SFML_OS_ANDROID)
|
||||||
set(CMAKE_INCLUDE_PATH ${CMAKE_INCLUDE_PATH} "${PROJECT_SOURCE_DIR}/extlibs/android/extlibs/include")
|
set(CMAKE_INCLUDE_PATH ${CMAKE_INCLUDE_PATH} "${PROJECT_SOURCE_DIR}/extlibs/android/extlibs/include")
|
||||||
set(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} "${PROJECT_SOURCE_DIR}/extlibs/android/extlibs/lib/${ANDROID_ABI}")
|
set(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} "${PROJECT_SOURCE_DIR}/extlibs/android/extlibs/lib/${ANDROID_ABI}")
|
||||||
endif()
|
endif()
|
||||||
@ -50,4 +50,4 @@ add_subdirectory(Network)
|
|||||||
add_subdirectory(Graphics)
|
add_subdirectory(Graphics)
|
||||||
if(NOT SFML_OS_IOS AND NOT (SFML_OS_ANDROID AND "${ANDROID_ABI}" MATCHES "mips"))
|
if(NOT SFML_OS_IOS AND NOT (SFML_OS_ANDROID AND "${ANDROID_ABI}" MATCHES "mips"))
|
||||||
add_subdirectory(Audio)
|
add_subdirectory(Audio)
|
||||||
endif()
|
endif()
|
||||||
|
@ -123,12 +123,12 @@ if(NOT OPENGL_ES)
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(IOS)
|
if(SFML_OS_IOS)
|
||||||
find_package(JPEG REQUIRED)
|
find_package(JPEG REQUIRED)
|
||||||
find_package(Freetype REQUIRED)
|
find_package(Freetype REQUIRED)
|
||||||
set(GRAPHICS_EXT_INCLUDE_PATHS ${FREETYPE_INCLUDE_DIRS} ${JPEG_INCLUDE_DIR})
|
set(GRAPHICS_EXT_INCLUDE_PATHS ${FREETYPE_INCLUDE_DIRS} ${JPEG_INCLUDE_DIR})
|
||||||
set(GRAPHICS_EXT_LIBS "-framework OpenGLES ${FREETYPE_LIBRARY} ${JPEG_LIBRARY}")
|
set(GRAPHICS_EXT_LIBS "-framework OpenGLES ${FREETYPE_LIBRARY} ${JPEG_LIBRARY}")
|
||||||
elseif(ANDROID)
|
elseif(SFML_OS_ANDROID)
|
||||||
find_host_package(JPEG REQUIRED)
|
find_host_package(JPEG REQUIRED)
|
||||||
find_host_package(Freetype REQUIRED)
|
find_host_package(Freetype REQUIRED)
|
||||||
set(GRAPHICS_EXT_INCLUDE_PATHS ${FREETYPE_INCLUDE_DIRS} ${JPEG_INCLUDE_DIR})
|
set(GRAPHICS_EXT_INCLUDE_PATHS ${FREETYPE_INCLUDE_DIRS} ${JPEG_INCLUDE_DIR})
|
||||||
|
@ -3,11 +3,11 @@ set(INCROOT ${PROJECT_SOURCE_DIR}/include/SFML/Main)
|
|||||||
set(SRCROOT ${PROJECT_SOURCE_DIR}/src/SFML/Main)
|
set(SRCROOT ${PROJECT_SOURCE_DIR}/src/SFML/Main)
|
||||||
|
|
||||||
# sources
|
# sources
|
||||||
if(WINDOWS)
|
if(SFML_OS_WINDOWS)
|
||||||
set(SRC ${SRC} ${SRCROOT}/MainWin32.cpp)
|
set(SRC ${SRC} ${SRCROOT}/MainWin32.cpp)
|
||||||
elseif(IOS)
|
elseif(SFML_OS_IOS)
|
||||||
set(SRC ${SRC} ${SRCROOT}/MainiOS.mm)
|
set(SRC ${SRC} ${SRCROOT}/MainiOS.mm)
|
||||||
elseif(ANDROID)
|
elseif(SFML_OS_ANDROID)
|
||||||
set(SRC ${SRC} ${SRCROOT}/MainAndroid.cpp)
|
set(SRC ${SRC} ${SRCROOT}/MainAndroid.cpp)
|
||||||
else()
|
else()
|
||||||
return()
|
return()
|
||||||
@ -32,6 +32,6 @@ install(TARGETS sfml-main ARCHIVE DESTINATION lib${LIB_SUFFIX} COMPONENT devel)
|
|||||||
# because of a current limitation on Android (which prevents one library
|
# because of a current limitation on Android (which prevents one library
|
||||||
# from depending on shared libraries), we need a boostrap activity which
|
# from depending on shared libraries), we need a boostrap activity which
|
||||||
# will load our shared libraries manually
|
# will load our shared libraries manually
|
||||||
if(ANDROID)
|
if(SFML_OS_ANDROID)
|
||||||
sfml_add_library(sfml-activity SOURCES ${PROJECT_SOURCE_DIR}/src/SFML/Main/SFMLActivity.cpp)
|
sfml_add_library(sfml-activity SOURCES ${PROJECT_SOURCE_DIR}/src/SFML/Main/SFMLActivity.cpp)
|
||||||
endif()
|
endif()
|
||||||
|
@ -67,7 +67,7 @@ else()
|
|||||||
${SRCROOT}/Unix/ThreadLocalImpl.hpp
|
${SRCROOT}/Unix/ThreadLocalImpl.hpp
|
||||||
)
|
)
|
||||||
|
|
||||||
if(ANDROID)
|
if(SFML_OS_ANDROID)
|
||||||
set(PLATFORM_SRC ${PLATFORM_SRC}
|
set(PLATFORM_SRC ${PLATFORM_SRC}
|
||||||
${SRCROOT}/Android/Activity.hpp
|
${SRCROOT}/Android/Activity.hpp
|
||||||
${SRCROOT}/Android/Activity.cpp
|
${SRCROOT}/Android/Activity.cpp
|
||||||
@ -90,7 +90,7 @@ if(SFML_OS_WINDOWS)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
# pthread is implicitly linked by the NDK
|
# pthread is implicitly linked by the NDK
|
||||||
if(ANDROID)
|
if(SFML_OS_ANDROID)
|
||||||
set(SYSTEM_EXT_LIBS "")
|
set(SYSTEM_EXT_LIBS "")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
@ -65,6 +65,7 @@ elseif(SFML_OS_LINUX OR SFML_OS_FREEBSD)
|
|||||||
${SRCROOT}/Unix/VideoModeImpl.cpp
|
${SRCROOT}/Unix/VideoModeImpl.cpp
|
||||||
${SRCROOT}/Unix/WindowImplX11.cpp
|
${SRCROOT}/Unix/WindowImplX11.cpp
|
||||||
${SRCROOT}/Unix/WindowImplX11.hpp
|
${SRCROOT}/Unix/WindowImplX11.hpp
|
||||||
|
)
|
||||||
if(SFML_OS_LINUX)
|
if(SFML_OS_LINUX)
|
||||||
set(PLATFORM_SRC
|
set(PLATFORM_SRC
|
||||||
${PLATFORM_SRC}
|
${PLATFORM_SRC}
|
||||||
@ -117,7 +118,7 @@ elseif(SFML_OS_MACOSX)
|
|||||||
${SRCROOT}/OSX/WindowImplDelegateProtocol.h
|
${SRCROOT}/OSX/WindowImplDelegateProtocol.h
|
||||||
)
|
)
|
||||||
source_group("mac" FILES ${PLATFORM_SRC})
|
source_group("mac" FILES ${PLATFORM_SRC})
|
||||||
elseif(IOS)
|
elseif(SFML_OS_IOS)
|
||||||
set(PLATFORM_SRC
|
set(PLATFORM_SRC
|
||||||
${SRCROOT}/iOS/EaglContext.mm
|
${SRCROOT}/iOS/EaglContext.mm
|
||||||
${SRCROOT}/iOS/EaglContext.hpp
|
${SRCROOT}/iOS/EaglContext.hpp
|
||||||
@ -139,7 +140,7 @@ elseif(IOS)
|
|||||||
${SRCROOT}/iOS/SFMain.mm
|
${SRCROOT}/iOS/SFMain.mm
|
||||||
)
|
)
|
||||||
source_group("ios" FILES ${PLATFORM_SRC})
|
source_group("ios" FILES ${PLATFORM_SRC})
|
||||||
elseif(ANDROID)
|
elseif(SFML_OS_ANDROID)
|
||||||
set(PLATFORM_SRC
|
set(PLATFORM_SRC
|
||||||
${SRCROOT}/Android/WindowImplAndroid.hpp
|
${SRCROOT}/Android/WindowImplAndroid.hpp
|
||||||
${SRCROOT}/Android/WindowImplAndroid.cpp
|
${SRCROOT}/Android/WindowImplAndroid.cpp
|
||||||
|
Loading…
x
Reference in New Issue
Block a user