blob: f3200ec397f49f40836e8986fc80109f5b474ac3 (
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
|
# - Try to find CapnProto SDK
# - Sets CAPNPROTOSDK_LIBRARIES - list of the libraries found
# - Sets CAPNPROTOSDK_INCLUDE_DIRS
include(FindPackageHandleStandardArgs)
# Find the includes
# TODO: Do the version stuff properly!
find_path(CAPNPROTOSDK_PATH src/capnp/message.h
PATHS ${GW_DEPS_ROOT}/CapnProto/${CapnProtoSDK_FIND_VERSION}
)
if (TARGET_BUILD_PLATFORM STREQUAL "Windows")
if (STATIC_WINCRT)
SET(CAPNPROTOSDK_CRT_SUFFIX "-mt")
else()
SET(CAPNPROTOSDK_CRT_SUFFIX "-md")
endif()
# If the project pulling in this dependency needs the static crt, then append that to the path.
if (CMAKE_CL_64)
SET(CAPNPROTOSDK_ARCH_FOLDER "win64")
else()
SET(CAPNPROTOSDK_ARCH_FOLDER "win32")
endif()
SET(LIB_PATH ${CAPNPROTOSDK_PATH}/bin/${CAPNPROTOSDK_ARCH_FOLDER})
SET(EXE_PATH ${CAPNPROTOSDK_PATH}/tools/win32)
elseif(TARGET_BUILD_PLATFORM STREQUAL "PS4")
SET(LIB_PATH ${CAPNPROTOSDK_PATH}/bin/ps4)
SET(EXE_PATH ${CAPNPROTOSDK_PATH}/tools/win32)
SET(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
SET(CMAKE_FIND_LIBRARY_PREFIXES "lib")
elseif(TARGET_BUILD_PLATFORM STREQUAL "XboxOne")
SET(LIB_PATH ${CAPNPROTOSDK_PATH}/bin/xboxone)
SET(EXE_PATH ${CAPNPROTOSDK_PATH}/tools/win32)
SET(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
SET(CMAKE_FIND_LIBRARY_PREFIXES "lib")
elseif(TARGET_BUILD_PLATFORM STREQUAL "linux")
SET(LIB_PATH ${CAPNPROTOSDK_PATH}/bin/ubuntu64)
SET(EXE_PATH ${CAPNPROTOSDK_PATH}/tools/ubuntu64)
SET(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
SET(CMAKE_FIND_LIBRARY_PREFIXES "lib")
endif()
find_library(CAPNPROTO_LIB
NAMES capnp${CAPNPROTOSDK_CRT_SUFFIX}
PATHS ${LIB_PATH}/Release
)
find_library(CAPNPROTO_LIB_DEBUG
NAMES capnp${CAPNPROTOSDK_CRT_SUFFIX}
PATHS ${LIB_PATH}/Debug
)
find_library(KJ_LIB
NAMES kj${CAPNPROTOSDK_CRT_SUFFIX}
PATHS ${LIB_PATH}/Release
)
find_library(KJ_LIB_DEBUG
NAMES kj${CAPNPROTOSDK_CRT_SUFFIX}
PATHS ${LIB_PATH}/Debug
)
find_program(CAPNP_EXECUTABLE
NAMES capnp
DOC "Cap'n Proto Command-line Tool"
PATHS ${EXE_PATH}
)
find_program(CAPNPC_CXX_EXECUTABLE
NAMES capnpc-c++
DOC "Capn'n Proto C++ Compiler"
PATHS ${EXE_PATH}
)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(CAPNPROTOSDK
DEFAULT_MSG
CAPNPROTOSDK_PATH
CAPNP_EXECUTABLE
CAPNPC_CXX_EXECUTABLE
CAPNPROTO_LIB
KJ_LIB
CAPNPROTO_LIB_DEBUG
KJ_LIB_DEBUG
)
if (CAPNPROTOSDK_FOUND)
SET(CAPNPROTOSDK_INCLUDE_DIRS
${CAPNPROTOSDK_PATH}/src/
)
SET(CAPNP_INCLUDE_DIRS
${CAPNPROTOSDK_INCLUDE_DIRS}
)
SET(CAPNPROTOSDK_LIBRARIES "" CACHE STRING "")
LIST(APPEND CAPNPROTOSDK_LIBRARIES
optimized ${CAPNPROTO_LIB} debug ${CAPNPROTO_LIB_DEBUG}
optimized ${KJ_LIB} debug ${KJ_LIB_DEBUG}
)
endif()
|