aboutsummaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)Author
2014-12-28Improve version file tests.Alex Merry
Mostly just refatoring to have less duplicated code.
2014-12-28Add deprecation warnings for old-style variables.Alex Merry
REVIEW: 121646
2014-12-28Refactor KDEInstallDirs tests.Alex Merry
REVIEW: 121646
2014-12-28Make KDEInstallDirs provide KDE_INSTALL_* variables.Alex Merry
Creating variables whose names start with CMAKE_ is a bad idea for modules distributed outside CMake itself. Since the module is called KDEInstallDirs, having a KDE_INSTALL_ prefix for the variables is clear and intuitive. Both CMAKE_INSTALL_* variables and the older KDELibs4-compatible variables are provided, unless KDE_INSTALL_DIRS_NO_DEPRECATED is set to TRUE before the module is included. Even then, the CMAKE_INSTALL_* variables provided by the GNUInstallDirs module will still be set and understood (for compatibility with that module), unless KDE_INSTALL_DIRS_NO_CMAKE_VARIABLES is set to TRUE. REVIEW: 121646
2014-12-28Add COMPATIBILITY argument to ecm_setup_version().Alex Merry
Lots of libraries will want to use SameMajorVersion to make sure searching for version 1 of a library doesn't give you version 2, for example. We may want to add another, custom compatibility mode for KDE Frameworks-style versioning, where version x.90.z to x.99.z are alpha/beta releases for version (x+1). REVIEW: 121696
2014-12-07Fix ECMSetupVersionTest/new_explicit_header_abspathAlex Merry
The #include in the main.c file did not match the generated header file name, so it was actually incorrectly including the header from another test. BUG: 341576
2014-11-07Set CMAKE_INSTALL_SYSCONFDIR to /etc when CMAKE_INSTALL_PREFIX is /usrAlex Merry
When installing to /usr, we should use /etc for configuration. Using /usr/etc does not make sense. REVIEW: 120246
2014-09-16allow qmldir to follow qt_sys_pathHarald Sitter
when running with the KDE_INSTALL_USE_QT_SYS_PATHS option allow QMLDIR in KDEInstallDirs to follow whatever is defined by qmake this change makes sure that qml plugins will end up in a default Qt path when using the super special magic flag.
2014-09-11Fix fallout from recent ECM patchesAlex Merry
KDE modules cannot assume the normal ECM modules are in the CMake module path, and CMAKE_INSTALL_IMPORTS_INSTALL_DIR / QTQUICKIMPORTSDIR was not set correctly. Also, ECMQueryQmake.cmake used a deprecated CMake command (exec_program).
2014-09-10Introduce ECMGeneratePkgConfigFileAleix Pol
A new module has been introduced to generate pkgconfig files from cmake projects. REVIEW: 119798
2014-07-18Define variable for AppStream upstream XML directoryMatthias Klumpp
REVIEW:118020
2014-07-07Define convenience variable for DATAROOTDIR/kxmlgui5.David Faure
See RR 119142 for more details.
2014-06-17Make ECM language-independent again, but make the tests use CAlex Merry
Setting the language for ECM's project() call to C had unanticipated side-effects - notably that the installed version file required the architecture to match the one used at build time. Instead, we make the tests a sub-project, setting up C as the language there (since most of the tests do use C, albeit slightly indirectly). REVIEW: 118498
2014-06-02Reorganize testsAlex Merry
Move the detailed testing of KDEInstallDirs from ExecuteKDEModules to a subdir of KDEInstallDirsTest. This is where you would expect to find it, and it also makes sure that other KDE modules are not affecting the test. This also makes the KDEInstallDirs/not_cache_variable regression test work the same way as the other tests, doing a double-configure and build. While not stricly necessary to catch the original issue, it does ensure that the problem does not appear when reconfiguring either.
2014-05-26Skip non-directory files inside the po/ directoryAurélien Gâteau
REVIEW: 118216
2014-05-15fix running ECMKDEModules testPatrick Spendrin
REVIEW:118147
2014-05-14Do not fail if vars like CMAKE_INSTALL_LIBDIR are defined as normal varsAurélien Gâteau
REVIEW: 118127
2014-05-13More complete testing of ECMPoQmToolsAurélien Gâteau
- Test calling ecm_process_po_files_as_qm() without INSTALL_DESTINATION argument - Test calling ecm_install_po_files_as_qm() with CMAKE_INSTALL_LOCALEDIR set and with LOCALE_INSTALL_DIR set REVIEW: 118114
2014-05-13Use CMAKE_INSTALL_FOODIR style variables for KDEInstallDirsAlex Merry
This matches how CMake's GNUInstallDirs does things. REVIEW: 118057
2014-05-12Check that KDEInstallDirs defines the variables it claims toAlex Merry
2014-05-04Add ECMPoQmTools moduleAurélien Gâteau
ecm_create_qm_from_po_files() was actually not very useful in practice. So that is deprecated, to be removed before ECM 1.0. Instead, the ECMPoQmTools provides several useful functions: ecm_create_qm_loader() (which already existed in ECMCreateQmFromPoFiles), ecm_process_po_files_as_qm() (which has the same signature as gettext_process_po_files() from the FindGettext module) and ecm_install_po_files_as_qm(), which is a convenience function mostly for the benefit of KDE Frameworks (although potentially useful for whatever other projects have the unusual requirement of a Gettext translation workflow but no Gettext usage in the code). NB: some clean-up to the documentation was done by Alex Merry <alex.merry@kde.org> as part of this commit. REVIEW: 117823
2014-04-25Split up module execution testsAlex Merry
Find module tests now use find_package(), and there is a version for when CMAKE_MODULE_PATH is set and a version for when ecm_use_find_modules() is used. KDE modules are also now tested. REVIEW 117658
2014-04-25Make ecm_setup_version interact well with CMP0048Alex Merry
When CMake policy CMP0048 (CMake 3.0) is set to NEW, the project() command is meant to manage the project's version variables. We therefore do not set the PROJECT_VERSION variables in this case. To make sure projects do not have to specify their version in multiple places, this also allows the keyword "PROJECT" to be passed to ecm_setup_version instead of an actual version number. In this case, the version passed to project() will be used. REVIEW: 117619
2014-04-25New syntax for ecm_install_icons()Alex Merry
This requires the icon files to be specified (which is better than globbing, because the build system will then be able to tell when files are added or removed and re-run CMake). It also removes the theme name from the filename pattern: the old code used a shorthand theme name for a small number of themes, and didn't allow any other themes. Extending this to arbitrary themes could cause problems with themes that have numbers or hyphens (or whatever other delimiter character was used) in their names. Most users are likely to just want to install to a single theme anyway (based on a random sampling of users of kde4_install_icons), so that is what the new syntax requires. The old syntax still works and behaves as before. ecm_update_iconcache is renamed to _ecm_update_iconcache - it was never documented as public API anyway. REVIEW: 117617
2014-03-07Make the required CMake version in the ExecuteAllModules test 2.8.12Alex Merry
This matches what is in the main CMakeLists.txt file, and silences some warnings in the test logs.
2014-02-16Improve the ECMGenerateHeaders API with a variable for generated filesAlex Merry
ecm_generate_headers() now allows/forces the caller to collect the paths of the generated headers, so that they can be passed to the install command. This avoids issues of unexpected files being in the CamelCase includes directory, both from previous builds and because of case-insensitive file systems. MODULE_NAME is removed, as it is no longer desirable or necessary. Instead, the headers are placed directly in the output directory (usually CMAKE_CURRENT_BUILD_DIR). Overall, this makes ecm_generate_headers() behave much more like other file generation macros (like the Qt ones). The old syntax is still supported for now, to make the porting effort easier. REVIEW: 115765
2013-12-14Make the tests passAlbert Astals Cid
Since some cmake modules include others inside e-c-m we need to set the cmake module path so that they are found
2011-12-18-enable testingAlex Neundorf
-add test ExecuteAllModules, which is the same as FindModulesExecuteAll in CMake: include (and execute) all *cmake files, to make sure they are not completely broken Alex