Skip to content

Commit ba5d48f

Browse files
committed
Fix CMake and build errors on Gentoo Linux
* Fix finding and linking of Qt components in CMake files * Use `CMAKE_INSTALL_LIBDIR` instead of hardcoded `lib` in built library paths to handle systems that build into `lib64` * Fix definition names in libobs version check to resolve error about redefinition of `struct encoder_packet_time` * Pass `CMAKE_INSTALL_LIBDIR` into the external projects so that they use the same value. Needed to keep Ubuntu build working
1 parent 491109d commit ba5d48f

4 files changed

Lines changed: 18 additions & 10 deletions

File tree

CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ if(ENABLE_FRONTEND_API)
2323
endif()
2424

2525
if(ENABLE_QT)
26-
find_qt(COMPONENTS Widgets Core)
27-
target_link_libraries(${CMAKE_PROJECT_NAME} PRIVATE Qt::Core Qt::Widgets)
26+
find_package(Qt6 COMPONENTS Widgets Core)
27+
target_link_libraries(${CMAKE_PROJECT_NAME} PRIVATE Qt6::Core Qt6::Widgets)
2828
target_compile_options(
2929
${CMAKE_PROJECT_NAME} PRIVATE $<$<C_COMPILER_ID:Clang,AppleClang>:-Wno-quoted-include-in-framework-header
3030
-Wno-comma>)

cmake/BuildCTranslate2.cmake

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -70,9 +70,11 @@ else()
7070
BUILD_COMMAND ${CMAKE_COMMAND} --build <BINARY_DIR> --config ${CMAKE_BUILD_TYPE}
7171
CMAKE_GENERATOR ${CMAKE_GENERATOR}
7272
INSTALL_COMMAND ${CMAKE_COMMAND} --install <BINARY_DIR> --config ${CMAKE_BUILD_TYPE}
73-
BUILD_BYPRODUCTS <INSTALL_DIR>/lib/${CMAKE_STATIC_LIBRARY_PREFIX}cpu_features${CMAKE_STATIC_LIBRARY_SUFFIX}
73+
BUILD_BYPRODUCTS
74+
<INSTALL_DIR>/${CMAKE_INSTALL_LIBDIR}/${CMAKE_STATIC_LIBRARY_PREFIX}cpu_features${CMAKE_STATIC_LIBRARY_SUFFIX}
7475
CMAKE_ARGS -DCMAKE_GENERATOR_PLATFORM=${CMAKE_GENERATOR_PLATFORM} -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>
75-
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} ${CPU_FEATURES_CMAKE_ARGS}
76+
-DCMAKE_INSTALL_LIBDIR=${CMAKE_INSTALL_LIBDIR} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
77+
${CPU_FEATURES_CMAKE_ARGS}
7678
LOG_CONFIGURE ON
7779
LOG_BUILD ON
7880
LOG_INSTALL ON)
@@ -81,8 +83,10 @@ else()
8183
add_library(cpu_features STATIC IMPORTED GLOBAL)
8284
add_dependencies(cpu_features cpu_features_build)
8385
set_target_properties(
84-
cpu_features PROPERTIES IMPORTED_LOCATION
85-
${INSTALL_DIR}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}cpu_features${CMAKE_STATIC_LIBRARY_SUFFIX})
86+
cpu_features
87+
PROPERTIES
88+
IMPORTED_LOCATION
89+
${INSTALL_DIR}/${CMAKE_INSTALL_LIBDIR}/${CMAKE_STATIC_LIBRARY_PREFIX}cpu_features${CMAKE_STATIC_LIBRARY_SUFFIX})
8690
set_target_properties(cpu_features PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include)
8791

8892
# build CTranslate2 from source
@@ -91,7 +95,8 @@ else()
9195
set(CT2_OPENBLAS_CMAKE_ARGS -DWITH_OPENBLAS=OFF)
9296

9397
set(CT2_CMAKE_PLATFORM_OPTIONS -DBUILD_SHARED_LIBS=OFF -DOPENMP_RUNTIME=NONE -DCMAKE_POSITION_INDEPENDENT_CODE=ON)
94-
set(CT2_LIB_INSTALL_LOCATION lib/${CMAKE_SHARED_LIBRARY_PREFIX}ctranslate2${CMAKE_STATIC_LIBRARY_SUFFIX})
98+
set(CT2_LIB_INSTALL_LOCATION
99+
${CMAKE_INSTALL_LIBDIR}/${CMAKE_SHARED_LIBRARY_PREFIX}ctranslate2${CMAKE_STATIC_LIBRARY_SUFFIX})
95100

96101
ExternalProject_Add(
97102
ct2_build
@@ -104,6 +109,7 @@ else()
104109
BUILD_BYPRODUCTS <INSTALL_DIR>/${CT2_LIB_INSTALL_LOCATION}
105110
CMAKE_ARGS -DCMAKE_GENERATOR_PLATFORM=${CMAKE_GENERATOR_PLATFORM}
106111
-DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>
112+
-DCMAKE_INSTALL_LIBDIR=${CMAKE_INSTALL_LIBDIR}
107113
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
108114
-DWITH_CUDA=OFF
109115
-DWITH_MKL=OFF

cmake/BuildSentencepiece.cmake

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,8 @@ else()
4040
CACHE STRING "URL of sentencepiece repository")
4141

4242
set(SP_CMAKE_OPTIONS -DSPM_ENABLE_SHARED=OFF)
43-
set(SENTENCEPIECE_INSTALL_LIB_LOCATION lib/${CMAKE_STATIC_LIBRARY_PREFIX}sentencepiece${CMAKE_STATIC_LIBRARY_SUFFIX})
43+
set(SENTENCEPIECE_INSTALL_LIB_LOCATION
44+
${CMAKE_INSTALL_LIBDIR}/${CMAKE_STATIC_LIBRARY_PREFIX}sentencepiece${CMAKE_STATIC_LIBRARY_SUFFIX})
4445

4546
include(ExternalProject)
4647

@@ -53,7 +54,8 @@ else()
5354
INSTALL_COMMAND ${CMAKE_COMMAND} --install <BINARY_DIR> --config ${CMAKE_BUILD_TYPE}
5455
BUILD_BYPRODUCTS <INSTALL_DIR>/${SENTENCEPIECE_INSTALL_LIB_LOCATION}
5556
CMAKE_ARGS -DCMAKE_GENERATOR_PLATFORM=${CMAKE_GENERATOR_PLATFORM} -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>
56-
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} ${SP_CMAKE_OPTIONS})
57+
-DCMAKE_INSTALL_LIBDIR=${CMAKE_INSTALL_LIBDIR} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
58+
${SP_CMAKE_OPTIONS})
5759
ExternalProject_Get_Property(sentencepiece_build INSTALL_DIR)
5860

5961
add_library(libsentencepiece STATIC IMPORTED GLOBAL)

src/transcription-filter-data.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
#define MAX_PREPROC_CHANNELS 10
3030
#define MAX_WEBVTT_TRACKS 5
3131

32-
#if !defined(LIBOBS_MAJOR_VERSION) || LIBOBS_MAJOR_VERSION < 31
32+
#if !defined(LIBOBS_API_MAJOR_VER) || LIBOBS_API_MAJOR_VER < 31
3333
struct encoder_packet_time {
3434
/* PTS used to associate uncompressed frames with encoded packets. */
3535
int64_t pts;

0 commit comments

Comments
 (0)