aboutsummaryrefslogtreecommitdiff
path: root/PxShared/src/compiler/cmake/Linux/PxFoundation.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'PxShared/src/compiler/cmake/Linux/PxFoundation.cmake')
-rw-r--r--PxShared/src/compiler/cmake/Linux/PxFoundation.cmake67
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)