From 61555666fae17d005561cb510c756373f7da7036 Mon Sep 17 00:00:00 2001
From: Francois Bleibel <fbleibel@gmail.com>
Date: Wed, 23 Jun 2010 15:59:04 +0900
Subject: [PATCH] Added LAPACK library dependencies in FORTRAN. Adjusted for a
 change in singletons names from dynamicgraph.

---
 AUTHORS                                  |   2 +-
 CMakeLists.txt                           | 103 ++++++++---------------
 include/sot-core/integrator-abstract.h   |   4 +-
 include/sot-core/pool.h                  |   8 +-
 src/CMakeLists.txt                       |  53 +-----------
 src/factory/additional-functions.cpp     |  18 ++--
 src/feature/feature-point6d-relative.cpp |   2 +-
 src/feature/feature-task.cpp             |   2 +-
 src/math/op-point-modifier.cpp           |   2 +-
 src/sot/sot-h.cpp                        |   4 +-
 src/task/constraint.cpp                  |   2 +-
 src/task/task-conti.cpp                  |   2 +-
 unitTesting/CMakeLists.txt               |  27 ++----
 13 files changed, 67 insertions(+), 162 deletions(-)

diff --git a/AUTHORS b/AUTHORS
index f766ee26..77602e72 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -1 +1 @@
-Authors: 
+Authors: Nicolas Mansard, Olivier Stasse, François Keith, François Bleibel 
\ No newline at end of file
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2853967b..59cbf88f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -23,6 +23,19 @@ IF(UNIX)
   SET(LIB_EXT "")
 ENDIF(UNIX)
 
+# Languages
+# Fortran has, sadly, to be used for LAPACK libraries
+# Visual Studio uses precompiled libs so there is no
+# need to enable the Fortran language.
+enable_language(CXX)
+IF( 
+	(NOT "${CMAKE_GENERATOR}" MATCHES "Visual Studio.*") )
+enable_language(Fortran)
+ENDIF( 
+	(NOT "${CMAKE_GENERATOR}" MATCHES "Visual Studio.*")
+)	
+
+
 #
 # Look for dependencies
 #
@@ -30,6 +43,18 @@ ENDIF(UNIX)
 # Load Pkgconfig macros
 INCLUDE(FindPkgConfig)
 SET(PACKAGE_REQUIREMENTS "")
+#enable_language(Fortran)
+# --- LAPACK --------------------------------------------------
+FIND_PACKAGE(LAPACK)
+IF(LAPACK_FOUND)
+  foreach(lapack_lib ${LAPACK_LIBRARIES})
+    LIST(APPEND ${PROJECT_NAME}_LINK_SRC_FLAGS ${lapack_lib})
+    LIST(APPEND ${PROJECT_NAME}_LINK_FLAGS ${lapack_lib})
+  endforeach(lapack_lib)
+  IF (WIN32)
+    LIST(APPEND ${PROJECT_NAME}_CXX_FLAGS "-DBOOST_NUMERIC_BINDINGS_USE_CLAPACK" )
+  ENDIF (WIN32)
+ENDIF(LAPACK_FOUND)
 
 #
 #  Dependency to package MatrixAbstractLayer
@@ -53,75 +78,16 @@ ELSE(PACKAGE_REQUIREMENTS STREQUAL "")
   SET(PACKAGE_REQUIREMENTS "${PACKAGE_REQUIREMENTS}, ${MATRIXABSTRACTLAYER_REQUIRED}")
 ENDIF(PACKAGE_REQUIREMENTS STREQUAL "")
 
+INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS})
+LINK_DIRECTORIES(${Boost_LIBRARY_DIRS})
 
