aboutsummaryrefslogtreecommitdiff
path: root/PxShared/src/compiler/cmake/Android
diff options
context:
space:
mode:
authormtamis <[email protected]>2017-02-15 16:06:25 +0100
committermtamis <[email protected]>2017-02-15 16:06:25 +0100
commit85305930aeeb1d513e23522bd91f29ba81aa6d14 (patch)
tree45f1bb20a45a300d1fef107e436cac95602a0e57 /PxShared/src/compiler/cmake/Android
downloadnvcloth-85305930aeeb1d513e23522bd91f29ba81aa6d14.tar.xz
nvcloth-85305930aeeb1d513e23522bd91f29ba81aa6d14.zip
NvCloth library v1.0.0
Diffstat (limited to 'PxShared/src/compiler/cmake/Android')
-rw-r--r--PxShared/src/compiler/cmake/Android/CMakeLists.txt43
-rw-r--r--PxShared/src/compiler/cmake/Android/PsFastXml.cmake40
-rw-r--r--PxShared/src/compiler/cmake/Android/PxFoundation.cmake62
-rw-r--r--PxShared/src/compiler/cmake/Android/PxPvdSDK.cmake44
-rw-r--r--PxShared/src/compiler/cmake/Android/PxTask.cmake39
5 files changed, 228 insertions, 0 deletions
diff --git a/PxShared/src/compiler/cmake/Android/CMakeLists.txt b/PxShared/src/compiler/cmake/Android/CMakeLists.txt
new file mode 100644
index 0000000..0499c29
--- /dev/null
+++ b/PxShared/src/compiler/cmake/Android/CMakeLists.txt
@@ -0,0 +1,43 @@
+cmake_minimum_required(VERSION 3.3)
+include(../common/CMakeLists.txt)
+
+STRING(TOLOWER "${CMAKE_BUILD_TYPE}" CMAKE_BUILD_TYPE_LOWERCASE)
+
+IF(NOT DEFINED TARGET_BUILD_PLATFORM) # Not defined, default to Android
+ SET(TARGET_BUILD_PLATFORM "Android")
+ENDIF()
+
+SET(PLATFORM_LIST Android)
+
+IF (NOT ${TARGET_BUILD_PLATFORM} IN_LIST PLATFORM_LIST)
+ MESSAGE(FATAL_ERROR "Invalid platform:" ${TARGET_BUILD_PLATFORM})
+ENDIF()
+
+if(${ANDROID_ABI} STREQUAL "armeabi-v7a")
+ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fno-rtti -fno-exceptions -ffast-math -ffunction-sections -fdata-sections -D__STDC_LIMIT_MACROS -Wno-invalid-offsetof ")
+elseif(${ANDROID_ABI} STREQUAL "arm64-v8a")
+ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fno-rtti -fno-exceptions -ffast-math -ffunction-sections -fdata-sections -D__STDC_LIMIT_MACROS -Wno-invalid-offsetof ")
+elseif(${ANDROID_ABI} STREQUAL "x86")
+ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fno-rtti -fno-exceptions -ffast-math -ffunction-sections -fdata-sections -D__STDC_LIMIT_MACROS -Wno-invalid-offsetof -fpack-struct=8 -malign-double ")
+elseif(${ANDROID_ABI} STREQUAL "x86_64")
+ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fno-rtti -fno-exceptions -ffast-math -ffunction-sections -fdata-sections -D__STDC_LIMIT_MACROS -Wno-invalid-offsetof -mstackrealign -msse3 ")
+endif()
+
+SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
+SET(CMAKE_CXX_FLAGS_CHECKED "-O2")
+SET(CMAKE_CXX_FLAGS_PROFILE "-O2")
+SET(CMAKE_CXX_FLAGS_RELEASE "-O2")
+
+SET(PXSHARED_ANDROID_COMPILE_DEFS _LIB;)
+SET(PXSHARED_ANDROID_DEBUG_COMPILE_DEFS _DEBUG;PX_DEBUG=1;PX_CHECKED=1)
+SET(PXSHARED_ANDROID_CHECKED_COMPILE_DEFS NDEBUG;PX_CHECKED=1)
+SET(PXSHARED_ANDROID_PROFILE_COMPILE_DEFS NDEBUG;PX_PROFILE=1)
+SET(PXSHARED_ANDROID_RELEASE_COMPILE_DEFS NDEBUG)
+
+# NOTE: PxCudaContextManager excluded on this platform
+
+# Include project cmake files here
+INCLUDE(PxFoundation.cmake)
+INCLUDE(PsFastXml.cmake)
+INCLUDE(PxPvdSDK.cmake)
+INCLUDE(PxTask.cmake)
diff --git a/PxShared/src/compiler/cmake/Android/PsFastXml.cmake b/PxShared/src/compiler/cmake/Android/PsFastXml.cmake
new file mode 100644
index 0000000..81d356e
--- /dev/null
+++ b/PxShared/src/compiler/cmake/Android/PsFastXml.cmake
@@ -0,0 +1,40 @@
+#
+# Build PsFastXml
+#
+
+SET(PXSHARED_SOURCE_DIR ${PROJECT_SOURCE_DIR}/../../../../src)
+
+SET(LL_SOURCE_DIR ${PXSHARED_SOURCE_DIR}/fastxml)
+
+# Use generator expressions to set config specific preprocessor definitions
+SET(PSFASTXML_COMPILE_DEFS
+ # Common to all configurations
+ ${PXSHARED_ANDROID_COMPILE_DEFS};PX_FOUNDATION_DLL=0;PxShared_STATIC_LIB;
+)
+
+if(${CMAKE_BUILD_TYPE_LOWERCASE} STREQUAL "debug")
+ LIST(APPEND PSFASTXML_COMPILE_DEFS
+ ${PXSHARED_ANDROID_DEBUG_COMPILE_DEFS}
+ )
+elseif(${CMAKE_BUILD_TYPE_LOWERCASE} STREQUAL "checked")
+ LIST(APPEND PSFASTXML_COMPILE_DEFS
+ ${PXSHARED_ANDROID_CHECKED_COMPILE_DEFS}
+ )
+elseif(${CMAKE_BUILD_TYPE_LOWERCASE} STREQUAL "profile")
+ LIST(APPEND PSFASTXML_COMPILE_DEFS
+ ${PXSHARED_ANDROID_PROFILE_COMPILE_DEFS}
+ )
+elseif(${CMAKE_BUILD_TYPE_LOWERCASE} STREQUAL release)
+ LIST(APPEND PSFASTXML_COMPILE_DEFS
+ ${PXSHARED_ANDROID_RELEASE_COMPILE_DEFS}
+ )
+else(${CMAKE_BUILD_TYPE_LOWERCASE} STREQUAL "debug")
+ MESSAGE(FATAL_ERROR "Unknown configuration ${CMAKE_BUILD_TYPE}")
+endif(${CMAKE_BUILD_TYPE_LOWERCASE} STREQUAL "debug")
+
+
+# include PsFastXml common
+INCLUDE(../common/PsFastXml.cmake)
+
+# enable -fPIC so we can link static libs with the editor
+SET_TARGET_PROPERTIES(PsFastXml PROPERTIES POSITION_INDEPENDENT_CODE TRUE)
diff --git a/PxShared/src/compiler/cmake/Android/PxFoundation.cmake b/PxShared/src/compiler/cmake/Android/PxFoundation.cmake
new file mode 100644
index 0000000..c23a327
--- /dev/null
+++ b/PxShared/src/compiler/cmake/Android/PxFoundation.cmake
@@ -0,0 +1,62 @@
+#
+# Build PxFoundation
+#
+
+SET(PXSHARED_SOURCE_DIR ${PROJECT_SOURCE_DIR}/../../../../src)
+
+SET(LL_SOURCE_DIR ${PXSHARED_SOURCE_DIR}/foundation)
+
+SET(PXFOUNDATION_LIBTYPE STATIC)
+
+SET(PXFOUNDATION_PLATFORM_FILES
+ ${LL_SOURCE_DIR}/src/unix/PsUnixAtomic.cpp
+ ${LL_SOURCE_DIR}/src/unix/PsUnixCpu.cpp
+ ${LL_SOURCE_DIR}/src/unix/PsUnixFPU.cpp
+ ${LL_SOURCE_DIR}/src/unix/PsUnixMutex.cpp
+ ${LL_SOURCE_DIR}/src/unix/PsUnixPrintString.cpp
+ ${LL_SOURCE_DIR}/src/unix/PsUnixSList.cpp
+ ${LL_SOURCE_DIR}/src/unix/PsUnixSocket.cpp
+ ${LL_SOURCE_DIR}/src/unix/PsUnixSync.cpp
+ ${LL_SOURCE_DIR}/src/unix/PsUnixThread.cpp
+ ${LL_SOURCE_DIR}/src/unix/PsUnixTime.cpp
+ ${ANDROID_NDK}/sources/android/cpufeatures/cpu-features.c
+)
+
+SET(PXFOUNDATION_PLATFORM_INCLUDES
+ ${LL_SOURCE_DIR}/include/linux
+ ${ANDROID_NDK}/sources/android/cpufeatures
+)
+
+SET(PXFOUNDATION_COMPILE_DEFS
+ # Common to all configurations
+ ${PXSHARED_ANDROID_COMPILE_DEFS};PxShared_STATIC_LIB;
+)
+
+if(${CMAKE_BUILD_TYPE_LOWERCASE} STREQUAL "debug")
+ LIST(APPEND PXFOUNDATION_COMPILE_DEFS
+ ${PXSHARED_ANDROID_DEBUG_COMPILE_DEFS}
+ )
+elseif(${CMAKE_BUILD_TYPE_LOWERCASE} STREQUAL "checked")
+ LIST(APPEND PXFOUNDATION_COMPILE_DEFS
+ ${PXSHARED_ANDROID_CHECKED_COMPILE_DEFS}
+ )
+elseif(${CMAKE_BUILD_TYPE_LOWERCASE} STREQUAL "profile")
+ LIST(APPEND PXFOUNDATION_COMPILE_DEFS
+ ${PXSHARED_ANDROID_PROFILE_COMPILE_DEFS}
+ )
+elseif(${CMAKE_BUILD_TYPE_LOWERCASE} STREQUAL release)
+ LIST(APPEND PXFOUNDATION_COMPILE_DEFS
+ ${PXSHARED_ANDROID_RELEASE_COMPILE_DEFS}
+ )
+else(${CMAKE_BUILD_TYPE_LOWERCASE} STREQUAL "debug")
+ MESSAGE(FATAL_ERROR "Unknown configuration ${CMAKE_BUILD_TYPE}")
+endif(${CMAKE_BUILD_TYPE_LOWERCASE} STREQUAL "debug")
+
+
+# include PxFoundation common
+INCLUDE(../common/PxFoundation.cmake)
+
+TARGET_LINK_LIBRARIES(PxFoundation PUBLIC log)
+
+# enable -fPIC so we can link static libs with the editor
+SET_TARGET_PROPERTIES(PxFoundation PROPERTIES POSITION_INDEPENDENT_CODE TRUE)
diff --git a/PxShared/src/compiler/cmake/Android/PxPvdSDK.cmake b/PxShared/src/compiler/cmake/Android/PxPvdSDK.cmake
new file mode 100644
index 0000000..f517efc
--- /dev/null
+++ b/PxShared/src/compiler/cmake/Android/PxPvdSDK.cmake
@@ -0,0 +1,44 @@
+#
+# Build PxPvdSDK
+#
+
+SET(PXSHARED_SOURCE_DIR ${PROJECT_SOURCE_DIR}/../../../../src)
+
+SET(LL_SOURCE_DIR ${PXSHARED_SOURCE_DIR}/pvd)
+
+SET(PXPVDSDK_LIBTYPE STATIC)
+
+# Use generator expressions to set config specific preprocessor definitions
+SET(PXPVDSDK_COMPILE_DEFS
+ # Common to all configurations
+ ${PXSHARED_ANDROID_COMPILE_DEFS};PxShared_STATIC_LIB;
+)
+
+if(${CMAKE_BUILD_TYPE_LOWERCASE} STREQUAL "debug")
+ LIST(APPEND PXPVDSDK_COMPILE_DEFS
+ ${PXSHARED_ANDROID_DEBUG_COMPILE_DEFS}
+ )
+elseif(${CMAKE_BUILD_TYPE_LOWERCASE} STREQUAL "checked")
+ LIST(APPEND PXPVDSDK_COMPILE_DEFS
+ ${PXSHARED_ANDROID_CHECKED_COMPILE_DEFS}
+ )
+elseif(${CMAKE_BUILD_TYPE_LOWERCASE} STREQUAL "profile")
+ LIST(APPEND PXPVDSDK_COMPILE_DEFS
+ ${PXSHARED_ANDROID_PROFILE_COMPILE_DEFS}
+ )
+elseif(${CMAKE_BUILD_TYPE_LOWERCASE} STREQUAL release)
+ LIST(APPEND PXPVDSDK_COMPILE_DEFS
+ ${PXSHARED_ANDROID_RELEASE_COMPILE_DEFS}
+ )
+else(${CMAKE_BUILD_TYPE_LOWERCASE} STREQUAL "debug")
+ MESSAGE(FATAL_ERROR "Unknown configuration ${CMAKE_BUILD_TYPE}")
+endif(${CMAKE_BUILD_TYPE_LOWERCASE} STREQUAL "debug")
+
+# include PxPvdSDK common
+INCLUDE(../common/PxPvdSDK.cmake)
+
+# Add linked libraries
+TARGET_LINK_LIBRARIES(PxPvdSDK PRIVATE PxFoundation)
+
+# enable -fPIC so we can link static libs with the editor
+SET_TARGET_PROPERTIES(PxPvdSDK PROPERTIES POSITION_INDEPENDENT_CODE TRUE)
diff --git a/PxShared/src/compiler/cmake/Android/PxTask.cmake b/PxShared/src/compiler/cmake/Android/PxTask.cmake
new file mode 100644
index 0000000..e02aefd
--- /dev/null
+++ b/PxShared/src/compiler/cmake/Android/PxTask.cmake
@@ -0,0 +1,39 @@
+#
+# Build PxTask
+#
+
+SET(PXSHARED_SOURCE_DIR ${PROJECT_SOURCE_DIR}/../../../../src)
+
+SET(LL_SOURCE_DIR ${PXSHARED_SOURCE_DIR}/task)
+
+SET(PXTASK_COMPILE_DEFS
+ ${PXSHARED_ANDROID_COMPILE_DEFS};PxShared_STATIC_LIB;
+)
+
+if(${CMAKE_BUILD_TYPE_LOWERCASE} STREQUAL "debug")
+ LIST(APPEND PXTASK_COMPILE_DEFS
+ ${PXSHARED_ANDROID_DEBUG_COMPILE_DEFS}
+ )
+elseif(${CMAKE_BUILD_TYPE_LOWERCASE} STREQUAL "checked")
+ LIST(APPEND PXTASK_COMPILE_DEFS
+ ${PXSHARED_ANDROID_CHECKED_COMPILE_DEFS}
+ )
+elseif(${CMAKE_BUILD_TYPE_LOWERCASE} STREQUAL "profile")
+ LIST(APPEND PXTASK_COMPILE_DEFS
+ ${PXSHARED_ANDROID_PROFILE_COMPILE_DEFS}
+ )
+elseif(${CMAKE_BUILD_TYPE_LOWERCASE} STREQUAL release)
+ LIST(APPEND PXTASK_COMPILE_DEFS
+ ${PXSHARED_ANDROID_RELEASE_COMPILE_DEFS}
+ )
+else(${CMAKE_BUILD_TYPE_LOWERCASE} STREQUAL "debug")
+ MESSAGE(FATAL_ERROR "Unknown configuration ${CMAKE_BUILD_TYPE}")
+endif(${CMAKE_BUILD_TYPE_LOWERCASE} STREQUAL "debug")
+
+SET(PXTASK_LIBTYPE OBJECT)
+
+# include PxTask common
+INCLUDE(../common/PxTask.cmake)
+
+# enable -fPIC so we can link static libs with the editor
+SET_TARGET_PROPERTIES(PxTask PROPERTIES POSITION_INDEPENDENT_CODE TRUE)