Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
OpenDAS
torch-sparse
Commits
c8335ddd
Commit
c8335ddd
authored
Jul 09, 2020
by
Lindsey Gray
Browse files
add basic cmake for torchsparse
parent
51a81777
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
115 additions
and
0 deletions
+115
-0
CMakeLists.txt
CMakeLists.txt
+77
-0
cmake/TorchSparseConfig.cmake.in
cmake/TorchSparseConfig.cmake.in
+38
-0
No files found.
CMakeLists.txt
0 → 100644
View file @
c8335ddd
cmake_minimum_required
(
VERSION 3.0
)
project
(
torchsparse
)
set
(
CMAKE_CXX_STANDARD 14
)
set
(
TORCHSPARSE_VERSION 0.6.6
)
option
(
WITH_CUDA
"Enable CUDA support"
OFF
)
if
(
WITH_CUDA
)
enable_language
(
CUDA
)
add_definitions
(
-D__CUDA_NO_HALF_OPERATORS__
)
endif
()
find_package
(
Python3 COMPONENTS Development
)
find_package
(
Torch REQUIRED
)
#file(GLOB HEADERS csrc/scatter.h)
file
(
GLOB OPERATOR_SOURCES csrc/cpu/*.h csrc/cpu/*.cpp csrc/*.cpp
)
if
(
WITH_CUDA
)
file
(
GLOB OPERATOR_SOURCES
${
OPERATOR_SOURCES
}
csrc/cuda/*.h csrc/cuda/*.cu
)
endif
()
add_library
(
${
PROJECT_NAME
}
SHARED
${
OPERATOR_SOURCES
}
)
target_link_libraries
(
${
PROJECT_NAME
}
PRIVATE
${
TORCH_LIBRARIES
}
Python3::Python
)
set_target_properties
(
${
PROJECT_NAME
}
PROPERTIES EXPORT_NAME TorchSparse
)
target_include_directories
(
${
PROJECT_NAME
}
INTERFACE
$<BUILD_INTERFACE:
${
HEADERS
}
>
$<INSTALL_INTERFACE:
${
CMAKE_INSTALL_INCLUDEDIR
}
>
)
include
(
GNUInstallDirs
)
include
(
CMakePackageConfigHelpers
)
set
(
TORCHSPARSE_CMAKECONFIG_INSTALL_DIR
"share/cmake/TorchSparse"
CACHE STRING
"install path for TorchSparseConfig.cmake"
)
configure_package_config_file
(
cmake/TorchSparseConfig.cmake.in
"
${
CMAKE_CURRENT_BINARY_DIR
}
/TorchSparseConfig.cmake"
INSTALL_DESTINATION
${
TORCHSPARSE_CMAKECONFIG_INSTALL_DIR
}
)
write_basic_package_version_file
(
${
CMAKE_CURRENT_BINARY_DIR
}
/TorchSparseConfigVersion.cmake
VERSION
${
TORCHSPARSE_VERSION
}
COMPATIBILITY AnyNewerVersion
)
install
(
FILES
${
CMAKE_CURRENT_BINARY_DIR
}
/TorchSparseConfig.cmake
${
CMAKE_CURRENT_BINARY_DIR
}
/TorchSparseConfigVersion.cmake
DESTINATION
${
TORCHSPARSE_CMAKECONFIG_INSTALL_DIR
}
)
install
(
TARGETS
${
PROJECT_NAME
}
EXPORT TorchSparseTargets
LIBRARY DESTINATION
${
CMAKE_INSTALL_LIBDIR
}
)
install
(
EXPORT TorchSparseTargets
NAMESPACE TorchSparse::
DESTINATION
${
TORCHSPARSE_CMAKECONFIG_INSTALL_DIR
}
)
install
(
FILES
${
HEADERS
}
DESTINATION
${
CMAKE_INSTALL_INCLUDEDIR
}
/
${
PROJECT_NAME
}
)
install
(
FILES
csrc/cpu/convert_cpu.h
csrc/cpu/metis_cpu.h
csrc/cpu/rw_cpu.h
csrc/cpu/sample_cpu.h
csrc/cpu/spspmm_cpu.h
csrc/cpu/diag_cpu.h
csrc/cpu/reducer.h
csrc/cpu/saint_cpu.h
csrc/cpu/spmm_cpu.h
csrc/cpu/utils.h
DESTINATION
${
CMAKE_INSTALL_INCLUDEDIR
}
/
${
PROJECT_NAME
}
/cpu
)
if
(
WITH_CUDA
)
install
(
FILES
csrc/cuda/convert_cuda.h
csrc/cuda/diag_cuda.h
csrc/cuda/rw_cuda.h
csrc/cuda/spmm_cuda.h
csrc/cuda/spspmm_cuda.h
DESTINATION
${
CMAKE_INSTALL_INCLUDEDIR
}
/
${
PROJECT_NAME
}
/cuda
)
endif
()
cmake/TorchSparseConfig.cmake.in
0 → 100644
View file @
c8335ddd
# TorchSparseConfig.cmake
# --------------------
#
# Exported targets:: Sparse
#
@PACKAGE_INIT@
set(PN TorchSparse)
set(${PN}_INCLUDE_DIR "${PACKAGE_PREFIX_DIR}/@CMAKE_INSTALL_INCLUDEDIR@")
set(${PN}_LIBRARY "")
set(${PN}_DEFINITIONS USING_${PN})
check_required_components(${PN})
if(NOT (CMAKE_VERSION VERSION_LESS 3.0))
#-----------------------------------------------------------------------------
# Don't include targets if this file is being picked up by another
# project which has already built this as a subproject
#-----------------------------------------------------------------------------
if(NOT TARGET ${PN}::TorchSparse)
include("${CMAKE_CURRENT_LIST_DIR}/${PN}Targets.cmake")
if(NOT TARGET torch_library)
find_package(Torch REQUIRED)
endif()
if(NOT TARGET Python3::Python)
find_package(Python3 COMPONENTS Development)
endif()
target_link_libraries(TorchSparse::TorchSparse INTERFACE ${TORCH_LIBRARIES} Python3::Python)
if(@WITH_CUDA@)
target_compile_definitions(TorchSparse::TorchSparse INTERFACE WITH_CUDA)
endif()
endif()
endif()
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment