@@ -4,6 +4,8 @@ set(CMAKE_CXX_STANDARD 14)
4
4
file (STRINGS version .txt TORCHVISION_VERSION )
5
5
6
6
option (WITH_CUDA "Enable CUDA support" OFF )
7
+ option (WITH_PNG "Enable features requiring LibPNG." ON )
8
+ option (WITH_JPEG "Enable features requiring LibJPEG." ON )
7
9
option (USE_PYTHON "Link to Python when building" OFF )
8
10
9
11
if (WITH_CUDA )
@@ -18,17 +20,23 @@ if(WITH_CUDA)
18
20
endif ()
19
21
endif ()
20
22
23
+ find_package (Torch REQUIRED )
24
+
25
+ if (WITH_PNG )
26
+ add_definitions (-DPNG_FOUND )
27
+ find_package (PNG REQUIRED )
28
+ endif ()
29
+
30
+ if (WITH_JPEG )
31
+ add_definitions (-DJPEG_FOUND )
32
+ find_package (JPEG REQUIRED )
33
+ endif ()
34
+
21
35
if (USE_PYTHON )
22
36
add_definitions (-DUSE_PYTHON )
23
37
find_package (Python3 REQUIRED COMPONENTS Development )
24
38
endif ()
25
39
26
- find_package (Torch REQUIRED )
27
- find_package (PNG REQUIRED )
28
- find_package (JPEG REQUIRED )
29
- add_definitions (-DJPEG_FOUND )
30
- add_definitions (-DPNG_FOUND )
31
-
32
40
function (CUDA_CONVERT_FLAGS EXISTING_TARGET )
33
41
get_property (old_flags TARGET ${EXISTING_TARGET} PROPERTY INTERFACE_COMPILE_OPTIONS )
34
42
if (NOT "${old_flags} " STREQUAL "" )
@@ -82,7 +90,15 @@ FOREACH(DIR ${ALLOW_LISTED})
82
90
ENDFOREACH ()
83
91
84
92
add_library (${PROJECT_NAME} SHARED ${ALL_SOURCES} )
85
- target_link_libraries (${PROJECT_NAME} PRIVATE ${TORCH_LIBRARIES} ${PNG_LIBRARY} ${JPEG_LIBRARIES} )
93
+ target_link_libraries (${PROJECT_NAME} PRIVATE ${TORCH_LIBRARIES} )
94
+
95
+ if (WITH_PNG )
96
+ target_link_libraries (${PROJECT_NAME} PRIVATE ${PNG_LIBRARY} )
97
+ endif ()
98
+
99
+ if (WITH_JPEG )
100
+ target_link_libraries (${PROJECT_NAME} PRIVATE ${JPEG_LIBRARIES} )
101
+ endif ()
86
102
87
103
if (USE_PYTHON )
88
104
target_link_libraries (${PROJECT_NAME} PRIVATE Python3::Python )
@@ -92,7 +108,15 @@ set_target_properties(${PROJECT_NAME} PROPERTIES
92
108
EXPORT_NAME TorchVision
93
109
INSTALL_RPATH ${TORCH_INSTALL_PREFIX} /lib )
94
110
95
- include_directories (torchvision/csrc ${JPEG_INCLUDE_DIRS} ${PNG_INCLUDE_DIRS} )
111
+ include_directories (torchvision/csrc )
112
+
113
+ if (WITH_PNG )
114
+ include_directories (${PNG_INCLUDE_DIRS} )
115
+ endif ()
116
+
117
+ if (WITH_JPEG )
118
+ include_directories (${JPEG_INCLUDE_DIRS} )
119
+ endif ()
96
120
97
121
set (TORCHVISION_CMAKECONFIG_INSTALL_DIR "share/cmake/TorchVision" CACHE STRING "install path for TorchVisionConfig.cmake" )
98
122
0 commit comments