diff options
Diffstat (limited to 'PxShared/src/compiler/cmake/Linux/PxFoundation.cmake')
| -rw-r--r-- | PxShared/src/compiler/cmake/Linux/PxFoundation.cmake | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/PxShared/src/compiler/cmake/Linux/PxFoundation.cmake b/PxShared/src/compiler/cmake/Linux/PxFoundation.cmake new file mode 100644 index 0000000..f074805 --- /dev/null +++ b/PxShared/src/compiler/cmake/Linux/PxFoundation.cmake @@ -0,0 +1,67 @@ +# +# Build PxFoundation +# + +SET(PXSHARED_SOURCE_DIR ${PROJECT_SOURCE_DIR}/../../../../src) + +SET(LL_SOURCE_DIR ${PXSHARED_SOURCE_DIR}/foundation) + +IF(DEFINED PX_STATIC_LIBRARIES) + SET(PXFOUNDATION_LIBTYPE STATIC) +ELSE() + SET(PXFOUNDATION_LIBTYPE SHARED) + SET(PXFOUNDATION_SHARED_LIBRARY_DEFS PX_PVDSDK_DLL=1;PX_FOUNDATION_DLL=1;) +ENDIF() + +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 +) + +SET(PXFOUNDATION_PLATFORM_INCLUDES + ${LL_SOURCE_DIR}/include/linux +) + +SET(PXFOUNDATION_COMPILE_DEFS + # Common to all configurations + ${PXSHARED_LINUX_COMPILE_DEFS} +) + +if(${CMAKE_BUILD_TYPE_LOWERCASE} STREQUAL "debug") + LIST(APPEND PXFOUNDATION_COMPILE_DEFS + ${PXSHARED_LINUX_DEBUG_COMPILE_DEFS};${PXFOUNDATION_SHARED_LIBRARY_DEFS}; + ) +elseif(${CMAKE_BUILD_TYPE_LOWERCASE} STREQUAL "checked") + LIST(APPEND PXFOUNDATION_COMPILE_DEFS + ${PXSHARED_LINUX_CHECKED_COMPILE_DEFS};${PXFOUNDATION_SHARED_LIBRARY_DEFS}; + ) +elseif(${CMAKE_BUILD_TYPE_LOWERCASE} STREQUAL "profile") + LIST(APPEND PXFOUNDATION_COMPILE_DEFS + ${PXSHARED_LINUX_PROFILE_COMPILE_DEFS};${PXFOUNDATION_SHARED_LIBRARY_DEFS}; + ) +elseif(${CMAKE_BUILD_TYPE_LOWERCASE} STREQUAL release) + LIST(APPEND PXFOUNDATION_COMPILE_DEFS + ${PXSHARED_LINUX_RELEASE_COMPILE_DEFS};${PXFOUNDATION_SHARED_LIBRARY_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) + +IF(NOT DEFINED PX_STATIC_LIBRARIES) +TARGET_LINK_LIBRARIES(PxFoundation PUBLIC rt) +ENDIF() + +# enable -fPIC so we can link static libs with the editor +SET_TARGET_PROPERTIES(PxFoundation PROPERTIES POSITION_INDEPENDENT_CODE TRUE) |