From 4194d99541bec51dc0b3953c745c2e6e3ee6dd37 Mon Sep 17 00:00:00 2001
From: jcarpent <jcarpent@laas.fr>
Date: Tue, 9 Feb 2016 13:36:45 +0100
Subject: [PATCH] [CMake] Refactor benchmark building

By default, one can now build the benchmarks from make timings. They
are build along with the lib if BUILD_BENCHMARK is set to ON.
---
 CMakeLists.txt           |  5 ++---
 benchmark/CMakeLists.txt | 12 ++++++++++--
 2 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 43816ecd3..f91cd87bc 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -256,9 +256,8 @@ ADD_SUBDIRECTORY(src)
 # --- EXECUTABLES --------------------------------------------------------------
 # --- EXECUTABLES --------------------------------------------------------------
 ADD_SUBDIRECTORY(unittest)
-IF (BUILD_BENCHMARK)
-  ADD_SUBDIRECTORY (benchmark)
-ENDIF (BUILD_BENCHMARK)
+ADD_SUBDIRECTORY (benchmark)
+
 IF (BUILD_UTILS)
   ADD_SUBDIRECTORY (utils)
 ENDIF (BUILD_UTILS)
diff --git a/benchmark/CMakeLists.txt b/benchmark/CMakeLists.txt
index b4c488570..33aa3d241 100644
--- a/benchmark/CMakeLists.txt
+++ b/benchmark/CMakeLists.txt
@@ -24,7 +24,11 @@ ENDMACRO(ADD_TEST_CFLAGS)
 
 # timings
 # 
-ADD_EXECUTABLE(timings timings.cpp)
+IF(BUILD_BENCHMARK)
+  ADD_EXECUTABLE(timings timings.cpp)
+ELSE(BUILD_BENCHMARK)
+  ADD_EXECUTABLE(timings EXCLUDE_FROM_ALL timings.cpp)
+ENDIF(BUILD_BENCHMARK)
 PKG_CONFIG_USE_DEPENDENCY(timings eigen3)
 IF(URDFDOM_FOUND)
   PKG_CONFIG_USE_DEPENDENCY(timings urdfdom)
@@ -35,7 +39,11 @@ SET_TARGET_PROPERTIES (timings PROPERTIES COMPILE_DEFINITIONS PINOCCHIO_SOURCE_D
 # geomTimings
 # 
 IF(URDFDOM_FOUND AND HPP_FCL_FOUND)
-  ADD_EXECUTABLE(geomTimings timings-geometry.cpp)
+  IF(BUILD_BENCHMARK)
+    ADD_EXECUTABLE(geomTimings timings-geometry.cpp)
+  ELSE(BUILD_BENCHMARK)
+    ADD_EXECUTABLE(geomTimings EXCLUDE_FROM_ALL timings-geometry.cpp)
+  ENDIF(BUILD_BENCHMARK)
   PKG_CONFIG_USE_DEPENDENCY(geomTimings eigen3)
   PKG_CONFIG_USE_DEPENDENCY(geomTimings urdfdom)
   PKG_CONFIG_USE_DEPENDENCY(geomTimings assimp)
-- 
GitLab