-#
-#  Dependency to package dynamicsJRLJapan
-#
-SET(DYNAMICSJRLJAPAN_FOUND 0)
-SET(DYNAMICSJRLJAPAN_REQUIRED "dynamicsJRLJapan >= 1.16.1")
-PKG_CHECK_MODULES(DYNAMICSJRLJAPAN REQUIRED ${DYNAMICSJRLJAPAN_REQUIRED})
-EXEC_PROGRAM(${PKG_CONFIG_EXECUTABLE} ARGS  --variable=docdir dynamicsJRLJapan
-  OUTPUT_VARIABLE DYNAMICSJRLJAPAN_DOCDIR)
-MESSAGE(STATUS "pkg-config: ${PKG_CONFIG_EXECUTABLE}")
-MESSAGE(STATUS "DYNAMICSJRLJAPAN_DOCDIR=${DYNAMICSJRLJAPAN_DOCDIR}")
-SET(DYNAMICSJRLJAPAN_FOUND 1)
-
-IF(NOT ${DYNAMICSJRLJAPAN_FOUND})
-  MESSAGE(FATAL_ERROR "Check that package dynamicsJRLJapan is installed in a directory pointed out by PKG_CONFIG_PATH.")
-ENDIF(NOT ${DYNAMICSJRLJAPAN_FOUND})
-  
-IF(PACKAGE_REQUIREMENTS STREQUAL "")
-  SET(PACKAGE_REQUIREMENTS ${DYNAMICSJRLJAPAN_REQUIRED})
-ELSE(PACKAGE_REQUIREMENTS STREQUAL "")
-  SET(PACKAGE_REQUIREMENTS "${PACKAGE_REQUIREMENTS}, ${DYNAMICSJRLJAPAN_REQUIRED}")
-ENDIF(PACKAGE_REQUIREMENTS STREQUAL "")
-
-
-#
-#  Dependency to package hrp2Dynamics
-#
-SET(HRP2DYNAMICS_FOUND 0)
-SET(HRP2DYNAMICS_REQUIRED "hrp2Dynamics >= 1.3.0")
-PKG_CHECK_MODULES(HRP2DYNAMICS REQUIRED ${HRP2DYNAMICS_REQUIRED})
-EXEC_PROGRAM(${PKG_CONFIG_EXECUTABLE} ARGS  --variable=docdir hrp2Dynamics
-  OUTPUT_VARIABLE HRP2DYNAMICS_DOCDIR)
-MESSAGE(STATUS "pkg-config: ${PKG_CONFIG_EXECUTABLE}")
-MESSAGE(STATUS "HRP2DYNAMICS_DOCDIR=${HRP2DYNAMICS_DOCDIR}")
-SET(HRP2DYNAMICS_FOUND 1)
-
-IF(NOT ${HRP2DYNAMICS_FOUND})
-  MESSAGE(FATAL_ERROR "Check that package hrp2Dynamics is installed in a directory pointed out by PKG_CONFIG_PATH.")
-ENDIF(NOT ${HRP2DYNAMICS_FOUND})
-  
-IF(PACKAGE_REQUIREMENTS STREQUAL "")
-  SET(PACKAGE_REQUIREMENTS ${HRP2DYNAMICS_REQUIRED})
-ELSE(PACKAGE_REQUIREMENTS STREQUAL "")
-  SET(PACKAGE_REQUIREMENTS "${PACKAGE_REQUIREMENTS}, ${HRP2DYNAMICS_REQUIRED}")
-ENDIF(PACKAGE_REQUIREMENTS STREQUAL "")
-
-
-#
-#  Dependency to package walkGenJrl
-#
-SET(WALKGENJRL_FOUND 0)
-SET(WALKGENJRL_REQUIRED "walkGenJrl >= 3.0.0")
-PKG_CHECK_MODULES(WALKGENJRL REQUIRED ${WALKGENJRL_REQUIRED})
-EXEC_PROGRAM(${PKG_CONFIG_EXECUTABLE} ARGS  --variable=docdir walkGenJrl
-  OUTPUT_VARIABLE WALKGENJRL_DOCDIR)
-MESSAGE(STATUS "pkg-config: ${PKG_CONFIG_EXECUTABLE}")
-MESSAGE(STATUS "WALKGENJRL_DOCDIR=${WALKGENJRL_DOCDIR}")
-SET(WALKGENJRL_FOUND 1)
-
-IF(NOT ${WALKGENJRL_FOUND})
-  MESSAGE(FATAL_ERROR "Check that package walkGenJrl is installed in a directory pointed out by PKG_CONFIG_PATH.")
-ENDIF(NOT ${WALKGENJRL_FOUND})
-  
-IF(PACKAGE_REQUIREMENTS STREQUAL "")
-  SET(PACKAGE_REQUIREMENTS ${WALKGENJRL_REQUIRED})
-ELSE(PACKAGE_REQUIREMENTS STREQUAL "")
-  SET(PACKAGE_REQUIREMENTS "${PACKAGE_REQUIREMENTS}, ${WALKGENJRL_REQUIRED}")
-ENDIF(PACKAGE_REQUIREMENTS STREQUAL "")
-
+# --- BOOST NUMERIC BINDINGS-------------------------------------
+IF ("${Boost_VERSION}" STRLESS "104000")
+  INCLUDE(${CMAKE_MODULE_PATH}/FindBoostNumericBindings.cmake)
+  MESSAGE(STATUS "BoostNumericBindings_INCLUDE_DIR=${BoostNumericBindings_INCLUDE_DIR}")
+  INCLUDE_DIRECTORIES(${BoostNumericBindings_INCLUDE_DIR})
+  LIST(APPEND ${PROJECT_NAME}_CFLAGS -I${BoostNumericBindings_INCLUDE_DIR})
+ENDIF("${Boost_VERSION}" STRLESS "104000")
 
 #
 #  Dependency to package dynamic-graph
