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 {
|
||||
pname = "g2o";
|
||||
|
@ -11,8 +12,31 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "1rgrz6zxiinrik3lgwgvsmlww1m2fnpjmvcx1mf62xi1s2ma5w2i";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [ eigen suitesparse ];
|
||||
# Removes a reference to gcc that is only used in a debug message
|
||||
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 = {
|
||||
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