initial commit
This commit is contained in:
commit
d306f261bd
8 files changed
+302
No files matched your search
@@ -0,0 +1,76 @@
|
||||
cmake_minimum_required(VERSION 4.2)
|
||||
project(seadisk C CXX)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 20)
|
||||
|
||||
find_package(tl-expected CONFIG REQUIRED)
|
||||
find_package(nlohmann_json CONFIG REQUIRED)
|
||||
find_package(date CONFIG REQUIRED)
|
||||
find_package(cpr CONFIG REQUIRED)
|
||||
find_package(argparse CONFIG REQUIRED)
|
||||
find_package(ada CONFIG REQUIRED)
|
||||
|
||||
cmake_host_system_information(
|
||||
RESULT WINFSP_DIR
|
||||
QUERY WINDOWS_REGISTRY
|
||||
"HKLM\\SOFTWARE\\WinFsp"
|
||||
VALUE "InstallDir"
|
||||
)
|
||||
|
||||
message(STATUS "WinFsp=${WINFSP_DIR}")
|
||||
|
||||
set(WINFSP_INCLUDE_DIR "${WINFSP_DIR}/inc")
|
||||
|
||||
message(STATUS "${CMAKE_SYSTEM_PROCESSOR}")
|
||||
if (CMAKE_SYSTEM_PROCESSOR MATCHES "AMD64|x86_64")
|
||||
set(WINFSP_PLATFORM x64)
|
||||
elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "ARM64|aarch64")
|
||||
set(WINFSP_PLATFORM a64)
|
||||
elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "X86|i386|i686")
|
||||
set(WINFSP_PLATFORM x86)
|
||||
endif ()
|
||||
|
||||
set(WINFSP_LIB "winfsp-${WINFSP_PLATFORM}.lib")
|
||||
|
||||
message(STATUS "WinFSP lib: ${WINFSP_LIB}")
|
||||
|
||||
add_executable(seadisk src/main.cpp
|
||||
include/seafile/seafile_api.hpp
|
||||
include/seafile/exception.hpp
|
||||
include/seafile/server_info.hpp
|
||||
include/seafile/auth_token.hpp
|
||||
)
|
||||
|
||||
target_compile_definitions(seadisk PRIVATE
|
||||
UNICODE
|
||||
_UNICODE
|
||||
)
|
||||
|
||||
target_include_directories(seadisk PRIVATE
|
||||
"${WINFSP_INCLUDE_DIR}"
|
||||
include
|
||||
)
|
||||
|
||||
target_link_directories(seadisk PRIVATE
|
||||
"${WINFSP_DIR}/lib"
|
||||
)
|
||||
|
||||
target_link_libraries(seadisk PRIVATE
|
||||
${WINFSP_LIB}
|
||||
delayimp
|
||||
tl::expected
|
||||
nlohmann_json::nlohmann_json
|
||||
date::date
|
||||
date::date-tz
|
||||
cpr::cpr
|
||||
argparse::argparse
|
||||
ada::ada
|
||||
)
|
||||
|
||||
target_link_options(seadisk PRIVATE
|
||||
"/DELAYLOAD:winfsp-${WINFSP_PLATFORM}.dll"
|
||||
)
|
||||
|
||||
target_compile_options(seadisk PRIVATE
|
||||
/Zc:preprocessor
|
||||
)
|
||||
Reference in new issue
Block a user