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}/NvCloth/Externals/CMakeModules) MESSAGE( "[NvCloth]cmake/common CMAKE_MODULE_PATH = ${CMAKE_MODULE_PATH}") # 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")