Mailing List Archive

[MythTV/mythtv] 741233: Add support for CMake as an alternative build syst...
Branch: refs/heads/master
Home: https://github.com/MythTV/mythtv
Commit: 7412338d3d8f11827800abeb8a302e7f9cbec3a1
https://github.com/MythTV/mythtv/commit/7412338d3d8f11827800abeb8a302e7f9cbec3a1
Author: David Hampton <mythtv@love2code.net>
Date: 2024-02-07 (Wed, 07 Feb 2024)

Changed paths:
A .cmake-format.py
A .cppcheck-includes
A .cppcheck-suppress
M .gitignore
A CMakeLists.txt
A CMakePresets.json
A README.CMake.md
A cmake/BuildConfigString.cmake
A cmake/BuildExternalLibraries.cmake
A cmake/CheckExternalLibraries.cmake
A cmake/CompilerCaching.cmake
A cmake/DumpAllVariables.cmake
A cmake/FindLame.cmake
A cmake/FindLibX264.cmake
A cmake/FindLibX265.cmake
A cmake/FindLibXvid.cmake
A cmake/FindPHPModules.cmake
A cmake/FindPerlModules.cmake
A cmake/FindPkgConfig2.cmake
A cmake/FindPython3Modules.cmake
A cmake/GetDefine.cmake
A cmake/GetLinuxInfo.cmake
A cmake/InstallI18n.cmake
A cmake/InstallTheme.cmake
A cmake/MiscellaneousTargets.cmake
A cmake/MythFindFFmpeg.cmake
A cmake/MythFindQt.cmake
A cmake/MythOptions.cmake
A cmake/PrintProperties.cmake
A cmake/PrintProperties2.cmake
A cmake/ReadOnlyTests.cmake
A cmake/ResetTargetSuffixes.cmake
A cmake/SetCmakePolicies.cmake
A cmake/SetCompilerOptions.cmake
A cmake/SetSearchPaths.cmake
A cmake/SourceVersion.cmake
A cmake/StaticAnalysis.cmake
A cmake/UpdatePkgConfig.cmake
A cmake/VersionInformation.cmake
A cmake/VersionToNumber.cmake
A cmake/embeddedlibs/FindOrBuildFFmpeg.cmake
A cmake/embeddedlibs/FindOrBuildNvCodecHeaders.cmake
A cmake/embeddedlibs/FindOrBuildUdfRead.cmake
A cmake/externallibs/BuildQt5.cmake
A cmake/externallibs/BuildQt6.cmake
A cmake/externallibs/FindOrBuildAss.cmake
A cmake/externallibs/FindOrBuildBluray.cmake
A cmake/externallibs/FindOrBuildDlfcn.cmake
A cmake/externallibs/FindOrBuildExiv2.cmake
A cmake/externallibs/FindOrBuildFFTW.cmake
A cmake/externallibs/FindOrBuildFlac.cmake
A cmake/externallibs/FindOrBuildFontconfig.cmake
A cmake/externallibs/FindOrBuildFreetype.cmake
A cmake/externallibs/FindOrBuildFribidi.cmake
A cmake/externallibs/FindOrBuildHarfbuzz.cmake
A cmake/externallibs/FindOrBuildICU.cmake
A cmake/externallibs/FindOrBuildIconv.cmake
A cmake/externallibs/FindOrBuildLame.cmake
A cmake/externallibs/FindOrBuildLzo.cmake
A cmake/externallibs/FindOrBuildMariaDBConnector.cmake
A cmake/externallibs/FindOrBuildMesa.cmake
A cmake/externallibs/FindOrBuildOgg.cmake
A cmake/externallibs/FindOrBuildOpenSSL.cmake
A cmake/externallibs/FindOrBuildPCRE2.cmake
A cmake/externallibs/FindOrBuildSamplerate.cmake
A cmake/externallibs/FindOrBuildSoundTouch.cmake
A cmake/externallibs/FindOrBuildTaglib.cmake
A cmake/externallibs/FindOrBuildVorbis.cmake
A cmake/externallibs/FindOrBuildXml2.cmake
A cmake/externallibs/FindOrBuildZip.cmake
A cmake/externallibs/FindOrBuildZlib.cmake
A cmake/files/android/egl.pc.in
A cmake/files/android/glesv1_cm.pc.in
A cmake/files/android/glesv2.pc.in
A cmake/files/android/glesv3.pc.in
A cmake/files/android/icu-i18n.pc.in
A cmake/files/android/vulkan.pc.in
A cmake/files/android/zlib.pc.in
A cmake/files/meson-cross-android.in
A cmake/files/meson-cross-windows.in
A cmake/files/tags_tools.cmake.in
A cmake/mingw-w64-x86_64.cmake
A cmake/platform/AndroidCrossBuildPkgConfigFiles.cmake
A cmake/platform/AndroidCrossCustomization.cmake
A cmake/platform/AndroidCrossDefaultPrefix.cmake
A cmake/platform/AndroidCrossEarlyInitialization.cmake
A cmake/platform/AndroidCrossPackaging.cmake
A cmake/platform/AndroidCrossSearchPaths.cmake
A cmake/platform/AndroidCrossValidateBuildSystem.cmake
A cmake/platform/AndroidEnsureSdkValue.cmake
A cmake/platform/DarwinCustomization.cmake
A cmake/platform/DarwinSearchPaths.cmake
A cmake/platform/FreeBSDCustomization.cmake
A cmake/platform/WindowsCrossCustomization.cmake
A cmake/platform/WindowsCrossDefaultPrefix.cmake
A cmake/platform/WindowsCrossEarlyInitialization.cmake
A cmake/platform/WindowsCrossPackaging.cmake
A cmake/platform/WindowsCrossSearchPaths.cmake
A cmake/scripts/cppcheck-join-files.cmake
A cmake/tests/version_test_1
A cmake/tests/version_test_2
A cmake/tests/version_test_3
A cmake/tests/version_test_4
A cmake/tests/version_test_5
A mythplugins/.cppcheck-suppress
A mythplugins/CMakeLists.txt
A mythplugins/cmake/MythPluginsFindMythTV.cmake
A mythplugins/cmake/MythPluginsFindPackages.cmake
A mythplugins/mytharchive/CMakeLists.txt
A mythplugins/mytharchive/mytharchive/CMakeLists.txt
A mythplugins/mytharchive/mytharchivehelper/CMakeLists.txt
A mythplugins/mytharchive/mythburn/CMakeLists.txt
A mythplugins/mythbrowser/CMakeLists.txt
A mythplugins/mythbrowser/mythbrowser/CMakeLists.txt
A mythplugins/mythgame/CMakeLists.txt
A mythplugins/mythgame/mythgame/CMakeLists.txt
A mythplugins/mythmusic/CMakeLists.txt
A mythplugins/mythmusic/mythmusic/CMakeLists.txt
A mythplugins/mythmusic/mythmusic/config.h.in
A mythplugins/mythnetvision/CMakeLists.txt
A mythplugins/mythnetvision/mythfillnetvision/CMakeLists.txt
A mythplugins/mythnetvision/mythnetvision/CMakeLists.txt
A mythplugins/mythnews/CMakeLists.txt
A mythplugins/mythnews/mythnews/CMakeLists.txt
A mythplugins/mythweather/CMakeLists.txt
A mythplugins/mythweather/mythweather/CMakeLists.txt
A mythplugins/mythzoneminder/CMakeLists.txt
A mythplugins/mythzoneminder/mythzmserver/CMakeLists.txt
A mythplugins/mythzoneminder/mythzoneminder/CMakeLists.txt
A mythtv/.cppcheck-suppress
A mythtv/CMakeLists.txt
A mythtv/android-package-source/.gitignore
A mythtv/android-package-source/fonts.conf
A mythtv/android-package-source/res/drawable-hdpi/ic_launcher.png
A mythtv/android-package-source/res/drawable-hdpi/icon.png
A mythtv/android-package-source/res/drawable-ldpi/ic_launcher.png
A mythtv/android-package-source/res/drawable-ldpi/icon.png
A mythtv/android-package-source/res/drawable-mdpi/ic_launcher.png
A mythtv/android-package-source/res/drawable-mdpi/icon.png
A mythtv/android-package-source/res/drawable-xhdpi/banner.png
A mythtv/android-package-source/res/drawable-xhdpi/ic_launcher.png
A mythtv/android-package-source/res/drawable-xxhdpi/ic_launcher.png
A mythtv/android-package-source/res/drawable-xxxhdpi/ic_launcher.png
A mythtv/android-package-source/res/drawable/logo.png
A mythtv/android-package-source/res/drawable/splash.xml
A mythtv/android-package-source/res/mipmap-hdpi/ic_launcher.png
A mythtv/android-package-source/res/mipmap-ldpi/ic_launcher.png
A mythtv/android-package-source/res/mipmap-mdpi/ic_launcher.png
A mythtv/android-package-source/res/mipmap-xhdpi/ic_launcher.png
A mythtv/android-package-source/res/mipmap-xxhdpi/ic_launcher.png
A mythtv/android-package-source/res/mipmap-xxxhdpi/ic_launcher.png
A mythtv/android-package-source/res/values/apptheme.xml
A mythtv/bindings/CMakeLists.txt
A mythtv/bindings/perl/CMakeLists.txt
A mythtv/bindings/php/CMakeLists.txt
A mythtv/bindings/python/CMakeLists.txt
A mythtv/cmake/BuildSystemFreeBSD.cmake
A mythtv/cmake/BuildSystemLinux.cmake
A mythtv/cmake/FedoraGlsLangHack.cmake
A mythtv/cmake/FindHDHomerun.cmake
A mythtv/cmake/MythCheckIncludes.cmake
A mythtv/cmake/MythFindPackages.cmake
A mythtv/cmake/PrintConfig.cmake
A mythtv/docs/CMakeLists.txt
A mythtv/external/CMakeLists.txt
M mythtv/external/libexiv2/CMakeLists.txt
M mythtv/external/libexiv2/cmake/compilerFlags.cmake
M mythtv/external/libexiv2/cmake/exiv2.pc.in
M mythtv/external/libexiv2/cmake/mainSetup.cmake
M mythtv/external/libexiv2/include/exiv2/CMakeLists.txt
M mythtv/external/libexiv2/src/CMakeLists.txt
M mythtv/external/libexiv2/xmpsdk/CMakeLists.txt
A mythtv/external/libmythbluray/CMakeLists.txt
A mythtv/external/libmythbluray/config.h.in
A mythtv/external/libmythbluray/src/libbluray/bdj/CMakeLists.txt
A mythtv/external/libmythdvdnav/CMakeLists.txt
A mythtv/external/libmythdvdnav/config.h.in
A mythtv/external/libmythdvdnav/mythconfig.h.in
A mythtv/external/libudfread/CMakeLists.txt
A mythtv/external/libudfread/config.h.in
A mythtv/external/nv-codec-headers/CMakeLists.txt
A mythtv/html/CMakeLists.txt
A mythtv/libs/CMakeLists.txt
A mythtv/libs/libmyth/CMakeLists.txt
A mythtv/libs/libmyth/test/CMakeLists.txt
A mythtv/libs/libmyth/test/test_audioconvert/CMakeLists.txt
A mythtv/libs/libmyth/test/test_audioutils/CMakeLists.txt
A mythtv/libs/libmyth/test/test_settings/CMakeLists.txt
A mythtv/libs/libmythbase/CMakeLists.txt
A mythtv/libs/libmythbase/android-dependencies.xml
A mythtv/libs/libmythbase/mythconfig.h.in
A mythtv/libs/libmythbase/test/CMakeLists.txt
A mythtv/libs/libmythbase/test/test_iso639/CMakeLists.txt
A mythtv/libs/libmythbase/test/test_lcddevice/CMakeLists.txt
A mythtv/libs/libmythbase/test/test_logging/CMakeLists.txt
A mythtv/libs/libmythbase/test/test_mythbinaryplist/CMakeLists.txt
A mythtv/libs/libmythbase/test/test_mythcommandlineparser/CMakeLists.txt
A mythtv/libs/libmythbase/test/test_mythdate/CMakeLists.txt
A mythtv/libs/libmythbase/test/test_mythdbcon/CMakeLists.txt
A mythtv/libs/libmythbase/test/test_mythsorthelper/CMakeLists.txt
A mythtv/libs/libmythbase/test/test_mythsystem/CMakeLists.txt
A mythtv/libs/libmythbase/test/test_mythsystemlegacy/CMakeLists.txt
A mythtv/libs/libmythbase/test/test_mythtimer/CMakeLists.txt
A mythtv/libs/libmythbase/test/test_programinfo/CMakeLists.txt
A mythtv/libs/libmythbase/test/test_rssparse/CMakeLists.txt
A mythtv/libs/libmythbase/test/test_template/CMakeLists.txt
A mythtv/libs/libmythbase/test/test_unzip/CMakeLists.txt
A mythtv/libs/libmythbase/version.h.in
A mythtv/libs/libmythfreemheg/CMakeLists.txt
A mythtv/libs/libmythfreesurround/CMakeLists.txt
A mythtv/libs/libmythmetadata/CMakeLists.txt
A mythtv/libs/libmythmetadata/test/CMakeLists.txt
A mythtv/libs/libmythmetadata/test/test_lyrics/CMakeLists.txt
A mythtv/libs/libmythmetadata/test/test_metadatagrabber/CMakeLists.txt
A mythtv/libs/libmythmetadata/test/test_musicmetadata/CMakeLists.txt
A mythtv/libs/libmythmetadata/test/test_musicutils/CMakeLists.txt
A mythtv/libs/libmythmetadata/test/test_videometadata/CMakeLists.txt
A mythtv/libs/libmythmpeg2/CMakeLists.txt
A mythtv/libs/libmythmpeg2/config.h.in
A mythtv/libs/libmythprotoserver/CMakeLists.txt
A mythtv/libs/libmythservicecontracts/CMakeLists.txt
A mythtv/libs/libmythservicecontracts/test/CMakeLists.txt
A mythtv/libs/libmythservicecontracts/test/test_datacontracts/CMakeLists.txt
A mythtv/libs/libmythtv/CMakeLists.txt
A mythtv/libs/libmythtv/cmake/Backend.cmake
A mythtv/libs/libmythtv/cmake/Frontend.cmake
A mythtv/libs/libmythtv/test/CMakeLists.txt
A mythtv/libs/libmythtv/test/test_avcinfo/CMakeLists.txt
A mythtv/libs/libmythtv/test/test_bitreader/CMakeLists.txt
A mythtv/libs/libmythtv/test/test_copyframes/CMakeLists.txt
A mythtv/libs/libmythtv/test/test_eitfixups/CMakeLists.txt
A mythtv/libs/libmythtv/test/test_frequencies/CMakeLists.txt
A mythtv/libs/libmythtv/test/test_iptvrecorder/CMakeLists.txt
A mythtv/libs/libmythtv/test/test_mheg_dsmcc/CMakeLists.txt
A mythtv/libs/libmythtv/test/test_mpegtables/CMakeLists.txt
A mythtv/libs/libmythtv/test/test_mythiowrapper/CMakeLists.txt
A mythtv/libs/libmythtv/test/test_subtitlescreen/CMakeLists.txt
A mythtv/libs/libmythui/CMakeLists.txt
A mythtv/libs/libmythui/test/CMakeLists.txt
A mythtv/libs/libmythui/test/test_mythgenerictree/CMakeLists.txt
A mythtv/libs/libmythupnp/CMakeLists.txt
A mythtv/locales/CMakeLists.txt
A mythtv/programs/CMakeLists.txt
A mythtv/programs/mythavtest/CMakeLists.txt
A mythtv/programs/mythbackend/CMakeLists.txt
A mythtv/programs/mythbackend/test/CMakeLists.txt
A mythtv/programs/mythbackend/test/test_recordingextender/CMakeLists.txt
A mythtv/programs/mythccextractor/CMakeLists.txt
A mythtv/programs/mythcommflag/CMakeLists.txt
A mythtv/programs/mythexternrecorder/CMakeLists.txt
A mythtv/programs/mythfilerecorder/CMakeLists.txt
A mythtv/programs/mythfilldatabase/CMakeLists.txt
A mythtv/programs/mythfrontend/CMakeLists.txt
A mythtv/programs/mythfrontend/test/CMakeLists.txt
A mythtv/programs/mythfrontend/test/test_videolist/CMakeLists.txt
A mythtv/programs/mythjobqueue/CMakeLists.txt
A mythtv/programs/mythlcdserver/CMakeLists.txt
A mythtv/programs/mythmediaserver/CMakeLists.txt
A mythtv/programs/mythmetadatalookup/CMakeLists.txt
A mythtv/programs/mythpreviewgen/CMakeLists.txt
A mythtv/programs/mythscreenwizard/CMakeLists.txt
A mythtv/programs/mythshutdown/CMakeLists.txt
A mythtv/programs/mythtv-setup/CMakeLists.txt
A mythtv/programs/mythutil/CMakeLists.txt
A mythtv/programs/mythwelcome/CMakeLists.txt
A mythtv/programs/scripts/CMakeLists.txt
A mythtv/programs/scripts/database/CMakeLists.txt
A mythtv/programs/scripts/hardwareprofile/CMakeLists.txt
A mythtv/programs/scripts/internetcontent/CMakeLists.txt
A mythtv/programs/scripts/metadata/CMakeLists.txt
A mythtv/programs/scripts/metadata/Movie/CMakeLists.txt
A mythtv/programs/scripts/metadata/Music/CMakeLists.txt
A mythtv/programs/scripts/metadata/Music/lyrics/CMakeLists.txt
A mythtv/programs/scripts/metadata/Television/CMakeLists.txt
A mythtv/themes/CMakeLists.txt
A patches/autoconf/config.sub
A patches/autoconf/missing
A patches/dlfcn-win32-1.3.1.patch
A patches/dlfcn-win32-1.4.1.patch
A patches/exiv2-1.0.0.9.patch
A patches/exiv2-2a5587785f26f9fc8e9484e73ccfb2762741c137.patch
A patches/fftw-3.3.10.patch
A patches/harfbuzz-6.0.0.patch
A patches/harfbuzz-8.1.1.patch
A patches/icu4c-72.1.patch
A patches/icu4c-73.2.patch
A patches/lame-3.100.patch
A patches/libiconv-1.16.patch
A patches/libvorbis-1.3.7.patch
A patches/libxml2-2.10.3.patch
A patches/libxml2-2.11.5.patch
A patches/lzo-2.10.patch
A patches/mariadb-connector-c-2.3.7.patch
A patches/mariadb-connector-c-3.3.5.patch
A patches/openssl-3.0.10.patch
A patches/openssl-3.1.4.patch
A patches/openssl-3.2.0.patch
A patches/qt-5.15.11.patch
A patches/qt-5.15.9.patch
A patches/qt-6.2.4.patch
A patches/qt-6.4.2.patch
A patches/qt-6.5.2.patch
A patches/qt-6.6.0.patch
A patches/qt-6.6.1.patch
A patches/zlib-1.2.13.patch
A patches/zlib-1.3.patch
A platform/android/AndroidManifest.xml.5.in
A platform/android/AndroidManifest.xml.6.in
A platform/android/CMakeLists.txt
A platform/android/dummy.cpp
A platform/android/gradle.properties.5.in
A platform/android/jni/Android.mk.in
A platform/android/jni/Application.mk.in
A platform/win32/w64-mingw32/CMakeLists.txt
A tarballs/.gitignore
A themestringstool/CMakeLists.txt

Log Message:
-----------
Add support for CMake as an alternative build system for MythTV.

In short, once the necessary dependencies are installed you can build
a native version of MythTV from the top level directory using these two
commands:

$ cmake --preset qt5 -DCMAKE_INSTALL_PREFIX=<install_location>
$ cmake --build build-qt5

Build an android version with these two commands:

$ cmake --preset android-v8-qt5
$ cmake --build build-android-v8-qt5

Build a windows version with these two commands:

$ cmake --preset mingw-qt5
$ cmake --build build-mingw-qt5

Full details are in the file README.CMake.md.


_______________________________________________
mythtv-commits mailing list
mythtv-commits@mythtv.org
http://lists.mythtv.org/mailman/listinfo/mythtv-commits