g2o: build g2o_viewer and disable impure SSE autodetection
This commit is contained in:
parent
f22a561402
commit
d00ff51215
2 changed files with 52 additions and 3 deletions
|
@ -1,4 +1,5 @@
|
||||||
{ lib, stdenv, fetchFromGitHub, cmake, eigen, suitesparse }:
|
{ lib, stdenv, fetchFromGitHub, cmake, eigen, suitesparse, libGLU, qt5
|
||||||
|
, libsForQt5, makeWrapper }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "g2o";
|
pname = "g2o";
|
||||||
|
@ -11,8 +12,31 @@ stdenv.mkDerivation rec {
|
||||||
sha256 = "1rgrz6zxiinrik3lgwgvsmlww1m2fnpjmvcx1mf62xi1s2ma5w2i";
|
sha256 = "1rgrz6zxiinrik3lgwgvsmlww1m2fnpjmvcx1mf62xi1s2ma5w2i";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
# Removes a reference to gcc that is only used in a debug message
|
||||||
buildInputs = [ eigen suitesparse ];
|
patches = [ ./remove-compiler-reference.patch ];
|
||||||
|
|
||||||
|
nativeBuildInputs = [ cmake makeWrapper ];
|
||||||
|
buildInputs = [ eigen suitesparse libGLU qt5.qtbase libsForQt5.libqglviewer ];
|
||||||
|
|
||||||
|
cmakeFlags = [
|
||||||
|
# Detection script is broken
|
||||||
|
"-DQGLVIEWER_INCLUDE_DIR=${libsForQt5.libqglviewer}/include/QGLViewer"
|
||||||
|
"-DG2O_BUILD_EXAMPLES=OFF"
|
||||||
|
] ++ lib.optionals stdenv.isx86_64 ([ "-DDO_SSE_AUTODETECT=OFF" ] ++ {
|
||||||
|
"default" = [ "-DDISABLE_SSE3=ON" "-DDISABLE_SSE4_1=ON" "-DDISABLE_SSE4_2=ON" "-DDISABLE_SSE4_A=ON" ];
|
||||||
|
"westmere" = [ "-DDISABLE_SSE4_A=ON" ];
|
||||||
|
"sandybridge" = [ "-DDISABLE_SSE4_A=ON" ];
|
||||||
|
"ivybridge" = [ "-DDISABLE_SSE4_A=ON" ];
|
||||||
|
"haswell" = [ "-DDISABLE_SSE4_A=ON" ];
|
||||||
|
"broadwell" = [ "-DDISABLE_SSE4_A=ON" ];
|
||||||
|
"skylake" = [ "-DDISABLE_SSE4_A=ON" ];
|
||||||
|
"skylake-avx512" = [ "-DDISABLE_SSE4_A=ON" ];
|
||||||
|
}.${stdenv.hostPlatform.platform.gcc.arch or "default"});
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
wrapProgram $out/bin/g2o_viewer \
|
||||||
|
--prefix QT_PLUGIN_PATH : "${qt5.qtbase}/${qt5.qtbase.qtPluginPrefix}"
|
||||||
|
'';
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "A General Framework for Graph Optimization";
|
description = "A General Framework for Graph Optimization";
|
||||||
|
|
|
@ -0,0 +1,25 @@
|
||||||
|
From b9bfed09e4e3c481b7eb36bee1ff4202ccf69dee Mon Sep 17 00:00:00 2001
|
||||||
|
From: Ben Wolsieffer <benwolsieffer@gmail.com>
|
||||||
|
Date: Fri, 17 May 2019 19:05:36 -0400
|
||||||
|
Subject: [PATCH] Remove reference to compiler.
|
||||||
|
|
||||||
|
---
|
||||||
|
CMakeLists.txt | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
index a3f66dd..bb05bd0 100644
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -371,7 +371,7 @@ set(G2O_HAVE_CHOLMOD ${CHOLMOD_FOUND})
|
||||||
|
set(G2O_HAVE_CSPARSE ${CSPARSE_FOUND})
|
||||||
|
set(G2O_SHARED_LIBS ${BUILD_SHARED_LIBS})
|
||||||
|
set(G2O_LGPL_SHARED_LIBS ${BUILD_LGPL_SHARED_LIBS})
|
||||||
|
-set(G2O_CXX_COMPILER "${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER}")
|
||||||
|
+set(G2O_CXX_COMPILER "${CMAKE_CXX_COMPILER_ID} unknown")
|
||||||
|
|
||||||
|
configure_file(config.h.in "${PROJECT_BINARY_DIR}/g2o/config.h")
|
||||||
|
install(FILES ${PROJECT_BINARY_DIR}/g2o/config.h DESTINATION ${INCLUDES_DESTINATION}/g2o)
|
||||||
|
--
|
||||||
|
2.21.0
|
||||||
|
|
Loading…
Reference in a new issue