diff options
| author | mtamis <[email protected]> | 2017-02-15 16:06:25 +0100 |
|---|---|---|
| committer | mtamis <[email protected]> | 2017-02-15 16:06:25 +0100 |
| commit | 85305930aeeb1d513e23522bd91f29ba81aa6d14 (patch) | |
| tree | 45f1bb20a45a300d1fef107e436cac95602a0e57 /PxShared/src/compiler/cmake/Android | |
| download | nvcloth-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.txt | 43 | ||||
| -rw-r--r-- | PxShared/src/compiler/cmake/Android/PsFastXml.cmake | 40 | ||||
| -rw-r--r-- | PxShared/src/compiler/cmake/Android/PxFoundation.cmake | 62 | ||||
| -rw-r--r-- | PxShared/src/compiler/cmake/Android/PxPvdSDK.cmake | 44 | ||||
| -rw-r--r-- | PxShared/src/compiler/cmake/Android/PxTask.cmake | 39 |
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) |