Skip to content

Commit 30c1949

Browse files
jacobkahnjacobkahn
authored and
jacobkahn
committed
Fixes to build
Summary: Minor fixes to CMake build for flashlight and wav2letter++: - Use `find_package` instead of `find_dependency` for compatibility - Only search for flashlight backend-specific dependencies if the backend requiring those dependencies is explicitly selected. This is a stopgap fix; the eventual goal is to always search for all bakcend-specific dependencies and build all flashlight backends for which dependencies exist, but this requires some reconfiguration with teh buidl that will happen down the line. Reviewed By: vineelpratap Differential Revision: D13548638 fbshipit-source-id: c3e3224597780bab433a4176cb58c6cd5fe7c28c
1 parent cc47159 commit 30c1949

File tree

1 file changed

+41
-39
lines changed

1 file changed

+41
-39
lines changed

CMakeLists.txt

+41-39
Original file line numberDiff line numberDiff line change
@@ -81,54 +81,56 @@ else()
8181
endif()
8282

8383
# -------------------- Locate Backend-specific Dependencies --------------------
84-
find_package(CUDA 9.2 QUIET) # CUDA 9.2 is required for >= ArrayFire 3.6.1
85-
if (CUDA_FOUND)
86-
message(STATUS "CUDA found (library: ${CUDA_LIBRARIES} include: ${CUDA_INCLUDE_DIRS})")
87-
else()
88-
message(STATUS "CUDA not found")
89-
if (FLASHLIGHT_USE_CUDA)
90-
message(FATAL_ERROR "CUDA required to build CUDA backend")
91-
endif ()
92-
endif()
93-
94-
find_package(CUDNN 7.2 QUIET) # CUDNN 7.2 works with CUDA 9.2
95-
if (CUDNN_FOUND)
96-
message(STATUS "CUDNN found (library: ${CUDNN_LIBRARIES} include: ${CUDNN_INCLUDE_DIRS})")
97-
else()
98-
message(STATUS "CUDNN not found")
99-
if (FLASHLIGHT_USE_CUDA)
100-
message(FATAL_ERROR "CUDNN required to build CUDA backend")
101-
endif ()
84+
# TODO: rather than conditionally searching for backend-specific dependencies,
85+
# always search for all dependencies, and dynamically build all backends for
86+
# which all required dependencies are found.
87+
88+
if (FLASHLIGHT_USE_CUDA)
89+
find_package(CUDA 9.2 QUIET) # CUDA 9.2 is required for >= ArrayFire 3.6.1
90+
if (CUDA_FOUND)
91+
message(STATUS "CUDA found (library: ${CUDA_LIBRARIES} include: ${CUDA_INCLUDE_DIRS})")
92+
else()
93+
message(STATUS "CUDA not found")
94+
message(FATAL_ERROR "CUDA required to build CUDA backend")
95+
endif()
96+
97+
find_package(CUDNN 7.2 QUIET) # CUDNN 7.2 works with CUDA 9.2
98+
if (CUDNN_FOUND)
99+
message(STATUS "CUDNN found (library: ${CUDNN_LIBRARIES} include: ${CUDNN_INCLUDE_DIRS})")
100+
else()
101+
message(STATUS "CUDNN not found")
102+
message(FATAL_ERROR "CUDNN required to build CUDA backend")
103+
endif()
102104
endif()
103105

104-
find_package(MKL QUIET)
105-
if (MKL_FOUND)
106-
message(STATUS "MKL found")
107-
else()
108-
message(STATUS "MKL not found")
109-
if (FLASHLIGHT_USE_CPU)
106+
if (FLASHLIGHT_USE_CPU)
107+
find_package(MKL QUIET)
108+
if (MKL_FOUND)
109+
message(STATUS "MKL found")
110+
else()
111+
message(STATUS "MKL not found")
110112
message(FATAL_ERROR "MKL required to build CPU backend")
111113
endif()
112-
endif()
113114

114-
find_package(MKLDNN QUIET)
115-
if (MKLDNN_FOUND)
116-
message(STATUS "MKLDNN found")
117-
else()
118-
message(STATUS "MKLDNN not found")
119-
if (FLASHLIGHT_USE_CPU)
115+
find_package(MKLDNN QUIET)
116+
if (MKLDNN_FOUND)
117+
message(STATUS "MKLDNN found")
118+
else()
119+
message(STATUS "MKLDNN not found")
120120
message(FATAL_ERROR "MKLDNN required to build CPU backend")
121121
endif()
122122
endif()
123123

124-
find_package(OpenCL)
125-
if (OpenCL_FOUND)
126-
message(STATUS "OpenCL found (library: ${OpenCL_LIBRARIES} include: ${OpenCL_INCLUDE_DIRS})")
127-
else()
128-
message(STATUS "OpenCL not found")
129-
if (FLASHLIGHT_USE_OPENCL)
130-
message(FATAL_ERROR "OpenCL required to build OpenCL backend")
131-
endif ()
124+
if (FLASHLIGHT_USE_OPENCL)
125+
find_package(OpenCL)
126+
if (OpenCL_FOUND)
127+
message(STATUS "OpenCL found (library: ${OpenCL_LIBRARIES} include: ${OpenCL_INCLUDE_DIRS})")
128+
else()
129+
message(STATUS "OpenCL not found")
130+
if (FLASHLIGHT_USE_OPENCL)
131+
message(FATAL_ERROR "OpenCL required to build OpenCL backend")
132+
endif ()
133+
endif()
132134
endif()
133135

134136

0 commit comments

Comments
 (0)