Age | Commit message (Collapse) | Author |
|
Mostly just refatoring to have less duplicated code.
|
|
REVIEW: 121646
|
|
REVIEW: 121646
|
|
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
|
|
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
|
|
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
|
|
When installing to /usr, we should use /etc for configuration. Using
/usr/etc does not make sense.
REVIEW: 120246
|
|
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.
|
|
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).
|
|
A new module has been introduced to generate pkgconfig files from
cmake projects.
REVIEW: 119798
|
|
REVIEW:118020
|
|
See RR 119142 for more details.
|
|
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
|
|
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.
|
|
REVIEW: 118216
|
|
REVIEW:118147
|
|
REVIEW: 118127
|
|
- 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
|
|
This matches how CMake's GNUInstallDirs does things.
REVIEW: 118057
|
|
|
|
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
|
|
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
|
|
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
|
|
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
|
|
This matches what is in the main CMakeLists.txt file, and silences some
warnings in the test logs.
|
|
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
|
|
Since some cmake modules include others inside e-c-m we need to set the cmake module path
so that they are found
|
|
-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
|