summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
AgeCommit message (Collapse)AuthorFilesLines
2013-12-01Merge branch 'cmocka'Chad Versace1-0/+4
This merge makes progress towards killing off libwaffle_test and replacing it with cmocka. - Add subtree 'third_party/cmocka' from tag cmocka-0.3.2. - Convert all unit test executables to use cmocka. They no longer use libwaffle_test. - The only remaining user of libwaffle_test is gl_basic_test, which I will also move to cmocka eventually.
2013-12-01cmake: Add module WaffleCMockaChad Versace1-0/+4
If waffle_build_tests, then this module imports the cmocka library built in 'third_party/cmocka'. When configuring waffle, the module also configures 'third_party/cmocka' by descending into the directory and invoking cmake there. All tests will eventrually be converted from using libwaffle_test to use cmocka. Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
2013-11-27pkg/archlinux: Remove PKGBUILD.templateChad Versace1-1/+0
The build system generated a real PKGBUILD from PKGBUILD.template. Rather than do that, let's just maintain *real* PKGBUILD's from the AUR that are known to work.
2013-11-27cmake: Move targets check, check-func to top dirChad Versace1-0/+19
By moving 'check' to the top dir, each subdirectory can now add dependencies to 'check'. Ditto for 'check-func'. This change will allow us to build each unittest file as a separate executable, as well as maintain the CMake rules for the unittest in in the same directory as its sources. Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
2013-11-27cmake: Add 'include' to include directoriesChad Versace1-0/+1
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
2013-08-19cmake: Refactor detection of operating systemChad Versace1-0/+1
Add new module WaffleDefineOS that defines booleans `waffle_on_linux` and `waffle_on_mac`. Replace each check on CMAKE_SYSTEM_NAME with a check on one of these new bools. Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
2013-08-19cmake: Fix some ugly formattingChad Versace1-5/+2
After all the recent cleanups, there exists some residual formatting that needs cleaning up. Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
2013-08-19cmake: Refactor targets 'check', 'check-func'Chad Versace1-29/+0
They were defined in the toplevel CMakeLists.txt. Move them to `tests/CMakeLists.txt.` This change belongs to a series that cleans up the toplevel CMakeLists by decomposing it. Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
2013-08-19cmake: Refactor installation of FindWaffle.cmakeChad Versace1-2/+4
The presence of file `cmake/CMakeLists.txt` feels very strange. I found no other project that had a CMakeLists there. Goodbye strange file. File `cmake/CMakeLists.txt` did exactly one thing: define the install rule for `FindWaffle.cmake`. Kill the file and move the install rule to the toplevel CMakeLists. Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
2013-08-19cmake: Refactor the search for library depsChad Versace1-32/+1
Move the search for library dependencies into a new module WaffleFindDependencies. This change belongs to a series that cleans up the toplevel CMakeLists by decompositing it into modules. Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
2013-08-19cmake: Refactor option validationChad Versace1-50/+1
Move validation of options into a new module WaffleValidateOptions. This change belongs to a series that cleans up the toplevel CMakeLists by decompositing it into modules. Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
2013-08-19cmake: Refactor definition of internal optionsChad Versace1-16/+1
Move definition of internal options into a new module WaffleDefineInternalOptions. This change belongs to a series that cleans up the toplevel CMakeLists by decompositing it into modules. Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
2013-08-19cmake: Refactor compiler flags into new moduleChad Versace1-57/+1
Move definition of compiler flags into a new module WaffleDefineCompilerFlags. This change belongs to a series that cleans up the toplevel CMakeLists by decompositing it into modules. Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
2013-08-19cmake: Refactor configuration summaryChad Versace1-65/+1
Move the large block that prints the configuration summary into a new module WafflePrintConfigurationSummary. This change belongs to a series that cleans up the toplevel CMakeLists by decompositing it into modules. Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
2013-08-19cmake: Remove project name hack for GNUInstallDirsChad Versace1-12/+1
Rename the project 'waffle' -> 'waffle1'. This coincides better with Waffle's library versioning. It also removes the need for the ugly hack Waffle uses to control where GNUInstallDirs installs documentation. Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
2013-08-19cmake: Define version numbers in new module WaffleVersionChad Versace1-26/+1
This change belongs to a series that cleans up the toplevel CMakeLists by decompositing it into modules. Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
2013-08-19cmake: Prefix module CheckThreadLocalStorage with WaffleChad Versace1-1/+1
That is, rename CheckThreadLocalStorage.cmake -> WaffleCheckThreadLocalStorage.cmake Let's be good code citizens. If a module is private to Waffle, then let's prefix its name with 'Waffle'. CMake, CPack, KDE3, and Qt4 also follows this convention. Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
2013-08-19cmake: Prefix 'check_thread_local_storage()' with 'waffle'Chad Versace1-1/+1
Let's be good code citizens and properly namespace our functions. Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
2013-08-19cmake,readme: Move Waffle's CMake options to new file Options.cmakeChad Versace1-29/+1
This makes it easy for users to find all the custom CMake options defined by Waffle. Update the README accordingly. Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
2013-08-19cmake: Remove 'third_party/khronos' from include pathsChad Versace1-1/+0
Oops. This should have been squashed with the previous commit (a607232). Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
2013-07-19Revert "cmake: Require that compiler support keyword '__thread'"Chad Versace1-2/+2
This reverts commit e2cbb8648aeee9856b7897f9fa06bdd771c39ec0. The reverted patch, if you used clang, effectively made clang>=3.2 or non-ancient gcc a requirement. XCode 3.1 ships with an old version of gcc that does not support TLS. There are Waffle users that require support for XCode 3.1. Tested on Mac OS with XCode 3.1 gcc and XCode 4.6.2 clang by Nigel. Tested-by: Nigel Stewart <nigelstewart@gmail.com> Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
2013-07-12cmake: Use libudev.pc, not non-existent udev.pcChad Versace1-1/+1
CMake called pkg-config on a non-existent pkgname, udev. Fixes build with clang-3.3 if GBM is enabled. Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
2013-05-09cmake: Use real name of CMake vars when printing summaryChad Versace1-4/+4
When printing the configuration summary, use the real names of the CMake variables. For example, print "CMAKE_C_FLAGS_DEBUG" instead of "CFLAGS_debug". This eliminates some confusion caused by the fake names. Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
2013-04-22cmake: Require that compiler support keyword '__thread'Chad Versace1-2/+2
GCC has supported thread local storage through the keyword '__thread' for a long time. Clang has supported it since 3.2. If you use clang, this patch effectively makes clang>=3.2 a requirement. Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
2012-12-12cmake: respect existing CMAKE_C_FLAGSRoss Burton1-1/+1
When cross-compiling it's not unusual to need specific arguments passed to gcc such as --sysroot. Ensure that these are passed on from the toolchain file by appending to CMAKE_C_FLAGS instead of overwriting it. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
2012-11-27cmake: Remove stale comment about C99Chad Versace1-1/+0
Waffle now required C99. Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
2012-11-27waffle: Post-release version bumpChad Versace1-1/+1
waffle-1.2 was recently released, so bump the version on master to 1.2.75. Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
2012-11-27cmake: Add to CMAKE_MODULE_PATH before project() to allow Platform cmake modulesJosh Triplett1-1/+1
The project() command normally includes the platform-specific module Platform/${CMAKE_SYSTEM_NAME}.cmake. To support loading that module from the project's cmake module directory rather than just the system cmake module directory, extend CMAKE_MODULE_PATH before calling project(). Signed-off-by: Josh Triplett <josh@joshtriplett.org> Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
2012-11-14man,cmake: Generate html documentationChad Versace1-6/+4
Add new cmake option `waffle_build_htmldocs`. Default is off. Add some new cmake rules and an html.xsl to generate the docs. The output directory is /doc/html. Install the html docs to CMAKE_INSTALL_DOCDIR/html. All citations, even those to GLX and EGL functions, have correct urls. Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
2012-11-09cmake: Require wayland>=1 when building Wayland supportChad Versace1-1/+1
Wayland 1.0 is finally out! Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
2012-11-01cmake: Install FindWaffle.cmakeChad Versace1-0/+1
Install it into directory where all other "find" modules reside: DATAROOTDIR/cmake/Modules. Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
2012-11-01cmake: Remove unused variable waffle_manpages_xslChad Versace1-1/+0
It became unused at a8fa883. Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
2012-10-29pkg/archlinux: Generate real PKGBUILD from templateChad Versace1-0/+1
This patch is a conceptual revert of 3245b12. It adds a new cmake rule that generates a PKGBUILD from PKGBUILD.template. Ken told me that he expected the build system to do this generation for him, and he was surprised when he discovered that it didn't. Requested-by: Kenneth Graunke <kenneth@whitecape.org> Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
2012-10-29khronos: Import EGL and KHR headersChad Versace1-1/+5
Waffle will soon rely on EGL_KHR_create_context symbols defined in eglplatform.h. The system's eglplatform.h is likely not recent enough, so this patch imports the EGL and KHR headers from khronos.org. Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
2012-10-29cmake: Remove -Werror from CFLAGSChad Versace1-1/+5
Oliver rightfully complained that -Werror will causes the build to fail for people who use a different compiler, or just a different version of the same compiler. This patch repalces the catch-all -Werror with a few specific ones that waffle should care about. Reported-by: Oliver McFadden <oliver.mcfadden@linux.intel.com> Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
2012-10-18wayland: Update for wayland-0.99 API breakageChad Versace1-2/+2
Kristian is cleaning up the Wayland API or the 1.0 release. To do so, he's freely making breaking API changes from 0.95 to 1.00. Hopefully, the 0.99 API remains stable and ships in 1.0. Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
2012-10-18cmake: Use pkgconfigChad Versace1-32/+26
Let's do things the Linux way. pkgconfig lets waffle list *version requirements* for its dependencies. Unassisted CMake doesn't do versions very well. Now, under most circumstances, a user need only to set the environment variable PKG_CONFIG_PATH in order to discover the location of library and header dependencies. Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
2012-10-18waffle: Bump version to 1.2.0Chad Versace1-1/+1
This is just a post-release bump. The release of 1.2 is not imminent. Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
2012-10-18cmake: Remove duplicate `option(waffle_build_manpages)`Chad Versace1-1/+0
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
2012-10-18man: Use custom Docbook XSL for manpagesChad Versace1-3/+0
According to a Docbook guide[1], the correct way to customize Docbook is to create a custom xsl file that imports the official docbook xsl and then overrides select elements. The custom XSL doesn't override anything yet. [1] Bob Stayton. "DocBook XSL: The Complete Guide", 4e. http://www.sagehill.net/docbookxsl/ParametersInFile.html Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
2012-10-15cmake: Put option waffle_build_examples into cacheChad Versace1-1/+3
This should have gone into the cache all along, but it wasn't because of a small mistake. Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
2012-10-15man,cmake: Build and install manpagesChad Versace1-0/+4
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
2012-10-15cmake: Add cache variables for building manpagesChad Versace1-0/+14
Add the following: waffle_build_manpages waffle_manpage_xsl waffle_xsltproc Most users don't have the necessary tools installed to build manpages from Docbook sources, to keep waffle_build_manpages off by default. Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
2012-10-13cmake,android: Add reminder to keep build systems in syncChad Versace1-0/+2
Add a reminder to keep waffle's release version in sync between the two build systems, CMake and Android. Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
2012-10-13cmake: Lessen the pain of GNUInstallDirs hacksChad Versace1-25/+5
The CMakeLists had an ugly lack to workaround default value of CMAKE_INSTALL_DOCDIR set by GNUInstallDirs. This patch replaces it with a much smaller, less painful hack. Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
2012-10-12cmake: Use the GNUInstallDirs moduleChad Versace1-10/+59
This adds CMake options that are familiar to autoconf users, such as CMAKE_INSTALL_LIBDIR. Portage's cmake.eclass expects these variables to be supported. This replaces the following CMake options. If the user specifies any of the old options, then emit a fatal error. waffle_install_includedir -> CMAKE_INSTALL_INCLUDEDIR waffle_install_libdir -> CMAKE_INSTALL_LIBDIR waffle_install_docdir -> CMAKE_INSTALL_DOCDIR Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
2012-10-04gbm: initial skeleton for gbm supportJordan Justen1-3/+23
All routines in this skeleton will fail. Signed-off-by: Ben Widawsky <ben@bwidawsk.net> Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
2012-10-04waffle: Bump version to 1.1.0Chad Versace1-2/+2
New features will soon be added. It's time to bump the version. Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
2012-08-31waffle: Bump version to 1.0.1Chad Versace1-1/+1
The version number on master needs to be at least the most recently released version. Otherwise, it's impossible to build Piglit, which requires waffle-1.0.1, against master. Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
2012-08-30pkg/archlinux: Stop generating the PKGBUILD from a templateChad Versace1-1/+0
That was just silly. Instead, rename PKGBUILD.in to PKGBUILD.template and put a note on top that explains how to fill the template. Signed-off-by: Chad Versace <chad.versace@linux.intel.com>