|
|
@@ -2,12 +2,31 @@
|
|
|
# Build script for libRocket =======
|
|
|
#===================================
|
|
|
|
|
|
-# This has to be before most other options so CMake properly handles the
|
|
|
-# compiler variables, it MUST bebefore the project() definition
|
|
|
if(APPLE)
|
|
|
+ # This has to be before most other options so CMake properly handles the
|
|
|
+ # compiler variables, it MUST bebefore the project() definition
|
|
|
if(IOS_PLATFORM)
|
|
|
set(CMAKE_TOOLCHAIN_FILE cmake/Platform/iOS.cmake)
|
|
|
endif(IOS_PLATFORM)
|
|
|
+
|
|
|
+ option(BUILD_UNIVERSAL_BINARIES "Build universal binaries for all architectures supported" ON)
|
|
|
+ if (NOT CMAKE_OSX_ARCHITECTURES AND BUILD_UNIVERSAL_BINARIES)
|
|
|
+ if(IOS)
|
|
|
+ # set the architecture for iOS
|
|
|
+ if (${IOS_PLATFORM} STREQUAL "OS")
|
|
|
+ set (IOS_ARCH armv6 armv7 armv7s arm64)
|
|
|
+ set (CMAKE_OSX_ARCHITECTURES ${IOS_ARCH} CACHE string "Build architecture for iOS")
|
|
|
+ else (${IOS_PLATFORM} STREQUAL "OS")
|
|
|
+ set (IOS_ARCH i386 x86_64)
|
|
|
+ set (CMAKE_OSX_ARCHITECTURES ${IOS_ARCH} CACHE string "Build architecture for iOS Simulator")
|
|
|
+ endif (${IOS_PLATFORM} STREQUAL "OS")
|
|
|
+
|
|
|
+ else(IOS)
|
|
|
+ # set the architectures for OS X
|
|
|
+ set (OSXI_ARCH i386 x86_64)
|
|
|
+ set (CMAKE_OSX_ARCHITECTURES ${OSXI_ARCH} CACHE string "Build architecture for OS X universal binaries")
|
|
|
+ endif(IOS)
|
|
|
+ endif (NOT CMAKE_OSX_ARCHITECTURES AND BUILD_UNIVERSAL_BINARIES)
|
|
|
endif(APPLE)
|
|
|
|
|
|
# We use the new OSX_ARCHITECTURES property
|
|
|
@@ -102,9 +121,11 @@ endif(NOT IOS)
|
|
|
|
|
|
option(BUILD_PYTHON_BINDINGS "Build python bindings" OFF)
|
|
|
option(BUILD_LUA_BINDINGS "Build Lua bindings" OFF)
|
|
|
+
|
|
|
if(APPLE)
|
|
|
option(BUILD_FRAMEWORK "Build Framework bundle for OSX" OFF)
|
|
|
endif()
|
|
|
+
|
|
|
option(BUILD_SAMPLES "Build samples" OFF)
|
|
|
if(WIN32)
|
|
|
option(SKIP_DIRECTX_SAMPLES "Skip build of all DirectX related samples. Only applies if BUILD_SAMPLES is ON" OFF)
|
|
|
@@ -112,25 +133,26 @@ if(WIN32)
|
|
|
option(SKIP_DIRECTX10_SAMPLE "Skip build of DirectX 10 related sample. Only applies if BUILD_SAMPLES is ON and SKIP_DIRECTX_SAMPLES is OFF" OFF)
|
|
|
endif()
|
|
|
|
|
|
-if(IOS)
|
|
|
- if(BUILD_SHARED_LIBS)
|
|
|
- message(FATAL_ERROR "BUILD_SHARED_LIBS must be OFF for iOS builds. iOS does not support shared libraries.")
|
|
|
- endif(BUILD_SHARED_LIBS)
|
|
|
-endif(IOS)
|
|
|
+if(APPLE)
|
|
|
+ if(IOS)
|
|
|
+ if(BUILD_SHARED_LIBS)
|
|
|
+ message(FATAL_ERROR "BUILD_SHARED_LIBS must be OFF for iOS builds. iOS does not support shared libraries.")
|
|
|
+ endif(BUILD_SHARED_LIBS)
|
|
|
+ endif(IOS)
|
|
|
|
|
|
-if(BUILD_FRAMEWORK)
|
|
|
- if(APPLE)
|
|
|
+ if(BUILD_FRAMEWORK)
|
|
|
if(NOT "${CMAKE_GENERATOR}" STREQUAL "Xcode")
|
|
|
message(FATAL_ERROR "You should use Xcode generator with BUILD_FRAMEWORK enabled")
|
|
|
endif()
|
|
|
- set(CMAKE_OSX_ARCHITECTURES "$(ARCHS_STANDARD_32_64_BIT)")
|
|
|
if(NOT BUILD_SHARED_LIBS)
|
|
|
message(FATAL_ERROR "BUILD_SHARED_LIBS must be ON with BUILD_FRAMEWORK enabled")
|
|
|
endif()
|
|
|
- else(APPLE)
|
|
|
+ endif()
|
|
|
+else(APPLE)
|
|
|
+ if(BUILD_FRAMEWORK)
|
|
|
message(FATAL_ERROR "BUILD_FRAMEWORK is only supported on Mac OS X with the Xcode generator")
|
|
|
- endif(APPLE)
|
|
|
-endif()
|
|
|
+ endif()
|
|
|
+endif(APPLE)
|
|
|
|
|
|
if(NOT BUILD_SHARED_LIBS)
|
|
|
add_definitions(-DSTATIC_LIB)
|
|
|
@@ -239,14 +261,6 @@ foreach(library ${LIBRARIES})
|
|
|
SOVERSION ${LIBROCKET_VERSION_MAJOR}
|
|
|
)
|
|
|
|
|
|
- if(APPLE)
|
|
|
- if(NOT IOS)
|
|
|
- set_target_properties(${NAME} PROPERTIES
|
|
|
- OSX_ARCHITECTURES "i386;x86_64;"
|
|
|
- )
|
|
|
- endif(NOT IOS)
|
|
|
- endif(APPLE)
|
|
|
-
|
|
|
install(TARGETS ${NAME}
|
|
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
|
@@ -286,9 +300,6 @@ else(NOT BUILD_FRAMEWORK)
|
|
|
SOVERSION ${LIBROCKET_VERSION_MAJOR}
|
|
|
)
|
|
|
|
|
|
- set_target_properties(${NAME} PROPERTIES
|
|
|
- OSX_ARCHITECTURES "$(ARCHS_STANDARD_32_64_BIT)"
|
|
|
- )
|
|
|
set_property(SOURCE ${MASTER_PUB_HDR_FILES}
|
|
|
PROPERTY MACOSX_PACKAGE_LOCATION Headers
|
|
|
)
|
|
|
@@ -331,14 +342,6 @@ if(BUILD_PYTHON_BINDINGS)
|
|
|
${Py${library}_PUB_HDR_FILES}
|
|
|
)
|
|
|
|
|
|
- if(APPLE)
|
|
|
- if(NOT IOS)
|
|
|
- set_target_properties(${NAME} PROPERTIES
|
|
|
- OSX_ARCHITECTURES "$(ARCHS_STANDARD_32_64_BIT)"
|
|
|
- )
|
|
|
- endif(NOT IOS)
|
|
|
- endif(APPLE)
|
|
|
-
|
|
|
set_target_properties(${NAME} PROPERTIES PREFIX "")
|
|
|
|
|
|
install(TARGETS ${NAME}
|
|
|
@@ -364,14 +367,6 @@ if(BUILD_LUA_BINDINGS)
|
|
|
SOVERSION ${LIBROCKET_VERSION_MAJOR}
|
|
|
)
|
|
|
|
|
|
- if(APPLE)
|
|
|
- if(NOT IOS)
|
|
|
- set_target_properties(${NAME} PROPERTIES
|
|
|
- OSX_ARCHITECTURES "$(ARCHS_STANDARD_32_64_BIT)"
|
|
|
- )
|
|
|
- endif(NOT IOS)
|
|
|
- endif(APPLE)
|
|
|
-
|
|
|
install(TARGETS ${NAME}
|
|
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|