diff --git a/CMakeLists.txt b/CMakeLists.txt
index a817712..d377360 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,5 +1,8 @@
-cmake_minimum_required(VERSION 3.0.2)
+cmake_minimum_required(VERSION 3.24.0)
project(torch_vendor)
+include(FetchContent)
+
+cmake_policy(SET CMP0135 NEW)
## Find catkin macros and libraries
## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz)
@@ -9,10 +12,34 @@ find_package(catkin REQUIRED)
## System dependencies are found with CMake's conventions
# find_package(Boost REQUIRED COMPONENTS system)
-## Uncomment this if the package has a setup.py. This macro ensures
-## modules and global scripts declared therein get installed
-## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html
-# catkin_python_setup()
+set(FETCHCONTENT_QUIET FALSE)
+FetchContent_Declare(
+ libtorch
+ URL https://download.pytorch.org/libtorch/cu121/libtorch-cxx11-abi-shared-with-deps-2.1.1%2Bcu121.zip
+ OVERRIDE_FIND_PACKAGE
+ DOWNLOAD_EXTRACT_TIMESTAMP
+)
+FetchContent_MakeAvailable(libtorch)
+
+find_package(Torch REQUIRED PATHS ${libtorch_SOURCE_DIR} NO_DEFAULT_PATH)
+message(WARNING "Torch_FOUND: ${Torch_FOUND}")
+message(WARNING "TORCH_FOUND: ${TORCH_FOUND}")
+message(WARNING "TORCH_INCLUDE_DIRS: ${TORCH_INCLUDE_DIRS}")
+message(WARNING "TORCH_LIBRARIES: ${TORCH_LIBRARIES}")
+message(WARNING "TORCH_LIBRARY: ${TORCH_LIBRARY}")
+message(WARNING "libtorch_SOURCE_DIR: ${libtorch_SOURCE_DIR}")
+message(WARNING "libtorch_BINARY_DIR: ${libtorch_BINARY_DIR}")
+message(WARNING "CATKIN_PACKAGE_LIB_DESTINATION: ${CATKIN_PACKAGE_LIB_DESTINATION}")
+message(WARNING "CATKIN_GLOBAL_BIN_DESTINATION: ${CATKIN_GLOBAL_BIN_DESTINATION}")
+message(WARNING "CATKIN_PACKAGE_INCLUDE_DESTINATION: ${CATKIN_PACKAGE_INCLUDE_DESTINATION}")
+
+#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${TORCH_CXX_FLAGS}")
+
+#get_cmake_property(_variableNames VARIABLES)
+#list (SORT _variableNames)
+#foreach (_variableName ${_variableNames})
+# message(WARNING "${_variableName}=${${_variableName}}")
+#endforeach()
###################################
## catkin specific configuration ##
@@ -24,10 +51,10 @@ find_package(catkin REQUIRED)
## CATKIN_DEPENDS: catkin_packages dependent projects also need
## DEPENDS: system dependencies of this project that dependent projects also need
catkin_package(
-# INCLUDE_DIRS include
-# LIBRARIES torch_vendor
+ INCLUDE_DIRS ${libtorch_SOURCE_DIR}/include/
+# LIBRARIES "${TORCH_LIBRARIES}"
# CATKIN_DEPENDS other_catkin_pkg
-# DEPENDS system_lib
+# DEPENDS TORCH
)
###########
@@ -113,6 +140,17 @@ include_directories(
# DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
# )
+install(DIRECTORY ${libtorch_SOURCE_DIR}/include/
+ DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
+)
+install(DIRECTORY ${libtorch_SOURCE_DIR}/lib/
+ DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
+)
+
+install(DIRECTORY ${libtorch_SOURCE_DIR}/share/
+ DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
+)
+
#############
## Testing ##
#############
diff --git a/package.xml b/package.xml
index 6a4ec69..70c889a 100644
--- a/package.xml
+++ b/package.xml
@@ -34,6 +34,7 @@
catkin
+ cmake