?
This commit is contained in:
@@ -8,25 +8,31 @@
|
||||
system = "aarch64-darwin";
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
in {
|
||||
# This builds the 'PROCESSOR' library so other projects can find it
|
||||
packages.${system}.default = pkgs.stdenv.mkDerivation {
|
||||
name = "image_processor";
|
||||
src = ./.;
|
||||
nativeBuildInputs = [pkgs.cmake];
|
||||
|
||||
# Add pkg-config here so CMake can find it during the build
|
||||
nativeBuildInputs = [
|
||||
pkgs.cmake
|
||||
pkgs.pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [pkgs.libjpeg_turbo];
|
||||
# This ensures the .dylib and .h files are moved to the right place
|
||||
|
||||
# Nix's default CMake phase will run, but we need to ensure
|
||||
# the library actually gets installed to the nix store output
|
||||
installPhase = ''
|
||||
mkdir -p $out/lib $out/include
|
||||
cp libPROCESSOR.dylib $out/lib/ || cp libPROCESSOR.a $out/lib/
|
||||
cp libPROCESSOR.dylib $out/lib/ 2>/dev/null || cp libPROCESSOR.a $out/lib/
|
||||
cp *.h $out/include/
|
||||
'';
|
||||
};
|
||||
|
||||
devShells.${system}.default = pkgs.mkShell {
|
||||
# This makes sure the shell also has the tools for manual debugging
|
||||
nativeBuildInputs = [pkgs.pkg-config pkgs.cmake];
|
||||
buildInputs = [pkgs.libjpeg_turbo];
|
||||
shellHook = ''
|
||||
export PKG_CONFIG_PATH="${pkgs.libjpeg_turbo.dev}/lib/pkgconfig:$PKG_CONFIG_PATH"
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user