Compare commits
20 Commits
15793e714d
...
9648abf4b9
Author | SHA1 | Date | |
---|---|---|---|
9648abf4b9 | |||
cc1246d0f5 | |||
726aa43a95 | |||
224f983ca8 | |||
f962884341 | |||
6f35cc8bfa | |||
c08c9bc216 | |||
239652be7c | |||
68c9ec0f82 | |||
da07122997 | |||
5fb66dc6ee | |||
0c414fc8a6 | |||
097507a2d9 | |||
466b3fcead | |||
81dc6d1269 | |||
b6c020d35d | |||
dfbe97988f | |||
cd36679a1c | |||
4d555bce96 | |||
d96c6012c5 |
3
.gitignore
vendored
3
.gitignore
vendored
@ -6,6 +6,7 @@ cspell.json
|
||||
support/Dockerfile
|
||||
dist/
|
||||
deps/
|
||||
repertory/librepertory/src/common.cpp
|
||||
scripts/cleanup.cmd
|
||||
scripts/cleanup.sh
|
||||
version.rc
|
||||
version.cpp
|
||||
|
@ -22,16 +22,39 @@ include(cmake/functions.cmake)
|
||||
include(cmake/libraries.cmake)
|
||||
|
||||
if(PROJECT_BUILD)
|
||||
execute_process(
|
||||
COMMAND git rev-parse --short HEAD
|
||||
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
|
||||
OUTPUT_VARIABLE PROJECT_GIT_REV
|
||||
ERROR_QUIET
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
|
||||
file(WRITE ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}/version.cpp "")
|
||||
|
||||
file(GLOB_RECURSE ADDITIONAL_SOURCES
|
||||
${PROJECT_3RD_PARTY_DIR}/src/*.c
|
||||
${PROJECT_3RD_PARTY_DIR}/src/*.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}/version.cpp
|
||||
)
|
||||
|
||||
list(APPEND PROJECT_ADDITIONAL_SOURCES
|
||||
${ADDITIONAL_SOURCES}
|
||||
)
|
||||
|
||||
unset(PROJECT_GIT_REV CACHE)
|
||||
unset(PROJECT_VERSION CACHE)
|
||||
|
||||
include(project.cmake)
|
||||
|
||||
configure_file(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}/version.cpp.in
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}/version.cpp
|
||||
@ONLY
|
||||
)
|
||||
|
||||
file(WRITE ${CMAKE_CURRENT_SOURCE_DIR}/build/version.sh "export PROJECT_VERSION=${PROJECT_VERSION}")
|
||||
file(WRITE ${CMAKE_CURRENT_SOURCE_DIR}/build/git_rev.sh "export PROJECT_GIT_REV=${PROJECT_GIT_REV}")
|
||||
else()
|
||||
message(STATUS "-=[CMake Settings]=-")
|
||||
message(STATUS " C standard: ${CMAKE_C_STANDARD}")
|
||||
|
@ -41,6 +41,10 @@ function(add_project_executable name dependencies libraries)
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}/${name}/src/*.cxx
|
||||
)
|
||||
|
||||
if (PROJECT_WINDOWS_VERSION_RC)
|
||||
list(APPEND sources ${PROJECT_WINDOWS_VERSION_RC})
|
||||
endif()
|
||||
|
||||
add_executable(${name}
|
||||
${headers}
|
||||
${sources}
|
||||
|
@ -3,7 +3,8 @@ set(REPERTORY_MINOR 0)
|
||||
set(REPERTORY_REV 2)
|
||||
set(REPERTORY_RELEASE_NUM 0)
|
||||
set(REPERTORY_RELEASE_ITER rc)
|
||||
set(REPERTORY_VERSION ${REPERTORY_MAJOR}.${REPERTORY_MINOR}.${REPERTORY_REV}-${REPERTORY_RELEASE_ITER})
|
||||
|
||||
set(PROJECT_VERSION ${REPERTORY_MAJOR}.${REPERTORY_MINOR}.${REPERTORY_REV}-${REPERTORY_RELEASE_ITER})
|
||||
|
||||
set(REPERTORY_VER_FILEVERSION ${REPERTORY_MAJOR},${REPERTORY_MINOR},${REPERTORY_REV},${REPERTORY_RELEASE_NUM})
|
||||
set(REPERTORY_VER_FILEVERSION_STR ${REPERTORY_MAJOR}.${REPERTORY_MINOR}.${REPERTORY_REV}.${REPERTORY_RELEASE_NUM})
|
||||
@ -19,13 +20,14 @@ if (REPERTORY_ENABLE_S3)
|
||||
add_definitions(-DREPERTORY_ENABLE_S3)
|
||||
endif()
|
||||
|
||||
# configure_file(${CMAKE_CURRENT_SOURCE_DIR}/version.rc.in ${CMAKE_CURRENT_SOURCE_DIR}/src/version.rc @ONLY)
|
||||
# set(WINDOWS_VERSION_RC ${CMAKE_CURRENT_SOURCE_DIR}/src/version.rc)
|
||||
if (PROJECT_IS_MINGW)
|
||||
configure_file(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/repertory/librepertory/src/common.cpp.in
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/repertory/librepertory/src/common.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}/version.rc.in
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}/version.rc
|
||||
@ONLY
|
||||
)
|
||||
set(PROJECT_WINDOWS_VERSION_RC ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}/version.rc)
|
||||
endif()
|
||||
|
||||
set(CMAKE_CXX_FLAGS "-include common.hpp ${CMAKE_CXX_FLAGS}")
|
||||
|
||||
|
@ -403,11 +403,6 @@ using FileInfo = FSP_FSCTL_FILE_INFO;
|
||||
|
||||
using namespace Fsp;
|
||||
|
||||
namespace repertory {
|
||||
auto get_repertory_git_revision() -> const std::string &;
|
||||
auto get_repertory_version() -> const std::string &;
|
||||
} // namespace repertory
|
||||
|
||||
namespace {
|
||||
template <class... Ts> struct overloaded : Ts... {
|
||||
using Ts::operator()...;
|
||||
|
@ -19,17 +19,13 @@
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
*/
|
||||
#include "types/repertory.hpp"
|
||||
#include "utils/utils.hpp"
|
||||
#ifndef LIBREPERTORY_INCLUDE_VERSION_HPP_
|
||||
#define LIBREPERTORY_INCLUDE_VERSION_HPP_
|
||||
|
||||
namespace repertory {
|
||||
auto get_repertory_git_revision() -> const std::string & {
|
||||
static const std::string git_revision = "@REPERTORY_GIT_REV@";
|
||||
return git_revision;
|
||||
}
|
||||
[[nodiscard]] auto project_get_git_rev() -> std::string_view;
|
||||
|
||||
auto get_repertory_version() -> const std::string & {
|
||||
static const std::string version = "@REPERTORY_VERSION@";
|
||||
return version;
|
||||
}
|
||||
[[nodiscard]] auto project_get_version() -> std::string_view;
|
||||
} // namespace repertory
|
||||
|
||||
#endif // LIBREPERTORY_INCLUDE_VERSION_HPP_
|
@ -25,6 +25,7 @@
|
||||
#include "types/repertory.hpp"
|
||||
#include "utils/error_utils.hpp"
|
||||
#include "utils/timeout.hpp"
|
||||
#include "version.hpp"
|
||||
|
||||
namespace repertory {
|
||||
// clang-format off
|
||||
@ -116,8 +117,8 @@ void packet_client::put_client(std::shared_ptr<client> &cli) {
|
||||
}
|
||||
}
|
||||
|
||||
auto packet_client::read_packet(client &cli, packet &response)
|
||||
-> packet::error_type {
|
||||
auto packet_client::read_packet(client &cli,
|
||||
packet &response) -> packet::error_type {
|
||||
data_buffer buffer(sizeof(std::uint32_t));
|
||||
const auto read_buffer = [&]() {
|
||||
std::uint32_t offset{};
|
||||
@ -168,8 +169,8 @@ auto packet_client::send(const std::string &method, packet &request,
|
||||
}
|
||||
|
||||
auto packet_client::send(const std::string &method, packet &request,
|
||||
packet &response, std::uint32_t &service_flags)
|
||||
-> packet::error_type {
|
||||
packet &response,
|
||||
std::uint32_t &service_flags) -> packet::error_type {
|
||||
constexpr const auto *function_name = static_cast<const char *>(__FUNCTION__);
|
||||
|
||||
auto success = false;
|
||||
@ -178,7 +179,7 @@ auto packet_client::send(const std::string &method, packet &request,
|
||||
request.encode_top(utils::get_thread_id());
|
||||
request.encode_top(unique_id_);
|
||||
request.encode_top(PACKET_SERVICE_FLAGS);
|
||||
request.encode_top(get_repertory_version());
|
||||
request.encode_top(std::string{project_get_version()});
|
||||
|
||||
static const std::uint8_t max_attempts{5U};
|
||||
for (std::uint8_t i = 1U;
|
||||
|
@ -27,6 +27,7 @@
|
||||
#include "events/events.hpp"
|
||||
#include "types/repertory.hpp"
|
||||
#include "utils/path_utils.hpp"
|
||||
#include "version.hpp"
|
||||
|
||||
namespace repertory::remote_winfsp {
|
||||
#define RAISE_REMOTE_WINFSP_CLIENT_EVENT(func, file, ret) \
|
||||
@ -52,8 +53,8 @@ remote_client::remote_client(const app_config &config)
|
||||
config.get_remote_receive_timeout_secs(),
|
||||
config.get_remote_send_timeout_secs(), config.get_remote_token()) {}
|
||||
|
||||
auto remote_client::winfsp_can_delete(PVOID file_desc, PWSTR file_name)
|
||||
-> packet::error_type {
|
||||
auto remote_client::winfsp_can_delete(PVOID file_desc,
|
||||
PWSTR file_name) -> packet::error_type {
|
||||
constexpr const auto *function_name = static_cast<const char *>(__FUNCTION__);
|
||||
|
||||
packet request;
|
||||
@ -68,9 +69,8 @@ auto remote_client::winfsp_can_delete(PVOID file_desc, PWSTR file_name)
|
||||
return ret;
|
||||
}
|
||||
|
||||
auto remote_client::json_create_directory_snapshot(const std::string &path,
|
||||
json &json_data)
|
||||
-> packet::error_type {
|
||||
auto remote_client::json_create_directory_snapshot(
|
||||
const std::string &path, json &json_data) -> packet::error_type {
|
||||
constexpr const auto *function_name = static_cast<const char *>(__FUNCTION__);
|
||||
|
||||
packet request;
|
||||
@ -111,8 +111,8 @@ auto remote_client::json_read_directory_snapshot(
|
||||
}
|
||||
|
||||
auto remote_client::json_release_directory_snapshot(
|
||||
const std::string &path, const remote::file_handle &handle)
|
||||
-> packet::error_type {
|
||||
const std::string &path,
|
||||
const remote::file_handle &handle) -> packet::error_type {
|
||||
constexpr const auto *function_name = static_cast<const char *>(__FUNCTION__);
|
||||
|
||||
packet request;
|
||||
@ -127,8 +127,8 @@ auto remote_client::json_release_directory_snapshot(
|
||||
}
|
||||
|
||||
auto remote_client::winfsp_cleanup(PVOID file_desc, PWSTR file_name,
|
||||
UINT32 flags, BOOLEAN &was_closed)
|
||||
-> packet::error_type {
|
||||
UINT32 flags,
|
||||
BOOLEAN &was_closed) -> packet::error_type {
|
||||
constexpr const auto *function_name = static_cast<const char *>(__FUNCTION__);
|
||||
|
||||
auto handle = to_handle(file_desc);
|
||||
@ -177,8 +177,8 @@ auto remote_client::winfsp_create(PWSTR file_name, UINT32 create_options,
|
||||
UINT32 granted_access, UINT32 attributes,
|
||||
UINT64 allocation_size, PVOID *file_desc,
|
||||
remote::file_info *file_info,
|
||||
std::string &normalized_name, BOOLEAN &exists)
|
||||
-> packet::error_type {
|
||||
std::string &normalized_name,
|
||||
BOOLEAN &exists) -> packet::error_type {
|
||||
constexpr const auto *function_name = static_cast<const char *>(__FUNCTION__);
|
||||
|
||||
packet request;
|
||||
@ -245,9 +245,8 @@ auto remote_client::winfsp_get_dir_buffer([[maybe_unused]] PVOID file_desc,
|
||||
return STATUS_INVALID_HANDLE;
|
||||
}
|
||||
|
||||
auto remote_client::winfsp_get_file_info(PVOID file_desc,
|
||||
remote::file_info *file_info)
|
||||
-> packet::error_type {
|
||||
auto remote_client::winfsp_get_file_info(
|
||||
PVOID file_desc, remote::file_info *file_info) -> packet::error_type {
|
||||
constexpr const auto *function_name = static_cast<const char *>(__FUNCTION__);
|
||||
|
||||
packet request;
|
||||
@ -264,11 +263,9 @@ auto remote_client::winfsp_get_file_info(PVOID file_desc,
|
||||
return ret;
|
||||
}
|
||||
|
||||
auto remote_client::winfsp_get_security_by_name(PWSTR file_name,
|
||||
PUINT32 attributes,
|
||||
std::uint64_t *descriptor_size,
|
||||
std::wstring &string_descriptor)
|
||||
-> packet::error_type {
|
||||
auto remote_client::winfsp_get_security_by_name(
|
||||
PWSTR file_name, PUINT32 attributes, std::uint64_t *descriptor_size,
|
||||
std::wstring &string_descriptor) -> packet::error_type {
|
||||
constexpr const auto *function_name = static_cast<const char *>(__FUNCTION__);
|
||||
|
||||
packet request;
|
||||
@ -297,10 +294,9 @@ auto remote_client::winfsp_get_security_by_name(PWSTR file_name,
|
||||
return ret;
|
||||
}
|
||||
|
||||
auto remote_client::winfsp_get_volume_info(UINT64 &total_size,
|
||||
UINT64 &free_size,
|
||||
std::string &volume_label)
|
||||
-> packet::error_type {
|
||||
auto remote_client::winfsp_get_volume_info(
|
||||
UINT64 &total_size, UINT64 &free_size,
|
||||
std::string &volume_label) -> packet::error_type {
|
||||
constexpr const auto *function_name = static_cast<const char *>(__FUNCTION__);
|
||||
|
||||
packet request;
|
||||
@ -320,7 +316,7 @@ auto remote_client::winfsp_mounted(const std::wstring &location)
|
||||
constexpr const auto *function_name = static_cast<const char *>(__FUNCTION__);
|
||||
|
||||
packet request;
|
||||
request.encode(get_repertory_version());
|
||||
request.encode(std::string{project_get_version()});
|
||||
request.encode(location);
|
||||
|
||||
std::uint32_t service_flags{};
|
||||
@ -332,11 +328,10 @@ auto remote_client::winfsp_mounted(const std::wstring &location)
|
||||
return ret;
|
||||
}
|
||||
|
||||
auto remote_client::winfsp_open(PWSTR file_name, UINT32 create_options,
|
||||
UINT32 granted_access, PVOID *file_desc,
|
||||
remote::file_info *file_info,
|
||||
std::string &normalized_name)
|
||||
-> packet::error_type {
|
||||
auto remote_client::winfsp_open(
|
||||
PWSTR file_name, UINT32 create_options, UINT32 granted_access,
|
||||
PVOID *file_desc, remote::file_info *file_info,
|
||||
std::string &normalized_name) -> packet::error_type {
|
||||
constexpr const auto *function_name = static_cast<const char *>(__FUNCTION__);
|
||||
|
||||
packet request;
|
||||
@ -367,11 +362,10 @@ auto remote_client::winfsp_open(PWSTR file_name, UINT32 create_options,
|
||||
return ret;
|
||||
}
|
||||
|
||||
auto remote_client::winfsp_overwrite(PVOID file_desc, UINT32 attributes,
|
||||
BOOLEAN replace_attributes,
|
||||
auto remote_client::winfsp_overwrite(
|
||||
PVOID file_desc, UINT32 attributes, BOOLEAN replace_attributes,
|
||||
UINT64 allocation_size,
|
||||
remote::file_info *file_info)
|
||||
-> packet::error_type {
|
||||
remote::file_info *file_info) -> packet::error_type {
|
||||
constexpr const auto *function_name = static_cast<const char *>(__FUNCTION__);
|
||||
|
||||
packet request;
|
||||
@ -447,10 +441,9 @@ auto remote_client::winfsp_read_directory(PVOID file_desc, PWSTR pattern,
|
||||
return ret;
|
||||
}
|
||||
|
||||
auto remote_client::winfsp_rename(PVOID file_desc, PWSTR file_name,
|
||||
PWSTR new_file_name,
|
||||
BOOLEAN replace_if_exists)
|
||||
-> packet::error_type {
|
||||
auto remote_client::winfsp_rename(
|
||||
PVOID file_desc, PWSTR file_name, PWSTR new_file_name,
|
||||
BOOLEAN replace_if_exists) -> packet::error_type {
|
||||
constexpr const auto *function_name = static_cast<const char *>(__FUNCTION__);
|
||||
|
||||
packet request;
|
||||
@ -494,10 +487,9 @@ auto remote_client::winfsp_set_basic_info(
|
||||
return ret;
|
||||
}
|
||||
|
||||
auto remote_client::winfsp_set_file_size(PVOID file_desc, UINT64 new_size,
|
||||
BOOLEAN set_allocation_size,
|
||||
remote::file_info *file_info)
|
||||
-> packet::error_type {
|
||||
auto remote_client::winfsp_set_file_size(
|
||||
PVOID file_desc, UINT64 new_size, BOOLEAN set_allocation_size,
|
||||
remote::file_info *file_info) -> packet::error_type {
|
||||
constexpr const auto *function_name = static_cast<const char *>(__FUNCTION__);
|
||||
|
||||
packet request;
|
||||
@ -533,12 +525,10 @@ auto remote_client::winfsp_unmounted(const std::wstring &location)
|
||||
return ret;
|
||||
}
|
||||
|
||||
auto remote_client::winfsp_write(PVOID file_desc, PVOID buffer, UINT64 offset,
|
||||
UINT32 length, BOOLEAN write_to_end,
|
||||
BOOLEAN constrained_io,
|
||||
PUINT32 bytes_transferred,
|
||||
remote::file_info *file_info)
|
||||
-> packet::error_type {
|
||||
auto remote_client::winfsp_write(
|
||||
PVOID file_desc, PVOID buffer, UINT64 offset, UINT32 length,
|
||||
BOOLEAN write_to_end, BOOLEAN constrained_io, PUINT32 bytes_transferred,
|
||||
remote::file_info *file_info) -> packet::error_type {
|
||||
constexpr const auto *function_name = static_cast<const char *>(__FUNCTION__);
|
||||
|
||||
packet request;
|
||||
|
@ -28,6 +28,7 @@
|
||||
#include "cli/get.hpp"
|
||||
#include "cli/get_directory_items.hpp"
|
||||
#include "cli/get_pinned_files.hpp"
|
||||
#include "cli/get_version.hpp"
|
||||
#include "cli/help.hpp"
|
||||
#include "cli/mount.hpp"
|
||||
#include "cli/open_files.hpp"
|
||||
@ -37,7 +38,6 @@
|
||||
#include "cli/status.hpp"
|
||||
#include "cli/unmount.hpp"
|
||||
#include "cli/unpin_file.hpp"
|
||||
#include "cli/version.hpp"
|
||||
#include "utils/cli_utils.hpp"
|
||||
|
||||
namespace repertory::cli::actions {
|
||||
|
@ -22,12 +22,12 @@
|
||||
#ifndef INCLUDE_CLI_VERSION_HPP_
|
||||
#define INCLUDE_CLI_VERSION_HPP_
|
||||
|
||||
#include "version.hpp"
|
||||
|
||||
namespace repertory::cli::actions {
|
||||
template <typename drive> inline void version(std::vector<const char *> args) {
|
||||
std::cout << "Repertory core version: " << get_repertory_version()
|
||||
<< std::endl;
|
||||
std::cout << "Repertory Git revision: " << get_repertory_git_revision()
|
||||
<< std::endl;
|
||||
std::cout << "Repertory core version: " << project_get_version() << std::endl;
|
||||
std::cout << "Repertory Git revision: " << project_get_git_rev() << std::endl;
|
||||
drive::display_version_information(args);
|
||||
}
|
||||
} // namespace repertory::cli::actions
|
33
repertory/version.cpp.in
Normal file
33
repertory/version.cpp.in
Normal file
@ -0,0 +1,33 @@
|
||||
/*
|
||||
Copyright <2018-2024> <scott.e.graves@protonmail.com>
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
*/
|
||||
#include "version.hpp"
|
||||
|
||||
namespace {
|
||||
static constexpr const std::string_view git_rev = "@PROJECT_GIT_REV@";
|
||||
static constexpr const std::string_view version = "@PROJECT_VERSION@";
|
||||
} // namespace
|
||||
|
||||
namespace repertory {
|
||||
auto project_get_git_rev() -> std::string_view { return git_rev; }
|
||||
|
||||
auto project_get_version() -> std::string_view { return version; }
|
||||
} // namespace repertory
|
@ -1,18 +1,18 @@
|
||||
#include <windows.h>
|
||||
#define VER_FILEVERSION 2,0,2,0
|
||||
#define VER_FILEVERSION_STR "2.0.2.0\0"
|
||||
#define VER_FILEVERSION @REPERTORY_VER_FILEVERSION@
|
||||
#define VER_FILEVERSION_STR "@REPERTORY_VER_FILEVERSION_STR@\0"
|
||||
|
||||
#define VER_PRODUCTVERSION 2,0,2,0
|
||||
#define VER_PRODUCTVERSION_STR "2.0.2.0\0"
|
||||
#define VER_PRODUCTVERSION @REPERTORY_VER_PRODUCTVERSION@
|
||||
#define VER_PRODUCTVERSION_STR "@REPERTORY_VER_PRODUCTVERSION_STR@\0"
|
||||
|
||||
#define VER_COMPANYNAME_STR "https://git.fifthgrid.com/blockstorage\0"
|
||||
#define VER_INTERNALNAME_STR "Repertory 2.0.2-rc\0"
|
||||
#define VER_LEGALCOPYRIGHT_STR "Copyright <2018-2024> <MIT License> <https://git.fifthgrid.com/blockstorage/repertory>\0"
|
||||
#define VER_COMPANYNAME_STR "@REPERTORY_VER_COMPANYNAME_STR@\0"
|
||||
#define VER_INTERNALNAME_STR "Repertory @PROJECT_VERSION@\0"
|
||||
#define VER_LEGALCOPYRIGHT_STR "@REPERTORY_VER_LEGALCOPYRIGHT_STR@\0"
|
||||
#define VER_ORIGINALFILENAME_STR "repertory.exe\0"
|
||||
#define VER_LEGALTRADEMARKS1_STR "\0"
|
||||
#define VER_LEGALTRADEMARKS2_STR "\0"
|
||||
#define VER_FILEDESCRIPTION_STR "Mount utility for Sia and S3\0"
|
||||
#define VER_PRODUCTNAME_STR "Repertory v2.0.2-rc\0"
|
||||
#define VER_FILEDESCRIPTION_STR "@REPERTORY_VER_FILEDESCRIPTION_STR@\0"
|
||||
#define VER_PRODUCTNAME_STR "Repertory @PROJECT_VERSION@\0"
|
||||
|
||||
#ifdef DEBUG
|
||||
#define VER_DEBUG VS_FF_DEBUG
|
||||
@ -20,7 +20,7 @@
|
||||
#define VER_DEBUG 0
|
||||
#endif
|
||||
|
||||
#define VER_PRERELEASE VS_FF_PRERELEASE
|
||||
#define VER_PRERELEASE @REPERTORY_VER_PRERELEASE@
|
||||
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
@ -111,10 +111,6 @@ if [ "${PROJECT_IS_MINGW}" == "1" ] && [ "${PROJECT_STATIC_LINK}" == "OFF" ]; th
|
||||
PROJECT_MINGW64_COPY_DEPENDENCIES+=(/mingw64/bin/opengl*.dll)
|
||||
fi
|
||||
|
||||
for PROJECT_DEPENDENCY in "${PROJECT_MINGW64_COPY_DEPENDENCIES[@]}"; do
|
||||
rsync -av --progress ${PROJECT_DEPENDENCY} "${PROJECT_DIST_DIR}/"
|
||||
done
|
||||
|
||||
rsync -av --progress ${PROJECT_EXTERNAL_BUILD_ROOT}/bin/*.dll "${PROJECT_DIST_DIR}/"
|
||||
rsync -av --progress ${PROJECT_EXTERNAL_BUILD_ROOT}/lib/*.dll "${PROJECT_DIST_DIR}/"
|
||||
if [ "${PROJECT_ENABLE_WXWIDGETS}" == "ON" ]; then
|
||||
@ -131,3 +127,7 @@ if [ "${PROJECT_IS_MINGW}" == "1" ] && [ "${PROJECT_ENABLE_WINFSP}" == "ON" ]; t
|
||||
PROJECT_MINGW64_COPY_DEPENDENCIES+=(${PROJECT_3RD_PARTY_DIR}/winfsp-2.0/bin/winfsp-${WINFSP_DLL_PART}.dll)
|
||||
fi
|
||||
fi
|
||||
|
||||
for PROJECT_DEPENDENCY in "${PROJECT_MINGW64_COPY_DEPENDENCIES[@]}"; do
|
||||
rsync -av --progress ${PROJECT_DEPENDENCY} "${PROJECT_DIST_DIR}/"
|
||||
done
|
||||
|
@ -174,6 +174,8 @@ else
|
||||
PROJECT_BUILD_DIR=${PROJECT_BUILD_DIR}/x86_64
|
||||
fi
|
||||
|
||||
PROJECT_DIST_DIR=${PROJECT_DIST_DIR}/${PROJECT_APP_NAME}
|
||||
|
||||
PROJECT_EXTERNAL_BUILD_ROOT=${PROJECT_BUILD_DIR}/deps
|
||||
PROJECT_3RD_PARTY_DIR=${SOURCE_DIR}/support/3rd_party
|
||||
|
||||
@ -228,6 +230,12 @@ fi
|
||||
|
||||
PATH="${PROJECT_EXTERNAL_BUILD_ROOT}/bin:${PATH}"
|
||||
|
||||
if [ "${PROJECT_IS_MINGW}" == "1" ]; then
|
||||
PROJECT_OS=win32
|
||||
else
|
||||
PROJECT_OS=linux
|
||||
fi
|
||||
|
||||
export MSYS
|
||||
export NUM_JOBS
|
||||
export OPENSSL_ROOT_DIR
|
||||
@ -252,6 +260,9 @@ export PROJECT_LINK_TYPE
|
||||
export PROJECT_MINGW64_COPY_DEPENDENCIES
|
||||
export PROJECT_MINGW64_DOCKER_BUILD_ARGS
|
||||
export PROJECT_MSYS2_PACKAGE_LIST
|
||||
export PROJECT_OS
|
||||
export PROJECT_PRIVATE_KEY
|
||||
export PROJECT_PUBLIC_KEY
|
||||
export PROJECT_REQUIRE_ALPINE
|
||||
export PROJECT_STATIC_LINK
|
||||
export PROJECT_TOOLCHAIN_FILE_CMAKE
|
||||
|
@ -1,9 +1,12 @@
|
||||
@echo off
|
||||
|
||||
setlocal
|
||||
|
||||
set ARG1=%~1
|
||||
set ARG2=%~2
|
||||
set ARG3=%~3
|
||||
|
||||
pushd "%~dp0%"
|
||||
call mingw64 -no-start ./info.sh "x86_64" "%ARG1%" "%ARG2%" 1 0
|
||||
call mingw64 -no-start ./info.sh "%ARG1%" "%ARG2%" "%ARG3%" 1 0
|
||||
popd
|
||||
|
||||
|
@ -1,13 +1,4 @@
|
||||
#!/bin/bash
|
||||
# clean dist on each build
|
||||
# repertory - add back git rev
|
||||
# - store in PROJECT_GIT_REV
|
||||
# add make_package.sh/cmd
|
||||
# - signature / sha256
|
||||
# - add PROJECT_PUBLIC_KEY
|
||||
# - add PROJECT_PRIVATE_KEY
|
||||
# - [optional] post_package.sh for copy to destination
|
||||
# update nvim-lua mmr/mmd
|
||||
|
||||
CURRENT_DIR=$(dirname "$0")
|
||||
CURRENT_DIR=$(realpath ${CURRENT_DIR})
|
||||
@ -16,6 +7,11 @@ CURRENT_DIR=$(realpath ${CURRENT_DIR})
|
||||
|
||||
mkdir -p "${PROJECT_BUILD_DIR}/build"
|
||||
|
||||
if [ -d "${PROJECT_DIST_DIR}" ]; then
|
||||
rm -rf "${PROJECT_DIST_DIR}"
|
||||
mkdir -p "${PROJECT_DIST_DIR}"
|
||||
fi
|
||||
|
||||
if [ -f "${SOURCE_DIR}/pre_build.sh" ]; then
|
||||
"${SOURCE_DIR}/pre_build.sh"
|
||||
fi
|
||||
@ -71,6 +67,8 @@ export LD_LIBRARY_PATH="\${CURRENT_DIR}/lib:\${CURRENT_DIR}/lib64:\${LD_LIBRARY_
|
||||
\${CURRENT_DIR}/bin/${APP}${APP_BINARY_EXT} \$*
|
||||
EOF
|
||||
chmod +x "${PROJECT_DIST_DIR}/${APP}${APP_BINARY_EXT}"
|
||||
else
|
||||
rsync -av --progress "${PROJECT_BUILD_DIR}/build/${APP}${APP_BINARY_EXT}" "${PROJECT_DIST_DIR}/"
|
||||
fi
|
||||
else
|
||||
rsync -av --progress "${PROJECT_BUILD_DIR}/build/${APP}${APP_BINARY_EXT}" "${PROJECT_DIST_DIR}/"
|
||||
@ -82,3 +80,7 @@ if [ "${PROJECT_IS_MINGW}" == "1" ]; then
|
||||
fi
|
||||
|
||||
ln -sf "${PROJECT_BUILD_DIR}/build/compile_commands.json" "${SOURCE_DIR}/compile_commands.json"
|
||||
|
||||
if [ -f "${SOURCE_DIR}/post_build.sh" ]; then
|
||||
"${SOURCE_DIR}/post_build.sh"
|
||||
fi
|
||||
|
12
scripts/make_package.cmd
Normal file
12
scripts/make_package.cmd
Normal file
@ -0,0 +1,12 @@
|
||||
@echo off
|
||||
|
||||
setlocal
|
||||
|
||||
set DEST=%~1
|
||||
set ARG1=%~2
|
||||
set ARG2=%~3
|
||||
set ARG3=%~4
|
||||
|
||||
pushd "%~dp0%"
|
||||
call mingw64 -no-start ./make_package.sh "%DEST%" "%ARG1%" "%ARG2%" "%ARG3%" 1 0 || exit 1
|
||||
popd
|
59
scripts/make_package.sh
Normal file
59
scripts/make_package.sh
Normal file
@ -0,0 +1,59 @@
|
||||
#!/bin/bash
|
||||
|
||||
TEMP_DIR=$(mktemp -d)
|
||||
|
||||
DEST_DIR=$1
|
||||
CURRENT_DIR=$(dirname "$0")
|
||||
CURRENT_DIR=$(realpath ${CURRENT_DIR})
|
||||
|
||||
. "${CURRENT_DIR}/env.sh" "$2" "$3" "$4" "$5" "$6"
|
||||
|
||||
if [ -f "${CURRENT_DIR}/../build/version.sh" ]; then
|
||||
source ${CURRENT_DIR}/../build/version.sh
|
||||
fi
|
||||
|
||||
if [ -f "${CURRENT_DIR}/../build/git_rev.sh" ]; then
|
||||
source ${CURRENT_DIR}/../build/git_rev.sh
|
||||
fi
|
||||
|
||||
function exit_and_clean() {
|
||||
echo $1
|
||||
rm -rf ${TEMP_DIR}
|
||||
exit $2
|
||||
}
|
||||
|
||||
if [ "${PROJECT_VERSION}" == "" ]; then
|
||||
echo "Project version not set"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "${PROJECT_GIT_REV}" == "" ]; then
|
||||
echo "Project git revision not set"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -d "${PROJECT_DIST_DIR}" ]; then
|
||||
echo "Dist directory not found: ${PROJECT_DIST_DIR}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "${DEST_DIR}" == "" ]; then
|
||||
DEST_DIR="${CURRENT_DIR}/../dist"
|
||||
fi
|
||||
DEST_DIR=$(realpath "${DEST_DIR}")
|
||||
|
||||
if [ ! -d "${DEST_DIR}" ]; then
|
||||
echo "Destination directory not found: ${DEST_DIR}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
PACKAGE_ROOT="${PROJECT_DIST_DIR}/.."
|
||||
PACKAGE_ROOT=$(realpath "${PACKAGE_ROOT}")
|
||||
|
||||
rsync -av --progress ${PACKAGE_ROOT}/ ${TEMP_DIR}/ || exit_and_clean "Failed to rsync" 1
|
||||
|
||||
pushd "${DEST_DIR}"
|
||||
tar cvzf ${PROJECT_APP_NAME}_${PROJECT_VERSION}_${PROJECT_GIT_REV}_${PROJECT_BUILD_ARCH}_${PROJECT_OS}.tar.gz -C ${TEMP_DIR} . || exit_and_clean "Failed to create archive" 1
|
||||
popd
|
||||
|
||||
exit_and_clean "Created package successfully" 0
|
@ -1,13 +1,16 @@
|
||||
@echo off
|
||||
|
||||
setlocal
|
||||
|
||||
set ARG1=%~1
|
||||
set ARG2=%~2
|
||||
set ARG3=%~3
|
||||
|
||||
pushd "%~dp0%"
|
||||
call setup_msys2.cmd "%ARG1%" "%ARG2%"
|
||||
call setup_msys2.cmd "%ARG1%" "%ARG2%" "%ARG3%"
|
||||
if exist "cleanup.cmd" (
|
||||
call cleanup.cmd "x86_64" "%ARG1%" "%ARG2%" 1 0
|
||||
call cleanup.cmd "%ARG1%" "%ARG2%" "%ARG3%" 1 0
|
||||
del cleanup.*
|
||||
)
|
||||
call mingw64 -no-start ./make_common.sh "x86_64" "%ARG1%" "%ARG2%" 1 0 || exit 1
|
||||
call mingw64 -no-start ./make_common.sh "%ARG1%" "%ARG2%" "%ARG3%" 1 0 || exit 1
|
||||
popd
|
||||
|
@ -1,9 +1,12 @@
|
||||
@echo off
|
||||
|
||||
setlocal
|
||||
|
||||
set ARG1=%~1
|
||||
set ARG2=%~2
|
||||
set ARG3=%~3
|
||||
|
||||
pushd "%~dp0%"
|
||||
call mingw64 -no-start ./setup_msys2.sh "x86_64" "%ARG1%" "%ARG2%" 1 0
|
||||
call mingw64 -no-start ./setup_msys2.sh "x86_64" "%ARG1%" "%ARG2%" 1 0
|
||||
call mingw64 -no-start ./setup_msys2.sh "%ARG1%" "%ARG2%" "%ARG3%" 1 0
|
||||
call mingw64 -no-start ./setup_msys2.sh "%ARG1%" "%ARG2%" "%ARG3%" 1 0
|
||||
popd
|
||||
|
Reference in New Issue
Block a user