aboutsummaryrefslogtreecommitdiff
path: root/PxShared/src/compiler/cmake/Linux
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/Linux
downloadnvcloth-85305930aeeb1d513e23522bd91f29ba81aa6d14.tar.xz
nvcloth-85305930aeeb1d513e23522bd91f29ba81aa6d14.zip
NvCloth library v1.0.0
Diffstat (limited to 'PxShared/src/compiler/cmake/Linux')
-rw-r--r--PxShared/src/compiler/cmake/Linux/CMakeLists.txt87
-rw-r--r--PxShared/src/compiler/cmake/Linux/PsFastXml.cmake40
-rw-r--r--PxShared/src/compiler/cmake/Linux/PxCudaContextManager.cmake29
-rw-r--r--PxShared/src/compiler/cmake/Linux/PxFoundation.cmake67
-rw-r--r--PxShared/src/compiler/cmake/Linux/PxPvdSDK.cmake53
-rw-r--r--PxShared/src/compiler/cmake/Linux/PxTask.cmake43
6 files changed, 319 insertions, 0 deletions
diff --git a/PxShared/src/compiler/cmake/Linux/CMakeLists.txt b/PxShared/src/compiler/cmake/Linux/CMakeLists.txt
new file mode 100644
index 0000000..2fa592e
--- /dev/null
+++ b/PxShared/src/compiler/cmake/Linux/CMakeLists.txt
@@ -0,0 +1,87 @@
+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 Linux
+ SET(TARGET_BUILD_PLATFORM "Linux")
+ENDIF()
+
+SET(PLATFORM_LIST Linux)
+
+IF (NOT ${TARGET_BUILD_PLATFORM} IN_LIST PLATFORM_LIST)
+ MESSAGE(FATAL_ERROR "Invalid platform:" ${TARGET_BUILD_PLATFORM})
+ENDIF()
+
+IF (${CMAKE_LIBRARY_ARCHITECTURE} STREQUAL "x86_64-unknown-linux-gnu" OR ${CMAKE_LIBRARY_ARCHITECTURE} STREQUAL "x86_64-linux-gnu")
+ IF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
+ # using Clang
+ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fno-rtti -fno-exceptions -ffast-math -ffunction-sections -fdata-sections -Werror -ferror-limit=0 -Wall -Wextra -fstrict-aliasing -Wstrict-aliasing=2 -Weverything -Wno-documentation-deprecated-sync -Wno-documentation-unknown-command -Wno-float-equal -Wno-padded -Wno-weak-vtables -Wno-cast-align -Wno-conversion -Wno-missing-noreturn -Wno-missing-variable-declarations -Wno-shift-sign-overflow -Wno-covered-switch-default -Wno-exit-time-destructors -Wno-global-constructors -Wno-missing-prototypes -Wno-unreachable-code -Wno-unused-macros -Wno-unused-member-function -Wno-used-but-marked-unused -Wno-weak-template-vtables -Wno-deprecated -Wno-non-virtual-dtor -Wno-invalid-noreturn -Wno-return-type-c-linkage -Wno-reserved-id-macro -Wno-c++98-compat-pedantic -Wno-unused-local-typedef -Wno-old-style-cast -Wno-newline-eof -Wno-unused-private-field -Wno-undefined-func-template -Wno-format-nonliteral -Wno-implicit-fallthrough -Wno-undefined-reinterpret-cast")
+ ELSEIF ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
+ # using GCC
+ SET(LIBPATH_SUFFIX "x64")
+ SET(CMAKE_CXX_FLAGS "-Werror -m64 -fPIC -msse2 -mfpmath=sse -ffast-math -fno-exceptions -fno-rtti -fvisibility=hidden -fvisibility-inlines-hidden -Wall -Wextra -fno-strict-aliasing -fdiagnostics-show-option -Wno-invalid-offsetof -Wno-uninitialized -Wno-missing-field-initializers")
+ ENDIF("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
+ELSEIF(${CMAKE_LIBRARY_ARCHITECTURE} STREQUAL "arm-unknown-linux-gnueabihf")
+ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -mfpu=neon -fno-rtti -fno-exceptions -ffast-math -ffunction-sections -fdata-sections -Werror -ferror-limit=0 -Wall -Wextra -fstrict-aliasing -Wstrict-aliasing=2 -Weverything -Wno-documentation-deprecated-sync -Wno-documentation-unknown-command -Wno-float-equal -Wno-padded -Wno-weak-vtables -Wno-cast-align -Wno-conversion -Wno-missing-noreturn -Wno-missing-variable-declarations -Wno-shift-sign-overflow -Wno-covered-switch-default -Wno-exit-time-destructors -Wno-global-constructors -Wno-missing-prototypes -Wno-unreachable-code -Wno-unused-macros -Wno-unused-member-function -Wno-used-but-marked-unused -Wno-weak-template-vtables -Wno-deprecated -Wno-non-virtual-dtor -Wno-old-style-cast -Wno-return-type-c-linkage -Wno-format-nonliteral -Wno-implicit-fallthrough")
+ELSEIF(${CMAKE_LIBRARY_ARCHITECTURE} STREQUAL "aarch64-unknown-linux-gnueabi")
+ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fno-rtti -fno-exceptions -ffast-math -ffunction-sections -fdata-sections -Werror -ferror-limit=0 -Wall -Wextra -fstrict-aliasing -Wstrict-aliasing=2 -Weverything -Wno-documentation-deprecated-sync -Wno-documentation-unknown-command -Wno-float-equal -Wno-padded -Wno-weak-vtables -Wno-cast-align -Wno-conversion -Wno-missing-noreturn -Wno-missing-variable-declarations -Wno-shift-sign-overflow -Wno-covered-switch-default -Wno-exit-time-destructors -Wno-global-constructors -Wno-missing-prototypes -Wno-unreachable-code -Wno-unused-macros -Wno-unused-member-function -Wno-used-but-marked-unused -Wno-weak-template-vtables -Wno-deprecated -Wno-non-virtual-dtor -Wno-old-style-cast -Wno-return-type-c-linkage -Wno-format-nonliteral -Wno-unused-local-typedef -Wno-implicit-fallthrough")
+ELSE(${CMAKE_LIBRARY_ARCHITECTURE} STREQUAL "x86_64-unknown-linux-gnu" OR ${CMAKE_LIBRARY_ARCHITECTURE} STREQUAL "x86_64-linux-gnu")
+ MESSAGE(FATAL_ERROR "Unknown CMAKE_LIBRARY_ARCHITECTURE ${CMAKE_LIBRARY_ARCHITECTURE}")
+ENDIF(${CMAKE_LIBRARY_ARCHITECTURE} STREQUAL "x86_64-unknown-linux-gnu" OR ${CMAKE_LIBRARY_ARCHITECTURE} STREQUAL "x86_64-linux-gnu")
+
+
+SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -gdwarf-3")
+SET(CMAKE_CXX_FLAGS_CHECKED "-O3 -g -gdwarf-3")
+SET(CMAKE_CXX_FLAGS_PROFILE "-O3 -g -gdwarf-3")
+SET(CMAKE_CXX_FLAGS_RELEASE "-O3 -g -gdwarf-3")
+
+IF(DEFINED PX_GENERATE_GPU_PROJECTS)
+SET(PXSHARED_LINUX_COMPILE_DEFS _LIB)
+ELSE()
+# Disable cuda and dx for all projects on windows
+SET(PXSHARED_LINUX_COMPILE_DEFS _LIB;DISABLE_CUDA_PHYSX;)
+ENDIF()
+SET(PXSHARED_LINUX_DEBUG_COMPILE_DEFS _DEBUG;PX_DEBUG=1;PX_CHECKED=1)
+SET(PXSHARED_LINUX_CHECKED_COMPILE_DEFS NDEBUG;PX_CHECKED=1)
+SET(PXSHARED_LINUX_PROFILE_COMPILE_DEFS NDEBUG;PX_PROFILE=1)
+SET(PXSHARED_LINUX_RELEASE_COMPILE_DEFS NDEBUG)
+
+IF(DEFINED LIBPATH_SUFFIX)
+ SET(CMAKE_DEBUG_POSTFIX "${CMAKE_DEBUG_POSTFIX}_${LIBPATH_SUFFIX}")
+ SET(CMAKE_PROFILE_POSTFIX "${CMAKE_PROFILE_POSTFIX}_${LIBPATH_SUFFIX}")
+ SET(CMAKE_CHECKED_POSTFIX "${CMAKE_CHECKED_POSTFIX}_${LIBPATH_SUFFIX}")
+ SET(CMAKE_RELEASE_POSTFIX "${CMAKE_RELEASE_POSTFIX}_${LIBPATH_SUFFIX}")
+ENDIF()
+
+# NOTE: PxCudaContextManager excluded on this platform
+
+# Include project cmake files here
+IF(DEFINED PX_SELECT_COMPONENTS)
+ if ("PxFoundation" IN_LIST PX_SELECT_COMPONENTS)
+ INCLUDE(PxFoundation.cmake)
+ endif()
+ if ("PsFastXml" IN_LIST PX_SELECT_COMPONENTS)
+ INCLUDE(PsFastXml.cmake)
+ endif()
+ if ("PxPvdSDK" IN_LIST PX_SELECT_COMPONENTS)
+ INCLUDE(PxPvdSDK.cmake)
+ endif()
+ if ("PxTask" IN_LIST PX_SELECT_COMPONENTS)
+ INCLUDE(PxTask.cmake)
+ endif()
+ if ("PxCudaContextManager" IN_LIST PX_SELECT_COMPONENTS)
+ IF(DEFINED PX_GENERATE_GPU_PROJECTS)
+ INCLUDE(PxCudaContextManager.cmake)
+ ENDIF()
+ endif()
+ELSE()
+INCLUDE(PxFoundation.cmake)
+INCLUDE(PsFastXml.cmake)
+INCLUDE(PxPvdSDK.cmake)
+INCLUDE(PxTask.cmake)
+IF(DEFINED PX_GENERATE_GPU_PROJECTS)
+ INCLUDE(PxCudaContextManager.cmake)
+ENDIF()
+ENDIF()
+
diff --git a/PxShared/src/compiler/cmake/Linux/PsFastXml.cmake b/PxShared/src/compiler/cmake/Linux/PsFastXml.cmake
new file mode 100644
index 0000000..3c90c49
--- /dev/null
+++ b/PxShared/src/compiler/cmake/Linux/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_LINUX_COMPILE_DEFS};PX_FOUNDATION_DLL=0;
+)
+
+if(${CMAKE_BUILD_TYPE_LOWERCASE} STREQUAL "debug")
+ LIST(APPEND PSFASTXML_COMPILE_DEFS
+ ${PXSHARED_LINUX_DEBUG_COMPILE_DEFS}
+ )
+elseif(${CMAKE_BUILD_TYPE_LOWERCASE} STREQUAL "checked")
+ LIST(APPEND PSFASTXML_COMPILE_DEFS
+ ${PXSHARED_LINUX_CHECKED_COMPILE_DEFS}
+ )
+elseif(${CMAKE_BUILD_TYPE_LOWERCASE} STREQUAL "profile")
+ LIST(APPEND PSFASTXML_COMPILE_DEFS
+ ${PXSHARED_LINUX_PROFILE_COMPILE_DEFS}
+ )
+elseif(${CMAKE_BUILD_TYPE_LOWERCASE} STREQUAL release)
+ LIST(APPEND PSFASTXML_COMPILE_DEFS
+ ${PXSHARED_LINUX_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/Linux/PxCudaContextManager.cmake b/PxShared/src/compiler/cmake/Linux/PxCudaContextManager.cmake
new file mode 100644
index 0000000..3454323
--- /dev/null
+++ b/PxShared/src/compiler/cmake/Linux/PxCudaContextManager.cmake
@@ -0,0 +1,29 @@
+#
+# Build PxCudaContextManager
+#
+
+FIND_PACKAGE(CUDA REQUIRED)
+
+SET(PXSHARED_SOURCE_DIR ${PROJECT_SOURCE_DIR}/../../../../src)
+
+SET(LL_SOURCE_DIR ${PXSHARED_SOURCE_DIR}/cudamanager)
+
+SET(CUDA_COMPILER_OPTION_DEBUG "--compiler-options=-Wall,-O3,-fPIC,-msse2,-mfpmath=sse,-malign-double,-m64,-fvisibility=hidden")
+SET(CUDA_COMPILER_OPTION_CHECKED "--compiler-options=-Wall,-O3,-fPIC,-msse2,-mfpmath=sse,-malign-double,-m64,-fvisibility=hidden")
+SET(CUDA_COMPILER_OPTION_PROFILE "--compiler-options=-Wall,-O3,-fPIC,-msse2,-mfpmath=sse,-malign-double,-m64,-fvisibility=hidden")
+SET(CUDA_COMPILER_OPTION_RELEASE "--compiler-options=-Wall,-O3,-fPIC,-msse2,-mfpmath=sse,-malign-double,-m64,-fvisibility=hidden")
+
+# include PxCudaContextManager common
+INCLUDE(../common/PxCudaContextManager.cmake)
+
+# Use generator expressions to set config specific preprocessor definitions
+TARGET_COMPILE_DEFINITIONS(PxCudaContextManager
+
+ # Common to all configurations
+ PRIVATE ${PXSHARED_LINUX_COMPILE_DEFS};
+
+ PRIVATE $<$<CONFIG:debug>:${PXSHARED_LINUX_DEBUG_COMPILE_DEFS};>
+ PRIVATE $<$<CONFIG:checked>:${PXSHARED_LINUX_CHECKED_COMPILE_DEFS};>
+ PRIVATE $<$<CONFIG:profile>:${PXSHARED_LINUX_PROFILE_COMPILE_DEFS};>
+ PRIVATE $<$<CONFIG:release>:${PXSHARED_LINUX_RELEASE_COMPILE_DEFS};>
+)
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)
diff --git a/PxShared/src/compiler/cmake/Linux/PxPvdSDK.cmake b/PxShared/src/compiler/cmake/Linux/PxPvdSDK.cmake
new file mode 100644
index 0000000..81692a0
--- /dev/null
+++ b/PxShared/src/compiler/cmake/Linux/PxPvdSDK.cmake
@@ -0,0 +1,53 @@
+#
+# Build PxPvdSDK
+#
+
+SET(PXSHARED_SOURCE_DIR ${PROJECT_SOURCE_DIR}/../../../../src)
+
+SET(LL_SOURCE_DIR ${PXSHARED_SOURCE_DIR}/pvd)
+
+IF(DEFINED PX_STATIC_LIBRARIES)
+ SET(PXPVDSDK_LIBTYPE STATIC)
+ELSE()
+ SET(PXPVDSDK_LIBTYPE SHARED)
+ SET(PXPVDSDK_SHARED_LIBRARY_DEFS PX_PVDSDK_DLL=1;PX_FOUNDATION_DLL=1;)
+ENDIF()
+
+# Use generator expressions to set config specific preprocessor definitions
+SET(PXPVDSDK_COMPILE_DEFS
+ # Common to all configurations
+ ${PXSHARED_LINUX_COMPILE_DEFS}
+)
+
+if(${CMAKE_BUILD_TYPE_LOWERCASE} STREQUAL "debug")
+ LIST(APPEND PXPVDSDK_COMPILE_DEFS
+ ${PXSHARED_LINUX_DEBUG_COMPILE_DEFS};${PXPVDSDK_SHARED_LIBRARY_DEFS}
+ )
+elseif(${CMAKE_BUILD_TYPE_LOWERCASE} STREQUAL "checked")
+ LIST(APPEND PXPVDSDK_COMPILE_DEFS
+ ${PXSHARED_LINUX_CHECKED_COMPILE_DEFS};${PXPVDSDK_SHARED_LIBRARY_DEFS}
+ )
+elseif(${CMAKE_BUILD_TYPE_LOWERCASE} STREQUAL "profile")
+ LIST(APPEND PXPVDSDK_COMPILE_DEFS
+ ${PXSHARED_LINUX_PROFILE_COMPILE_DEFS};${PXPVDSDK_SHARED_LIBRARY_DEFS}
+ )
+elseif(${CMAKE_BUILD_TYPE_LOWERCASE} STREQUAL release)
+ LIST(APPEND PXPVDSDK_COMPILE_DEFS
+ ${PXSHARED_LINUX_RELEASE_COMPILE_DEFS};${PXPVDSDK_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 PxPvdSDK common
+INCLUDE(../common/PxPvdSDK.cmake)
+
+# Add linked libraries
+IF(DEFINED PX_STATIC_LIBRARIES)
+TARGET_LINK_LIBRARIES(PxPvdSDK PRIVATE PxFoundation )
+ELSE()
+TARGET_LINK_LIBRARIES(PxPvdSDK PRIVATE PxFoundation rt)
+ENDIF()
+
+# 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/Linux/PxTask.cmake b/PxShared/src/compiler/cmake/Linux/PxTask.cmake
new file mode 100644
index 0000000..86689c4
--- /dev/null
+++ b/PxShared/src/compiler/cmake/Linux/PxTask.cmake
@@ -0,0 +1,43 @@
+#
+# Build PxTask
+#
+
+SET(PXSHARED_SOURCE_DIR ${PROJECT_SOURCE_DIR}/../../../../src)
+
+SET(LL_SOURCE_DIR ${PXSHARED_SOURCE_DIR}/task)
+
+SET(PXTASK_COMPILE_DEFS
+ ${PXSHARED_LINUX_COMPILE_DEFS};
+)
+
+if(${CMAKE_BUILD_TYPE_LOWERCASE} STREQUAL "debug")
+ LIST(APPEND PXTASK_COMPILE_DEFS
+ ${PXSHARED_LINUX_DEBUG_COMPILE_DEFS}
+ )
+elseif(${CMAKE_BUILD_TYPE_LOWERCASE} STREQUAL "checked")
+ LIST(APPEND PXTASK_COMPILE_DEFS
+ ${PXSHARED_LINUX_CHECKED_COMPILE_DEFS}
+ )
+elseif(${CMAKE_BUILD_TYPE_LOWERCASE} STREQUAL "profile")
+ LIST(APPEND PXTASK_COMPILE_DEFS
+ ${PXSHARED_LINUX_PROFILE_COMPILE_DEFS}
+ )
+elseif(${CMAKE_BUILD_TYPE_LOWERCASE} STREQUAL release)
+ LIST(APPEND PXTASK_COMPILE_DEFS
+ ${PXSHARED_LINUX_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")
+
+IF(DEFINED PX_STATIC_LIBRARIES)
+ SET(PXTASK_LIBTYPE OBJECT)
+ELSE()
+ SET(PXTASK_LIBTYPE STATIC)
+ENDIF()
+
+# 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)