-
Notifications
You must be signed in to change notification settings - Fork 169
Add CMake build script #6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
|
I tried it with Visual Studio 2015 and worked nicely - I cannot really test anything though for the time being ;) Two question:
Thanks! |
|
Thanks.
CMake only searches
It is used in |
Typically the versions are distinguished with a suffixed letter: double: no suffix, single: f, double-long: l. So if cmake looks for the base-name, it will find double. I built with single, because I need it in another project, and the build succeeded. I wonder now if speex can work with different versions, or if it won't work (background is that the vcpkg for fftw only allows a single version and doesn't output different names, as opposed to established package mangers like homebrew. I am considering trying to change that). Maybe somebody knows if a specific precision version is needed? |
|
FFTW is optional, without it speex uses internal FFT routines with ASM optimizations. For Win32 there is SSE optimized code, configured and enabled automatically if supported. I don't think it is much slower then FFTW code. |
96d5c95 to
4415a69
Compare
Description =========== This patch adds support of CMake meta build system, so you can generate Unix makefiles, VS 6.0-2017 projects and many more. Features ======== * Win32 and Linux tested * Travis CI test added * Generates working Visual Studio 6.0-2017 solutions * Generates working Unix Makefile * Supported options (<option> - <default value>): * `ENABLE_FLOATING_POINT` - on * `ENABLE_FIXED_POINT` - off * `ENABLE_FIXED_POINT_DEBUG` - off * `USE_GPL_FFTW3` - off * `DISABLE_FLOAT_API` - off * `DISABLE_VBR` - off * `ENABLE_VORBIS_PSY` - off * `ENABLE_SSE` - on if supported * `ENABLE_ARM4_ASM` - off * `ENABLE_ARM5E_ASM` - off * `ENABLE_BLACKFIN_ASM` - off * `ENABLE_TI_C55X` - off * `USE_SPEEXDSP` - on if library found * `DISABLE_BINARIES` - off * `ENABLE_PACKAGE_CONFIG` - on, [CMake specific](https://cmake.org/cmake/help/latest/manual/cmake-packages.7.html#package-configuration-file) * Configured conditionals (`config.h`): * `WORDS_BIGENDIAN` * `FLOATING_POINT` * `FIXED_POINT` * `FIXED_POINT_DEBUG` * `DISABLE_FLOAT_API` * `_USE_SSE` * `ARM4_ASM` * `ARM5E_ASM` * `BFIN_ASM` * `TI_C55X` * `DISABLE_VBR` * `USE_SPEEXDSP` * `VORBIS_PSYCHO` * `HAVE_GETOPT_H` * `HAVE_GETOPT_LONG` * `VAR_ARRAYS` * `USE_ALLOCA` * `HAVE_ALLOCA_H` * `USE_SMALLFT` * `USE_KISS_FFT` * `USE_GPL_FFTW3` * `EXPORT` * Installation supported * Package config mode supported How to use ========== Required tools and libraries: * CMake >= 3.1 * Ogg, SpeexDSP packages (headers and import libraries), recommended * FFTW3 package, optional Type commands: ``` mkdir cmake-build cd cmake-build cmake .. cmake . --build ``` or use CMake GUI.
|
Failing with: See the Travis links. |
|
Any updates on this? |
|
|
||
| project(speex VERSION 1.2.0 LANGUAGES C) | ||
|
|
||
| set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/") | |
| list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/) |
Otherwise some of the includes below may not be found (we had this issue with cross-compiling for emscripten)
Description
This patch adds support of CMake meta build system, so you can generate
Unix makefiles, VS 6.0-2017 projects and many more.
Features
ENABLE_FLOATING_POINT- onENABLE_FIXED_POINT- offENABLE_FIXED_POINT_DEBUG- offUSE_GPL_FFTW3- offDISABLE_FLOAT_API- offDISABLE_VBR- offENABLE_VORBIS_PSY- offENABLE_SSE- on if supportedENABLE_ARM4_ASM- offENABLE_ARM5E_ASM- offENABLE_BLACKFIN_ASM- offENABLE_TI_C55X- offUSE_SPEEXDSP- on if library foundDISABLE_BINARIES- offENABLE_PACKAGE_CONFIG- on, CMake specificconfig.h):WORDS_BIGENDIANFLOATING_POINTFIXED_POINTFIXED_POINT_DEBUGDISABLE_FLOAT_API_USE_SSEARM4_ASMARM5E_ASMBFIN_ASMTI_C55XDISABLE_VBRUSE_SPEEXDSPVORBIS_PSYCHOHAVE_GETOPT_HHAVE_GETOPT_LONGVAR_ARRAYSUSE_ALLOCAHAVE_ALLOCA_HUSE_SMALLFTUSE_KISS_FFTUSE_GPL_FFTW3EXPORTHow to use
Required tools and libraries:
Type commands:
or use CMake GUI.