aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
AgeCommit message (Collapse)Author
2023-12-10[cmake] Set KODI_MIRROR project variablefuzzard
Allows user to override (eg specific mirror/source preferred due to mirrors giving a faulty redirect)
2023-10-26[cmake] set EXCLUDE_FROM_ALL property for build_internal_depends targetfuzzard
We need to set this proeprty so we dont inadvertently build all internal dependencies regardless of state due to the ALL target
2023-10-26[cmake] implement ENABLE_INTERNAL_CECfuzzard
Allows building libcec (and dependency p8-platform) as part of core cmake project.
2023-10-26[cmake] introduce PLATFORM_OPTIONAL_DEPS_EXCLUDEfuzzard
Allow a platform to exclude a dependency from the optional_deps list. This example includes CEC that isnt used for ios/tvos/android/UWP
2023-10-17Merge pull request #23907 from lrusak/glx-app-paramfuzzard
[linux] add --gl-interface=<interface> switch
2023-10-15CCompileInfo: add ability to get enabled gl interfacesLukas Rusak
Signed-off-by: Lukas Rusak <lorusak@gmail.com>
2023-10-05[cmake] Refactor and simplify FindFmt.cmakefuzzard
2023-10-02[cmake] FindRapidJSON update to newer module standardsfuzzard
2023-09-27[cmake] FindPulseAudio migrate to full TARGET usagefuzzard
2023-09-27Merge pull request #23824 from fuzzard/cmake_findlibass_updatefuzzard
[Cmake] FindASS migrate to TARGET usage
2023-09-27Merge pull request #23807 from fuzzard/cmake_multigen_alldepfuzzard
[Cmake] Create build_internal_depends for MultiConfig Generators
2023-09-27[cmake] libass set minimum search version to 0.15.0fuzzard
A hard requirement of libass 0.15.0 was brought in with PR https://github.com/xbmc/xbmc/pull/23421 Force version check on libass find
2023-09-26[cmake] add_custom_command only use OUTPUT genex for multi config generatorsfuzzard
2023-09-24[cmake] Multiconfig generators add stand alone target to build all internal ↵fuzzard
depends
2023-09-21[cmake] gen_skin_pack remove BYPRODUCT to fix ninja buildfuzzard
2023-09-20[cmake] Global variable to indicate Multi Config Generatorfuzzard
2023-09-19[cmake] gen_skin_pack move to add_custom_commandfuzzard
Move gen_skin_pack to add_custom_command and generate a "timestamp" file for dependency tracking. This allows the custom command to only be run once, rather than every build. clean in VS also removes timestamp file, allowing for a full clean and full rebuild including running the custom command.
2023-09-13[cmake] Remove XBT_FILES as a dependency of generate-packaging TARGETfuzzard
Ninja doesnt handle the dependency without a clear indication of where the files are from. As they are generated as part of gen_skin_pack, we already have an order dependency in place so we do not need XBT_FILES
2023-09-11Merge pull request #22112 from fuzzard/win_buildtreefuzzard
[cmake][win] Generate complete build dir layout for Multiconfig gen (VS)
2023-09-06[cmake] FindMariaDBClient migrate to full TARGET usagefuzzard
2023-09-05[cmake] FindShairplay migrate to full TARGET usagefuzzard
2023-09-05[cmake] FindUDEV migrate to full TARGET usagefuzzard
2023-09-05[cmake] FindALSA migrate to full TARGET usagefuzzard
2023-09-01[cmake] Link TARGETS from property to lib correctlyfuzzard
2023-08-27[cmake] Enable Windows Multiconfig Gen to bundle a complete working ↵fuzzard
executable folder This allows VS (a Multiconfig Generator) to build and create a full file structure required to execute the main app target immediately from the build location that is created in a folder path that is not known at cmake generation. An example, is if you build Kodi as Debug, the executable will be placed in {CMAKE_BINARY_DIR}/Debug/kodi.exe but if you change the Build Type to Release, it will go in ${CMAKE_BINARY_DIR}/Release/kodi.exe. As you can change to any build type you wish after cmake generation, we can not know the location at cmake generation time, so currently all the required dlls/files/folders for a complete bundle are just placed in ${CMAKE_BINARY_DIR}/ and therefore you need to copy the kodi.exe from the folder it was built into the parent folder to be able to execute it.
2023-08-09[cmake] use ENABLE_INTERNAL_TINYXML2 for all platforms except non CI linuxfuzzard
2023-08-09Implement TinyXML2 to replace TinyXML1fuzzard
cmake: add FindTinyXML2 find module cmake: enable building tinyxml2 for all platforms (ENABLE_INTERNAL_TINYXML2) tests: Tests for XBMCTinyXML2 implementation tests: Tests for XMLUtils for the tinyxml2 methods utils: implement TinyXML2 methods for XMLUtils Currently tinyxml2 and 1 can coexist peacefully. This will allow a staged replacement and to hopefully update and implement tests appropriately.
2023-07-19[discs] Rename HAS_DVD_DRIVE to HAS_OPTICAL_DRIVEenen92
2023-06-06[depends][native] cmake 3.26.4 and support for apple platformsfuzzard
This includes changes required to build apple platforms for 3.26.4
2023-06-05Merge pull request #23148 from lrusak/linux-audio-paramsfuzzard
CAppParamParserLinux: add --audio-backend=<backend> switch
2023-05-24[macos] allow primary executable target to be built as bundlefuzzard
Instead of building the kodi target as a binary, build as a bundle. This fixes not being able to use keyboard input when running kodi target in xcode for debugging.
2023-04-20CompileInfo: add ability to get enabled audio backendsLukas Rusak
Signed-off-by: Lukas Rusak <lorusak@gmail.com>
2023-03-08[cmake] pipewire: actually set minimum version to 0.3.50Lukas Rusak
Signed-off-by: Lukas Rusak <lorusak@gmail.com>
2023-01-09[cmake] set policy CMP0135 to NEWLukas Rusak
This updates the timestamps of of the extracted files see: https://cmake.org/cmake/help/latest/policy/CMP0135.html Signed-off-by: Lukas Rusak <lorusak@gmail.com>
2022-09-28[cmake] utilise new dependent_option function for internal depsfuzzard
2022-09-28[cmake] default build spdlog/fmt internal all platformsfuzzard
2022-09-14[CMake] Fix incorrect string concationation in target_compile_options callMarkus Härer
2022-06-29[cmake] create ENABLE_INTERNAL_PCREfuzzard
2022-06-27[cmake] FindNFS module to build internalfuzzard
2022-06-17[cmake] split flatbuffers buildtool (flatc) and target headers find modulesfuzzard
2022-06-17[cmake] create lists and utilise core_optional_dep/core_required_dep for ↵fuzzard
build tools
2022-06-17[cmake] move host tool find modules to buildtools folder - CCachefuzzard
2022-06-02[cmake] FindSpdlog ENABLE_INTERNAL to test existencefuzzard
Allows ENABLE_INTERNAL_SPDLOG path to test for existence of package/lib meeting SPDLOG-VERSION version requirements, and not build if found. Also force ENABLE_INTERNAL_FMT on if we are doing ENABLE_INTERNAL_SPDLOG due to fmt version requirements for spdlog
2022-06-01[cmake] Windows increase minimum required cmake version 3.20fuzzard
Generator expressions for Multi-config generators (ie VS projects) require cmake 3.20.0 as a minimum. VS 2017 comes with version 3.20.21032501-MSVC_2 bundled.
2022-06-01[cmake] Fmt use Fmt::Fmt target for dependsfuzzard
Implement Fmt::Fmt target to allow adding dependency target for ENABLE_INTERNAL_FMT.
2022-05-30[linux] add build time option to disable automatic addon configure at startupwsnipex
2022-05-25[cmake] ENABLE_INTERNAL_TAGLIB to build taglib internallyfuzzard
2022-04-30[cmake] refactor CMAKE_INSTALL_PREFIX into BUILD_DEP_TARGET macrofuzzard
set CMAKE_INSTALL_PREFIX in BUILD_DEP_TARGET, and use DEPENDS_PATH for location
2022-04-28[cmake] rename CORE_HOST_IS_TARGET to HOST_CAN_EXECUTE_TARGETfuzzard
We are now in a time where some platforms/archs can execute "foreign" (x86_64) arch code locally (Apple via Rosetta, Windows on arm). Rename CORE_HOST_IS_TARGET to HOST_CAN_EXECUTE_TARGET to allow platforms ArchSetup to set and therefore execute tests if desired.
2022-03-26Merge pull request #21113 from jfly/add-file-whitelist-extrasWolfgang Schupp
Add new KODI_EXTRA_FILE_WHITELIST env var to allow access to more directories.