Skip to content

Commit b20044c

Browse files
authored
Merge pull request #132 from jcarpent/devel
Improve packaging and export of the project
2 parents e3087e9 + 17627d6 commit b20044c

File tree

7 files changed

+43
-34
lines changed

7 files changed

+43
-34
lines changed

.travis.yml

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,15 @@ before_install: ./.travis/run before_install
5454
install: pip install coveralls numpy
5555
script:
5656
- export CMAKE_ADDITIONAL_OPTIONS="-DCMAKE_BUILD_TYPE=${BUILDTYPE}"
57-
- sudo free -m -t
58-
- ls -l /usr/lib/x86_64-linux-gnu/libboost_python*
5957
- ./.travis/run ../travis_custom/custom_build
58+
- cd $TRAVIS_BUILD_DIR/unittest/cmake
59+
- mkdir build
60+
- cd build
61+
- export CMAKE_PREFIX_PATH=/tmp/_ci/install
62+
- cmake ..
63+
- make
64+
- ./extra_lib
65+
- cd /tmp/_ci/build
66+
- make uninstall
6067
after_failure: ./.travis/run after_failure
6168
after_success: ./.travis/run after_success

CMakeLists.txt

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ SET(PROJECT_NAME eigenpy)
99
SET(PROJECT_DESCRIPTION "Bindings between Numpy and Eigen using Boost.Python")
1010
SET(PROJECT_URL "http://github.com/stack-of-tasks/eigenpy")
1111
SET(PROJECT_USE_CMAKE_EXPORT TRUE)
12+
SET(PROJECT_USE_KEYWORD_LINK_LIBRARIES TRUE)
1213
SET(PROJECT_CUSTOM_HEADER_EXTENSION "hpp")
1314

1415
# Check if the submodule cmake have been initialized
@@ -102,11 +103,6 @@ LIST(APPEND ${PROJECT_NAME}_HEADERS
102103
${${PROJECT_NAME}_BINARY_DIR}/include/${PROJECT_NAME}/deprecated.hpp
103104
${${PROJECT_NAME}_BINARY_DIR}/include/${PROJECT_NAME}/warning.hpp)
104105

105-
INCLUDE_DIRECTORIES(${${PROJECT_NAME}_BINARY_DIR}/include)
106-
INCLUDE_DIRECTORIES(${${PROJECT_NAME}_SOURCE_DIR}/include)
107-
108-
LINK_DIRECTORIES(${PYTHON_LIBRARY_DIRS})
109-
110106
# ----------------------------------------------------
111107
# --- TARGETS ----------------------------------------
112108
# ----------------------------------------------------
@@ -126,7 +122,14 @@ SET(${PROJECT_NAME}_SOURCES
126122
)
127123

128124
ADD_LIBRARY(${PROJECT_NAME} SHARED ${${PROJECT_NAME}_SOURCES} ${${PROJECT_NAME}_HEADERS})
129-
TARGET_INCLUDE_DIRECTORIES(${PROJECT_NAME} SYSTEM PUBLIC ${Boost_INCLUDE_DIRS} ${EIGEN3_INCLUDE_DIRS} ${PYTHON_INCLUDE_DIRS} ${NUMPY_INCLUDE_DIRS})
125+
TARGET_INCLUDE_DIRECTORIES(${PROJECT_NAME}
126+
SYSTEM PUBLIC
127+
${Boost_INCLUDE_DIRS}
128+
${EIGEN3_INCLUDE_DIRS}
129+
${PYTHON_INCLUDE_DIRS}
130+
${NUMPY_INCLUDE_DIRS}
131+
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
132+
130133
IF(NOT WIN32)
131134
TARGET_COMPILE_OPTIONS(${PROJECT_NAME} PRIVATE $<$<CXX_COMPILER_ID:MSVC>:-bigobj> "-Wno-conversion")
132135
ELSE()
@@ -155,10 +158,6 @@ INSTALL(FILES
155158
${CMAKE_CURRENT_BINARY_DIR}/eigenpy/${PROJECT_NAME}_export.h
156159
DESTINATION include/eigenpy)
157160

158-
# This is a temporary work-around to fix MoveIt until jrl-cmakemodules
159-
# can correctly create non-target CMake configs
160-
install(FILES eigenpyConfig.cmake DESTINATION share/eigenpy/cmake)
161-
162161
# Install package for ROS
163162
install(FILES package.xml DESTINATION share/eigenpy)
164163

eigenpyConfig.cmake

Lines changed: 0 additions & 14 deletions
This file was deleted.

python/CMakeLists.txt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -39,13 +39,13 @@ ELSE()
3939
SET(${PYWRAP}_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/${PYTHON_SITELIB}/${PROJECT_NAME})
4040
ENDIF()
4141

42-
SET_TARGET_PROPERTIES(${PYWRAP} PROPERTIES SUFFIX ${PYTHON_EXT_SUFFIX})
43-
44-
SET_TARGET_PROPERTIES(${PYWRAP} PROPERTIES
45-
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/python/${PROJECT_NAME}")
46-
47-
SET_TARGET_PROPERTIES(${PYWRAP} PROPERTIES PREFIX "")
48-
SET_TARGET_PROPERTIES(${PYWRAP} PROPERTIES OUTPUT_NAME "${PROJECT_NAME}")
42+
SET_TARGET_PROPERTIES(${PYWRAP}
43+
PROPERTIES
44+
PREFIX ""
45+
SUFFIX ${PYTHON_EXT_SUFFIX}
46+
OUTPUT_NAME "${PROJECT_NAME}"
47+
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/python/${PROJECT_NAME}"
48+
)
4949

5050
INSTALL(TARGETS ${PYWRAP} DESTINATION ${${PYWRAP}_INSTALL_DIR})
5151

unittest/cmake/CMakeLists.txt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
cmake_minimum_required(VERSION 2.6)
2+
3+
project(ExtraLib CXX)
4+
find_package(eigenpy REQUIRED)
5+
find_package(PythonInterp REQUIRED)
6+
find_package(PythonLibs REQUIRED)
7+
8+
add_executable(extra_lib extra_lib.cpp)
9+
target_link_libraries(extra_lib PUBLIC eigenpy::eigenpy ${PYTHON_LIBRARIES})

unittest/cmake/extra_lib.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
2+
#include <eigenpy/version.hpp>
3+
4+
int main(int /*argc*/, char ** /*argv*/)
5+
{
6+
eigenpy::checkVersionAtLeast(0,0,0);
7+
return 0;
8+
}

0 commit comments

Comments
 (0)