aboutsummaryrefslogtreecommitdiff
path: root/NvCloth/compiler/cmake/windows/CMakeLists.txt
blob: 30f2a6511c8b69c7a4b6ab034a299599cca4db40 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
cmake_minimum_required(VERSION 3.3)
MESSAGE("[NvCloth]cmake/windows/CMakeList.txt")
include(../common/CMakeLists.txt)


IF(NOT DEFINED TARGET_BUILD_PLATFORM) # Not defined, default to Windows
	SET(TARGET_BUILD_PLATFORM "windows")
ENDIF()

SET(PLATFORM_LIST windows)

IF (NOT ${TARGET_BUILD_PLATFORM} IN_LIST PLATFORM_LIST)
	MESSAGE(FATAL_ERROR "Invalid platform:" ${TARGET_BUILD_PLATFORM})
ENDIF()

IF(CMAKE_CL_64)
    SET(WIN32_CXX_FLAGS "")
ELSE()
    SET(WIN32_CXX_FLAGS "/arch:SSE2")
ENDIF()

SET(CMAKE_CXX_FLAGS "/Wall /wd4514 /wd4820 /wd4127 /wd4710 /wd4711 /wd4577 /wd4530 /d2Zi+ /MP /WX /W4 /GF /GS- /GR- /Gd /fp:fast /fp:except- /Zi  ${WIN32_CXX_FLAGS}")
SET(CMAKE_SHARED_LINKER_FLAGS "/INCREMENTAL:NO")
SET(CMAKE_SHARED_LINKER_FLAGS_RELEASE " /LTCG")
SET(CMAKE_SHARED_LINKER_FLAGS_PROFILE " /LTCG")
SET(CMAKE_SHARED_LINKER_FLAGS_CHECKED " /LTCG")

IF(DEFINED STATIC_WINCRT)
    SET(WINCRT_NDEBUG "/MT")
    SET(WINCRT_DEBUG "/MTd")
ELSE()
    SET(WINCRT_NDEBUG "/MD")
    SET(WINCRT_DEBUG "/MDd")
ENDIF()

SET(CMAKE_CXX_FLAGS_DEBUG "/Od ${WINCRT_DEBUG} /RTCsu /Zi /Zo")
SET(CMAKE_CXX_FLAGS_CHECKED "/Ox ${WINCRT_NDEBUG} /Zi /GL")
SET(CMAKE_CXX_FLAGS_PROFILE "/Ox ${WINCRT_NDEBUG} /Zi /GL")
SET(CMAKE_CXX_FLAGS_RELEASE "/Ox ${WINCRT_NDEBUG} /Zi /GL")


# Build PDBs for all configurations
SET(CMAKE_SHARED_LINKER_FLAGS "/DEBUG")

IF(CMAKE_CL_64)
	ADD_DEFINITIONS(-DWIN64)
ENDIF(CMAKE_CL_64)				

# Controls PX_NVTX for all projects on windows
SET(PHYSX_WINDOWS_ENABLE_NVTX 0)

SET(NVCLOTH_WINDOWS_COMPILE_DEFS WIN32;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_WINSOCK_DEPRECATED_NO_WARNINGS)
SET(NVCLOTH_WINDOWS_DEBUG_COMPILE_DEFS _DEBUG;PX_DEBUG=1;PX_CHECKED=1;PX_NVTX=${PHYSX_WINDOWS_ENABLE_NVTX};)
SET(NVCLOTH_WINDOWS_CHECKED_COMPILE_DEFS NDEBUG;PX_CHECKED=1;PX_NVTX=${PHYSX_WINDOWS_ENABLE_NVTX};)
SET(NVCLOTH_WINDOWS_PROFILE_COMPILE_DEFS NDEBUG;PX_PROFILE=1;PX_NVTX=${PHYSX_WINDOWS_ENABLE_NVTX};)
SET(NVCLOTH_WINDOWS_RELEASE_COMPILE_DEFS NDEBUG;)

IF(CMAKE_CL_64)
	SET(LIBPATH_SUFFIX "x64")
ELSE(CMAKE_CL_64)
	SET(LIBPATH_SUFFIX "x86")
ENDIF(CMAKE_CL_64)				

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}")

SET(PX_SELECT_COMPONENTS PxFoundation)
FIND_PACKAGE(PxShared REQUIRED)

# Include all of the projects
INCLUDE(NvCloth.cmake)
IF(DEFINED PX_GENERATE_GPU_PROJECTS)
# INCLUDE(NVCLOTHGpu.cmake)
ENDIF()
MESSAGE("[NvCloth]cmake/windows/CMakeList.txt END")