Commit Graph

23 Commits

Author SHA1 Message Date
Adriaan de Groot
4d1630bf8b CMake: tidy up automatic linking of Calamares libraries
- Modules and plugins don't need to mention libcalamares themselves
  for linking -- we can do that automatically. Use the IMPORTED names
  so that it works in Calamares main repo and external repositories.
- Complain about unknown module types.
2021-07-26 14:27:52 +02:00
Adriaan de Groot
88aa1755ce CMake: split out skip-module-checking to its own cmake module
The skip-checking is now in the functions for adding plugins and
subdirectories, so that third-party building should get it
as well, for free. Since AddModuleSubdirectory and AddPlugin
use the newly split-out module, handling SKIP_MODULES and USE_*
consistently across module repositories is now easier.

While here, make accumulating-the-skipped-modules explicit.
2021-03-23 01:47:10 +01:00
Adriaan de Groot
1cd9b93a22 REUSE: Giant boilerplate cleanup
- point to main Calamares site in the 'part of' headers instead
  of to github (this is the "this file is part of Calamares"
  opening line for most files).
- remove boilerplate from all source files, CMake modules and completions,
  this is the 3-paragraph summary of the GPL-3.0-or-later, which has
  a meaning entirely covered by the SPDX tag.
2020-08-26 02:28:38 +02:00
Adriaan de Groot
31d0b5b194 REUSE: (BSD-2-Clause) CMakeModules/
The intended license for the CMake modules is BSD-2-Clause;
there's no desire to restrict what can be done with these,
and CMake modules are generally 2-clause licensed.
2020-08-26 02:01:48 +02:00
Adriaan de Groot
c19866f887 [libcalamares] Add a module-weight to the module descriptor 2020-08-12 16:00:27 +02:00
Adriaan de Groot
f7102527a8 CMake: stop clobbering config files
When CMake runs, configure_file() will clobber the config files in
the build/ directory, which is annoying during testing: you need
to keep making the same edits, or edit the source.

- Introduce new behavior: the config file is **not** overwritten unless
  the source file is newer. This means that edits to config files
  in the build directory are preserved.
- If INSTALL_CONFIG is **on** then the files are clobbered anyway (the
  source is considered new regardless).
2020-08-05 00:51:08 +02:00
Callum Farmer
0d4642ca6a [CMakeModules] Update SPDX identifiers.
Update CalamaresAddTest.cmake

Update CalamaresAddLibrary.cmake

Update CalamaresAddBrandingSubdirectory.cmake

Update CalamaresAddTranslations.cmake

Update CalamaresAddPlugin.cmake

Update CalamaresAddModuleSubdirectory.cmake
2020-06-03 12:28:58 +01:00
Adriaan de Groot
5ad73681c2 CMake: actually write the NO_CONFIG setting 2020-01-24 20:58:23 +01:00
Adriaan de Groot
fbb452f9bf CMake: add support for NO_CONFIG
- A C++ module should set NO_CONFIG to flag that it doesn't have a
   config file (this is an error if it secretly **does** have one)
2020-01-20 19:27:34 +01:00
Adriaan de Groot
4652df0643 CMake: allow required modules in calamares_add_plugin
- Add a REQUIRES keyword
 - Write out values to the descriptor
 - Add some documentation for the function as a whole
2019-08-01 12:36:40 +02:00
Adriaan de Groot
d7594860b0 CMake: fix calamares_add_library
- Remove the commented-out cruft and the whinging
 - Fix use of COMPILE_DEFINITIONS with a list passed in
 - Remove unused arguments (TYPE, TARGET)
 - Document calamares_add_library
 - Document how to use COMPILE_DEFINITIONS (in calamares_add_plugin)
2019-03-20 11:26:02 +01:00
Adriaan de Groot
82c51dec37 CMake: don't change cmake logging on release builds
- There is no real need to reduce the logging on release builds,
   it's just confusing that all the cmake-time output changes
   in a non-meaningful way.
2018-09-14 05:33:04 -04:00
Adriaan de Groot
2f6e80dc42 CMake: always copy the config files to the build directory.
Switching to INSTALL_CONFIG=OFF breaks tests by not having them
in the build directory. Some logic was coupling not-installing
to not-using-in-build-dir too closely.
2018-06-28 04:39:12 -04:00
Adriaan de Groot
d325366e92 CMake: fix plugin NO_INSTALL keyword
Although the NO_INSTALL keyword could be specified for
Calamares plugins, it didn't actually do anything. Now
it does. A NO_INSTALL module does not install configs
or libraries.
2018-06-15 07:19:02 -04:00
Adriaan de Groot
def459a29d [libcalamaresui] Read emergency setting from module.desc
- Read setting from the module descriptor
 - Document optional settings
 - Add EMERGENCY keyword to the CMake helper functions
2018-06-15 07:11:17 -04:00
Adriaan de Groot
42ba505ceb CMake: add license headers, copyright
Since we install the CMake files now, also put license headers in them.
These files are intended to help plugin and branding component authors
write them in a simple Calamares-idiomatic way.
2018-03-09 11:13:42 -05:00
Kevin Kofler
633a2a193d CMake: fix typo in CalamaresAddPlugin.cmake
Fix "calamaers_add_plugin" typo in the introductory comment of
CMakeModules/CalamaresAddPlugin.cmake.
2017-08-03 02:03:14 +02:00
Adriaan de Groot
46636bdf65 Modules: documentation of CMake, module.desc, etc. 2017-08-02 11:05:32 -04:00
Adriaan de Groot
47e95b32a9 CMake: fix auto-generated module.desc 2017-08-02 11:05:32 -04:00
Adriaan de Groot
bcbd60f9a9 CMake: generate the module.desc, since it is uninteresting 2017-08-02 11:05:32 -04:00
Adriaan de Groot
0b45a52ad9 CMake: simplify module loading more 2017-07-05 11:17:39 -04:00
Adriaan de Groot
978ff6591c CMake: simplify module loading 2017-07-05 11:14:22 -04:00
Adriaan de Groot
9b749576be CMake: move our own modules into the CMakeModules dir, tidy 2017-07-05 10:32:03 -04:00