@@ -152,7 +118,6 @@ FIND_PACKAGE(Boost REQUIRED)
 include_directories(${Boost_INCLUDE_DIRS})
 set(LIBS ${LIBS} ${Boost_LIBRARIES})
 
-
 #
 # pkg-config file
 #
diff --git a/include/sot-core/integrator-abstract.h b/include/sot-core/integrator-abstract.h
index 9ddd5507..099d9990 100644
--- a/include/sot-core/integrator-abstract.h
+++ b/include/sot-core/integrator-abstract.h
@@ -84,7 +84,7 @@ class IntegratorAbstract
     {
       std::string objname, signame;
       Interpreter::objectNameParser(cmdArgs, objname, signame);
-      Entity& obj = pool.getEntity(objname);
+      Entity& obj = g_pool.getEntity(objname);
       SignalBase<int>& sig = obj.getSignal(signame);
       try {
 	Signal<coefT,int>& sigc = dynamic_cast<Signal<coefT,int>&>(sig);
@@ -99,7 +99,7 @@ class IntegratorAbstract
     {
       std::string objname, signame;
       Interpreter::objectNameParser(cmdArgs, objname, signame);
-      Entity& obj = pool.getEntity(objname);
+      Entity& obj = g_pool.getEntity(objname);
       SignalBase<int>& sig = obj.getSignal(signame);
       try {
 	Signal<coefT,int>& sigc = dynamic_cast<Signal<coefT,int>&>(sig);
diff --git a/include/sot-core/pool.h b/include/sot-core/pool.h
index 50a48bb2..dec646c8 100644
--- a/include/sot-core/pool.h
+++ b/include/sot-core/pool.h
@@ -3,7 +3,7 @@
  * Copyright Projet JRL-Japan, 2007
  *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  *
- * File:      pool.h
+ * File:      g_pool.h
  * Project:   SOT
  * Author:    Nicolas Mansard
  *
@@ -126,9 +126,9 @@ class SOT_CORE_EXPORT PoolStorage
     be done on os.
 
     The commands specific to the <b>pool<\b> object are:
-    \li <b>list</b> : List all the entities registered in the pool.
-    \li <b>listFeature</b> : List all the features registered in the pool.
-    \li <b>listTask</b> : List all the tasks registered in the pool.
+    \li <b>list</b> : List all the entities registered in the g_pool.
+    \li <b>listFeature</b> : List all the features registered in the g_pool.
+    \li <b>listTask</b> : List all the tasks registered in the g_pool.
   */
   void commandLine( const std::string& objectName,const std::string& functionName,
 		    std::istringstream& cmdArg, std::ostream& os );
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 17f61533..aa9c8210 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -82,19 +82,6 @@ ADD_DEFINITIONS(-DDEBUG=2)
 # provide path to library libMatrixAbstractLayer.so
 LINK_DIRECTORIES(${MATRIXABSTRACTLAYER_LIBRARY_DIRS})
 
-
-# provide path to library libdynamicsJRLJapan.so
-LINK_DIRECTORIES(${DYNAMICSJRLJAPAN_LIBRARY_DIRS})
-
-
-# provide path to library libhrp2Dynamics.so
-LINK_DIRECTORIES(${HRP2DYNAMICS_LIBRARY_DIRS})
-
-
-# provide path to library libwalkGenJrl.so
-LINK_DIRECTORIES(${WALKGENJRL_LIBRARY_DIRS})
-
-
 # provide path to library libdynamic-graph.so
 LINK_DIRECTORIES(${DYNAMIC_GRAPH_LIBRARY_DIRS})
 
@@ -113,6 +100,10 @@ SET_TARGET_PROPERTIES(${PROJECT_NAME_LIB}
   LINK_FLAGS ${${PROJECT_NAME}_src_LDFLAGS}
 )
 
+# Add lapack compilation flags and link to library libLapack.so
+ADD_DEFINITIONS(${LAPACK_CFLAGS})
+TARGET_LINK_LIBRARIES(${LIBRARY_NAME} ${LAPACK_LIBRARIES})
+	
 # Add MatrixAbstractLayer compilation flags and link to library libMatrixAbstractLayer.so
 ADD_DEFINITIONS(${MATRIXABSTRACTLAYER_CFLAGS})
 IF(UNIX)
@@ -125,42 +116,6 @@ foreach(dlink ${MATRIXABSTRACTLAYER_LDFLAGS})
 endforeach(dlink)
 ENDIF(WIN32)
 
-# Add dynamicsJRLJapan compilation flags and link to library libdynamicsJRLJapan.so
-ADD_DEFINITIONS(${DYNAMICSJRLJAPAN_CFLAGS})
-IF(UNIX)
-TARGET_LINK_LIBRARIES(${LIBRARY_NAME} ${DYNAMICSJRLJAPAN_LIBRARIES})
-ENDIF(UNIX)
-
-IF(WIN32)
-foreach(dlink ${DYNAMICSJRLJAPAN_LDFLAGS})
-	SET ( ${PROJECT_NAME}_src_LDFLAGS "${${PROJECT_NAME}_src_LDFLAGS}  ${dlink}")
-endforeach(dlink)
-ENDIF(WIN32)
-
-# Add hrp2Dynamics compilation flags and link to library libhrp2Dynamics.so
-ADD_DEFINITIONS(${HRP2DYNAMICS_CFLAGS})
-IF(UNIX)
-TARGET_LINK_LIBRARIES(${LIBRARY_NAME} ${HRP2DYNAMICS_LIBRARIES})
-ENDIF(UNIX)
-
-IF(WIN32)
-foreach(dlink ${HRP2DYNAMICS_LDFLAGS})
-	SET ( ${PROJECT_NAME}_src_LDFLAGS "${${PROJECT_NAME}_src_LDFLAGS}  ${dlink}")
-endforeach(dlink)
-ENDIF(WIN32)
-
-# Add walkGenJrl compilation flags and link to library libwalkGenJrl.so
-ADD_DEFINITIONS(${WALKGENJRL_CFLAGS})
-IF(UNIX)
-TARGET_LINK_LIBRARIES(${LIBRARY_NAME} ${WALKGENJRL_LIBRARIES})
-ENDIF(UNIX)
-
-IF(WIN32)
-foreach(dlink ${WALKGENJRL_LDFLAGS})
-	SET ( ${PROJECT_NAME}_src_LDFLAGS "${${PROJECT_NAME}_src_LDFLAGS}  ${dlink}")
-endforeach(dlink)
-ENDIF(WIN32)
-
 # Add dynamic-graph compilation flags and link to library libdynamic-graph.so
 ADD_DEFINITIONS(${DYNAMIC_GRAPH_CFLAGS})
 IF(UNIX)
diff --git a/src/factory/additional-functions.cpp b/src/factory/additional-functions.cpp
index a071720b..aa2166ab 100644
--- a/src/factory/additional-functions.cpp
+++ b/src/factory/additional-functions.cpp
@@ -13,7 +13,7 @@
  *
  * Description
  * ============
- * SOT-specific functions for the shell
+ * SOT-specific functions for the g_shell
  *
  * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
 
@@ -24,22 +24,22 @@
 #include <sot-core/factory.h>
 #include <sot-core/additional-functions.h>
 #include <sot-core/signal-cast.h>
-#include <dynamic-graph/all-signals.h>
+#include <dynamic-graph/signal.h>
 #include <sot-core/flags.h>
 using namespace std;
 using namespace sot;
 
 /* \brief Constructor. At creation, overloads (deregisters-then registers
- * again) the 'new' function in the shell
+ * again) the 'new' function in the g_shell
  */
 AdditionalFunctions::AdditionalFunctions() {
 	// overload 'new'
-	Shell.deregisterFunction("new");
-	Shell.registerFunction("new", &AdditionalFunctions::cmdNew);
+	g_shell.deregisterFunction("new");
+	g_shell.registerFunction("new", &AdditionalFunctions::cmdNew);
 }
 
 AdditionalFunctions::~AdditionalFunctions() {
-	Shell.deregisterFunction("new");
+	g_shell.deregisterFunction("new");
 }
 
 void AdditionalFunctions::cmdNew( const std::string& cmdLine, istringstream& cmdArg, std::ostream& os )
@@ -54,10 +54,10 @@ void AdditionalFunctions::cmdNew( const std::string& cmdLine, istringstream& cmd
   string objName;
   cmdArg >> className >>objName;
   sotDEBUG(15) << "New <" << className<<"> requested."<<endl;
-  if( factory.existEntity( className ) )
+  if( g_factory.existEntity( className ) )
     {
       sotDEBUG(15) << "New entity<"<<className<<"> " <<objName<<std::endl;
-      factory.newEntity(className,objName);
+      g_factory.newEntity(className,objName);
     }
   else if( sotFactory.existFeature( className ) )
     {
@@ -130,7 +130,7 @@ cmdFlagSet( const std::string& cmdLine, istringstream& cmdArg, std::ostream& os
 
   try {
     Signal<Flags,int> &sig1
-      = dynamic_cast< Signal<Flags,int>& >( pool.getSignal(cmdArg) );
+      = dynamic_cast< Signal<Flags,int>& >( g_pool.getSignal(cmdArg) );
 
     dgDEBUG(25) << "set..."<<endl;
     Flags fl; try { fl = sig1.accessCopy(); } catch(...) {}
diff --git a/src/feature/feature-point6d-relative.cpp b/src/feature/feature-point6d-relative.cpp
index df2d687a..52ac3715 100644
--- a/src/feature/feature-point6d-relative.cpp
+++ b/src/feature/feature-point6d-relative.cpp
@@ -302,7 +302,7 @@ commandLine( const std::string& cmdLine,
 	{
 	  std::string nameSdes; cmdArgs >> nameSdes;
 	  FeaturePoint6dRelative & sdes 
-	    = dynamic_cast< FeaturePoint6dRelative &> (pool.getEntity( nameSdes ));
+	    = dynamic_cast< FeaturePoint6dRelative &> (g_pool.getEntity( nameSdes ));
 	  const int timeCurr = positionSIN.getTime() +1;
 	  positionSIN.recompute( timeCurr );
 	  positionReferenceSIN.recompute( timeCurr );
diff --git a/src/feature/feature-task.cpp b/src/feature/feature-task.cpp
index 7e123cca..f0658341 100644
--- a/src/feature/feature-task.cpp
+++ b/src/feature/feature-task.cpp
@@ -125,7 +125,7 @@ commandLine( const std::string& cmdLine,
       if( cmdArgs.good() )
 	{
 	  std::string name; cmdArgs >> name;
-	  TaskAbstract& task = dynamic_cast< TaskAbstract & > (pool .getEntity( name ));
+	  TaskAbstract& task = dynamic_cast< TaskAbstract & > (g_pool .getEntity( name ));
 	  taskPtr = &task;
 
 	  errorSIN.plug( &task.taskSOUT );
diff --git a/src/math/op-point-modifier.cpp b/src/math/op-point-modifier.cpp
index fe097556..7cb8f29a 100644
--- a/src/math/op-point-modifier.cpp
+++ b/src/math/op-point-modifier.cpp
@@ -96,7 +96,7 @@ commandLine( const std::string& cmdLine,
     {
       Signal< MatrixHomogeneous,int > &sig 
 	= dynamic_cast< Signal< MatrixHomogeneous,int >& > 
-	(pool.getSignal( cmdArgs ));
+	(g_pool.getSignal( cmdArgs ));
       setTransformation(sig.accessCopy());
     }
   else if( cmdLine == "getTransfo" ) 
diff --git a/src/sot/sot-h.cpp b/src/sot/sot-h.cpp
index cf53f0ab..242c992d 100644
--- a/src/sot/sot-h.cpp
+++ b/src/sot/sot-h.cpp
@@ -31,14 +31,14 @@
 using namespace std;
 using namespace sot;
 
-//#ifdef VP_DEBUG
+#ifdef VP_DEBUG
 class sotSOTH__INIT
 {
 public:sotSOTH__INIT( void ) { sot::DebugTrace::openFile(); }
 };
 
 sotSOTH__INIT sotSOTH_initiator;
-//#endif
+#endif
 
 /* --------------------------------------------------------------------- */
 /* --- CLASS ----------------------------------------------------------- */
diff --git a/src/task/constraint.cpp b/src/task/constraint.cpp
index 01c7fce8..130a91f3 100644
--- a/src/task/constraint.cpp
+++ b/src/task/constraint.cpp
@@ -157,7 +157,7 @@ commandLine( const std::string& cmdLine
     }
   else if( cmdLine=="add" )
     {
-      SignalBase<int>* sigA = &pool.getSignal( cmdArgs );
+      SignalBase<int>* sigA = &g_pool.getSignal( cmdArgs );
       Signal< ml::Matrix,int >* sig 
 	= dynamic_cast< Signal<ml::Matrix,int>* >( sigA );
       if(! sig ) 
diff --git a/src/task/task-conti.cpp b/src/task/task-conti.cpp
index ecce5700..b07c3b47 100644
--- a/src/task/task-conti.cpp
+++ b/src/task/task-conti.cpp
@@ -159,7 +159,7 @@ commandLine( const std::string& cmdLine
   else if( cmdLine=="touch" )
     {
       Signal<ml::Vector,int> & sig
-	= dynamic_cast< Signal<ml::Vector,int>& >( pool.getSignal( cmdArgs ) );
+	= dynamic_cast< Signal<ml::Vector,int>& >( g_pool.getSignal( cmdArgs ) );
       timeRef = TIME_REF_TO_BE_SET; //sig.getTime();
       q0 = sig.accessCopy();
     }
diff --git a/unitTesting/CMakeLists.txt b/unitTesting/CMakeLists.txt
index 4e3aa15e..3554c019 100644
--- a/unitTesting/CMakeLists.txt
+++ b/unitTesting/CMakeLists.txt
@@ -14,15 +14,6 @@ FOREACH(test ${tests})
 	# provide path to library libMatrixAbstractLayer.so
 	LINK_DIRECTORIES(${MATRIXABSTRACTLAYER_LIBRARY_DIRS})
 	
-	# provide path to library libdynamicsJRLJapan.so
-	LINK_DIRECTORIES(${DYNAMICSJRLJAPAN_LIBRARY_DIRS})
-	
-	# provide path to library libhrp2Dynamics.so
-	LINK_DIRECTORIES(${HRP2DYNAMICS_LIBRARY_DIRS})
-	
-	# provide path to library libwalkGenJrl.so
-	LINK_DIRECTORIES(${WALKGENJRL_LIBRARY_DIRS})
-	
 	# provide path to library libdynamic-graph.so
 	LINK_DIRECTORIES(${DYNAMIC_GRAPH_LIBRARY_DIRS})
 	
@@ -40,24 +31,18 @@ FOREACH(test ${tests})
 	ADD_DEFINITIONS(${MATRIXABSTRACTLAYER_CFLAGS})
 	TARGET_LINK_LIBRARIES(${EXECUTABLE_NAME} ${MATRIXABSTRACTLAYER_LIBRARIES})
 	
-	# Add dynamicsJRLJapan compilation flags and link to library libdynamicsJRLJapan.so
-	ADD_DEFINITIONS(${DYNAMICSJRLJAPAN_CFLAGS})
-	TARGET_LINK_LIBRARIES(${EXECUTABLE_NAME} ${DYNAMICSJRLJAPAN_LIBRARIES})
-	
-	# Add hrp2Dynamics compilation flags and link to library libhrp2Dynamics.so
-	ADD_DEFINITIONS(${HRP2DYNAMICS_CFLAGS})
-	TARGET_LINK_LIBRARIES(${EXECUTABLE_NAME} ${HRP2DYNAMICS_LIBRARIES})
-	
-	# Add walkGenJrl compilation flags and link to library libwalkGenJrl.so
-	ADD_DEFINITIONS(${WALKGENJRL_CFLAGS})
-	TARGET_LINK_LIBRARIES(${EXECUTABLE_NAME} ${WALKGENJRL_LIBRARIES})
-	
+	# Add lapack compilation flags and link to library libLapack.so
+	ADD_DEFINITIONS(${LAPACK_CFLAGS})
+	TARGET_LINK_LIBRARIES(${EXECUTABLE_NAME} ${LAPACK_LIBRARIES})
+
 	# Add dynamic-graph compilation flags and link to library libdynamic-graph.so
 	ADD_DEFINITIONS(${DYNAMIC_GRAPH_CFLAGS})
 	TARGET_LINK_LIBRARIES(${EXECUTABLE_NAME} ${DYNAMIC_GRAPH_LIBRARIES})
 	
 	# FIXME
+	IF (UNIX)
 	TARGET_LINK_LIBRARIES(${EXECUTABLE_NAME}
 		dl)
+	ENDIF(UNIX)
 
 ENDFOREACH(test)
-- 
GitLab