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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
Patch subprojects to use guix builds instead
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 62b99d1..c1ac38a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -98,7 +98,7 @@ else()
endif()
find_package(Threads)
-add_subdirectory(third_party/spdlog EXCLUDE_FROM_ALL)
+find_package( spdlog)
set(PRIVATE_INCLUDE_DIRECTORIES
${CMAKE_CURRENT_SOURCE_DIR}/src
@@ -249,9 +249,10 @@ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "(x86_64)|(amd64)|(AMD64)")
set(BUILD_SHARED_LIBS_SAVED "${BUILD_SHARED_LIBS}")
set(BUILD_SHARED_LIBS OFF)
set(BUILD_TESTING OFF)
- add_subdirectory(third_party/cpu_features EXCLUDE_FROM_ALL)
+ find_package( CpuFeatures)
set(BUILD_SHARED_LIBS "${BUILD_SHARED_LIBS_SAVED}")
- list(APPEND LIBRARIES cpu_features)
+ find_library( CPU_FEATURES_LIBRARIES cpu_features)
+ list(APPEND LIBRARIES ${CPU_FEATURES_LIBRARIES})
endif()
if(ENABLE_CPU_DISPATCH)
@@ -349,8 +350,8 @@ if(WITH_MKL)
else()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m64")
set(MKL_LIBRARIES
- ${MKL_LIBRARY_DIR}/libmkl_core.a
- ${MKL_LIBRARY_DIR}/libmkl_intel_ilp64.a
+ ${MKL_LIBRARY_DIR}/libmkl_core.so
+ ${MKL_LIBRARY_DIR}/libmkl_intel_ilp64.so
)
endif()
@@ -358,19 +359,19 @@ if(WITH_MKL)
if(WIN32)
list(APPEND MKL_LIBRARIES ${MKL_LIBRARY_DIR}/mkl_intel_thread.lib)
else()
- list(APPEND MKL_LIBRARIES ${MKL_LIBRARY_DIR}/libmkl_intel_thread.a)
+ list(APPEND MKL_LIBRARIES ${MKL_LIBRARY_DIR}/libmkl_intel_thread.so)
endif()
elseif(OPENMP_RUNTIME STREQUAL "COMP")
if(WIN32)
message(FATAL_ERROR "Building with MKL requires Intel OpenMP")
else()
- list(APPEND MKL_LIBRARIES ${MKL_LIBRARY_DIR}/libmkl_gnu_thread.a)
+ list(APPEND MKL_LIBRARIES ${MKL_LIBRARY_DIR}/libmkl_gnu_thread.so)
endif()
elseif(OPENMP_RUNTIME STREQUAL "NONE")
if(WIN32)
list(APPEND MKL_LIBRARIES ${MKL_LIBRARY_DIR}/mkl_sequential.lib)
else()
- list(APPEND MKL_LIBRARIES ${MKL_LIBRARY_DIR}/libmkl_sequential.a)
+ list(APPEND MKL_LIBRARIES ${MKL_LIBRARY_DIR}/libmkl_sequential.so)
endif()
endif()
list(APPEND PRIVATE_INCLUDE_DIRECTORIES ${MKL_INCLUDE_DIR})
@@ -439,6 +440,7 @@ if (WITH_RUY)
add_definitions(-DCT2_WITH_RUY)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
set(CPUINFO_LIBRARY_TYPE static CACHE STRING "cpuinfo library type")
+ # if package found and appended to libraries, issue with linking
add_subdirectory(third_party/ruy EXCLUDE_FROM_ALL)
unset(CMAKE_POSITION_INDEPENDENT_CODE)
list(APPEND LIBRARIES ruy)
diff --git a/cli/CMakeLists.txt b/cli/CMakeLists.txt
index 3311ad3..7d90693 100644
--- a/cli/CMakeLists.txt
+++ b/cli/CMakeLists.txt
@@ -1,14 +1,12 @@
-if (NOT IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../third_party/cxxopts/include")
- message(FATAL_ERROR "The client dependency repository (cxxopts) is missing! "
- "You probably didn't clone the project with --recursive. You can include it "
- "by calling \"git submodule update --init --recursive\"")
-endif()
-
add_executable(translator
translator.cc
)
+find_path(
+ CXXOPTS_ROOT
+ include/cxxopts.hpp
+)
target_include_directories(translator
- PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../third_party/cxxopts/include
+ PRIVATE ${CXXOPTS_ROOT}/include
)
target_link_libraries(translator
PRIVATE ${PROJECT_NAME}
diff --git a/src/cpu/cpu_info.cc b/src/cpu/cpu_info.cc
index 9030ac7..6949644 100644
--- a/src/cpu/cpu_info.cc
+++ b/src/cpu/cpu_info.cc
@@ -4,7 +4,7 @@
#include <cstring>
-#include <cpuinfo_x86.h>
+#include <cpu_features/cpuinfo_x86.h>
namespace ctranslate2 {
namespace cpu {
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 283c49d..9ca6cc8 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -2,7 +2,7 @@ enable_testing()
option(BUILD_GMOCK "" OFF)
option(INSTALL_GTEST "" OFF)
-add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../third_party/googletest ${CMAKE_CURRENT_BINARY_DIR}/googletest)
+find_package( GTest)
add_executable(ctranslate2_test
batching_test.cc
@@ -20,7 +20,7 @@ target_include_directories(ctranslate2_test PRIVATE
)
target_link_libraries(ctranslate2_test
${PROJECT_NAME}
- gtest_main
+ gtest
)
add_executable(benchmark_ops
|