Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[nlopt] Fix nlopt compilation and instlation #788

Merged
merged 1 commit into from
Feb 18, 2015
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 20 additions & 9 deletions 3rdparty/nlopt/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,27 @@ find_package(catkin REQUIRED COMPONENTS mk)

add_custom_target(libnlopt_cxx ALL
DEPENDS ${CATKIN_DEVEL_PREFIX}/lib/libnlopt_cxx.so)
add_custom_command(OUTPUT ${CATKIN_DEVEL_PREFIX}/lib/libnlopt_cxx.so
add_custom_command(OUTPUT
${CATKIN_DEVEL_PREFIX}/lib/libnlopt_cxx.so
${CATKIN_DEVEL_PREFIX}/include/nlopt
COMMAND cp ${PROJECT_SOURCE_DIR}/nlopt-2.3.tar.gz.md5sum ${CMAKE_CURRENT_BINARY_DIR}
COMMAND cmake -E chdir ${CMAKE_CURRENT_BINARY_DIR} make -f ${PROJECT_SOURCE_DIR}/Makefile DSTDIR=${CATKIN_DEVEL_PREFIX} MK_DIR=${mk_PREFIX}/share/mk
DEPENDS Makefile)
COMMAND mkdir -p ${CMAKE_CURRENT_BINARY_DIR}/tmp
COMMAND cmake -E chdir ${CMAKE_CURRENT_BINARY_DIR} make -f ${PROJECT_SOURCE_DIR}/Makefile DSTDIR=${CMAKE_CURRENT_BINARY_DIR}/tmp MK_DIR=${mk_PREFIX}/share/mk
# copy nlopt.h and nlopt.hpp
COMMAND cp -r ${CMAKE_CURRENT_BINARY_DIR}/tmp/include ${CATKIN_DEVEL_PREFIX}/include/nlopt
# copy libnlopt
COMMAND cp ${CMAKE_CURRENT_BINARY_DIR}/tmp/lib/*.so ${CATKIN_DEVEL_PREFIX}/lib/
COMMAND cp -r ${CMAKE_CURRENT_BINARY_DIR}/tmp/share ${CATKIN_DEVEL_PREFIX}/share/
DEPENDS Makefile ${CATKIN_DEVEL_PREFIX}/include
${CATKIN_DEVEL_PREFIX}/lib ${CATKIN_DEVEL_PREFIX}/share)

add_custom_command(OUTPUT ${CATKIN_DEVEL_PREFIX}/include
COMMAND mkdir -p ${CATKIN_DEVEL_PREFIX}/include)

catkin_package(
DEPENDS
CATKIN_DEPENDS
INCLUDE_DIRS ${CATKIN_DEVEL_PREFIX}/include
INCLUDE_DIRS
LIBRARIES nlopt_cxx
EXPORTED_TARGETS libnlopt_cxx
)
Expand All @@ -32,13 +44,12 @@ catkin_package(
# USE_SOURCE_PERMISSIONS
# )

install(DIRECTORY ${CATKIN_DEVEL_PREFIX}/include/
DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
FILES_MATCHING PATTERN "*.h" PATTERN "*.hpp" PATTERN ".svn" EXCLUDE)
install(DIRECTORY ${CATKIN_DEVEL_PREFIX}/include/nlopt/
DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION})

install(DIRECTORY ${CATKIN_DEVEL_PREFIX}/lib/
DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
FILES_MATCHING PATTERN "*nlopt*" PATTERN ".svn" EXCLUDE)
FILES_MATCHING PATTERN "*nlopt*")

install(DIRECTORY ${CATKIN_DEVEL_PREFIX}/share/nlopt
install(DIRECTORY ${CATKIN_DEVEL_PREFIX}/share/nlopt/
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION})