Skip to content

Commit 1325400

Browse files
committed
build: update CMake scripts
1 parent 53ea98d commit 1325400

File tree

19 files changed

+126
-114
lines changed

19 files changed

+126
-114
lines changed

CMakeLists.txt

Lines changed: 63 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -27,19 +27,20 @@ IF(POLICY CMP0167)
2727
ENDIF()
2828

2929
# List configuration options
30-
SET(OpenMVS_BUILD_TOOLS ON CACHE BOOL "Build example applications")
31-
SET(OpenMVS_BUILD_VIEWER ON CACHE BOOL "Build viewer application")
32-
SET(OpenMVS_USE_OPENMP ON CACHE BOOL "Enable OpenMP library")
33-
SET(OpenMVS_USE_BREAKPAD ON CACHE BOOL "Enable BreakPad library")
34-
SET(OpenMVS_USE_PYTHON ON CACHE BOOL "Enable Python library bindings")
35-
SET(OpenMVS_USE_CERES OFF CACHE BOOL "Enable CERES optimization library")
36-
SET(OpenMVS_USE_CUDA ON CACHE BOOL "Enable CUDA library")
37-
SET(OpenMVS_USE_FAST_FLOAT2INT OFF CACHE BOOL "Use an optimized code to convert real numbers to int")
38-
SET(OpenMVS_USE_FAST_INVSQRT OFF CACHE BOOL "Use an optimized code to compute the inverse square root (slower in fact on modern compilers)")
39-
SET(OpenMVS_USE_FAST_CBRT OFF CACHE BOOL "Use an optimized code to compute the cubic root")
40-
SET(OpenMVS_USE_SSE ON CACHE BOOL "Enable SSE optimizations")
41-
SET(OpenMVS_MAX_CUDA_COMPATIBILITY OFF CACHE BOOL "Build for maximum CUDA device compatibility")
42-
SET(OpenMVS_ENABLE_TESTS ON CACHE BOOL "Enable test code")
30+
OPTION(OpenMVS_BUILD_TOOLS "Build example applications" ON)
31+
OPTION(OpenMVS_BUILD_VIEWER "Build viewer application" ON)
32+
OPTION(OpenMVS_USE_OPENMP "Enable OpenMP library" ON)
33+
OPTION(OpenMVS_USE_BREAKPAD "Enable BreakPad library" ON)
34+
OPTION(OpenMVS_USE_PYTHON "Enable Python library bindings" ON)
35+
OPTION(OpenMVS_USE_CERES "Enable CERES optimization library" OFF)
36+
OPTION(OpenMVS_USE_CUDA "Enable CUDA library" ON)
37+
OPTION(OpenMVS_USE_FAST_FLOAT2INT "Use an optimized code to convert real numbers to int" OFF)
38+
OPTION(OpenMVS_USE_FAST_INVSQRT "Use an optimized code to compute the inverse square root (slower in fact on modern compilers)" OFF)
39+
OPTION(OpenMVS_USE_FAST_CBRT "Use an optimized code to compute the cubic root" OFF)
40+
OPTION(OpenMVS_USE_SSE "Enable SSE optimizations" ON)
41+
OPTION(OpenMVS_MAX_CUDA_COMPATIBILITY "Build for maximum CUDA device compatibility" OFF)
42+
OPTION(OpenMVS_ENABLE_IPO "Whether to enable interprocedural optimization" ON)
43+
OPTION(OpenMVS_ENABLE_TESTS "Enable test code" ON)
4344

4445
# Disable CUDA on MacOS
4546
IF(APPLE)
@@ -94,6 +95,11 @@ ELSE()
9495
MESSAGE(STATUS "Build configuration: ${CMAKE_GENERATOR} - ${CMAKE_BUILD_TYPE}")
9596
ENDIF()
9697

98+
# Build position-independent code, so that shared libraries can link against OpenMVS static libraries.
99+
SET(CMAKE_POSITION_INDEPENDENT_CODE ON)
100+
# Set global property to avoid cyclic dependencies.
101+
SET_PROPERTY(GLOBAL PROPERTY GLOBAL_DEPENDS_NO_CYCLES ON)
102+
97103
# Define helper functions and macros.
98104
INCLUDE(build/Utils.cmake)
99105

@@ -110,20 +116,30 @@ SET(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/build/Modules)
110116
SET(OpenMVS_EXTRA_INCLUDES "")
111117
SET(OpenMVS_EXTRA_LIBS "")
112118

119+
if(OpenMVS_ENABLE_IPO)
120+
INCLUDE(CheckIPOSupported)
121+
check_ipo_supported(RESULT IPO_SUPPORTED OUTPUT IPO_ERROR)
122+
if(IPO_SUPPORTED)
123+
SET_PROPERTY(GLOBAL PROPERTY CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE)
124+
MESSAGE(STATUS "Interprocedural optimization enabled")
125+
else()
126+
MESSAGE(WARNING "Interprocedural optimization is not supported: ${IPO_ERROR}")
127+
endif()
128+
endif()
129+
113130
if(OpenMVS_USE_OPENMP)
114-
SET(OpenMP_LIBS "")
115-
FIND_PACKAGE(OpenMP)
131+
FIND_PACKAGE(OpenMP QUIET)
116132
if(OPENMP_FOUND)
117133
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
118134
SET(_USE_OPENMP TRUE)
119135
# cmake only check for separate OpenMP library on AppleClang 7+
120136
# https://github.com/Kitware/CMake/blob/42212f7539040139ecec092547b7d58ef12a4d72/Modules/FindOpenMP.cmake#L252
121137
if(CMAKE_CXX_COMPILER_ID MATCHES "AppleClang" AND (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "7.0"))
122-
SET(OpenMP_LIBS ${OpenMP_libomp_LIBRARY})
123-
LIST(APPEND OpenMVS_EXTRA_LIBS ${OpenMP_LIBS})
138+
LIST(APPEND OpenMVS_EXTRA_LIBS ${OpenMP_libomp_LIBRARY})
124139
endif()
140+
MESSAGE(STATUS "Found OpenMP " ${OpenMP_VERSION} " " ${OpenMP_LIBRARY})
125141
else()
126-
MESSAGE("-- Can't find OpenMP. Continuing without it.")
142+
MESSAGE(STATUS "Can't find OpenMP. Continuing without it.")
127143
endif()
128144
endif()
129145

@@ -134,97 +150,85 @@ if(OpenMVS_USE_CUDA)
134150
# Finding CUDA fails on some systems if paths to nvcc / cuda library are not set; ex. on linux:
135151
# export PATH="/usr/local/cuda/bin:$PATH"
136152
# export LD_LIBRARY_PATH="/usr/local/cuda/lib64:${LD_LIBRARY_PATH}"
137-
SET(CUDA_FOUND TRUE)
138153
if(NOT DEFINED CMAKE_CUDA_ARCHITECTURES)
139154
SET(CMAKE_CUDA_ARCHITECTURES "native")
140155
endif()
141156
ENABLE_LANGUAGE(CUDA)
142-
# not required, but forced by OpenCV old support for CUDA
143-
FIND_PACKAGE(CUDA REQUIRED)
144-
# CUDA-11.x can not be compiled using C++14 standard on Windows
145-
string(REGEX MATCH "^[0-9]+" CUDA_VERSION_MAJOR ${CMAKE_CUDA_COMPILER_VERSION})
146-
string(REGEX REPLACE "([0-9]+)\\.([0-9]+).*" "\\2" CUDA_VERSION_MINOR ${CMAKE_CUDA_COMPILER_VERSION})
147-
if(${CUDA_VERSION_MAJOR} GREATER 10)
148-
SET(CMAKE_CUDA_STANDARD 17)
149-
endif()
150-
EXECUTE_PROCESS(COMMAND "${CMAKE_CUDA_COMPILER}" --list-gpu-arch
151-
OUTPUT_VARIABLE LIST_GPU_ARCH
157+
SET(CUDA_FOUND TRUE)
158+
SET(CMAKE_CUDA_STANDARD 17)
159+
SET(CMAKE_CUDA_STANDARD_REQUIRED ON)
160+
FIND_PACKAGE(CUDAToolkit REQUIRED)
161+
if(OpenMVS_MAX_CUDA_COMPATIBILITY)
162+
EXECUTE_PROCESS(COMMAND "${CMAKE_CUDA_COMPILER}" --list-gpu-arch
163+
OUTPUT_VARIABLE LIST_GPU_ARCH
152164
ERROR_QUIET)
153-
if(NOT LIST_GPU_ARCH AND OpenMVS_MAX_CUDA_COMPATIBILITY)
154-
message(WARNING "Cannot compile for max CUDA compatibility, nvcc does not support --list-gpu-arch")
155-
SET(OpenMVS_MAX_CUDA_COMPATIBILITY OFF)
156-
endif()
157-
if(NOT OpenMVS_MAX_CUDA_COMPATIBILITY)
158-
if(NOT DEFINED CMAKE_CUDA_ARCHITECTURES)
159-
SET(CMAKE_CUDA_ARCHITECTURES 75)
165+
if(NOT LIST_GPU_ARCH)
166+
MESSAGE(WARNING "Cannot compile for max CUDA compatibility, nvcc does not support --list-gpu-arch")
167+
SET(OpenMVS_MAX_CUDA_COMPATIBILITY OFF)
160168
endif()
161-
else()
169+
endif()
170+
if(OpenMVS_MAX_CUDA_COMPATIBILITY)
162171
# Build for maximum compatibility
163172
# https://arnon.dk/matching-sm-architectures-arch-and-gencode-for-various-nvidia-cards/
164-
173+
UNSET(CMAKE_CUDA_ARCHITECTURES)
165174
# Extract list of arch and gencodes
166175
STRING(REPLACE "\r" "" LIST_GPU_ARCH ${LIST_GPU_ARCH})
167176
STRING(REPLACE "\n" ";" LIST_GPU_ARCH ${LIST_GPU_ARCH})
168-
169-
EXECUTE_PROCESS(COMMAND "${CMAKE_CUDA_COMPILER}" --list-gpu-code
170-
OUTPUT_VARIABLE LIST_GPU_CODE
177+
EXECUTE_PROCESS(COMMAND "${CMAKE_CUDA_COMPILER}" --list-gpu-code
178+
OUTPUT_VARIABLE LIST_GPU_CODE
171179
ERROR_QUIET)
172180
STRING(REPLACE "\r" "" LIST_GPU_CODE ${LIST_GPU_CODE})
173181
STRING(REPLACE "\n" ";" LIST_GPU_CODE ${LIST_GPU_CODE})
174-
175182
LIST(GET LIST_GPU_CODE 0 TARGET_GPU_CODE)
176183
SET(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -arch=${TARGET_GPU_CODE}")
177-
178184
SET(IDX 0)
179185
foreach(GPU_ARCH ${LIST_GPU_ARCH})
180186
LIST(GET LIST_GPU_CODE ${IDX} GPU_CODE)
181187
SET(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -gencode=arch=${GPU_ARCH},code=${GPU_CODE}")
182188
MATH(EXPR IDX "${IDX}+1")
183189
endforeach()
184-
MESSAGE("-- Set CUDA flags: " ${CMAKE_CUDA_FLAGS})
190+
MESSAGE(STATUS "Set CUDA flags: " ${CMAKE_CUDA_FLAGS})
185191
endif()
192+
SET(CMAKE_CUDA_SEPARABLE_COMPILATION ON)
193+
SET(CMAKE_CUDA_RESOLVE_DEVICE_SYMBOLS ON)
186194
SET(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} --expt-relaxed-constexpr")
187-
INCLUDE_DIRECTORIES(${CUDA_INCLUDE_DIRS})
195+
LIST(APPEND OpenMVS_EXTRA_INCLUDES ${CUDAToolkit_INCLUDE_DIRS})
196+
LIST(APPEND OpenMVS_EXTRA_LIBS ${CUDAToolkit_LIBRARIES} cuda cudart curand)
188197
SET(_USE_CUDA TRUE)
189-
MESSAGE("-- Found CUDA: " ${CMAKE_CUDA_COMPILER_VERSION} " with GPU arch: " ${CMAKE_CUDA_ARCHITECTURES})
198+
MESSAGE(STATUS "Found CUDA: " ${CMAKE_CUDA_COMPILER_VERSION} " with GPU arch: " ${CMAKE_CUDA_ARCHITECTURES})
190199
else()
191-
SET(CUDA_CUDA_LIBRARY "")
192-
MESSAGE("-- Can't find CUDA. Continuing without it.")
200+
MESSAGE(STATUS "Can't find CUDA. Continuing without it.")
193201
endif()
194-
else()
195-
SET(CUDA_CUDA_LIBRARY "")
196202
endif()
197203

198204
if(OpenMVS_USE_BREAKPAD)
199-
FIND_PACKAGE(BREAKPAD)
205+
FIND_PACKAGE(BREAKPAD QUIET)
200206
if(BREAKPAD_FOUND)
201207
INCLUDE_DIRECTORIES(${BREAKPAD_INCLUDE_DIRS})
202208
ADD_DEFINITIONS(${BREAKPAD_DEFINITIONS})
203209
SET(_USE_BREAKPAD TRUE)
204210
LIST(APPEND OpenMVS_EXTRA_LIBS ${BREAKPAD_LIBS})
205211
else()
206-
MESSAGE("-- Can't find BreakPad. Continuing without it.")
212+
MESSAGE(STATUS "Can't find BreakPad. Continuing without it.")
207213
endif()
208214
endif()
209215

210216
SET(Boost_EXTRA_COMPONENTS "")
211217
if(OpenMVS_USE_PYTHON)
212218
FIND_PACKAGE(Python3 COMPONENTS Interpreter Development REQUIRED)
213219
if(Python3_FOUND)
214-
INCLUDE_DIRECTORIES(${Python3_INCLUDE_DIRS})
215220
LIST(APPEND OpenMVS_EXTRA_INCLUDES ${Python3_INCLUDE_DIRS})
216221
LIST(APPEND OpenMVS_EXTRA_LIBS ${Python3_LIBRARIES})
217222
LIST(APPEND Boost_EXTRA_COMPONENTS python${Python3_VERSION_MAJOR}${Python3_VERSION_MINOR})
218223
MESSAGE(STATUS "Python ${Python3_VERSION_MAJOR}.${Python3_VERSION_MINOR} found (include: ${Python3_INCLUDE_DIRS})")
219224
else()
220-
MESSAGE("-- Can't find Python. Continuing without it.")
225+
MESSAGE(STATUS "Can't find Python. Continuing without it.")
221226
endif()
222227
endif()
223228

224229
FIND_PACKAGE(Boost REQUIRED COMPONENTS iostreams program_options system serialization OPTIONAL_COMPONENTS ${Boost_EXTRA_COMPONENTS})
225230
if(Boost_FOUND)
226231
LIST(APPEND OpenMVS_EXTRA_INCLUDES ${Boost_INCLUDE_DIRS})
227-
INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS})
228232
ADD_DEFINITIONS(${Boost_DEFINITIONS})
229233
LINK_DIRECTORIES(${Boost_LIBRARY_DIRS})
230234
SET(_USE_BOOST TRUE)
@@ -236,7 +240,6 @@ endif()
236240
FIND_PACKAGE(Eigen3 3.4 REQUIRED)
237241
if(EIGEN3_FOUND)
238242
LIST(APPEND OpenMVS_EXTRA_INCLUDES ${EIGEN3_INCLUDE_DIR})
239-
INCLUDE_DIRECTORIES(${EIGEN3_INCLUDE_DIR})
240243
ADD_DEFINITIONS(${EIGEN3_DEFINITIONS})
241244
SET(_USE_EIGEN TRUE)
242245
MESSAGE(STATUS "Eigen ${EIGEN3_VERSION} found (include: ${EIGEN3_INCLUDE_DIR})")
@@ -245,12 +248,11 @@ endif()
245248
FIND_PACKAGE(OpenCV REQUIRED)
246249
if(OpenCV_FOUND)
247250
LIST(APPEND OpenMVS_EXTRA_INCLUDES ${OpenCV_INCLUDE_DIRS})
248-
INCLUDE_DIRECTORIES(${OpenCV_INCLUDE_DIRS})
249251
ADD_DEFINITIONS(${OpenCV_DEFINITIONS})
250252
SET(_USE_OPENCV TRUE)
251253
MESSAGE(STATUS "OpenCV ${OpenCV_VERSION} found (include: ${OpenCV_INCLUDE_DIRS})")
252254
else()
253-
MESSAGE("-- Can't find OpenCV. Please specify OpenCV directory using OpenCV_DIR variable")
255+
MESSAGE(STATUS "Can't find OpenCV. Please specify OpenCV directory using OpenCV_DIR variable")
254256
endif()
255257

256258
LIST(REMOVE_DUPLICATES OpenMVS_EXTRA_INCLUDES)
@@ -273,8 +275,9 @@ if(OpenMVS_USE_CERES)
273275
SET(_USE_CERES TRUE)
274276
endif()
275277

276-
INCLUDE_DIRECTORIES("${OpenMVS_SOURCE_DIR}")
277-
INCLUDE_DIRECTORIES("${CMAKE_BINARY_DIR}")
278+
INCLUDE_DIRECTORIES(${OpenMVS_EXTRA_INCLUDES})
279+
INCLUDE_DIRECTORIES(${OpenMVS_SOURCE_DIR})
280+
INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR})
278281

