Add FindPrjfs to locate Projected FS sdk.

Summary: This is a stop gap solution to get the Windows build working with the getdeps, until we fix the SDK.

Reviewed By: chadaustin

Differential Revision: D15536740

fbshipit-source-id: 77cc6ea80c304a6cfcd0180bb28f63ce4dac2988
This commit is contained in:
Puneet Kaushik 2019-05-31 16:11:50 -07:00 committed by Facebook Github Bot
parent 9b8dac57e5
commit 531154d281
5 changed files with 57 additions and 2 deletions

View File

@ -70,6 +70,9 @@ find_package(cpptoml REQUIRED)
find_package(CURL)
set(EDEN_HAVE_CURL ${CURL_FOUND})
if (WIN32)
find_package(Prjfs MODULE REQUIRED)
endif()
set(EDEN_WIN_NO_RUST_DATAPACK ON)
set(EDEN_WIN_NOMONONOKE ON)

29
CMake/FindPrjfs.cmake Normal file
View File

@ -0,0 +1,29 @@
# Copyright (c) 2016-present, Facebook, Inc.
# All rights reserved.
#
# This source code is licensed under the BSD-style license found in the
# LICENSE file in the root directory of this source tree. An additional grant
# of patent rights can be found in the PATENTS file in the same directory.
# Find PrjFS
#
# This package sets:
# Prjfs_FOUND - Whether PrjFS was found
# PRJFS_INCLUDE_DIR - The include directory for Prjfs
# PRJFS_LIBRARY - The Prjfs library
include(FindPackageHandleStandardArgs)
find_path(PRJFS_INCLUDE_DIR NAMES ProjectedFSLib.h PATHS "D:/edenwin64/prjfs")
find_library(PRJFS_LIBRARY NAMES ProjectedFSLib.lib PATHS "D:/edenwin64/prjfs")
find_package_handle_standard_args(
Prjfs
PRJFS_INCLUDE_DIR
PRJFS_LIBRARY
)
if(Prjfs_FOUND)
add_library(ProjectedFS INTERFACE)
target_include_directories(ProjectedFS INTERFACE "${PRJFS_INCLUDE_DIR}")
target_link_libraries(ProjectedFS INTERFACE "${PRJFS_LIBRARY}")
endif()

View File

@ -1,3 +1,10 @@
# Copyright (c) 2019-present, Facebook, Inc.
# All rights reserved.
#
# This source code is licensed under the BSD-style license found in the
# LICENSE file in the root directory of this source tree. An additional grant
# of patent rights can be found in the PATENTS file in the same directory.
add_thrift_cpp2_library(
eden_service_thrift
eden.thrift
@ -60,7 +67,6 @@ if (WIN32)
eden_win_store
eden_win_utils
common_stats
ProjectedFSLib.lib
)
else()
target_link_libraries(

View File

@ -1,11 +1,20 @@
# Copyright (c) 2019-present, Facebook, Inc.
# All rights reserved.
#
# This source code is licensed under the BSD-style license found in the
# LICENSE file in the root directory of this source tree. An additional grant
# of patent rights can be found in the PATENTS file in the same directory.
file(GLOB CONFIG_SRCS "*.cpp")
add_library(
eden_win_mount STATIC
${CONFIG_SRCS}
)
target_link_libraries(
eden_win_mount
PUBLIC
Folly::folly
Folly::folly
ProjectedFS
)

View File

@ -1,3 +1,10 @@
# Copyright (c) 2019-present, Facebook, Inc.
# All rights reserved.
#
# This source code is licensed under the BSD-style license found in the
# LICENSE file in the root directory of this source tree. An additional grant
# of patent rights can be found in the PATENTS file in the same directory.
file(GLOB CONFIG_SRCS "*.cpp")
add_library(
eden_win_store STATIC
@ -8,4 +15,5 @@ target_link_libraries(
eden_win_store
PUBLIC
Folly::folly
ProjectedFS
)