aboutsummaryrefslogtreecommitdiff
path: root/NvCloth/compiler/cmake/common/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'NvCloth/compiler/cmake/common/CMakeLists.txt')
-rw-r--r--NvCloth/compiler/cmake/common/CMakeLists.txt89
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