Skip to content

Commit 542b38c

Browse files
committed
clean
1 parent 27e9044 commit 542b38c

File tree

3,190 files changed

+1024
-556821
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

3,190 files changed

+1024
-556821
lines changed

.gitmodules

+3
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,6 @@
77
[submodule "SIBR_viewers"]
88
path = SIBR_viewers
99
url = https://gitlab.inria.fr/sibr/sibr_core.git
10+
[submodule "submodules/gtracer"]
11+
path = submodules/gtracer
12+
url = https://github.com/fudan-zvg/gtracer.git

README.md

+40-513
Large diffs are not rendered by default.

SIBR_viewers/CMakeLists.txt

+28-62
Original file line numberDiff line numberDiff line change
@@ -7,28 +7,23 @@
77
#
88
# For inquiries contact [email protected] and/or [email protected]
99

10-
CMAKE_MINIMUM_REQUIRED(VERSION 3.22)
1110

11+
CMAKE_MINIMUM_REQUIRED(VERSION 3.16.3)
1212
set (CMAKE_SYSTEM_VERSION 10.0.15063.0 CACHE INTERNAL "Cmake system version" FORCE)
1313
PROJECT(sibr_projects)
1414

15-
set(REQUIRED_VERSION "3.22.0")
16-
set(CHECKED_VERSION "3.27.0")
17-
15+
## Check the cmake version
16+
set(REQUIRED_VERSION "3.16.0")
17+
set(CHECKED_VERSION "3.18.4")
1818
if (CMAKE_VERSION VERSION_LESS REQUIRED_VERSION)
1919
message(WARNING "Deprecated version of cmake. Please update to at least ${REQUIRED_VERSION} (${CHECKED_VERSION} recommended).")
2020
elseif (CMAKE_VERSION VERSION_GREATER CHECKED_VERSION)
2121
message(WARNING "Untested version of cmake. If you checked everything is working properly, please update ${CHECKED_VERSION} in the main CmakeLists.txt with the version you tested.")
2222
endif()
2323

2424
## Include cmake stuff (functions/macros) : Modules files
25-
if(WIN32)
26-
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/windows)
27-
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/windows/Modules)
28-
else()
29-
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/linux)
30-
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/linux/Modules)
31-
endif()
25+
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
26+
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules)
3227
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
3328