279282
# Add modules
280283
ADD_SUBDIRECTORY(libs)

apps/DensifyPointCloud/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ else()
66
endif()
77
FILE(GLOB LIBRARY_FILES_H "*.h" "*.inl")
88

9-
cxx_executable_with_flags(DensifyPointCloud "Apps" "${cxx_default}" "MVS;${OpenMVS_EXTRA_LIBS}" ${LIBRARY_FILES_C} ${LIBRARY_FILES_H})
9+
cxx_executable_with_flags(DensifyPointCloud "Apps" "${cxx_default}" "MVS" ${LIBRARY_FILES_C} ${LIBRARY_FILES_H})
1010

1111
# Install
1212
INSTALL(TARGETS DensifyPointCloud

apps/InterfaceCOLMAP/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ else()
66
endif()
77
FILE(GLOB LIBRARY_FILES_H "*.h" "*.inl")
88

9-
cxx_executable_with_flags(InterfaceCOLMAP "Apps" "${cxx_default}" "MVS;${OpenMVS_EXTRA_LIBS}" ${LIBRARY_FILES_C} ${LIBRARY_FILES_H})
9+
cxx_executable_with_flags(InterfaceCOLMAP "Apps" "${cxx_default}" "MVS" ${LIBRARY_FILES_C} ${LIBRARY_FILES_H})
1010

1111
# Install
1212
INSTALL(TARGETS InterfaceCOLMAP

apps/InterfaceMVSNet/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ else()
66
endif()
77
FILE(GLOB LIBRARY_FILES_H "*.h" "*.inl")
88

9-
cxx_executable_with_flags(InterfaceMVSNet "Apps" "${cxx_default}" "MVS;${OpenMVS_EXTRA_LIBS}" ${LIBRARY_FILES_C} ${LIBRARY_FILES_H})
9+
cxx_executable_with_flags(InterfaceMVSNet "Apps" "${cxx_default}" "MVS" ${LIBRARY_FILES_C} ${LIBRARY_FILES_H})
1010

1111
# Install
1212
INSTALL(TARGETS InterfaceMVSNet

apps/InterfaceMetashape/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ else()
66
endif()
77
FILE(GLOB LIBRARY_FILES_H "*.h" "*.inl")
88

9-
cxx_executable_with_flags(InterfaceMetashape "Apps" "${cxx_default}" "MVS;${OpenMVS_EXTRA_LIBS}" ${LIBRARY_FILES_C} ${LIBRARY_FILES_H})
9+
cxx_executable_with_flags(InterfaceMetashape "Apps" "${cxx_default}" "MVS" ${LIBRARY_FILES_C} ${LIBRARY_FILES_H})
1010

1111
# Install
1212
INSTALL(TARGETS InterfaceMetashape

apps/InterfacePolycam/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ else()
66
endif()
77
FILE(GLOB LIBRARY_FILES_H "*.h" "*.inl")
88

9-
cxx_executable_with_flags(InterfacePolycam "Apps" "${cxx_default}" "MVS;${OpenMVS_EXTRA_LIBS}" ${LIBRARY_FILES_C} ${LIBRARY_FILES_H})
9+
cxx_executable_with_flags(InterfacePolycam "Apps" "${cxx_default}" "MVS" ${LIBRARY_FILES_C} ${LIBRARY_FILES_H})
1010

1111
# Install
1212
INSTALL(TARGETS InterfacePolycam

apps/ReconstructMesh/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ else()
66
endif()
77
FILE(GLOB LIBRARY_FILES_H "*.h" "*.inl")
88

9-
cxx_executable_with_flags(ReconstructMesh "Apps" "${cxx_default}" "MVS;${OpenMVS_EXTRA_LIBS}" ${LIBRARY_FILES_C} ${LIBRARY_FILES_H})
9+
cxx_executable_with_flags(ReconstructMesh "Apps" "${cxx_default}" "MVS" ${LIBRARY_FILES_C} ${LIBRARY_FILES_H})
1010

1111
# Install
1212
INSTALL(TARGETS ReconstructMesh

apps/RefineMesh/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ else()
66
endif()
77
FILE(GLOB LIBRARY_FILES_H "*.h" "*.inl")
88

9-
cxx_executable_with_flags(RefineMesh "Apps" "${cxx_default}" "MVS;${OpenMVS_EXTRA_LIBS}" ${LIBRARY_FILES_C} ${LIBRARY_FILES_H})
9+
cxx_executable_with_flags(RefineMesh "Apps" "${cxx_default}" "MVS" ${LIBRARY_FILES_C} ${LIBRARY_FILES_H})
1010

1111
# Install
1212
INSTALL(TARGETS RefineMesh

apps/Tests/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ FILE(GLOB LIBRARY_FILES_H "*.h" "*.inl")
88

99
ADD_DEFINITIONS(-D_DATA_PATH="${CMAKE_CURRENT_SOURCE_DIR}/data/")
1010

11-
cxx_executable_with_flags(Tests "Apps" "${cxx_default}" "MVS;${OpenMVS_EXTRA_LIBS}" ${LIBRARY_FILES_C} ${LIBRARY_FILES_H})
11+
cxx_executable_with_flags(Tests "Apps" "${cxx_default}" "MVS" ${LIBRARY_FILES_C} ${LIBRARY_FILES_H})
1212

1313
# Install
1414
INSTALL(TARGETS Tests

apps/TextureMesh/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ else()
66
endif()
77
FILE(GLOB LIBRARY_FILES_H "*.h" "*.inl")
88

9-
cxx_executable_with_flags(TextureMesh "Apps" "${cxx_default}" "MVS;${OpenMVS_EXTRA_LIBS}" ${LIBRARY_FILES_C} ${LIBRARY_FILES_H})
9+
cxx_executable_with_flags(TextureMesh "Apps" "${cxx_default}" "MVS" ${LIBRARY_FILES_C} ${LIBRARY_FILES_H})
1010

1111
# Install
1212
INSTALL(TARGETS TextureMesh

0 commit comments

Comments
 (0)