nixpkgs/pkgs/applications/science/misc/colmap/default.nix
Serge K 1248ea16e1
colmap: fix for cuda11.6/gcc11 (#169623)
* colmap: force nvcc std=c++14 after gcc11 bump

* colmap: optional -> optionals

* colmap: sha256 -> hash

* colmapWithCuda: force CUDA_ENABLED=ON safeguard

* colmapWithCuda: add opengl runpath
2022-04-27 16:09:30 -07:00

53 lines
1.5 KiB
Nix

{ mkDerivation, lib, fetchFromGitHub, cmake, boost17x, ceres-solver, eigen,
freeimage, glog, libGLU, glew, qtbase,
cudaSupport ? false, cudaPackages }:
assert cudaSupport -> cudaPackages != { };
let
boost_static = boost17x.override { enableStatic = true; };
# TODO: migrate to redist packages
inherit (cudaPackages) cudatoolkit;
in
mkDerivation rec {
version = "3.7";
pname = "colmap";
src = fetchFromGitHub {
owner = "colmap";
repo = "colmap";
rev = version;
hash = "sha256-uVAw6qwhpgIpHkXgxttKupU9zU+vD0Za0maw2Iv4x+I=";
};
# TODO: rm once the gcc11 issue is closed, https://github.com/colmap/colmap/issues/1418#issuecomment-1049305256
cmakeFlags = lib.optionals cudaSupport [
"-DCUDA_ENABLED=ON"
"-DCUDA_NVCC_FLAGS=--std=c++14"
];
buildInputs = [
boost_static ceres-solver eigen
freeimage glog libGLU glew qtbase
] ++ lib.optionals cudaSupport [
cudatoolkit
];
nativeBuildInputs = [
cmake
] ++ lib.optionals cudaSupport [
cudaPackages.autoAddOpenGLRunpathHook
];
meta = with lib; {
description = "COLMAP - Structure-From-Motion and Multi-View Stereo pipeline";
longDescription = ''
COLMAP is a general-purpose Structure-from-Motion (SfM) and Multi-View Stereo (MVS) pipeline
with a graphical and command-line interface.
'';
homepage = "https://colmap.github.io/index.html";
license = licenses.bsd3;
platforms = platforms.linux;
maintainers = with maintainers; [ lebastr ];
};
}