3429
## To maintain cmake versions compatibilities
@@ -40,55 +35,28 @@ git_describe(GIT_BRANCH SIBR_CORE_BRANCH GIT_COMMIT_HASH SIBR_CORE_COMMIT_HASH G
4035

4136
message(STATUS "SIBR version :\n BRANCH ${SIBR_CORE_BRANCH}\n COMMIT_HASH ${SIBR_CORE_COMMIT_HASH}\n TAG ${SIBR_CORE_TAG}\n VERSION ${SIBR_CORE_VERSION}")
4237

43-
if(NOT WIN32)
44-
set(CMAKE_CXX_STANDARD 17)
45-
set(CMAKE_CXX_STANDARD_REQUIRED ON)
46-
endif()
47-
48-
49-
if (WIN32)
50-
## Allow C++11 + other flags
51-
include(CheckCXXCompilerFlag)
52-
get_filename_component(currentBuildTool ${CMAKE_BUILD_TOOL} NAME_WE) # tool that can launch the native build system. returned value may be the full path
53-
if(${currentBuildTool} MATCHES "(msdev|devenv|nmake|MSBuild)")
54-
55-
add_compile_options("$<$<COMPILE_LANGUAGE:CXX>:/W3;/DNOMINMAX;/MP;-D_USE_MATH_DEFINES>")
56-
#add_definitions(/W3 /DNOMINMAX /MP -D_USE_MATH_DEFINES)# /D_ITERATOR_DEBUG_LEVEL=1 because you need all external DLl to compile with this flag too
57-
set(CMAKE_CONFIGURATION_TYPES "RelWithDebInfo;Release;Debug" CACHE STRING "" FORCE)
58-
set(CMAKE_CXX_STANDARD 14)
59-
set(CMAKE_CXX_STANDARD_REQUIRED ON)
60-
set(CMAKE_CXX_EXTENSIONS OFF)
61-
elseif(${currentBuildTool} MATCHES "(make|gmake)")
62-
add_definitions("-Wall -Wno-unknown-pragmas -Wno-sign-compare -g -std=c++14 -D__forceinline=\"inline\ __attribute__((always_inline))\"")
63-
# CHECK_CXX_COMPILER_FLAG("-std=gnu++11" COMPILER_SUPPORTS_CXX11)
64-
# CHECK_CXX_COMPILER_FLAG("-std=gnu++0x" COMPILER_SUPPORTS_CXX0X)
65-
# if(COMPILER_SUPPORTS_CXX11)
66-
# add_definitions(-std=gnu++11)
67-
# elseif(COMPILER_SUPPORTS_CXX0X)
68-
# add_definitions(-std=gnu++0x)
69-
# else()
70-
# message(SEND_ERROR "The compiler ${CMAKE_CXX_COMPILER} has no C++14 support. Please use a different C++ compiler.")
71-
# endif()
72-
elseif(APPLE) ## \todo TODO: do a better test and send error on unsupported c++14 compiler
73-
add_definitions(-std=c++14 -stdlib=libc++)
74-
endif()
75-
else()
76-
## Allow C++11 + other flags
77-
include(CheckCXXCompilerFlag)
78-
get_filename_component(currentBuildTool ${CMAKE_BUILD_TOOL} NAME_WE) # tool that can launch the native build system. returned value may be the full path
79-
if(${currentBuildTool} MATCHES "(msdev|devenv|nmake|MSBuild)")
80-
81-
add_compile_options("$<$<COMPILE_LANGUAGE:CXX>:/W3;/DNOMINMAX;/MP;-D_USE_MATH_DEFINES>")
82-
#add_definitions(/W3 /DNOMINMAX /MP -D_USE_MATH_DEFINES)# /D_ITERATOR_DEBUG_LEVEL=1 because you need all external DLl to compile with this flag too
83-
set(CMAKE_CONFIGURATION_TYPES "RelWithDebInfo;Release;Debug" CACHE STRING "" FORCE)
84-
set(CMAKE_CXX_STANDARD 14)
85-
set(CMAKE_CXX_STANDARD_REQUIRED ON)
86-
set(CMAKE_CXX_EXTENSIONS OFF)
87-
elseif(${currentBuildTool} MATCHES "(make|gmake|ninja)")
88-
add_definitions("-fpermissive -fPIC -Wall -Wno-unknown-pragmas -Wno-sign-compare -g -std=c++17 -D__forceinline=\"inline\ __attribute__((always_inline))\"")
89-
elseif(APPLE) ## \todo TODO: do a better test and send error on unsupported c++14 compiler
90-
add_definitions(-std=c++17 -stdlib=libc++)
91-
endif()
38+
## Allow C++11 + other flags
39+
include(CheckCXXCompilerFlag)
40+
get_filename_component(currentBuildTool ${CMAKE_BUILD_TOOL} NAME_WE) # tool that can launch the native build system. returned value may be the full path
41+
if(${currentBuildTool} MATCHES "(msdev|devenv|nmake|MSBuild)")
42+
add_definitions(/W3 /DNOMINMAX /MP -D_USE_MATH_DEFINES)# /D_ITERATOR_DEBUG_LEVEL=1 because you need all external DLl to compile with this flag too
43+
set(CMAKE_CONFIGURATION_TYPES "RelWithDebInfo;Release;Debug" CACHE STRING "" FORCE)
44+
set(CMAKE_CXX_STANDARD 14)
45+
set(CMAKE_CXX_STANDARD_REQUIRED ON)
46+
set(CMAKE_CXX_EXTENSIONS OFF)
47+
elseif(${currentBuildTool} MATCHES "(make|gmake)")
48+
add_definitions("-Wall -Wno-unknown-pragmas -Wno-sign-compare -g -std=c++14 -D__forceinline=\"inline\ __attribute__((always_inline))\"")
49+
# CHECK_CXX_COMPILER_FLAG("-std=gnu++11" COMPILER_SUPPORTS_CXX11)
50+
# CHECK_CXX_COMPILER_FLAG("-std=gnu++0x" COMPILER_SUPPORTS_CXX0X)
51+
# if(COMPILER_SUPPORTS_CXX11)
52+
# add_definitions(-std=gnu++11)
53+
# elseif(COMPILER_SUPPORTS_CXX0X)
54+
# add_definitions(-std=gnu++0x)
55+
# else()
56+
# message(SEND_ERROR "The compiler ${CMAKE_CXX_COMPILER} has no C++14 support. Please use a different C++ compiler.")
57+
# endif()
58+
elseif(APPLE) ## \todo TODO: do a better test and send error on unsupported c++14 compiler
59+
add_definitions(-std=c++14 -stdlib=libc++)
9260
endif()
9361

9462
set(INSTALL_STANDALONE ON)
@@ -208,6 +176,4 @@ ADD_SUBDIRECTORY(src)
208176

209177

210178
## handle documentation
211-
if (WIN32)
212179
ADD_SUBDIRECTORY(docs)
213-
endif()
Original file line numberDiff line numberDiff line change
@@ -1,95 +1,95 @@
1-
# Copyright (C) 2020, Inria
2-
# GRAPHDECO research group, https://team.inria.fr/graphdeco
3-
# All rights reserved.
4-
#
5-
# This software is free for non-commercial, research and evaluation use
6-
# under the terms of the LICENSE.md file.
7-
#
8-
# For inquiries contact [email protected] and/or [email protected]
9-
10-
11-
## Important Note:
12-
## This is not an official Find*cmake. It has been written for searching through
13-
## a custom path (EMBREE_DIR) before checking elsewhere.
14-
##
15-
## FindEMBREE.cmake
16-
## Find EMBREE's includes and library
17-
##
18-
## This module defines :
19-
## [in] EMBREE_DIR, The base directory to search for EMBREE (as cmake var or env var)
20-
## [out] EMBREE_INCLUDE_DIR where to find EMBREE.h
21-
## [out] EMBREE_LIBRARIES, EMBREE_LIBRARY, libraries to link against to use EMBREE
22-
## [out] EMBREE_FOUND, If false, do not try to use EMBREE.
23-
##
24-
25-
26-
if(NOT EMBREE_DIR)
27-
set(EMBREE_DIR "$ENV{EMBREE_DIR}" CACHE PATH "EMBREE root directory")
28-
endif()
29-
if(EMBREE_DIR)
30-
file(TO_CMAKE_PATH ${EMBREE_DIR} EMBREE_DIR)
31-
endif()
32-
33-
34-
## set the LIB POSTFIX to find in a right directory according to what kind of compiler we use (32/64bits)
35-
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
36-
set(EMBREE_SEARCH_LIB "lib64")
37-
set(EMBREE_SEARCH_BIN "bin64")
38-
set(EMBREE_SEARCH_LIB_PATHSUFFIXE "x64")
39-
else()
40-
set(EMBREE_SEARCH_LIB "lib32")
41-
set(EMBREE_SEARCH_BIN "bin32")
42-
set(EMBREE_SEARCH_LIB_PATHSUFFIXE "x86")
43-
endif()
44-
45-
set(PROGRAMFILESx86 "PROGRAMFILES(x86)")
46-
47-
FIND_PATH(EMBREE_INCLUDE_DIR
48-
NAMES embree3/rtcore_geometry.h
49-
PATHS
50-
${EMBREE_DIR}
51-
## linux
52-
/usr
53-
/usr/local
54-
/opt/local
55-
## windows
56-
"$ENV{PROGRAMFILES}/EMBREE"
57-
"$ENV{${PROGRAMFILESx86}}/EMBREE"
58-
"$ENV{ProgramW6432}/EMBREE"
59-
PATH_SUFFIXES include
60-
)
61-
62-
FIND_LIBRARY(EMBREE_LIBRARY
63-
NAMES embree3
64-
PATHS
65-
${EMBREE_DIR}/${EMBREE_SEARCH_LIB}
66-
${EMBREE_DIR}/lib
67-
## linux
68-
/usr/${EMBREE_SEARCH_LIB}
69-
/usr/local/${EMBREE_SEARCH_LIB}
70-
/opt/local/${EMBREE_SEARCH_LIB}
71-
/usr/lib
72-
/usr/local/lib
73-
/opt/local/lib
74-
## windows
75-
"$ENV{PROGRAMFILES}/EMBREE/${EMBREE_SEARCH_LIB}"
76-
"$ENV{${PROGRAMFILESx86}}/EMBREE/${EMBREE_SEARCH_LIB}"
77-
"$ENV{ProgramW6432}/EMBREE/${EMBREE_SEARCH_LIB}"
78-
"$ENV{PROGRAMFILES}/EMBREE/lib"
79-
"$ENV{${PROGRAMFILESx86}}/EMBREE/lib"
80-
"$ENV{ProgramW6432}/EMBREE/lib"
81-
PATH_SUFFIXES ${EMBREE_SEARCH_LIB_PATHSUFFIXE}
82-
)
83-
set(EMBREE_LIBRARIES ${EMBREE_LIBRARY})
84-
85-
MARK_AS_ADVANCED(EMBREE_INCLUDE_DIR EMBREE_LIBRARIES)
86-
87-
INCLUDE(FindPackageHandleStandardArgs)
88-
FIND_PACKAGE_HANDLE_STANDARD_ARGS(EMBREE
89-
REQUIRED_VARS EMBREE_INCLUDE_DIR EMBREE_LIBRARIES
90-
FAIL_MESSAGE "EMBREE wasn't found correctly. Set EMBREE_DIR to the root SDK installation directory."
91-
)
92-
93-
if(NOT EMBREE_FOUND)
94-
set(EMBREE_DIR "" CACHE STRING "Path to EMBREE install directory")
95-
endif()
1+
# Copyright (C) 2020, Inria
2+
# GRAPHDECO research group, https://team.inria.fr/graphdeco
3+
# All rights reserved.
4+
#
5+
# This software is free for non-commercial, research and evaluation use
6+
# under the terms of the LICENSE.md file.
7+
#
8+
# For inquiries contact [email protected] and/or [email protected]
9+
10+
11+
## Important Note:
12+
## This is not an official Find*cmake. It has been written for searching through
13+
## a custom path (EMBREE_DIR) before checking elsewhere.
14+
##
15+
## FindEMBREE.cmake
16+
## Find EMBREE's includes and library
17+
##
18+
## This module defines :
19+
## [in] EMBREE_DIR, The base directory to search for EMBREE (as cmake var or env var)
20+
## [out] EMBREE_INCLUDE_DIR where to find EMBREE.h
21+
## [out] EMBREE_LIBRARIES, EMBREE_LIBRARY, libraries to link against to use EMBREE
22+
## [out] EMBREE_FOUND, If false, do not try to use EMBREE.
23+
##
24+
25+
26+
if(NOT EMBREE_DIR)
27+
set(EMBREE_DIR "$ENV{EMBREE_DIR}" CACHE PATH "EMBREE root directory")
28+
endif()
29+
if(EMBREE_DIR)
30+
file(TO_CMAKE_PATH ${EMBREE_DIR} EMBREE_DIR)
31+
endif()
32+
33+
34+
## set the LIB POSTFIX to find in a right directory according to what kind of compiler we use (32/64bits)
35+
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
36+
set(EMBREE_SEARCH_LIB "lib64")
37+
set(EMBREE_SEARCH_BIN "bin64")
38+
set(EMBREE_SEARCH_LIB_PATHSUFFIXE "x64")
39+
else()
40+
set(EMBREE_SEARCH_LIB "lib32")
41+
set(EMBREE_SEARCH_BIN "bin32")
42+
set(EMBREE_SEARCH_LIB_PATHSUFFIXE "x86")
43+
endif()
44+
45+
set(PROGRAMFILESx86 "PROGRAMFILES(x86)")
46+
47+
FIND_PATH(EMBREE_INCLUDE_DIR
48+
NAMES embree3/rtcore_geometry.h
49+
PATHS
50+
${EMBREE_DIR}
51+
## linux
52+
/usr
53+
/usr/local
54+
/opt/local
55+
## windows
56+
"$ENV{PROGRAMFILES}/EMBREE"
57+
"$ENV{${PROGRAMFILESx86}}/EMBREE"
58+
"$ENV{ProgramW6432}/EMBREE"
59+
PATH_SUFFIXES include
60+
)
61+
62+
FIND_LIBRARY(EMBREE_LIBRARY
63+
NAMES embree3
64+
PATHS
65+
${EMBREE_DIR}/${EMBREE_SEARCH_LIB}
66+
${EMBREE_DIR}/lib
67+
## linux
68+
/usr/${EMBREE_SEARCH_LIB}
69+
/usr/local/${EMBREE_SEARCH_LIB}
70+
/opt/local/${EMBREE_SEARCH_LIB}
71+
/usr/lib
72+
/usr/local/lib
73+
/opt/local/lib
74+
## windows
75+
"$ENV{PROGRAMFILES}/EMBREE/${EMBREE_SEARCH_LIB}"
76+
"$ENV{${PROGRAMFILESx86}}/EMBREE/${EMBREE_SEARCH_LIB}"
77+
"$ENV{ProgramW6432}/EMBREE/${EMBREE_SEARCH_LIB}"
78+
"$ENV{PROGRAMFILES}/EMBREE/lib"
79+
"$ENV{${PROGRAMFILESx86}}/EMBREE/lib"
80+
"$ENV{ProgramW6432}/EMBREE/lib"
81+
PATH_SUFFIXES ${EMBREE_SEARCH_LIB_PATHSUFFIXE}
82+
)
83+
set(EMBREE_LIBRARIES ${EMBREE_LIBRARY})
84+
85+
MARK_AS_ADVANCED(EMBREE_INCLUDE_DIR EMBREE_LIBRARIES)
86+
87+
INCLUDE(FindPackageHandleStandardArgs)
88+
FIND_PACKAGE_HANDLE_STANDARD_ARGS(EMBREE
89+
REQUIRED_VARS EMBREE_INCLUDE_DIR EMBREE_LIBRARIES
90+
FAIL_MESSAGE "EMBREE wasn't found correctly. Set EMBREE_DIR to the root SDK installation directory."
91+
)
92+
93+
if(NOT EMBREE_FOUND)
94+
set(EMBREE_DIR "" CACHE STRING "Path to EMBREE install directory")
95+
endif()

SIBR_viewers/cmake/linux/Win3rdParty.cmake SIBR_viewers/cmake/Win3rdParty.cmake

+23-25
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ function(win3rdParty prefix )
128128

129129
## set the handled version of MSVC
130130
## if you plan to add a win3rdParty dir to download with a new MSVC version: build the win3rdParty dir and add the MSCV entry here.
131-
set(MSVC_VERSIONS_LIST "MSVC17;MSVC11;MSVC12;MSVC14")
131+
set(MSVC_VERSIONS_LIST "MSVC11;MSVC12;MSVC14")
132132

133133
#include(CMakeParseArguments) # CMakeParseArguments is obsolete since cmake 3.5
134134
# cmake_parse_arguments (<prefix> <options> <one_value_keywords> <multi_value_keywords> args)
@@ -143,7 +143,7 @@ function(win3rdParty prefix )
143143
# message(STATUS "value of w3p_DEFAULT_USE = ${w3p_DEFAULT_USE}")
144144

145145
# foreach (loop_var ${MSVC_VERSIONS_LIST})
146-
# message(STATUS "value of w3p_${loop_var} = ${w3p_${loop_var}}")
146+
# message(STATUS "value of w3p_${loop_var} = ${w3p_${loop_var}}")
147147
# endforeach(loop_var)
148148

149149
# message(STATUS "value of w3p_MULTI_SET = ${w3p_MULTI_SET}")
@@ -158,38 +158,36 @@ function(win3rdParty prefix )
158158
if(NOT DEFINED w3p_DEFAULT_USE)
159159
set(w3p_DEFAULT_USE ON)
160160
endif()
161-
162161

163162
## 1st use (check/update|download) :
164163
set(${prefix}_WIN3RDPARTY_USE ${w3p_DEFAULT_USE} CACHE BOOL "Use required 3rdParty binaries from ${prefix}_WIN3RDPARTY_DIR or download it if not exist")
165164

166-
167165
## We want to test if each version of MSVC was filled by the function (see associated parameters)
168166
## As CMake is running only for one version of MSVC, if that MSVC version was filled, we get back associated parameters,
169167
## otherwise we can't use the downloadAndExtractZipFile with win3rdParty.
170168
set(enableWin3rdParty OFF)
171-
172-
foreach(MSVC_VER ${MSVC_VERSIONS_LIST})
173-
if(${MSVC_VER} AND w3p_${MSVC_VER} OR ${MSVC_TOOLSET_VERSION} EQUAL 143 AND ${MSVC_VER} STREQUAL "MSVC17")
174-
list(LENGTH w3p_${MSVC_VER} count)
175-
if("${count}" LESS "2")
176-
#message(WARNING "You are using ${MSVC_VER} with ${prefix}_WIN3RDPARTY_USE=${${prefix}_WIN3RDPARTY_USE}, but win3rdParty function isn't filled for ${MSVC_VER}!")
177-
else()
178-
list(GET w3p_${MSVC_VER} 0 Win3rdPartyName)
179-
list(GET w3p_${MSVC_VER} 1 Win3rdPartyUrl)
180-
if(w3p_VCID)
181-
## try to get the VcId of MSVC. See also MSVC_VERSION cmake var in the doc.
182-
string(REGEX REPLACE "MS([A-Za-z_0-9-]+)" "\\1" vcId ${MSVC_VER})
183-
string(TOLOWER ${vcId} vcId)
184-
set(${prefix}_WIN3RDPARTY_VCID "${vcId}0" CACHE STRING "the MSVC id (commonly used to prefix/suffix library name, see boost or CGAL)")
185-
mark_as_advanced(${prefix}_WIN3RDPARTY_VCID)
186-
endif()
187-
set(enableWin3rdParty ON)
188-
set(suffixCompilerID ${MSVC_VER})
169+
foreach(MSVC_VER ${MSVC_VERSIONS_LIST})
170+
if(${MSVC_VER} AND w3p_${MSVC_VER})
171+
list(LENGTH w3p_${MSVC_VER} count)
172+
if("${count}" LESS "2")
173+
message(WARNING "You are using ${MSVC_VER} with ${prefix}_WIN3RDPARTY_USE=${${prefix}_WIN3RDPARTY_USE}, but win3rdParty function isn't filled for ${MSVC_VER}!")
174+
else()
175+
list(GET w3p_${MSVC_VER} 0 Win3rdPartyName)
176+
list(GET w3p_${MSVC_VER} 1 Win3rdPartyUrl)
177+
if(w3p_VCID)
178+
## try to get the VcId of MSVC. See also MSVC_VERSION cmake var in the doc.
179+
string(REGEX REPLACE "MS([A-Za-z_0-9-]+)" "\\1" vcId ${MSVC_VER})
180+
string(TOLOWER ${vcId} vcId)
181+
set(${prefix}_WIN3RDPARTY_VCID "${vcId}0" CACHE STRING "the MSVC id (commonly used to prefix/suffix library name, see boost or CGAL)")
182+
mark_as_advanced(${prefix}_WIN3RDPARTY_VCID)
183+
endif()
184+
set(enableWin3rdParty ON)
185+
set(suffixCompilerID ${MSVC_VER})
189186
break()
190-
endif()
191-
endif()
192-
endforeach()
187+
endif()
188+
endif()
189+
endforeach()
190+
193191
## If previous step succeed to get MSVC dirname and URL of the current MSVC version, use it to auto download/update the win3rdParty dir
194192
if(enableWin3rdParty AND ${prefix}_WIN3RDPARTY_USE)
195193

0 commit comments

Comments
 (0)