11#
2- # Copyright (c) 2015 LAAS-CNRS
2+ # Copyright (c) 2015-2016 LAAS-CNRS
33#
44# This file is part of eigenpy.
55# eigenpy is free software: you can redistribute it and/or
@@ -33,12 +33,22 @@ STRING(REPLACE "-pedantic" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
3333
3434IF (APPLE )
3535 SET (CMAKE_MACOSX_RPATH TRUE )
36+ SET (CMAKE_SKIP_BUILD_RPATH FALSE )
37+ SET (CMAKE_BUILD_WITH_INSTALL_RPATH FALSE )
38+ SET (CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE )
39+
40+ #SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
41+ LIST (FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${CMAKE_INSTALL_PREFIX} /lib" isSystemDir)
42+ IF ("${isSystemDir} " STREQUAL "-1" )
43+ SET (CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX} /lib" )
44+ ENDIF ("${isSystemDir} " STREQUAL "-1" )
3645ENDIF (APPLE )
3746
3847# ----------------------------------------------------
3948# --- OPTIONS ---------------------------------------
4049# ----------------------------------------------------
4150OPTION (EIGEN_NUMPY_ALIGNED "Directly aligned data between Numpy and Eigen" OFF )
51+ OPTION (BUILD_UNIT_TESTS "Build the unitary tests" ON )
4252
4353IF (EIGEN_NUMPY_ALIGNED)
4454 ADD_DEFINITIONS (-DEIGENPY_ALIGNED)
@@ -48,11 +58,16 @@ ENDIF(EIGEN_NUMPY_ALIGNED)
4858# --- DEPENDANCIES -----------------------------------
4959# ----------------------------------------------------
5060ADD_REQUIRED_DEPENDENCY("eigen3 >= 3.0.5" )
61+
5162SET (BOOST_COMPONENTS python)
5263SEARCH_FOR_BOOST()
53- set (Python_ADDITIONAL_VERSIONS 2.7)
54- FINDPYTHON()
64+ # Add Boost path to include directories.
65+ INCLUDE_DIRECTORIES (${Boost_INCLUDE_DIRS} )
66+
67+ FINDPYTHON(2.7 EXACT REQUIRED)
68+ INCLUDE_DIRECTORIES (${PYTHON_INCLUDE_DIRS} )
5569FIND_NUMPY()
70+ INCLUDE_DIRECTORIES (${NUMPY_INCLUDE_DIRS} )
5671
5772# ----------------------------------------------------
5873# --- INCLUDE ----------------------------------------
@@ -90,10 +105,6 @@ ENDFOREACH(header)
90105# ----------------------------------------------------
91106# --- TARGETS ----------------------------------------
92107# ----------------------------------------------------
93- INCLUDE_DIRECTORIES (${PYTHON_INCLUDE_DIRS} ${NUMPY_INCLUDE_DIRS} )
94- # Add Boost path to include directories.
95- INCLUDE_DIRECTORIES (${Boost_INCLUDE_DIRS} )
96-
97108SET (${PROJECT_NAME} _SOURCES
98109 src/exception.cpp
99110 src/eigenpy.cpp
@@ -102,27 +113,20 @@ SET(${PROJECT_NAME}_SOURCES
102113 src/quaternion.cpp
103114)
104115
105- # With Darwin system, the library needs to be static for a complete exposion of eigen structure under Python
106- IF (APPLE )
107- ADD_LIBRARY (${PROJECT_NAME} ${${PROJECT_NAME} _SOURCES} ${${PROJECT_NAME} _HEADERS})
108- ELSE (APPLE )
109- ADD_LIBRARY (${PROJECT_NAME} SHARED ${${PROJECT_NAME} _SOURCES} ${${PROJECT_NAME} _HEADERS})
110- ENDIF (APPLE )
116+ ADD_LIBRARY (${PROJECT_NAME} SHARED ${${PROJECT_NAME} _SOURCES} ${${PROJECT_NAME} _HEADERS})
111117
112- TARGET_LINK_LIBRARIES (${PROJECT_NAME} ${Boost_LIBRARIES} ${PYTHON_LIBRARIES } )
118+ TARGET_LINK_BOOST_PYTHON (${PROJECT_NAME} )
113119PKG_CONFIG_USE_DEPENDENCY(${PROJECT_NAME} eigen3)
114120INSTALL (TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_PREFIX} /lib)
115121
116122# ----------------------------------------------------
117123# --- UNIT TEST --------------------------------------
118124# ----------------------------------------------------
119- ADD_LIBRARY (matrix SHARED unittest/matrix.cpp)
120- TARGET_LINK_LIBRARIES (matrix ${Boost_LIBRARIES} ${PROJECT_NAME} )
121- SET_TARGET_PROPERTIES (matrix PROPERTIES PREFIX "" )
125+ ADD_SUBDIRECTORY (unittest)
122126
123- ADD_LIBRARY (geometry SHARED unittest/geometry.cpp)
124- TARGET_LINK_LIBRARIES (geometry ${Boost_LIBRARIES} ${PROJECT_NAME} )
125- SET_TARGET_PROPERTIES (geometry PROPERTIES PREFIX "" )
127+ # ----------------------------------------------------
128+ # --- EXECUTABLES ------------------------------------
129+ # ----------------------------------------------------
126130
127131IF (EIGEN_NUMPY_ALIGNED)
128132 PKG_CONFIG_APPEND_CFLAGS("-DEIGENPY_ALIGNED" )
@@ -132,7 +136,5 @@ PKG_CONFIG_APPEND_LIBS(${PROJECT_NAME})
132136PKG_CONFIG_APPEND_CFLAGS("-I${PYTHON_INCLUDE_DIRS} " )
133137PKG_CONFIG_APPEND_CFLAGS("-I${NUMPY_INCLUDE_DIRS} " )
134138PKG_CONFIG_APPEND_BOOST_LIBS(${BOOST_COMPONENTS} )
135- PKG_CONFIG_APPEND_LIBS_RAW(${PYTHON_LIBRARIES} )
136-
137139
138140SETUP_PROJECT_FINALIZE()
0 commit comments