Skip to content

Commit

Permalink
Remove unused MATLAB-only external dependencies
Browse files Browse the repository at this point in the history
  • Loading branch information
Jamie Snape committed Jun 28, 2017
1 parent 52ff428 commit e1117b5
Show file tree
Hide file tree
Showing 21 changed files with 0 additions and 562 deletions.
24 changes: 0 additions & 24 deletions .gitmodules
Expand Up @@ -13,15 +13,9 @@
[submodule "externals/libbot"]
path = externals/libbot
url = https://github.com/RobotLocomotion/libbot2.git
[submodule "externals/spotless"]
path = externals/spotless
url = https://github.com/RobotLocomotion/spotless-pod.git
[submodule "externals/director"]
path = externals/director
url = https://github.com/RobotLocomotion/director.git
[submodule "externals/signalscope"]
path = externals/signalscope
url = https://github.com/mitdrc/signal-scope.git
[submodule "externals/octomap"]
path = externals/octomap
url = https://github.com/OctoMap/octomap.git
Expand All @@ -34,24 +28,6 @@
[submodule "externals/mosek"]
path = externals/mosek
url = https://github.com/RobotLocomotion/mosek.git
[submodule "externals/iris"]
path = externals/iris
url = https://github.com/rdeits/iris-distro.git
[submodule "externals/yalmip"]
path = externals/yalmip
url = https://github.com/RobotLocomotion/yalmip.git
[submodule "externals/sedumi"]
path = externals/sedumi
url = https://github.com/RobotLocomotion/sedumi.git
[submodule "externals/avl"]
path = externals/avl
url = https://github.com/RobotLocomotion/avl.git
[submodule "externals/xfoil"]
path = externals/xfoil
url = https://github.com/RobotLocomotion/xfoil.git
[submodule "externals/meshconverters"]
path = externals/meshconverters
url = https://github.com/RobotLocomotion/meshConverters.git
[submodule "externals/yaml_cpp"]
path = externals/yaml_cpp
url = https://github.com/jbeder/yaml-cpp.git
Expand Down
39 changes: 0 additions & 39 deletions CMakeLists.txt
Expand Up @@ -20,13 +20,7 @@ drake_setup_options()
# BEGIN external projects

# External projects in order of dependencies; 'trivial' ones first
drake_add_external(avl PUBLIC CMAKE FORTRAN)
drake_add_external(meshconverters PUBLIC CMAKE)
drake_add_external(qt_property_browser CMAKE QT)
drake_add_external(sedumi PUBLIC CMAKE MATLAB)
drake_add_external(spotless PUBLIC CMAKE MATLAB)
drake_add_external(xfoil PUBLIC CMAKE FORTRAN)
drake_add_external(yalmip PUBLIC CMAKE MATLAB)

# eigen
# N.B. See #5785; do your best not to have to bump this to a newer commit.
Expand Down Expand Up @@ -210,20 +204,6 @@ drake_add_external(yaml_cpp PUBLIC CMAKE
drake_add_external(ctk_python_console CMAKE PYTHON QT
DEPENDS pythonqt)

# iris
drake_add_external(iris PUBLIC CMAKE MATLAB PYTHON
CMAKE_ARGS
-DBUILD_TESTING=OFF
-DIRIS_WITH_CDD=ON
-DIRIS_WITH_EIGEN=OFF
-DIRIS_WITH_MATLAB=${Matlab_FOUND}
-DIRIS_WITH_MOSEK=OFF
-DIRIS_WITH_PYBIND11=OFF
-DPYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}
-DPYTHON_INCLUDE_DIR=${PYTHON_INCLUDE_DIR}
-DPYTHON_LIBRARY=${PYTHON_LIBRARY}
DEPENDS eigen mosek pybind11)

