aboutsummaryrefslogtreecommitdiff
path: root/project
AgeCommit message (Collapse)Author
2016-07-24Merge pull request #10124 from Razzeee/move-win32-platformMartijn Kaijser
Move win32 files to their own platform folder
2016-07-24Move win32 files to their own platform folderKolja Lampe
2016-07-23[cmake/linux] Move WiiRemote target to ExtraTargets.cmakeChristian Fetzer
2016-07-22Fix on demand dll loading to point to the correct filesPär Björklund
2016-07-21[win32] Don't add version to the name as that will also change menu shortcut ↵Martijn Kaijser
creation. Just put it in description.
2016-07-21[cmake/win32] Set startup project and generate launcher for Visual StudioChristian Fetzer
2016-07-21[cmake] Change the way shared libraries are builtChristian Fetzer
Before this change shared libraries were built by creating a static library using core_add_library and then linking that into a shared/module one using core_link_libraries. This has a few drawbacks: - Meanwhile most libraries don't use wrapping (for VFS support) anymore, and we can use CMake mechanisms to create those libraries. - The approach doesn't work with MSVC as there is no "whole-archive" option. On windows these symbols would need different exporting. - The main usage of core_add_library is to generate small libraries for the Kodi main application. Let's use it only for that. This is in preparation to disable building of per folder static libraries because they don't work well with VS and Xcode. This commit introduces the following changes: - Shared/Module libraries are now created with core_add_shared_library, addon callback libraries are now created with core_add_addon_library. - Fix dependencies: make kodi now builds everything needed to run kodi including all dl-loaded libraries. - Only use wrapping for libraries where it's also done with Autotools - WRAP_FILES and wrap-libraries are renamed to LIBRARY_FILES and kodi-libraries. - Library wrapping and generation now works in all subdirectories. Previously core_link_libraries had to be called in the main CMakeLists.txt because file dependencies in add_custom_command only work in the same directory. This also made it necessary to create wrap_* targets. - Generator expressions in core_link_libraries make the function less error prone.
2016-07-21[cmake] Add binary-addons target for makefile generatorChristian Fetzer
Adds a target that allows to build the binary addons: make binary-addons ADDONS="visualization.spectrum" This can be used if local addons should be built for packaging (for example on osx or android).
2016-07-21[cmake] Add project wide dependency to libcpluff and ffmpegChristian Fetzer
The two dependencies libcpluff and ffmpeg are widely required throughout the whole project. Adding a project wide dependency ensures that they are built before all libraries added with core_add_library. This removes the need to specify them per directory which was error prone in the past (and up to now only fully worked by chance).
2016-07-21[cmake] Move platform specific targets into separate filesChristian Fetzer
2016-07-21[cmake] Let ExternalProject_Add figure out the right 'make' commandChristian Fetzer
ExternalProject.cmake sets a default BUILD_COMMAND to 'make'. Not overriding it has the advantage that it figures out the best option itself (including passing down parallel build parameters). This fixes the Ninja build on Linux due to a problem introduced in 810895469a621c2eb25dbb2ef4aba75ecf067c8b where ninja would be used to build ffmpeg and cpluff (which doesn't work).
2016-07-21[cmake/windows] Fix compilation of testsChristian Fetzer
2016-07-21[cmake] Update README.mdChristian Fetzer
2016-07-20Merge pull request #9987 from hudokkow/cpack_debianCristiano A. Silva
[cmake/cpack] Debian packages generation
2016-07-20[cmake] Add Debian packaging documentationh.udo
2016-07-20[cpack] Add CPackConfigDEB.cmake with specific DEB variables and logich.udo
2016-07-20[cmake] Refactor linux Install.cmake by componentsh.udo
2016-07-20[cpack] Add Debian packages metadatah.udo
2016-07-20[cmake] Build kodi-wiiremoteh.udo
2016-07-20Merge pull request #10143 from Paxxi/wdkPär Björklund
[depends][xbmc][fix] Get rid of wdk requirement
2016-07-19Bump sdk to Win 10 as cmake defaults to that for addons anyway. Add the few ↵Pär Björklund
headers we need from wdk as a package to simplify setup
2016-07-19Merge pull request #10095 from fetzerch/cmake_codecoverageWolfgang Schupp
[cmake/linux] Code coverage
2016-07-19[cmake] Add functions required for CPack DEBh.udo
2016-07-19[cmake] Nuke legacy XBMCConfig.cmakeh.udo
2016-07-17Cleanup work that started with running as Win10 appPär Björklund
UWP(project centennial) does not allow AddDllDirectory which we don't really need anyway but it's use made the folder structure pretty. Since we run perfectly fine without it both native and as UWP I decided to drop it completely. To make the build, installer and debugging experience easier this led to plenty of changes to packages and build scripts to output all dlls into /system/ instead of different folders. While moving stuff around some dependencies got updated, it's possible that we can use java menus in bluray movies now, not tested. EasyHook just got repackaged to fit the new folder structure. The rebuilding of dependencies led to us being able to drop old vcredist files which also simplifies installer and packaging, especially for UWP. Some minor cleanup along the way as well
2016-07-16[win32] update wget and drop old shipped DLL filesMartijn Kaijser
2016-07-15[win32] Improve installer and add appxmanifestMartijn Kaijser
2016-07-13[RenderSystemDX] Hook into user mode driver for selected adapter to fix ↵Anton Fedchin
refresh rate issue in FSE mode.
2016-07-13[dependencies] Added EasyHook to package list.Anton Fedchin
2016-07-11[cmake/linux] Make Code Coverage compatible with lcov < 1.10.Christian Fetzer
This change can be reverted once there is no need to support lcov < 1.10 anymore (i.g. on Ubuntu 12.04).
2016-07-10[cmake/linux] Code CoverageChristian Fetzer
Adds a FindCoverage.cmake script that generates code coverages reports using LCOV. As coverage requires to compile with different options, a 'Coverage' build type has been introduced. Usage: cmake -DCMAKE_BUILD_TYPE=Coverage <KODI_SRC>/project/cmake \ && make -j$(nproc) coverage Known issues: Doesn't work with wrapped libraries (i.g. libcpluff). Therefore these are compiled unwrapped and the output behaves differently compared to Debug or Release build!
2016-07-09Merge pull request #10087 from Fneufneu/freebsd_cmakeChristian Fetzer
Freebsd cmake
2016-07-09[cmake/freebsd] Use linux Install.cmakeFneufneu
2016-07-09[cmake/freebsd] Update freebsd treedataFneufneu
It's the linux file + xbmc/freebsd
2016-07-09[cmake] also try to find swig3.0Fneufneu
On FreeBSD the binary are: swig2.0 or swig3.0 so try to find version 3.0 if the 2.0 is not there
2016-07-09[cmake] do not hardcode make commandFneufneu
use CMAKE_MAKE_PROGRAM variable to fix FreeBSD build
2016-07-09[cmake/android] Install librtmpChristian Fetzer
After the removal of RTMP in https://github.com/xbmc/xbmc/pull/10017, the library fails to get packaged for android because it is no more populated in the dyload-libs variables. As the library is still needed (https://github.com/xbmc/xbmc/pull/10079) we manually add it to the files that we're going to package. Fixes: cp: cannot stat 'kodi-build-android/install/lib/librtmp.so': No such file or directory Makefile:121: recipe for target 'libs' failed
2016-07-07[cmake] Increase link performance (GOLD, DebugFission)Christian Fetzer
Increase the link performance with GCC by - defaulting to GNU Gold Linker if available - defaulting to Debug Fission if available (https://gcc.gnu.org/wiki/DebugFission) Some measurements on Ubuntu Xenial (GNU GCC 5.3.1, Binutils 2.26) with incremental linking (touch xbmc/FileItem.cpp) of a debug build: - GNU ld: 16.5s - GNU gold: 6.5s
2016-07-07[cmake] Fix export-files when building in-sourceChristian Fetzer
In-source builds were broken due to a mistake in the export-files logic. Even though this commit resolves the problem, it is recommended building out-of-source.
2016-07-07[cmake] Opt out if platform configuration cannot be foundChristian Fetzer
For example on Darwin platforms this can indicate a missing toolchain file.
2016-07-07[cmake] Add CMakeHelpers (utilities for debugging CMake scripts)Christian Fetzer
2016-07-06[cmake] Print CMake version and add some warningsChristian Fetzer
CMake 3.5.1 suffers from a crash at configure time that happens on some Systems: http://cmake.org/Bug/view.php?id=16044 This is fixed in 3.5.2. Darwin requires CMake at least 3.4 or the usage of the patched version in depends.
2016-06-18[adsp] Adapt build files (TODO: changes for XCode)AchimTuran
2016-06-16[win32] swig 3.0.10Martijn Kaijser
2016-06-15[cmake] Allow building with Ninja generatorChristian Fetzer
The Ninja generator needs to know which libs are built by which targets. This can be done with ExternalProject_Add's BUILD_BYPRODUCTS. This is supported since CMake 3.2. Older versions will trigger this error: ninja: error: 'build/libdvd/lib/libdvdnav.a', needed by 'kodi.bin', missing and no known rule to make it
2016-06-13[chg] make libxslt optionalStefan Saraev
2016-06-12Merge pull request #9959 from Paxxi/libmicrohttpdMartijn Kaijser
[depends][win32] bump libmicrohttpd to 0.9.50
2016-06-12Merge pull request #9930 from beedaddy/opusStefan Saraev
Using TagLib for opus file tags.
2016-06-12bump libmicrohttpdPär Björklund
2016-06-12Merge pull request #9955 from fetzerch/cmake_win_fix_libpngChristian Fetzer
[cmake] Don't link against libpng