Skip to content

Commit 2399848

Browse files
author
Vineel Pratap
committed
inf_build
1 parent 64e54f8 commit 2399848

25 files changed

+160
-14
lines changed

recipes/streaming_convnets/inference/CMakeLists.txt

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
1-
cmake_minimum_required(VERSION 3.5.1)
1+
cmake_minimum_required(VERSION 3.10)
22

3-
project(wav2letter-inference)
4-
5-
# Creates build rules for wav2letter inference processing graph.
3+
# Creates build rules for wav2letter inference
64

75
include(GNUInstallDirs)
86

@@ -31,16 +29,18 @@ set_property(
3129
set(CMAKE_CXX_STANDARD 14)
3230
set(CMAKE_CXX_STANDARD_REQUIRED ON)
3331

32+
project(wav2letter-inference)
33+
3434
add_library(wav2letter-inference "")
3535

3636
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/cmake)
3737

38-
#--- Find gflags ---
39-
find_package(gflags REQUIRED)
40-
if (gflags_FOUND)
41-
message(STATUS "gflags found")
38+
#--- Find GFlags ---
39+
find_package(GFLAGS REQUIRED)
40+
if (GFLAGS_FOUND)
41+
message(STATUS "GFLAGS found")
4242
else()
43-
message(FATAL_ERROR "gflags not found")
43+
message(FATAL_ERROR "GFLAGS not found")
4444
endif()
4545

4646
#--- Download and build Google test ---
@@ -82,7 +82,7 @@ add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/inference/module)
8282

8383
# Creates executable targets foreach example.
8484
if (W2L_INFERENCE_BUILD_EXAMPLES)
85-
add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/inference/examples)
85+
add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/examples)
8686
endif()
8787

8888
# ------------------------ Tests ------------------------
@@ -121,7 +121,7 @@ function(build_test SRCFILE)
121121
endfunction(build_test)
122122

123123
set(W2L_INFERENCE_TESTS_PATH
124-
${wav2letter-inference_SOURCE_DIR}/inference/module/test)
124+
${wav2letter-inference_SOURCE_DIR}/test)
125125

