mirror of
https://github.com/logos-blockchain/logos-blockchain-module.git
synced 2026-04-30 14:33:10 +00:00
wip
This commit is contained in:
parent
8e2f5f6d6c
commit
a2b2b2c30c
@ -161,3 +161,16 @@ if(COPY_PLUGIN_TO_SOURCE_DIR)
|
|||||||
VERBATIM
|
VERBATIM
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
install(TARGETS ${PLUGIN_TARGET}
|
||||||
|
LIBRARY DESTINATION lib
|
||||||
|
ARCHIVE DESTINATION lib
|
||||||
|
RUNTIME DESTINATION bin
|
||||||
|
)
|
||||||
|
|
||||||
|
install(FILES library.h DESTINATION include)
|
||||||
|
|
||||||
|
install(FILES "${LOGOS_BLOCKCHAIN_STAGED_DYLIB}"
|
||||||
|
DESTINATION lib
|
||||||
|
RENAME "${LOGOS_BLOCKCHAIN_C_STAGED_DYLIB_NAME}"
|
||||||
|
)
|
||||||
|
|||||||
66
flake.nix
66
flake.nix
@ -12,21 +12,21 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, nixpkgs, logos-liblogos, logos-cpp-sdk, logos-blockchain }:
|
outputs = { self, nixpkgs, ... }@inputs:
|
||||||
let
|
let
|
||||||
systems = [ "aarch64-darwin" "x86_64-darwin" "aarch64-linux" "x86_64-linux" ];
|
systems = [ "aarch64-darwin" "x86_64-darwin" "aarch64-linux" "x86_64-linux" ];
|
||||||
forAllSystems = f: nixpkgs.lib.genAttrs systems (system: f {
|
forAllSystems = f: nixpkgs.lib.genAttrs systems (system:
|
||||||
pkgs = import nixpkgs { inherit system; };
|
|
||||||
logosSdk = logos-cpp-sdk.packages.${system}.default;
|
|
||||||
logosBlockchainSrc = logos-blockchain;
|
|
||||||
});
|
|
||||||
in
|
|
||||||
{
|
|
||||||
packages = forAllSystems ({ pkgs, logosSdk, logosBlockchainSrc }:
|
|
||||||
let
|
let
|
||||||
|
pkgs = import nixpkgs { inherit system; };
|
||||||
qt = pkgs.qt6;
|
qt = pkgs.qt6;
|
||||||
llvmPkgs = pkgs.llvmPackages;
|
llvmPkgs = pkgs.llvmPackages;
|
||||||
|
logosSdk = inputs.logos-cpp-sdk.packages.${system}.default;
|
||||||
|
logosBlockchainSrc = inputs.logos-blockchain;
|
||||||
in
|
in
|
||||||
|
f { inherit pkgs qt llvmPkgs logosSdk logosBlockchainSrc; });
|
||||||
|
in
|
||||||
|
{
|
||||||
|
packages = forAllSystems ({ pkgs, qt, llvmPkgs, logosSdk, logosBlockchainSrc }:
|
||||||
{
|
{
|
||||||
default = pkgs.stdenv.mkDerivation {
|
default = pkgs.stdenv.mkDerivation {
|
||||||
pname = "logos-blockchain-module";
|
pname = "logos-blockchain-module";
|
||||||
@ -64,39 +64,21 @@
|
|||||||
|
|
||||||
CARGO_HOME = "${"$"}TMPDIR/cargo-home";
|
CARGO_HOME = "${"$"}TMPDIR/cargo-home";
|
||||||
|
|
||||||
configurePhase = ''
|
cmakeFlags = [
|
||||||
runHook preConfigure
|
"-DUNTITLED_USE_QT=ON"
|
||||||
cmake -S . -B build -G Ninja \
|
"-DLOGOS_CPP_SDK_ROOT=${logosSdk}"
|
||||||
-DCMAKE_BUILD_TYPE=Release \
|
"-DLOGOS_BLOCKCHAIN_ROOT=${logosBlockchainSrc}"
|
||||||
-DUNTITLED_USE_QT=ON \
|
"-DCOPY_PLUGIN_TO_SOURCE_DIR=OFF"
|
||||||
-DLOGOS_CPP_SDK_ROOT="$LOGOS_CPP_SDK_ROOT" \
|
];
|
||||||
-DLOGOS_BLOCKCHAIN_ROOT="$LOGOS_BLOCKCHAIN_ROOT" \
|
|
||||||
-DCOPY_PLUGIN_TO_SOURCE_DIR=OFF
|
|
||||||
runHook postConfigure
|
|
||||||
'';
|
|
||||||
|
|
||||||
buildPhase = ''
|
preConfigure = ''
|
||||||
runHook preBuild
|
mkdir -p $CARGO_HOME
|
||||||
cmake --build build --verbose
|
|
||||||
runHook postBuild
|
|
||||||
'';
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
runHook preInstall
|
|
||||||
mkdir -p $out/lib $out/include
|
|
||||||
install -m755 build/libblockchainmodulelib.* $out/lib/
|
|
||||||
install -m644 ${./library.h} $out/include/library.h
|
|
||||||
runHook postInstall
|
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
devShells = forAllSystems ({ pkgs, logosSdk, logosBlockchainSrc }:
|
devShells = forAllSystems ({ pkgs, qt, llvmPkgs, logosSdk, logosBlockchainSrc }:
|
||||||
let
|
|
||||||
qt = pkgs.qt6;
|
|
||||||
llvmPkgs = pkgs.llvmPackages;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
default = pkgs.mkShell {
|
default = pkgs.mkShell {
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
@ -119,13 +101,13 @@
|
|||||||
llvmPkgs.libclang
|
llvmPkgs.libclang
|
||||||
];
|
];
|
||||||
|
|
||||||
|
LOGOS_CPP_SDK_ROOT = "${logosSdk}";
|
||||||
|
LOGOS_BLOCKCHAIN_ROOT = "${logosBlockchainSrc}";
|
||||||
|
|
||||||
|
LIBCLANG_PATH = "${llvmPkgs.libclang.lib}/lib";
|
||||||
|
CLANG_PATH = "${llvmPkgs.clang}/bin/clang";
|
||||||
|
|
||||||
shellHook = ''
|
shellHook = ''
|
||||||
export LOGOS_CPP_SDK_ROOT="${logosSdk}"
|
|
||||||
export LOGOS_BLOCKCHAIN_ROOT="${logosBlockchainSrc}"
|
|
||||||
|
|
||||||
export LIBCLANG_PATH="${llvmPkgs.libclang.lib}/lib"
|
|
||||||
export CLANG_PATH="${llvmPkgs.clang}/bin/clang"
|
|
||||||
|
|
||||||
echo "Logos Blockchain Module dev environment"
|
echo "Logos Blockchain Module dev environment"
|
||||||
echo "LOGOS_CPP_SDK_ROOT: $LOGOS_CPP_SDK_ROOT"
|
echo "LOGOS_CPP_SDK_ROOT: $LOGOS_CPP_SDK_ROOT"
|
||||||
echo "LOGOS_BLOCKCHAIN_ROOT: $LOGOS_BLOCKCHAIN_ROOT"
|
echo "LOGOS_BLOCKCHAIN_ROOT: $LOGOS_BLOCKCHAIN_ROOT"
|
||||||
|
|||||||
@ -32,6 +32,8 @@ public:
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO: Default configuration file
|
||||||
|
|
||||||
// TODO: Ensure proper cleanup on SIGINT
|
// TODO: Ensure proper cleanup on SIGINT
|
||||||
|
|
||||||
const QByteArray path = config_path.toUtf8();
|
const QByteArray path = config_path.toUtf8();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user