Skip to content

Commit 2edcfa9

Browse files
KernelAKernelA
KernelA
authored and
KernelA
committed
Fixed problems with building
1 parent 5a0ac6a commit 2edcfa9

File tree

2 files changed

+25
-23
lines changed

2 files changed

+25
-23
lines changed

.github/workflows/autobuild.yml

+14-11
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ on:
99
default: '10.2'
1010
env:
1111
CUDA_ARCH: 30
12+
TRIMESH_VERS: 2020.03.04
1213
jobs:
1314
linux-build:
1415
runs-on: ubuntu-18.04
@@ -17,21 +18,23 @@ jobs:
1718
steps:
1819
- name: Checkout
1920
uses: actions/checkout@v2
20-
with:
21-
ref: universal-cmake
2221

23-
- name: Install GLM and OpenMP
24-
run: apt update && apt install -y libglm-dev libgomp1
22+
- name: Install GLM, OpenMP Boost
23+
run: |
24+
apt update &&
25+
apt install -y software-properties-common
26+
add-apt-repository ppa:mhier/libboost-latest &&
27+
apt update &&
28+
apt install -y libglm-dev libgomp1 libboost1.70-dev
2529
- name: Build Trimesh2
2630
run: |
27-
apt update
2831
apt install -y git mesa-common-dev libglu1-mesa-dev libxi-dev
29-
git clone -b 2020.03.04 https://github.com/Forceflow/trimesh2.git ../trimesh2
30-
cd ../trimesh2 && make all -j 2 && cd -
32+
git clone -b ${TRIMESH_VERS} https://github.com/Forceflow/trimesh2.git ../trimesh2
33+
cd ../trimesh2 && make all -j $(nproc) && cd -
3134
- name: Install CMake
3235
run: |
3336
apt install -y wget
34-
wget https://github.com/Kitware/CMake/releases/download/v3.13.0/cmake-3.13.0-Linux-x86_64.sh -q -O ./cmake-install.sh
37+
wget https://github.com/Kitware/CMake/releases/download/v3.17.0/cmake-3.17.0-Linux-x86_64.sh -q -O ./cmake-install.sh
3538
chmod u+x ./cmake-install.sh
3639
mkdir ./cmake
3740
./cmake-install.sh --skip-license --prefix=./cmake
@@ -41,7 +44,7 @@ jobs:
4144
mkdir ./build
4245
cd ./build
4346
../cmake/bin/cmake -DTrimesh2_INCLUDE_DIR="../../trimesh2/include" -DTrimesh2_LINK_DIR="../../trimesh2/lib.Linux64" -DCUDA_ARCH=${CUDA_ARCH} ..
44-
../cmake/bin/cmake --build . -j 2
47+
../cmake/bin/cmake --build . -j $(nproc)
4548
- name: Test
4649
run: ./build/cuda_voxelizer -f ./test_models/bunny.OBJ -s 64 -cpu
4750

@@ -75,7 +78,7 @@ jobs:
7578
- name: Build Trimesh2
7679
if: steps.trimesh2-cache.outputs.cache-hit != 'true'
7780
run: |
78-
git clone -b 2020.03.04 https://github.com/Forceflow/trimesh2.git ..\trimesh2
81+
git clone -b $env:TRIMESH_VERS https://github.com/Forceflow/trimesh2.git ..\trimesh2
7982
cd ..\trimesh2
8083
& 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\msbuild.exe' .\msvc\vs2019\trimesh2.sln -nologo -m:2 /t:libsrc /p:Configuration=Release /p:Platform=x64
8184
mkdir ..\trimesh2-build
@@ -88,7 +91,7 @@ jobs:
8891
run: |
8992
$trimeshDir = "..\trimesh2-build"
9093
mkdir .\build
91-
& cmake -A x64 -DCMAKE_TOOLCHAIN_FILE:FILEPATH="C:\vcpkg\scripts\buildsystems\vcpkg.cmake" -DTrimesh2_INCLUDE_DIR:PATH="$trimeshDir\include" -DTrimesh2_LINK_DIR:PATH="$trimeshDir\lib.Win64.vs142" -DCUDA_ARCH:STRING=$env:CUDA_ARCH -DCMAKE_BUILD_TYPE=Release -S . -B .\build
94+
& cmake -A x64 -DBoost_DIR="$BOOST_ROOT_1_72_0\lib\cmake\Boost-1.72.0" -DCMAKE_TOOLCHAIN_FILE:FILEPATH="C:\vcpkg\scripts\buildsystems\vcpkg.cmake" -DTrimesh2_INCLUDE_DIR:PATH="$trimeshDir\include" -DTrimesh2_LINK_DIR:PATH="$trimeshDir\lib.Win64.vs142" -DCUDA_ARCH:STRING=$env:CUDA_ARCH -DCMAKE_BUILD_TYPE=Release -S . -B .\build
9295
& cmake --build .\build -j 2 --target ALL_BUILD --config Release
9396
- name: Test cuda_voxelizer
9497
run: .\build\Release\cuda_voxelizer.exe -f .\test_models\bunny.OBJ -s 64 -cpu

CMakeLists.txt

+11-12
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,47 @@
1-
CMAKE_MINIMUM_REQUIRED(VERSION 3.10 FATAL_ERROR)
1+
CMAKE_MINIMUM_REQUIRED(VERSION 3.17 FATAL_ERROR)
22