126126
set(W2L_INFERENCE_TESTS_SOURCES
127127
${W2L_INFERENCE_TESTS_PATH}/Conv1dTest.cpp
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
cmake_minimum_required(VERSION 3.5.1)
2+
3+
include(ExternalProject)
4+
5+
set(gtest_INCLUDE_DIRS ${CMAKE_CURRENT_BINARY_DIR}/googletest/src/googletest/googletest/include)
6+
set(gtest_URL https://github.com/google/googletest.git)
7+
set(gtest_BUILD ${CMAKE_CURRENT_BINARY_DIR}/googletest/)
8+
set(gtest_TAG 703bd9caab50b139428cea1aaff9974ebee5742e) # release 1.10.0
9+
10+
if (NOT TARGET gtest)
11+
# Download googletest
12+
ExternalProject_Add(
13+
gtest
14+
PREFIX googletest
15+
GIT_REPOSITORY ${gtest_URL}
16+
GIT_TAG ${gtest_TAG}
17+
BUILD_IN_SOURCE 1
18+
BUILD_COMMAND ${CMAKE_COMMAND} --build . --config Release
19+
INSTALL_COMMAND ""
20+
CMAKE_CACHE_ARGS
21+
-DCMAKE_BUILD_TYPE:STRING=Release
22+
-DBUILD_GMOCK:BOOL=ON
23+
-DBUILD_GTEST:BOOL=ON
24+
-Dgtest_force_shared_crt:BOOL=OFF
25+
)
26+
endif ()
27+
28+
ExternalProject_Get_Property(gtest source_dir)
29+
set(GTEST_SOURCE_DIR ${source_dir})
30+
ExternalProject_Get_Property(gtest binary_dir)
31+
set(GTEST_BINARY_DIR ${binary_dir})
32+
33+
# Library and include dirs
34+
set(GTEST_LIBRARIES
35+
"${GTEST_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}gtest${CMAKE_STATIC_LIBRARY_SUFFIX}"
36+
"${GTEST_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}gtest_main${CMAKE_STATIC_LIBRARY_SUFFIX}"
37+
"${GTEST_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}gmock${CMAKE_STATIC_LIBRARY_SUFFIX}"
38+
"${GTEST_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}gmock_main${CMAKE_STATIC_LIBRARY_SUFFIX}"
39+
)
40+
41+
set(GTEST_INCLUDE_DIR
42+
${GTEST_SOURCE_DIR}/googletest/include
43+
${GTEST_SOURCE_DIR}/googlemock/include
44+
)
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
# Try to find the KenLM library
2+
#
3+
# The following variables are optionally searched for defaults
4+
# KENLM_ROOT: Base directory where all KENLM components are found
5+
#
6+
# The following are set after configuration is done:
7+
# KENLM_FOUND
8+
# KENLM_LIBRARIES
9+
# KENLM_INCLUDE_DIRS
10+
# KENLM_INCLUDE_DIRS_LM
11+
#
12+
13+
message(STATUS "Looking for KenLM")
14+
15+
find_library(
16+
KENLM_LIB
17+
kenlm
18+
HINTS
19+
${KENLM_ROOT}/lib
20+
${KENLM_ROOT}/build/lib
21+
PATHS
22+
$ENV{KENLM_ROOT}/lib
23+
$ENV{KENLM_ROOT}/build/lib
24+
)
25+
26+
find_library(
27+
KENLM_UTIL_LIB
28+
kenlm_util
29+
HINTS
30+
${KENLM_ROOT}/lib
31+
${KENLM_ROOT}/build/lib
32+
PATHS
33+
$ENV{KENLM_ROOT}/lib
34+
$ENV{KENLM_ROOT}/build/lib
35+
)
36+
37+
if(KENLM_LIB)
38+
message(STATUS "Using kenlm library found in ${KENLM_LIB}")
39+
else()
40+
message(FATAL_ERROR "kenlm library not found; please set CMAKE_LIBRARY_PATH, KENLM_LIB or KENLM_ROOT environment variable")
41+
endif()
42+
43+
if(KENLM_UTIL_LIB)
44+
message(STATUS "Using kenlm utils library found in ${KENLM_UTIL_LIB}")
45+
else()
46+
message(FATAL_ERROR "kenlm utils library not found; please set CMAKE_LIBRARY_PATH, KENLM_UTIL_LIB or KENLM_ROOT environment variable")
47+
endif()
48+
49+
# find a model header, then get the entire include directory. We need to do this because
50+
# cmake consistently confuses other things along this path
51+
find_path(KENLM_MODEL_HEADER
52+
model.hh
53+
PATH_SUFFIXES
54+
kenlm/lm
55+
include/kenlm/lm
56+
HINTS
57+
${KENLM_ROOT}/lm
58+
${KENLM_ROOT}/include/kenlm/lm
59+
PATHS
60+
$ENV{KENLM_ROOT}/lm
61+
$ENV{KENLM_ROOT}/include/kenlm/lm
62+
)
63+
64+
if(KENLM_MODEL_HEADER)
65+
message(STATUS "kenlm model.hh found in ${KENLM_MODEL_HEADER}")
66+
else()
67+
message(FATAL_ERROR "kenlm model.hh not found; please set CMAKE_INCLUDE_PATH, KENLM_MODEL_HEADER or KENLM_ROOT environment variable")
68+
endif()
69+
get_filename_component(KENLM_INCLUDE_LM ${KENLM_MODEL_HEADER} DIRECTORY)
70+
get_filename_component(KENLM_INCLUDE_DIR ${KENLM_INCLUDE_LM} DIRECTORY)
71+
72+
set(KENLM_LIBRARIES ${KENLM_LIB} ${KENLM_UTIL_LIB})
73+
# Some KenLM include paths are relative to [include dir]/kenlm, not just [include dir] (bad)
74+
set(KENLM_INCLUDE_DIRS_LM ${KENLM_INCLUDE_LM})
75+
set(KENLM_INCLUDE_DIRS ${KENLM_INCLUDE_DIR})
76+
77+
include(FindPackageHandleStandardArgs)
78+
find_package_handle_standard_args(kenlm DEFAULT_MSG KENLM_INCLUDE_DIRS KENLM_LIBRARIES)
79+
80+
if (kenlm_FOUND)
81+
message(STATUS "Found kenlm (include: ${KENLM_INCLUDE_DIRS}, library: ${KENLM_LIBRARIES})")
82+
mark_as_advanced(KENLM_ROOT KENLM_INCLUDE_DIRS KENLM_LIBRARIES)
83+
endif()

0 commit comments

Comments
 (0)