# ignition_math
drake_add_external(ignition_math PUBLIC CMAKE
URL https://bitbucket.org/ignitionrobotics/ign-math/get/ignition-math3_3.2.0.tar.gz
Expand Down Expand Up @@ -264,10 +244,6 @@ drake_add_external(bot_core_lcmtypes PUBLIC CMAKE PYTHON
drake_add_external(robotlocomotion_lcmtypes PUBLIC CMAKE PYTHON
DEPENDS bot_core_lcmtypes lcm)

# signalscope
drake_add_external(signalscope PUBLIC CMAKE PYTHON QT
DEPENDS ctk_python_console lcm pythonqt)

# Option to skip building drake proper via the superbuild. This allows the
# superbuild to build everything BUT drake, which can still be built separately
# from its build directory. This is used by the dashboards to make separate
Expand All @@ -287,7 +263,6 @@ drake_add_external(drake LOCAL PUBLIC CMAKE ALWAYS MATLAB PYTHON VTK
-DDISABLE_MATLAB:BOOL=${DISABLE_MATLAB}
-DDISABLE_PYTHON:BOOL=${DISABLE_PYTHON}
-DDISABLE_FORTRAN:BOOL=${DISABLE_FORTRAN}
-DWITH_AVL:BOOL=${WITH_AVL}
-DWITH_BOT_CORE_LCMTYPES:BOOL=${WITH_BOT_CORE_LCMTYPES}
-DWITH_BULLET:BOOL=${WITH_BULLET}
-DWITH_CCD:BOOL=${WITH_CCD}
Expand All @@ -300,33 +275,25 @@ drake_add_external(drake LOCAL PUBLIC CMAKE ALWAYS MATLAB PYTHON VTK
-DWITH_IGNITION_MATH3:BOOL=${WITH_IGNITION_MATH} # TODO(jamiesnape): Fix naming inconsistency
-DWITH_IGNITION_RNDF0:BOOL=${WITH_IGNITION_RNDF} # TODO(jamiesnape): Fix naming inconsistency
-DWITH_IPOPT:BOOL=${WITH_IPOPT}
-DWITH_IRIS:BOOL=${WITH_IRIS}
-DWITH_LCM:BOOL=${WITH_LCM}
-DWITH_LIBBOT:BOOL=${WITH_LIBBOT}
-DWITH_MESHCONVERTERS:BOOL=${WITH_MESHCONVERTERS}
-DWITH_MOSEK:BOOL=${WITH_MOSEK}
-DWITH_NLOPT:BOOL=${WITH_NLOPT}
-DWITH_OCTOMAP:BOOL=${WITH_OCTOMAP}
-DWITH_PROTOBUF:BOOL=${WITH_PROTOBUF}
-DWITH_PYBIND11:BOOL=${WITH_PYBIND11}
-DWITH_PYTHON_3:BOOL=${WITH_PYTHON_3}
-DWITH_SEDUMI:BOOL=${WITH_SEDUMI}
-DWITH_SIGNALSCOPE:BOOL=${WITH_SIGNALSCOPE}
-DWITH_SNOPT:BOOL=${WITH_SNOPT}
-DWITH_SPDLOG:BOOL=${WITH_SPDLOG}
-DWITH_SPOTLESS:BOOL=${WITH_SPOTLESS}
-DWITH_TEXTBOOK:BOOL=${WITH_TEXTBOOK}
-DWITH_TINYOBJLOADER:BOOL=${WITH_TINYOBJLOADER}
-DWITH_XFOIL:BOOL=${WITH_XFOIL}
-DWITH_YALMIP:BOOL=${WITH_YALMIP}
-DWITH_YAML_CPP:BOOL=${WITH_YAML_CPP}
-DUSE_CLANG_TIDY:BOOL=${USE_CLANG_TIDY}
-DUSE_INCLUDE_WHAT_YOU_USE:BOOL=${USE_INCLUDE_WHAT_YOU_USE}
-DUSE_LINK_WHAT_YOU_USE:BOOL=${USE_LINK_WHAT_YOU_USE}
-DUSE_SANITIZER:STRING=${USE_SANITIZER}
-DUSE_VALGRIND:STRING=${USE_VALGRIND}
DEPENDS
avl
bot_core_lcmtypes
bullet
ccd
Expand All @@ -340,25 +307,19 @@ drake_add_external(drake LOCAL PUBLIC CMAKE ALWAYS MATLAB PYTHON VTK
ignition-math
ignition-rndf
ipopt
iris
lcm
libbot
meshconverters
mosek
nlopt
octomap
protobuf
pybind11
robotlocomotion_lcmtypes
sedumi
snopt
spdlog
spotless
textbook
tinyobjloader
vtk
xfoil
yalmip
yaml_cpp
)

Expand Down
39 changes: 0 additions & 39 deletions cmake/options.cmake
Expand Up @@ -317,60 +317,21 @@ macro(drake_setup_options)

# END external projects that are ON by default
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# BEGIN external projects that are only needed when MATLAB is in use

# The following projects are default ON when MATLAB is present and enabled.
# Otherwise, they are hidden and default OFF.
drake_optional_external(SEDUMI ON
DEPENDS "NOT DISABLE_MATLAB\;Matlab_FOUND"
"semi-definite programming solver")

drake_optional_external(SPOTLESS ON
DEPENDS "NOT DISABLE_MATLAB\;Matlab_FOUND"
"polynomial optimization front-end for MATLAB")

# The following projects are default OFF when MATLAB is present and enabled.
# Otherwise, they are hidden and default OFF. Some of them may also be hidden
# on Windows regardless of the status of MATLAB.
drake_optional_external(YALMIP OFF
DEPENDS "NOT DISABLE_MATLAB\;Matlab_FOUND"
"free optimization front-end for MATLAB")

# END external projects that are only needed when MATLAB is in use
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# BEGIN external projects that are OFF by default

drake_optional_external(AVL OFF
DEPENDS "NOT DISABLE_FORTRAN"
"use w/ AVL to compute aerodynamic coefficients for airfoils")

drake_optional_external(GUROBI OFF
"Convex/integer optimization solver\; free for academics")

drake_optional_external(IRIS OFF
DEPENDS "WITH_MOSEK"
"fast approximate convex segmentation")

drake_optional_external(MESHCONVERTERS OFF
"uses vcglib to convert a few standard filetypes")

drake_optional_external(MOSEK OFF
"Convex optimization solver\; free for academics")

drake_optional_external(SIGNALSCOPE OFF
"Live plotting tool for LCM messages")

drake_optional_external(SNOPT OFF
"Sparse Non-linear Optimizer\;"
"requires access to RobotLocomotion/snopt-pod")

drake_optional_external(TEXTBOOK OFF
"The Underactuated Robotics textbook and its examples")

drake_optional_external(XFOIL OFF
DEPENDS "NOT DISABLE_FORTRAN"
"use w/ XFOIL to compute aerodynamic coefficients for airfoils")

# END external projects that are OFF by default
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# BEGIN indirectly optional external projects
Expand Down
3 changes: 0 additions & 3 deletions cmake/packages.cmake
Expand Up @@ -156,7 +156,6 @@ macro(drake_find_packages)
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# BEGIN optional packages

drake_find_package(avl CONFIG)
drake_find_package(bot2-core CONFIG)
drake_find_package(bot2-lcmgl-client PKG_CONFIG)
drake_find_package(Bullet MODULE)
Expand All @@ -167,7 +166,6 @@ macro(drake_find_packages)
drake_find_package(ignition-rndf0 CONFIG)
drake_find_package(ipopt PKG_CONFIG)
drake_find_package(lcm CONFIG)
drake_find_package(meshconverters CONFIG)
drake_find_package(mosek CONFIG)
drake_find_package(NLopt CONFIG)
drake_find_package(octomap CONFIG)
Expand All @@ -176,7 +174,6 @@ macro(drake_find_packages)
drake_find_package(snopt CONFIG)
drake_find_package(spdlog CONFIG)
drake_find_package(VTK CONFIG)
drake_find_package(xfoil CONFIG)
drake_find_package(yaml-cpp CONFIG)

# END optional packages
Expand Down
15 changes: 0 additions & 15 deletions drake/addpath_drake.m
Expand Up @@ -25,21 +25,6 @@
end

% add package directories to the matlab path
addpath(fullfile(root,'matlab','systems'));
addpath(fullfile(root,'matlab','systems','plants'));
addpath(fullfile(root,'matlab','systems','plants','collision'));
addpath(fullfile(root,'matlab','systems','plants','constraint'));
addpath(fullfile(root,'matlab','systems','controllers'));
addpath(fullfile(root,'matlab','systems','observers'));
addpath(fullfile(root,'matlab','systems','trajectories'));
addpath(fullfile(root,'matlab','systems','trajectories','TrajectoryLibraries'));
addpath(fullfile(root,'matlab','systems','trajectories','FunnelLibraries'));
addpath(fullfile(root,'matlab','systems','frames'));
addpath(fullfile(root,'matlab','systems','visualizers'));
addpath(fullfile(root,'matlab','systems','robotInterfaces'));
addpath(fullfile(root,'matlab','systems','robotInterfaces','calibration'));
addpath(fullfile(root,'matlab','solvers'));
addpath(fullfile(root,'matlab','solvers','trajectoryOptimization'));
addpath(fullfile(root,'thirdParty'));
addpath(fullfile(root,'thirdParty','bsd'));
addpath(fullfile(root,'thirdParty','bsd','arrow3d'));
Expand Down
37 changes: 0 additions & 37 deletions drake/matlab/CMakeLists.txt
Expand Up @@ -18,23 +18,6 @@ install(FILES
"${CMAKE_CURRENT_BINARY_DIR}/drake_get_lib_path.m"
DESTINATION matlab)

find_program(FFMPEG_EXECUTABLE NAMES ffmpeg avconv
DOC "Path to the ffmpeg executable")

if(avl_FOUND)
# Needs to be in cache to keep MATLAB happy. AVL_EXECUTABLE is set by
# find_package(avl).
set(AVL_EXECUTABLE "${AVL_EXECUTABLE}"
CACHE FILEPATH "Path to the avl executable")
endif()

if(xfoil_FOUND)
# Needs to be in cache to keep MATLAB happy. XFOIL_EXECUTABLE is set by
# find_package(xfoil).
set(XFOIL_EXECUTABLE "${XFOIL_EXECUTABLE}"
CACHE FILEPATH "Path to the xfoil executable")
endif()

if(lcm_FOUND)
# Needs to be in cache to keep MATLAB happy. The target lcm-java is imported
# by find_package(lcm).
Expand All @@ -52,27 +35,19 @@ if(BUILD_TESTING)

drake_add_matlab_addpath_test(gurobi)
drake_add_matlab_addpath_test(mosek)
drake_add_matlab_addpath_test(sedumi)
drake_add_matlab_addpath_test(snopt)
drake_add_matlab_addpath_test(spotless)
drake_add_matlab_addpath_test(yalmip)

function(drake_add_matlab_check_dependency_test dependency)
drake_add_matlab_test(NAME matlab/check_dependency_${dependency}
REQUIRES ${dependency} COMMAND "checkDependency('${dependency}')"
CHECK_DEPENDENCY_STRICT SIZE small)
endfunction()

drake_add_matlab_check_dependency_test(avl)
drake_add_matlab_check_dependency_test(bullet)
drake_add_matlab_check_dependency_test(gurobi)
drake_add_matlab_check_dependency_test(iris)
drake_add_matlab_check_dependency_test(lcm)
drake_add_matlab_check_dependency_test(mosek)
drake_add_matlab_check_dependency_test(sedumi)
drake_add_matlab_check_dependency_test(snopt)
drake_add_matlab_check_dependency_test(spotless)
drake_add_matlab_check_dependency_test(xfoil)

# Unknown dependency.
drake_add_matlab_test(NAME matlab/check_dependency_unknown
Expand All @@ -91,12 +66,10 @@ if(BUILD_TESTING)

# TODO(jamiesnape): These would still pass if MATLAB fails for a reason
# other than a missing dependency.
drake_add_matlab_check_dependency_test_no(avl)
drake_add_matlab_check_dependency_test_no(gurobi)
drake_add_matlab_check_dependency_test_no(lcm)
drake_add_matlab_check_dependency_test_no(mosek)
drake_add_matlab_check_dependency_test_no(snopt)
drake_add_matlab_check_dependency_test_no(xfoil)

if(NOT Bullet_FOUND)
drake_add_matlab_test(NAME matlab/check_dependency_no_bullet
Expand All @@ -105,16 +78,6 @@ if(BUILD_TESTING)
PROPERTIES WILL_FAIL ON)
endif()

if(FFMPEG_EXECUTABLE)
drake_add_matlab_test(NAME matlab/check_dependency_ffmpeg
COMMAND "checkDependency('ffmpeg')" CHECK_DEPENDENCY_STRICT SIZE small)
else()
drake_add_matlab_test(NAME matlab/check_dependency_no_ffmpeg
COMMAND "checkDependency('ffmpeg')" CHECK_DEPENDENCY_STRICT SIZE small)
set_tests_properties(matlab/check_dependency_no_ffmpeg
PROPERTIES WILL_FAIL ON)
endif()

if(Matlab_SIMULINK_FOUND)
drake_add_matlab_test(NAME matlab/check_dependency_simulink
COMMAND "checkDependency('simulink')" CHECK_DEPENDENCY_STRICT
Expand Down
46 changes: 0 additions & 46 deletions drake/matlab/util/CMakeLists.txt
Expand Up @@ -52,52 +52,6 @@ if(Matlab_FOUND)
endif()
endif()

# Mex debugging tools:
if(0)
drake_add_mex(drake_debug_mex EXECUTABLE drakeDebugMex.cpp)
target_link_libraries(drake_debug_mex drakeMexUtil)

message(STATUS "Writing drake_debug_mex.sh")
file(WRITE ${CMAKE_BINARY_DIR}/bin/drake_debug_mex.sh
"#!/bin/bash\n"
"\n"
"# Usage:\n"
"# % drake_debug_mex.sh [args]\n"
"# will set up the environment and then run:\n"
"# % args drake-debug-mex\n"
"#\n"
"# For example,\n"
"# % drake_debug_mex.sh\n"
"# will simply run the executable,\n"
"# % drake_debug_mex.sh gdb\n"
"# will run gdb on drake-debug-mex, and\n"
"# % drake_debug_mex.sh valgrind --leak-check=full --dsymutil=yes --track-origins=yes --xml=yes\n"
"# will run valgrind with the appropriate arguments passed in.\n"
"#\n"
"# It's not pretty, but seems to work for the use\n"
"# cases I've imagined so far. - RussT\n"
"\n")

if(APPLE)
file(APPEND ${CMAKE_BINARY_DIR}/bin/drake_debug_mex.sh
"export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:${MATLAB_ROOT}/bin/${MATLAB_CPU}\n"
"export DYLD_FORCE_FLAT_NAMESPACE=1\n"
"export DYLD_INSERT_LIBRARIES=${CMAKE_BINARY_DIR}/lib/libdebugMex.dylib\n")
else()
file(APPEND ${CMAKE_BINARY_DIR}/bin/drake_debug_mex.sh
"export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${MATLAB_ROOT}/bin/${MATLAB_CPU}\n"
"export LD_PRELOAD=${CMAKE_BINARY_DIR}/lib/libdebugMex.so\n")
endif()

file(APPEND ${CMAKE_BINARY_DIR}/bin/drake_debug_mex.sh
"\n"
"\"\$@\" ${CMAKE_BINARY_DIR}/bin/drake_debug_mex\n")

install(FILES ${CMAKE_BINARY_DIR}/bin/drake_debug_mex.sh
DESTINATION ${CMAKE_INSTALL_PREFIX}/bin
PERMISSIONS OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
endif()

add_subdirectory(geometry/test)

if(BUILD_TESTING)
Expand Down

0 comments on commit e1117b5

Please sign in to comment.