]> git.djapps.eu Git - pkg/ggml/sources/whisper.cpp/commitdiff
cmake : update to 3.19 (#351)
authorAndy Maloney <redacted>
Thu, 5 Jan 2023 19:22:48 +0000 (14:22 -0500)
committerGitHub <redacted>
Thu, 5 Jan 2023 19:22:48 +0000 (21:22 +0200)
- update from 3.0 (from 2014) to 3.19 (from 2020)
- move some global setting onto the targets (through a cmake include)

12 files changed:
CMakeLists.txt
cmake/DefaultTargetOptions.cmake [new file with mode: 0644]
examples/bench.wasm/CMakeLists.txt
examples/bench/CMakeLists.txt
examples/command.wasm/CMakeLists.txt
examples/command/CMakeLists.txt
examples/main/CMakeLists.txt
examples/stream.wasm/CMakeLists.txt
examples/stream/CMakeLists.txt
examples/talk.wasm/CMakeLists.txt
examples/talk/CMakeLists.txt
examples/whisper.wasm/CMakeLists.txt

index 49056df07a36a6a17c809f1e509efe352791fb42..d20a32df4c7dc9c19db5003d43e99db46585cc64 100644 (file)
@@ -1,15 +1,14 @@
-cmake_minimum_required (VERSION 3.0)
+cmake_minimum_required (VERSION 3.19)
 
 project(whisper.cpp VERSION 1.0.4)
 
-set(CMAKE_EXPORT_COMPILE_COMMANDS "on")
-set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
-set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
+# Add path to modules
+list( APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/" )
 
 if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
     set(WHISPER_STANDALONE ON)
-    include(cmake/GitVars.cmake)
-    include(cmake/BuildTypes.cmake)
+    include(GitVars)
+    include(BuildTypes)
 
     # configure project version
     if (EXISTS "${CMAKE_SOURCE_DIR}/bindings/ios/Makefile-tmpl")
@@ -82,9 +81,6 @@ endif()
 
 # dependencies
 
-set(CMAKE_C_STANDARD   11)
-set(CMAKE_CXX_STANDARD 11)
-
 find_package(Threads REQUIRED)
 
 # on APPLE - include Accelerate framework
@@ -190,6 +186,8 @@ add_library(${TARGET}
     whisper.cpp
     )
 
+include(DefaultTargetOptions)
+
 target_include_directories(${TARGET} PUBLIC
     .
     )
diff --git a/cmake/DefaultTargetOptions.cmake b/cmake/DefaultTargetOptions.cmake
new file mode 100644 (file)
index 0000000..b4e93e3
--- /dev/null
@@ -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"
+)
index 04f2ee804cd2cd5c1bf133a4c254bf4a6d07cf0f..cbcc303ef351f27ccf067b03ac1d24e8af27ef61 100644 (file)
@@ -8,6 +8,8 @@ add_executable(${TARGET}
     emscripten.cpp
     )
 
+include(DefaultTargetOptions)
+
 target_link_libraries(${TARGET} PRIVATE
     whisper
     )
index 7dd9175c27f7dcaa1c84df8a810387a783b972e5..f8a72ffde60390dc16395cf6aed4dbadba330c52 100644 (file)
@@ -1,3 +1,6 @@
 set(TARGET bench)
 add_executable(${TARGET} bench.cpp)
+
+include(DefaultTargetOptions)
+
 target_link_libraries(${TARGET} PRIVATE whisper ${CMAKE_THREAD_LIBS_INIT})
index 27fd0ab07e1c33ff9ddb6d6c80c8abad6b5b9a14..29ee6d9962406ceadb55de9bdec7fa1110eb1465 100644 (file)
@@ -8,6 +8,8 @@ add_executable(${TARGET}
     emscripten.cpp
     )
 
+include(DefaultTargetOptions)
+
 target_link_libraries(${TARGET} PRIVATE
     whisper
     )
index 0fe5ad5d14a6dddec3862cbadeb29c68636f179c..0980b8cc0935af48b5a1c5961602d2254397a07d 100644 (file)
@@ -2,6 +2,9 @@ if (WHISPER_SUPPORT_SDL2)
     # command
     set(TARGET command)
     add_executable(${TARGET} command.cpp)
+
+    include(DefaultTargetOptions)
+
     target_include_directories(${TARGET} PRIVATE ${SDL2_INCLUDE_DIRS})
     target_link_libraries(${TARGET} PRIVATE whisper ${SDL2_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
 endif ()
index d6835077928bacb18256c235b4a279580715ec3e..c551100f41dfe4155f8403a096572479e591c923 100644 (file)
@@ -1,3 +1,6 @@
 set(TARGET main)
 add_executable(${TARGET} main.cpp)
+
+include(DefaultTargetOptions)
+
 target_link_libraries(${TARGET} PRIVATE whisper ${CMAKE_THREAD_LIBS_INIT})
index a69b4cb67082f82a7c40f628f7b6e3747adeffa6..9774062e415ea2a2d1a4330135a6f3b52457d859 100644 (file)
@@ -8,6 +8,8 @@ add_executable(${TARGET}
     emscripten.cpp
     )
 
+include(DefaultTargetOptions)
+
 target_link_libraries(${TARGET} PRIVATE
     whisper
     )
index d41ee46141e1ee8f0b57b7e55ecc8802fc7bbc37..aeba3273fab87ac49d8c50fe6b0b03085e71f946 100644 (file)
@@ -2,6 +2,9 @@ if (WHISPER_SUPPORT_SDL2)
     # stream
     set(TARGET stream)
     add_executable(${TARGET} stream.cpp)
+
+    include(DefaultTargetOptions)
+
     target_include_directories(${TARGET} PRIVATE ${SDL2_INCLUDE_DIRS})
     target_link_libraries(${TARGET} PRIVATE whisper ${SDL2_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
 endif ()
index 567bc7401777798ab7180402837ec17c90e79c71..0810ed6cb577ac72f22cfa5b11e905a80b267146 100644 (file)
@@ -9,6 +9,8 @@ add_executable(${TARGET}
     gpt-2.cpp
     )
 
+include(DefaultTargetOptions)
+
 target_link_libraries(${TARGET} PRIVATE
     whisper
     )
index 5838ceb5ff260062c27542ecf52fe96d2a4a6758..6dbc2dc0e5b6399576de3696cbb0fc6add8d3e0f 100644 (file)
@@ -8,6 +8,9 @@ if (WHISPER_SUPPORT_SDL2)
     # TODO: this is temporary
     #       need to export ggml symbols for MSVC, but too lazy ..
     add_executable(${TARGET} talk.cpp gpt-2.cpp ../../ggml.c ../../whisper.cpp)
+
+    include(DefaultTargetOptions)
+
     target_include_directories(${TARGET} PRIVATE ${SDL2_INCLUDE_DIRS} ../../)
     target_link_libraries(${TARGET} PRIVATE ${SDL2_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
 endif ()
index decb1617c621016dd534d7908a5de204c43d4f2b..293f6adf638cddd355b5174c1f6a92425ec95d1c 100644 (file)
@@ -8,6 +8,8 @@ add_executable(${TARGET}
     emscripten.cpp
     )
 
+include(DefaultTargetOptions)
+
 target_link_libraries(${TARGET} PRIVATE
     whisper
     )