summarylogtreecommitdiffstats
path: root/dependencies.patch
blob: c2521d9da266b3ec7eb3140d8ac76f16d8a279b0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 366ead7b..9b8971ec 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -10,6 +10,13 @@ project(mitsuba
     CXX C
 )
 
+# from: https://github.com/alicevision/geogram/issues/2#issuecomment-536835320
+set(CMAKE_THREAD_LIBS_INIT "-lpthread")
+set(CMAKE_HAVE_THREADS_LIBRARY 1)
+set(CMAKE_USE_WIN32_THREADS_INIT 0)
+set(CMAKE_USE_PTHREADS_INIT 1)
+set(THREADS_PREFER_PTHREAD_FLAG ON)
+
 # ----------------------------------------------------------
 #  Optional features available to users
 # ----------------------------------------------------------
@@ -454,15 +461,13 @@ endif()
 
 # Installation targets
 set(MI_DEPEND
-  IlmImf IlmThread Imath Iex IexMath Half pugixml
+  IlmImf IlmThread Imath Iex IexMath Half
 )
 
 if (CMAKE_SYSTEM_PROCESSOR MATCHES "(x86_64)|(amd64)|(AMD64)")
   set(MI_DEPEND ${MI_DEPEND} asmjit)
 endif()
 
-list(APPEND MI_DEPEND png jpeg)
-
 if (WIN32)
 list(APPEND MI_DEPEND zlib)
 endif()
diff --git a/ext/CMakeLists.txt b/ext/CMakeLists.txt
index 7485f252..0859710f 100644
--- a/ext/CMakeLists.txt
+++ b/ext/CMakeLists.txt
@@ -232,58 +232,19 @@ mark_as_advanced(
 #  libpng
 # ----------------------------------------------------------
 
-set(PNG_SHARED ON CACHE BOOL " " FORCE)
-set(PNG_STATIC OFF CACHE BOOL " " FORCE)
-set(PNG_TESTS OFF CACHE BOOL " " FORCE)
-set(PNG_SKIP_INSTALL_ALL TRUE)
-if (CMAKE_SYSTEM_PROCESSOR STREQUAL "arm64")
-set(PNG_ARM_NEON "on" CACHE STRING " " FORCE)
-endif()
-add_subdirectory(libpng)
-set_property(TARGET png genfiles PROPERTY FOLDER "dependencies")
-set_property(TARGET png PROPERTY OUTPUT_NAME "png-mitsuba")
-
-set(PNG_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/libpng;${CMAKE_CURRENT_BINARY_DIR}/libpng" PARENT_SCOPE)
 set(PNG_LIBRARIES    "png" PARENT_SCOPE)
-set(PNG_DEFINES      -DMI_HAS_LIBPNG PARENT_SCOPE)
-
-mark_as_advanced(DFA_XTRA AWK PNG_FRAMEWORK PNG_HARDWARE_OPTIMIZATIONS
-  PNG_PREFIX PNG_SHARED PNG_STATIC PNG_TESTS PNG_BUILD_ZLIB PNG_DEBUG
-  PNG_INTEL_SSE M_LIBRARY ld-version-script)
 
 # ----------------------------------------------------------
 #  libjpeg 7
 # ----------------------------------------------------------
 
-set(LIBJPEG_BUILD_SHARED ON CACHE BOOL " " FORCE)
-set(LIBJPEG_BUILD_EXECUTABLES OFF CACHE BOOL " " FORCE)
-add_subdirectory(libjpeg)
-set_property(TARGET jpeg PROPERTY FOLDER "dependencies")
-set(JPEG_LIBRARIES libjpeg PARENT_SCOPE)
-
-set(JPEG_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/libjpeg;${CMAKE_CURRENT_BINARY_DIR}/libjpeg" PARENT_SCOPE)
-set(JPEG_LIBRARIES    "jpeg" PARENT_SCOPE)
-set(JPEG_DEFINES      -DMI_HAS_LIBJPEG PARENT_SCOPE)
-
-# Give libpng & libjpeg a name that's guaranteeed not to match other
-# libraries that may already be loaded (e.g. into a Python interpreter)
-set_property(TARGET jpeg PROPERTY OUTPUT_NAME "jpeg-mitsuba")
-
-mark_as_advanced(
-  LIBJPEG_BUILD_EXECUTABLES
-  LIBJPEG_BUILD_SHARED
-)
+set(JPEG_LIBRARIES jpeg PARENT_SCOPE)
 
 # ----------------------------------------------------------
 #  pugixml XML parser
 # ----------------------------------------------------------
 
-add_library(pugixml SHARED pugixml/src/pugixml.cpp)
-set_property(TARGET pugixml PROPERTY
-  LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/pugixml")
-set_property(TARGET pugixml PROPERTY FOLDER "dependencies")
-set(PUGIXML_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/pugixml/src PARENT_SCOPE)
-target_compile_options(pugixml PRIVATE -DPUGIXML_BUILD_DLL)
+find_package(pugixml CONFIG REQUIRED)
 
 # tinyformat include path
 set(TINYFORMAT_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/tinyformat PARENT_SCOPE)