forked from extern/whisper.cpp
cmake : update to 3.19 (#351)
- update from 3.0 (from 2014) to 3.19 (from 2020) - move some global setting onto the targets (through a cmake include)
This commit is contained in:
parent
dd6d582977
commit
84c6b42e65
@ -1,15 +1,14 @@
|
|||||||
cmake_minimum_required (VERSION 3.0)
|
cmake_minimum_required (VERSION 3.19)
|
||||||
|
|
||||||
project(whisper.cpp VERSION 1.0.4)
|
project(whisper.cpp VERSION 1.0.4)
|
||||||
|
|
||||||
set(CMAKE_EXPORT_COMPILE_COMMANDS "on")
|
# Add path to modules
|
||||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
list( APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/" )
|
||||||
set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
|
|
||||||
|
|
||||||
if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
|
if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
|
||||||
set(WHISPER_STANDALONE ON)
|
set(WHISPER_STANDALONE ON)
|
||||||
include(cmake/GitVars.cmake)
|
include(GitVars)
|
||||||
include(cmake/BuildTypes.cmake)
|
include(BuildTypes)
|
||||||
|
|
||||||
# configure project version
|
# configure project version
|
||||||
if (EXISTS "${CMAKE_SOURCE_DIR}/bindings/ios/Makefile-tmpl")
|
if (EXISTS "${CMAKE_SOURCE_DIR}/bindings/ios/Makefile-tmpl")
|
||||||
@ -82,9 +81,6 @@ endif()
|
|||||||
|
|
||||||
# dependencies
|
# dependencies
|
||||||
|
|
||||||
set(CMAKE_C_STANDARD 11)
|
|
||||||
set(CMAKE_CXX_STANDARD 11)
|
|
||||||
|
|
||||||
find_package(Threads REQUIRED)
|
find_package(Threads REQUIRED)
|
||||||
|
|
||||||
# on APPLE - include Accelerate framework
|
# on APPLE - include Accelerate framework
|
||||||
@ -190,6 +186,8 @@ add_library(${TARGET}
|
|||||||
whisper.cpp
|
whisper.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
|
include(DefaultTargetOptions)
|
||||||
|
|
||||||
target_include_directories(${TARGET} PUBLIC
|
target_include_directories(${TARGET} PUBLIC
|
||||||
.
|
.
|
||||||
)
|
)
|
||||||
|
17
cmake/DefaultTargetOptions.cmake
Normal file
17
cmake/DefaultTargetOptions.cmake
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
# Set the default compile features and properties for a target.
|
||||||
|
|
||||||
|
if (NOT TARGET)
|
||||||
|
message(FATAL_ERROR "TARGET not set before including DefaultTargetOptions")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
target_compile_features(${TARGET}
|
||||||
|
PRIVATE
|
||||||
|
cxx_std_11
|
||||||
|
)
|
||||||
|
|
||||||
|
set_target_properties(${TARGET}
|
||||||
|
PROPERTIES
|
||||||
|
EXPORT_COMPILE_COMMANDS ON
|
||||||
|
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
|
||||||
|
INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib"
|
||||||
|
)
|
@ -8,6 +8,8 @@ add_executable(${TARGET}
|
|||||||
emscripten.cpp
|
emscripten.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
|
include(DefaultTargetOptions)
|
||||||
|
|
||||||
target_link_libraries(${TARGET} PRIVATE
|
target_link_libraries(${TARGET} PRIVATE
|
||||||
whisper
|
whisper
|
||||||
)
|
)
|
||||||
|
@ -1,3 +1,6 @@
|
|||||||
set(TARGET bench)
|
set(TARGET bench)
|
||||||
add_executable(${TARGET} bench.cpp)
|
add_executable(${TARGET} bench.cpp)
|
||||||
|
|
||||||
|
include(DefaultTargetOptions)
|
||||||
|
|
||||||
target_link_libraries(${TARGET} PRIVATE whisper ${CMAKE_THREAD_LIBS_INIT})
|
target_link_libraries(${TARGET} PRIVATE whisper ${CMAKE_THREAD_LIBS_INIT})
|
||||||
|
@ -8,6 +8,8 @@ add_executable(${TARGET}
|
|||||||
emscripten.cpp
|
emscripten.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
|
include(DefaultTargetOptions)
|
||||||
|
|
||||||
target_link_libraries(${TARGET} PRIVATE
|
target_link_libraries(${TARGET} PRIVATE
|
||||||
whisper
|
whisper
|
||||||
)
|
)
|
||||||
|
@ -2,6 +2,9 @@ if (WHISPER_SUPPORT_SDL2)
|
|||||||
# command
|
# command
|
||||||
set(TARGET command)
|
set(TARGET command)
|
||||||
add_executable(${TARGET} command.cpp)
|
add_executable(${TARGET} command.cpp)
|
||||||
|
|
||||||
|
include(DefaultTargetOptions)
|
||||||
|
|
||||||
target_include_directories(${TARGET} PRIVATE ${SDL2_INCLUDE_DIRS})
|
target_include_directories(${TARGET} PRIVATE ${SDL2_INCLUDE_DIRS})
|
||||||
target_link_libraries(${TARGET} PRIVATE whisper ${SDL2_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
|
target_link_libraries(${TARGET} PRIVATE whisper ${SDL2_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
|
||||||
endif ()
|
endif ()
|
||||||
|
@ -1,3 +1,6 @@
|
|||||||
set(TARGET main)
|
set(TARGET main)
|
||||||
add_executable(${TARGET} main.cpp)
|
add_executable(${TARGET} main.cpp)
|
||||||
|
|
||||||
|
include(DefaultTargetOptions)
|
||||||
|
|
||||||
target_link_libraries(${TARGET} PRIVATE whisper ${CMAKE_THREAD_LIBS_INIT})
|
target_link_libraries(${TARGET} PRIVATE whisper ${CMAKE_THREAD_LIBS_INIT})
|
||||||
|
@ -8,6 +8,8 @@ add_executable(${TARGET}
|
|||||||
emscripten.cpp
|
emscripten.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
|
include(DefaultTargetOptions)
|
||||||
|
|
||||||
target_link_libraries(${TARGET} PRIVATE
|
target_link_libraries(${TARGET} PRIVATE
|
||||||
whisper
|
whisper
|
||||||
)
|
)
|
||||||
|
@ -2,6 +2,9 @@ if (WHISPER_SUPPORT_SDL2)
|
|||||||
# stream
|
# stream
|
||||||
set(TARGET stream)
|
set(TARGET stream)
|
||||||
add_executable(${TARGET} stream.cpp)
|
add_executable(${TARGET} stream.cpp)
|
||||||
|
|
||||||
|
include(DefaultTargetOptions)
|
||||||
|
|
||||||
target_include_directories(${TARGET} PRIVATE ${SDL2_INCLUDE_DIRS})
|
target_include_directories(${TARGET} PRIVATE ${SDL2_INCLUDE_DIRS})
|
||||||
target_link_libraries(${TARGET} PRIVATE whisper ${SDL2_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
|
target_link_libraries(${TARGET} PRIVATE whisper ${SDL2_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
|
||||||
endif ()
|
endif ()
|
||||||
|
@ -9,6 +9,8 @@ add_executable(${TARGET}
|
|||||||
gpt-2.cpp
|
gpt-2.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
|
include(DefaultTargetOptions)
|
||||||
|
|
||||||
target_link_libraries(${TARGET} PRIVATE
|
target_link_libraries(${TARGET} PRIVATE
|
||||||
whisper
|
whisper
|
||||||
)
|
)
|
||||||
|
@ -8,6 +8,9 @@ if (WHISPER_SUPPORT_SDL2)
|
|||||||
# TODO: this is temporary
|
# TODO: this is temporary
|
||||||
# need to export ggml symbols for MSVC, but too lazy ..
|
# need to export ggml symbols for MSVC, but too lazy ..
|
||||||
add_executable(${TARGET} talk.cpp gpt-2.cpp ../../ggml.c ../../whisper.cpp)
|
add_executable(${TARGET} talk.cpp gpt-2.cpp ../../ggml.c ../../whisper.cpp)
|
||||||
|
|
||||||
|
include(DefaultTargetOptions)
|
||||||
|
|
||||||
target_include_directories(${TARGET} PRIVATE ${SDL2_INCLUDE_DIRS} ../../)
|
target_include_directories(${TARGET} PRIVATE ${SDL2_INCLUDE_DIRS} ../../)
|
||||||
target_link_libraries(${TARGET} PRIVATE ${SDL2_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
|
target_link_libraries(${TARGET} PRIVATE ${SDL2_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
|
||||||
endif ()
|
endif ()
|
||||||
|
@ -8,6 +8,8 @@ add_executable(${TARGET}
|
|||||||
emscripten.cpp
|
emscripten.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
|
include(DefaultTargetOptions)
|
||||||
|
|
||||||
target_link_libraries(${TARGET} PRIVATE
|
target_link_libraries(${TARGET} PRIVATE
|
||||||
whisper
|
whisper
|
||||||
)
|
)
|
||||||
|
Loading…
Reference in New Issue
Block a user