diff options
| author | Bryan Galdrikian <[email protected]> | 2017-02-24 09:32:20 -0800 |
|---|---|---|
| committer | Bryan Galdrikian <[email protected]> | 2017-02-24 09:32:20 -0800 |
| commit | e1bf674c16e3c8472b29574159c789cd3f0c64e0 (patch) | |
| tree | 9f0cfce09c71a2c27ff19589fcad6cd83504477c /sdk/compiler/cmake/modules/FindCapnProtoSDK.cmake | |
| parent | first commit (diff) | |
| download | blast-e1bf674c16e3c8472b29574159c789cd3f0c64e0.tar.xz blast-e1bf674c16e3c8472b29574159c789cd3f0c64e0.zip | |
Updating to [email protected] and [email protected] with a new directory structure.
NvBlast folder is gone, files have been moved to top level directory. README is changed to reflect this.
Diffstat (limited to 'sdk/compiler/cmake/modules/FindCapnProtoSDK.cmake')
| -rw-r--r-- | sdk/compiler/cmake/modules/FindCapnProtoSDK.cmake | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/sdk/compiler/cmake/modules/FindCapnProtoSDK.cmake b/sdk/compiler/cmake/modules/FindCapnProtoSDK.cmake new file mode 100644 index 0000000..dcf5190 --- /dev/null +++ b/sdk/compiler/cmake/modules/FindCapnProtoSDK.cmake @@ -0,0 +1,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}/$ENV{PM_CapnProto_NAME}/${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() |