aboutsummaryrefslogtreecommitdiff
path: root/PxShared/src/compiler/cmake/common/PxFoundation.cmake
blob: 99905e2d8e4018c6a20d57e8cde549a1c41afd56 (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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
#
# Build PxFoundation common
#

SET(PXFOUNDATION_HEADERS	
	${PROJECT_SOURCE_DIR}/../../../../include/foundation/Px.h
	${PROJECT_SOURCE_DIR}/../../../../include/foundation/PxAllocatorCallback.h
	${PROJECT_SOURCE_DIR}/../../../../include/foundation/PxAssert.h
	${PROJECT_SOURCE_DIR}/../../../../include/foundation/PxBitAndData.h
	${PROJECT_SOURCE_DIR}/../../../../include/foundation/PxBounds3.h
	${PROJECT_SOURCE_DIR}/../../../../include/foundation/PxErrorCallback.h
	${PROJECT_SOURCE_DIR}/../../../../include/foundation/PxErrors.h
	${PROJECT_SOURCE_DIR}/../../../../include/foundation/PxFlags.h
	${PROJECT_SOURCE_DIR}/../../../../include/foundation/PxFoundation.h
	${PROJECT_SOURCE_DIR}/../../../../include/foundation/PxFoundationVersion.h
	${PROJECT_SOURCE_DIR}/../../../../include/foundation/PxIntrinsics.h
	${PROJECT_SOURCE_DIR}/../../../../include/foundation/PxIO.h
	${PROJECT_SOURCE_DIR}/../../../../include/foundation/PxMat33.h
	${PROJECT_SOURCE_DIR}/../../../../include/foundation/PxMat44.h
	${PROJECT_SOURCE_DIR}/../../../../include/foundation/PxMath.h
	${PROJECT_SOURCE_DIR}/../../../../include/foundation/PxMathUtils.h
	${PROJECT_SOURCE_DIR}/../../../../include/foundation/PxMemory.h
	${PROJECT_SOURCE_DIR}/../../../../include/foundation/PxPlane.h
	${PROJECT_SOURCE_DIR}/../../../../include/foundation/PxPreprocessor.h
	${PROJECT_SOURCE_DIR}/../../../../include/foundation/PxProfiler.h
	${PROJECT_SOURCE_DIR}/../../../../include/foundation/PxQuat.h
	${PROJECT_SOURCE_DIR}/../../../../include/foundation/PxSimpleTypes.h
	${PROJECT_SOURCE_DIR}/../../../../include/foundation/PxStrideIterator.h
	${PROJECT_SOURCE_DIR}/../../../../include/foundation/PxTransform.h
	${PROJECT_SOURCE_DIR}/../../../../include/foundation/PxUnionCast.h
	${PROJECT_SOURCE_DIR}/../../../../include/foundation/PxVec2.h
	${PROJECT_SOURCE_DIR}/../../../../include/foundation/PxVec3.h
	${PROJECT_SOURCE_DIR}/../../../../include/foundation/PxVec4.h
)
SOURCE_GROUP(include FILES ${PXFOUNDATION_HEADERS})

SET(PXFOUNDATION_SOURCE
	${LL_SOURCE_DIR}/src/PsAllocator.cpp
	${LL_SOURCE_DIR}/src/PsAssert.cpp
	${LL_SOURCE_DIR}/src/PsFoundation.cpp
	${LL_SOURCE_DIR}/src/PsMathUtils.cpp
	${LL_SOURCE_DIR}/src/PsString.cpp
	${LL_SOURCE_DIR}/src/PsTempAllocator.cpp
	${LL_SOURCE_DIR}/src/PsUtilities.cpp
)
SOURCE_GROUP(src\\src FILES ${PXFOUNDATION_SOURCE})

SET(PXFOUNDATION_SOURCE_HEADERS
	${LL_SOURCE_DIR}/include/Ps.h
	${LL_SOURCE_DIR}/include/PsAlignedMalloc.h
	${LL_SOURCE_DIR}/include/PsAlloca.h
	${LL_SOURCE_DIR}/include/PsAllocator.h
	${LL_SOURCE_DIR}/include/PsAoS.h
	${LL_SOURCE_DIR}/include/PsArray.h
	${LL_SOURCE_DIR}/include/PsAtomic.h
	${LL_SOURCE_DIR}/include/PsBasicTemplates.h
	${LL_SOURCE_DIR}/include/PsBitUtils.h
	${LL_SOURCE_DIR}/include/PsBroadcast.h
	${LL_SOURCE_DIR}/include/PsCpu.h
	${LL_SOURCE_DIR}/include/PsFoundation.h
	${LL_SOURCE_DIR}/include/PsFPU.h
	${LL_SOURCE_DIR}/include/PsHash.h
	${LL_SOURCE_DIR}/include/PsHashInternals.h
	${LL_SOURCE_DIR}/include/PsHashMap.h
	${LL_SOURCE_DIR}/include/PsHashSet.h
	${LL_SOURCE_DIR}/include/PsInlineAllocator.h
	${LL_SOURCE_DIR}/include/PsInlineAoS.h
	${LL_SOURCE_DIR}/include/PsInlineArray.h
	${LL_SOURCE_DIR}/include/PsIntrinsics.h
	${LL_SOURCE_DIR}/include/PsMathUtils.h
	${LL_SOURCE_DIR}/include/PsMutex.h
	${LL_SOURCE_DIR}/include/PsPool.h
	${LL_SOURCE_DIR}/include/PsSList.h
	${LL_SOURCE_DIR}/include/PsSocket.h
	${LL_SOURCE_DIR}/include/PsSort.h
	${LL_SOURCE_DIR}/include/PsSortInternals.h
	${LL_SOURCE_DIR}/include/PsString.h
	${LL_SOURCE_DIR}/include/PsSync.h
	${LL_SOURCE_DIR}/include/PsTempAllocator.h
	${LL_SOURCE_DIR}/include/PsThread.h
	${LL_SOURCE_DIR}/include/PsTime.h
	${LL_SOURCE_DIR}/include/PsUserAllocated.h
	${LL_SOURCE_DIR}/include/PsUtilities.h
	${LL_SOURCE_DIR}/include/PsVecMath.h
	${LL_SOURCE_DIR}/include/PsVecMathAoSScalar.h
	${LL_SOURCE_DIR}/include/PsVecMathAoSScalarInline.h
	${LL_SOURCE_DIR}/include/PsVecMathSSE.h
	${LL_SOURCE_DIR}/include/PsVecMathUtilities.h
	${LL_SOURCE_DIR}/include/PsVecQuat.h
	${LL_SOURCE_DIR}/include/PsVecTransform.h
)
SOURCE_GROUP(src\\include FILES ${PXFOUNDATION_SOURCE_HEADERS})

ADD_LIBRARY(PxFoundation ${PXFOUNDATION_LIBTYPE} 
	${PXFOUNDATION_SOURCE}	
	${PXFOUNDATION_SOURCE_HEADERS}
	${PXFOUNDATION_HEADERS}
	
	${PXFOUNDATION_PLATFORM_FILES}
)

TARGET_INCLUDE_DIRECTORIES(PxFoundation 
	PRIVATE ${PXSHARED_SOURCE_DIR}/../include
	PRIVATE ${LL_SOURCE_DIR}/include
	
	PRIVATE ${PXFOUNDATION_PLATFORM_INCLUDES}
)

TARGET_COMPILE_DEFINITIONS(PxFoundation 
	PRIVATE ${PXFOUNDATION_COMPILE_DEFS}
)

SET_TARGET_PROPERTIES(PxFoundation PROPERTIES 
	COMPILE_PDB_NAME_DEBUG "PxFoundation${CMAKE_DEBUG_POSTFIX}"
	COMPILE_PDB_NAME_CHECKED "PxFoundation${CMAKE_CHECKED_POSTFIX}"
	COMPILE_PDB_NAME_PROFILE "PxFoundation${CMAKE_PROFILE_POSTFIX}"
	COMPILE_PDB_NAME_RELEASE "PxFoundation${CMAKE_RELEASE_POSTFIX}"
)