177 lines
6.8 KiB
CMake
177 lines
6.8 KiB
CMake
##
|
|
## Redistribution and use in source and binary forms, with or without
|
|
## modification, are permitted provided that the following conditions
|
|
## are met:
|
|
## * Redistributions of source code must retain the above copyright
|
|
## notice, this list of conditions and the following disclaimer.
|
|
## * Redistributions in binary form must reproduce the above copyright
|
|
## notice, this list of conditions and the following disclaimer in the
|
|
## documentation and/or other materials provided with the distribution.
|
|
## * Neither the name of NVIDIA CORPORATION nor the names of its
|
|
## contributors may be used to endorse or promote products derived
|
|
## from this software without specific prior written permission.
|
|
##
|
|
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
|
|
## EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
|
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
|
## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
|
## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
|
## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
|
|
## OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
##
|
|
## Copyright (c) 2008-2021 NVIDIA Corporation. All rights reserved.
|
|
|
|
#
|
|
# Build SampleBase common
|
|
#
|
|
|
|
SET(SAMPLEBASE_DIR ${PHYSX_ROOT_DIR}/samples/samplebase/)
|
|
|
|
# One of the test files reaches into this directory for an include
|
|
SET(UTILS_SRC_DIR "${PHYSX_ROOT_DIR}/test/common/Utils")
|
|
|
|
# Include here after the directories are defined so that the platform specific file can use the variables.
|
|
include(${PHYSX_ROOT_DIR}/samples/${PROJECT_CMAKE_FILES_DIR}/${TARGET_BUILD_PLATFORM}/SampleBase.cmake)
|
|
|
|
SET(SAMPLEBASE_FILES
|
|
${SAMPLEBASE_DIR}/AcclaimLoader.cpp
|
|
${SAMPLEBASE_DIR}/AcclaimLoader.h
|
|
${SAMPLEBASE_DIR}/Dummy.cpp
|
|
${SAMPLEBASE_DIR}/InputEventBuffer.cpp
|
|
${SAMPLEBASE_DIR}/InputEventBuffer.h
|
|
${SAMPLEBASE_DIR}/PhysXSample.cpp
|
|
${SAMPLEBASE_DIR}/PhysXSample.h
|
|
${SAMPLEBASE_DIR}/PhysXSampleApplication.cpp
|
|
${SAMPLEBASE_DIR}/PhysXSampleApplication.h
|
|
${SAMPLEBASE_DIR}/Picking.cpp
|
|
${SAMPLEBASE_DIR}/Picking.h
|
|
${SAMPLEBASE_DIR}/RawLoader.cpp
|
|
${SAMPLEBASE_DIR}/RawLoader.h
|
|
${SAMPLEBASE_DIR}/RaycastCCD.cpp
|
|
${SAMPLEBASE_DIR}/RaycastCCD.h
|
|
${SAMPLEBASE_DIR}/RenderBaseActor.cpp
|
|
${SAMPLEBASE_DIR}/RenderBaseActor.h
|
|
${SAMPLEBASE_DIR}/RenderBaseObject.cpp
|
|
${SAMPLEBASE_DIR}/RenderBaseObject.h
|
|
${SAMPLEBASE_DIR}/RenderBoxActor.cpp
|
|
${SAMPLEBASE_DIR}/RenderBoxActor.h
|
|
${SAMPLEBASE_DIR}/RenderCapsuleActor.cpp
|
|
${SAMPLEBASE_DIR}/RenderCapsuleActor.h
|
|
${SAMPLEBASE_DIR}/RenderGridActor.cpp
|
|
${SAMPLEBASE_DIR}/RenderGridActor.h
|
|
${SAMPLEBASE_DIR}/RenderMaterial.cpp
|
|
${SAMPLEBASE_DIR}/RenderMaterial.h
|
|
${SAMPLEBASE_DIR}/RenderMeshActor.cpp
|
|
${SAMPLEBASE_DIR}/RenderMeshActor.h
|
|
${SAMPLEBASE_DIR}/RenderPhysX3Debug.cpp
|
|
${SAMPLEBASE_DIR}/RenderPhysX3Debug.h
|
|
${SAMPLEBASE_DIR}/RenderSphereActor.cpp
|
|
${SAMPLEBASE_DIR}/RenderSphereActor.h
|
|
${SAMPLEBASE_DIR}/RenderTexture.cpp
|
|
${SAMPLEBASE_DIR}/RenderTexture.h
|
|
${SAMPLEBASE_DIR}/SampleAllocator.cpp
|
|
${SAMPLEBASE_DIR}/SampleAllocator.h
|
|
${SAMPLEBASE_DIR}/SampleAllocatorSDKClasses.h
|
|
${SAMPLEBASE_DIR}/SampleArray.h
|
|
${SAMPLEBASE_DIR}/SampleBaseInputEventIds.h
|
|
${SAMPLEBASE_DIR}/SampleCamera.cpp
|
|
${SAMPLEBASE_DIR}/SampleCamera.h
|
|
${SAMPLEBASE_DIR}/SampleCameraController.cpp
|
|
${SAMPLEBASE_DIR}/SampleCameraController.h
|
|
${SAMPLEBASE_DIR}/SampleCharacterHelpers.cpp
|
|
${SAMPLEBASE_DIR}/SampleCharacterHelpers.h
|
|
${SAMPLEBASE_DIR}/SampleConsole.cpp
|
|
${SAMPLEBASE_DIR}/SampleConsole.h
|
|
${SAMPLEBASE_DIR}/SampleInputMappingAsset.cpp
|
|
${SAMPLEBASE_DIR}/SampleInputMappingAsset.h
|
|
${SAMPLEBASE_DIR}/SampleMain.cpp
|
|
${SAMPLEBASE_DIR}/SampleMouseFilter.cpp
|
|
${SAMPLEBASE_DIR}/SampleMouseFilter.h
|
|
${SAMPLEBASE_DIR}/SamplePreprocessor.h
|
|
${SAMPLEBASE_DIR}/SampleRandomPrecomputed.cpp
|
|
${SAMPLEBASE_DIR}/SampleRandomPrecomputed.h
|
|
${SAMPLEBASE_DIR}/SampleStepper.cpp
|
|
${SAMPLEBASE_DIR}/SampleStepper.h
|
|
${SAMPLEBASE_DIR}/SampleUserInputDefines.h
|
|
${SAMPLEBASE_DIR}/SampleUtils.h
|
|
${SAMPLEBASE_DIR}/Test.h
|
|
${SAMPLEBASE_DIR}/TestGeometryHelpers.cpp
|
|
${SAMPLEBASE_DIR}/TestGeometryHelpers.h
|
|
${SAMPLEBASE_DIR}/TestGroup.cpp
|
|
${SAMPLEBASE_DIR}/TestGroup.h
|
|
${SAMPLEBASE_DIR}/TestMotionGenerator.cpp
|
|
${SAMPLEBASE_DIR}/TestMotionGenerator.h
|
|
${SAMPLEBASE_DIR}/wavefront.cpp
|
|
${SAMPLEBASE_DIR}/wavefront.h
|
|
)
|
|
|
|
ADD_LIBRARY(SampleBase STATIC
|
|
${SAMPLEBASE_FILES}
|
|
)
|
|
|
|
TARGET_INCLUDE_DIRECTORIES(SampleBase
|
|
|
|
PRIVATE ${PHYSX_ROOT_DIR}/include
|
|
PRIVATE ${PHYSX_ROOT_DIR}/source/common/src
|
|
|
|
PRIVATE ${PHYSX_ROOT_DIR}/samples/sampleframework/framework/include
|
|
PRIVATE ${PHYSX_ROOT_DIR}/samples/sampleframework/renderer/include
|
|
PRIVATE ${PHYSX_ROOT_DIR}/samples/sampleframework/platform/include
|
|
|
|
PRIVATE ${UTILS_SRC_DIR}
|
|
|
|
PRIVATE ${PHYSX_ROOT_DIR}/source/common/include
|
|
PRIVATE ${PHYSX_ROOT_DIR}/source/common/src
|
|
PRIVATE ${PHYSX_ROOT_DIR}/source/geomutils/include
|
|
PRIVATE ${PHYSX_ROOT_DIR}/source/geomutils/include
|
|
PRIVATE ${PHYSX_ROOT_DIR}/source/geomutils/src/contact
|
|
PRIVATE ${PHYSX_ROOT_DIR}/source/geomutils/src/common
|
|
PRIVATE ${PHYSX_ROOT_DIR}/source/geomutils/src/convex
|
|
PRIVATE ${PHYSX_ROOT_DIR}/source/geomutils/src/distance
|
|
PRIVATE ${PHYSX_ROOT_DIR}/source/geomutils/src/gjk
|
|
PRIVATE ${PHYSX_ROOT_DIR}/source/geomutils/src/intersection
|
|
PRIVATE ${PHYSX_ROOT_DIR}/source/geomutils/src/mesh
|
|
PRIVATE ${PHYSX_ROOT_DIR}/source/geomutils/src/Ice
|
|
PRIVATE ${PHYSX_ROOT_DIR}/source/geomutils/src/hf
|
|
PRIVATE ${PHYSX_ROOT_DIR}/source/geomutils/src/pcm
|
|
)
|
|
|
|
TARGET_COMPILE_DEFINITIONS(SampleBase
|
|
PRIVATE ${SAMPLEBASE_COMPILE_DEFS}
|
|
)
|
|
|
|
|
|
IF(NV_USE_GAMEWORKS_OUTPUT_DIRS)
|
|
SET_TARGET_PROPERTIES(SampleBase PROPERTIES
|
|
COMPILE_PDB_NAME_DEBUG "SampleBase_static_${CMAKE_DEBUG_POSTFIX}"
|
|
COMPILE_PDB_NAME_CHECKED "SampleBase_static_${CMAKE_CHECKED_POSTFIX}"
|
|
COMPILE_PDB_NAME_PROFILE "SampleBase_static_${CMAKE_PROFILE_POSTFIX}"
|
|
COMPILE_PDB_NAME_RELEASE "SampleBase_static_${CMAKE_RELEASE_POSTFIX}"
|
|
|
|
ARCHIVE_OUTPUT_NAME_DEBUG "SampleBase_static"
|
|
ARCHIVE_OUTPUT_NAME_CHECKED "SampleBase_static"
|
|
ARCHIVE_OUTPUT_NAME_PROFILE "SampleBase_static"
|
|
ARCHIVE_OUTPUT_NAME_RELEASE "SampleBase_static"
|
|
)
|
|
ELSE()
|
|
SET_TARGET_PROPERTIES(SampleBase PROPERTIES
|
|
COMPILE_PDB_NAME_DEBUG "SampleBase${CMAKE_DEBUG_POSTFIX}"
|
|
COMPILE_PDB_NAME_CHECKED "SampleBase${CMAKE_CHECKED_POSTFIX}"
|
|
COMPILE_PDB_NAME_PROFILE "SampleBase${CMAKE_PROFILE_POSTFIX}"
|
|
COMPILE_PDB_NAME_RELEASE "SampleBase${CMAKE_RELEASE_POSTFIX}"
|
|
)
|
|
ENDIF()
|
|
|
|
|
|
TARGET_LINK_LIBRARIES(SampleBase
|
|
PUBLIC SampleToolkit
|
|
PUBLIC ${SAMPLEBASE_PLATFORM_LINKED_LIBS}
|
|
)
|
|
|
|
IF(PX_GENERATE_SOURCE_DISTRO)
|
|
LIST(APPEND SOURCE_DISTRO_FILE_LIST ${SAMPLEBASE_FILES})
|
|
ENDIF() |