33
PROJECT(CudaVoxelize LANGUAGES CXX CUDA)
44

5-
FIND_PACKAGE(GLM REQUIRED)
5+
FIND_PACKAGE(glm REQUIRED)
66
FIND_PACKAGE(OpenMP REQUIRED)
77
FIND_PACKAGE(Boost 1.7 REQUIRED COMPONENTS filesystem program_options log log_setup)
8+
FIND_PACKAGE(CUDAToolkit REQUIRED)
89

910
SET(CUDA_VOXELIZER_EXECUTABLE cuda_voxelizer)
1011

1112
SET(Trimesh2_INCLUDE_DIR CACHE PATH "Path to Trimesh2 includes")
1213
SET(CUDA_ARCH CACHE STRING "CUDA compute capability. It is prefer to set native value for your video card. Example: 61")
1314

1415
IF(NOT CUDA_ARCH)
15-
MESSAGE(FATAL_ERROR "You must set CUDA_ARCH variable. For example: 61")
16+
MESSAGE(FATAL_ERROR "You must set CUDA_ARCH variable. For example: 61.")
1617
ENDIF()
1718

1819
IF(NOT Trimesh2_INCLUDE_DIR)
1920
MESSAGE(FATAL_ERROR "You need to set variable Trimesh2_INCLUDE_DIR")
2021
ENDIF()
2122

22-
IF(NOT EXISTS "${Trimesh2_INCLUDE_DIR}")
23-
MESSAGE(FATAL_ERROR "You need set path to Trimesh2 include directory")
24-
ENDIF()
25-
2623
FIND_FILE(Trimesh2_TriMesh_h TriMesh.h ${Trimesh2_INCLUDE_DIR})
2724
IF(NOT Trimesh2_TriMesh_h)
28-
MESSAGE(FATAL_ERROR "Can't find TriMesh.h in ${Trimesh2_INCLUDE_DIR}")
25+
message(FATAL_ERROR "Can't find TriMesh.h in ${Trimesh2_INCLUDE_DIR}")
2926
ENDIF()
27+
MARK_AS_ADVANCED(Trimesh2_TriMesh_h)
3028

31-
SET(Trimesh2_LINK_DIR CACHE PATH "Path to Trimesh2 libraries")
29+
SET(Trimesh2_LINK_DIR CACHE PATH "Path to Trimesh2 library dir.")
3230

3331
IF(NOT Trimesh2_LINK_DIR)
3432
MESSAGE(FATAL_ERROR "You need to set variable Trimesh2_LINK_DIR")
3533
ENDIF()
3634

3735
IF(NOT EXISTS "${Trimesh2_LINK_DIR}")
38-
MESSAGE(FATAL_ERROR "You need to set path to Trimesh2 libraries")
36+
MESSAGE(FATAL_ERROR "Trimesh2 library dir does not exist")
3937
ENDIF()
4038

4139
FIND_LIBRARY(Trimesh2_LIBRARY trimesh ${Trimesh2_LINK_DIR})
4240

4341
IF(NOT Trimesh2_LIBRARY)
44-
MESSAGE(FATAL_ERROR "Can't find librray in ${Trimesh2_LINK_DIR}")
42+
message(SEND_ERROR "Can't find libtrimesh.a in ${Trimesh2_LINK_DIR}")
4543
ENDIF()
44+
MARK_AS_ADVANCED(Trimesh2_LIBRARY)
4645

4746
MESSAGE(STATUS "CUDA compute capability set to ${CUDA_ARCH}")
4847
MESSAGE(STATUS "Found Trimesh2 include: ${Trimesh2_TriMesh_h}")
@@ -79,5 +78,5 @@ SET(CUDA_VOXELIZER_SRCS
7978
ADD_EXECUTABLE(${CUDA_VOXELIZER_EXECUTABLE} ${CUDA_VOXELIZER_SRCS})
8079
TARGET_COMPILE_FEATURES(${CUDA_VOXELIZER_EXECUTABLE} PUBLIC cxx_std_14)
8180
TARGET_INCLUDE_DIRECTORIES( ${CUDA_VOXELIZER_EXECUTABLE} PRIVATE ${Trimesh2_INCLUDE_DIR})
82-
TARGET_LINK_LIBRARIES ( ${CUDA_VOXELIZER_EXECUTABLE} PRIVATE ${Trimesh2_LIBRARY} PRIVATE glm PRIVATE Boost::filesystem PRIVATE Boost::program_options PRIVATE Boost::log_setup PRIVATE Boost::log)
81+
TARGET_LINK_LIBRARIES ( ${CUDA_VOXELIZER_EXECUTABLE} PRIVATE ${Trimesh2_LIBRARY} Boost::log_setup PRIVATE Boost::log PRIVATE Boost::dynamic_linking PRIVATE glm PRIVATE OpenMP::OpenMP_CXX PRIVATE Boost::filesystem PRIVATE Boost::program_options PRIVATE PRIVATE CUDA::cuda_driver PRIVATE CUDA::cudart)
8382
TARGET_COMPILE_OPTIONS(${CUDA_VOXELIZER_EXECUTABLE} PRIVATE $<$<COMPILE_LANGUAGE:CUDA>:-gencode arch=compute_${CUDA_ARCH},code=sm_${CUDA_ARCH}>)

0 commit comments

Comments
 (0)