mirror of
1
0
Fork 0

fix: minor cleanups

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
This commit is contained in:
Henry Schreiner 2022-06-02 14:04:47 -04:00
parent 684f587093
commit f2e36349bf
No known key found for this signature in database
GPG Key ID: B9D0E45146A241E8
5 changed files with 39 additions and 13 deletions

View File

@ -1,6 +1,6 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v3.2.0
rev: v4.2.0
hooks:
- id: check-added-large-files
- id: check-case-conflict
@ -9,6 +9,7 @@ repos:
- id: check-yaml
- id: debug-statements
- id: end-of-file-fixer
exclude: \.cmake$
- id: mixed-line-ending
- id: requirements-txt-fixer
- id: trailing-whitespace

View File

@ -38,7 +38,7 @@ On Linux, there are several options. Kitware provides a [Debian/Ubunutu apt repo
~ $ wget -qO- "https://cmake.org/files/v3.23/cmake-3.23.1-linux-x86_64.tar.gz" | tar --strip-components=1 -xz -C ~/.local
{% endterm %}
The names changed in 3.23; older releases had names like `cmake-3.19.7-Linux-x86_64.tar.gz`. If you just want a local folder with CMake only:
The names changed in 3.20; older releases had names like `cmake-3.19.7-Linux-x86_64.tar.gz`. If you just want a local folder with CMake only:
{% term %}
~ $ mkdir -p cmake-3.23 && wget -qO- "https://cmake.org/files/v3.23/cmake-3.23.1-linux-x86_64.tar.gz" | tar --strip-components=1 -xz -C cmake-3.23

View File

@ -392,6 +392,30 @@ couple of compilers were added.
* `IMPORTED_NO_SYSTEM`, a new property to forcibly remove SYSTEM from a target.
* `FindGTest` now adds a `GMock` target if found.
## [CMake 3.24][CMake master]: WIP
The next release is shaping up to be a fantastic release. Package writers are
getting integration between `find_package` and `FetchContent` that will allow
"download if missing" workflows, and is configurable by packagers. Similarly,
warnings as errors can be set by a package and removed by packagers, as well
(still make sure not to do this unless you are being build as the main
project!).
* `--fresh` option removes the old cache when running.
* `find_package` and `FetchContent` now have integration - you have options to download missing dependencies.
* `find_package` has a new `GLOBAL` option.
* `CMAKE_PROJECT_TOP_LEVEL_INCLUDES` allows a user (like packagers) to inject pre-project code.
* `PATH` management for generator expressions.
* `CMAKE_COLOR_DIAGNOSTICS` env var & variable added, replacing `CMAKE_COLOR_MAKEFILE`.
* You can disable `find_*` searching the install prefix.
* `COMPILE_WARNING_AS_ERROR` property and `CMAKE_` variable, and `--compile-no-warning-as-error` to disable it.
* CUDA supports `native` to compile for the current GPUs detected.
* `SYSTEM` includes now are respected on MSVC generators.
* Better support for MSVC, XCode, and others.
* `LLVMFlang` compiler support.
[Releases]: https://cmake.org/cmake/help/latest/release/index.html
[CMake 3.0]: https://cmake.org/cmake/help/latest/release/3.0.html
[CMake 3.1]: https://cmake.org/cmake/help/latest/release/3.1.html
@ -419,4 +443,3 @@ couple of compilers were added.
[CMake 3.23]: https://cmake.org/cmake/help/latest/release/3.23.html
[CMake master]: https://cmake.org/cmake/help/git-master/release/index.html
[fastercmake]: https://blog.kitware.com/improving-cmakes-runtime-performance/

View File

@ -6,7 +6,9 @@ cmake_minimum_required(VERSION 3.4...3.23)
project(RootDictExample LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 11 CACHE STRING "C++ standard to use")
set(CMAKE_CXX_STANDARD
11
CACHE STRING "C++ standard to use")
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
set(CMAKE_PLATFORM_INDEPENDENT_CODE ON)