diff options
Diffstat (limited to 'NvCloth/compiler/cmake/common/CMakeLists.txt')
| -rw-r--r-- | NvCloth/compiler/cmake/common/CMakeLists.txt | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/NvCloth/compiler/cmake/common/CMakeLists.txt b/NvCloth/compiler/cmake/common/CMakeLists.txt new file mode 100644 index 0000000..eddb1d9 --- /dev/null +++ b/NvCloth/compiler/cmake/common/CMakeLists.txt @@ -0,0 +1,89 @@ +cmake_minimum_required(VERSION 3.3) + +MESSAGE("[NvCloth]cmake/common/CMakeList.txt") + +project(NvCloth CXX) + +CMAKE_POLICY(SET CMP0057 NEW) # Enable IN_LIST + +SET(GW_DEPS_ROOT $ENV{GW_DEPS_ROOT}) + +SET(CMAKE_MODULE_PATH $ENV{GW_DEPS_ROOT}/sw/physx/tools/CMakeModules) + +IF(EXISTS $ENV{GW_DEPS_ROOT}/Externals/CMakeModules) + SET(CMAKE_MODULE_PATH $ENV{GW_DEPS_ROOT}/Externals/CMakeModules) +ENDIF() + +MESSAGE( "[NvCloth]cmake/common CMAKE_MODULE_PATH = ${CMAKE_MODULE_PATH}") + +IF(EXISTS $ENV{GW_DEPS_ROOT}/Externals/CMakeModules) + SET(CMAKE_MODULE_PATH $ENV{GW_DEPS_ROOT}/Externals/CMakeModules) +ENDIF() + +# Add find modules to the path +IF(NOT EXISTS ${CMAKE_MODULE_PATH}) + MESSAGE(FATAL_ERROR "Could not find CMakeModules at ${CMAKE_MODULE_PATH}") +ENDIF() + +MESSAGE("NvCloth Build Platform: " ${TARGET_BUILD_PLATFORM}) +MESSAGE("Using CXX Compiler: " ${CMAKE_CXX_COMPILER}) + +# TODO: Fail if we didn't find deps + +IF(CMAKE_CONFIGURATION_TYPES) + SET(CMAKE_CONFIGURATION_TYPES debug checked profile release) + SET(CMAKE_CONFIGURATION_TYPES "${CMAKE_CONFIGURATION_TYPES}" CACHE STRING + "Reset config to what we need" + FORCE) + + SET(CMAKE_SHARED_LINKER_FLAGS_CHECKED "") + SET(CMAKE_SHARED_LINKER_FLAGS_PROFILE "") + + # Build PDBs for all configurations + SET(CMAKE_SHARED_LINKER_FLAGS "/DEBUG") + +ENDIF() + +# Default to appending "DEBUG", "PROFILE", etc to produced artifacts +IF(NOT DEFINED APPEND_CONFIG_NAME) + SET(APPEND_CONFIG_NAME ON) +ENDIF() + +IF (APPEND_CONFIG_NAME) + MESSAGE("Appending config to output names") + + SET(CMAKE_DEBUG_POSTFIX "DEBUG") + SET(CMAKE_PROFILE_POSTFIX "PROFILE") + SET(CMAKE_CHECKED_POSTFIX "CHECKED") + SET(CMAKE_RELEASE_POSTFIX "") +ENDIF() + +#SET(PHYSX_ROOT_DIR ${PROJECT_SOURCE_DIR}/../../../../) +SET(PROJECT_ROOT_DIR ${PROJECT_SOURCE_DIR}/../../../) + +INCLUDE(SetOutputPaths) + +IF(DEFINED PX_OUTPUT_EXE_DIR) + SetExeOutputPath(${PX_OUTPUT_EXE_DIR}) +ENDIF() +IF(DEFINED PX_OUTPUT_DLL_DIR) + SetDllOutputPath(${PX_OUTPUT_DLL_DIR}) +ENDIF() +IF(DEFINED PX_OUTPUT_LIB_DIR) + SetLibOutputPath(${PX_OUTPUT_LIB_DIR}) +ENDIF() +# All EXE/DLL/LIB output will be overwritten if PX_OUTPUT_ALL_DIR is defined +IF(DEFINED PX_OUTPUT_ALL_DIR) + SetSingleOutputPath(${PX_OUTPUT_ALL_DIR}) +ENDIF() + +# Prevent failure due to command line limitations +IF(USE_RESPONSE_FILES) + SET(CMAKE_C_USE_RESPONSE_FILE_FOR_OBJECTS 1) + SET(CMAKE_C_USE_RESPONSE_FILE_FOR_INCLUDES 1) + SET(CMAKE_C_USE_RESPONSE_FILE_FOR_LIBRARIES 1) + SET(CMAKE_CXX_USE_RESPONSE_FILE_FOR_OBJECTS 1) + SET(CMAKE_CXX_USE_RESPONSE_FILE_FOR_INCLUDES 1) + SET(CMAKE_CXX_USE_RESPONSE_FILE_FOR_LIBRARIES 1) +ENDIF() +MESSAGE("[NvCloth]cmake/common/CMakeList.txt END")
\ No newline at end of file |