Updates for upcoming CMake 3.17
This commit is contained in:
parent
e2e074e02a
commit
ed5abd79f8
@ -4,7 +4,7 @@ People love to hate build systems.
|
|||||||
Just watch the talks from CppCon17 to see examples of developers making the state of build systems the brunt of jokes.
|
Just watch the talks from CppCon17 to see examples of developers making the state of build systems the brunt of jokes.
|
||||||
This raises the question: Why?
|
This raises the question: Why?
|
||||||
Certainly there are no shortage of problems when building.
|
Certainly there are no shortage of problems when building.
|
||||||
But I think that, in 2018, we have a very good solution to quite a few of those problems.
|
But I think that, in 2020, we have a very good solution to quite a few of those problems.
|
||||||
It's CMake. Not CMake 2.8 though; that was released before C++11 even existed!
|
It's CMake. Not CMake 2.8 though; that was released before C++11 even existed!
|
||||||
Nor the horrible examples out there for CMake (even those posted on KitWare's own tutorials list).
|
Nor the horrible examples out there for CMake (even those posted on KitWare's own tutorials list).
|
||||||
I'm talking about Modern CMake. CMake 3.1+, maybe even CMake 3.16+!
|
I'm talking about Modern CMake. CMake 3.1+, maybe even CMake 3.16+!
|
||||||
@ -86,7 +86,7 @@ There are some other places to find good information on the web. Here are some o
|
|||||||
* [It's time to do CMake Right](https://pabloariasal.github.io/2018/02/19/its-time-to-do-cmake-right/): A nice set of best practices for Modern CMake projects.
|
* [It's time to do CMake Right](https://pabloariasal.github.io/2018/02/19/its-time-to-do-cmake-right/): A nice set of best practices for Modern CMake projects.
|
||||||
* [The Ultimate Guide to Modern CMake](https://rix0r.nl/blog/2015/08/13/cmake-guide/): A slightly dated post with similar intent.
|
* [The Ultimate Guide to Modern CMake](https://rix0r.nl/blog/2015/08/13/cmake-guide/): A slightly dated post with similar intent.
|
||||||
* [More Modern CMake](https://youtu.be/y7ndUhdQuU8): A great presentation from Meeting C++ 2018 that recommends CMake 3.12+. This talk makes calls CMake 3.0+ "Modern CMake" and CMake 3.12+ "More Modern CMake".
|
* [More Modern CMake](https://youtu.be/y7ndUhdQuU8): A great presentation from Meeting C++ 2018 that recommends CMake 3.12+. This talk makes calls CMake 3.0+ "Modern CMake" and CMake 3.12+ "More Modern CMake".
|
||||||
* [Oh No! More Modern CMake](https://www.youtube.com/watch?v=y9kSr5enrSk): The sequal to More Modern CMake.
|
* [Oh No! More Modern CMake](https://www.youtube.com/watch?v=y9kSr5enrSk): The sequel to More Modern CMake.
|
||||||
* [toeb/moderncmake](https://github.com/toeb/moderncmake): A nice presentation and examples about CMake 3.5+, with intro to syntax through project organization
|
* [toeb/moderncmake](https://github.com/toeb/moderncmake): A nice presentation and examples about CMake 3.5+, with intro to syntax through project organization
|
||||||
|
|
||||||
## Credits
|
## Credits
|
||||||
|
@ -221,6 +221,17 @@ fixes were implemented, especially to newer features, such as to FindPython, Fin
|
|||||||
* Generator expressions work in more places, like build and install paths
|
* Generator expressions work in more places, like build and install paths
|
||||||
* Find locations can now be explicitly controlled through new variables
|
* Find locations can now be explicitly controlled through new variables
|
||||||
|
|
||||||
|
## [CMake 3.17 (in progress)][CMake master] : More CUDA
|
||||||
|
|
||||||
|
* `CUDA_RUNTIME_LIBRARY` can finally be set to Shared!
|
||||||
|
* FindCUDAToolkit finally added
|
||||||
|
* CUDA has meta features like `cuda_std_03`, etc.
|
||||||
|
* ExternalProject can now disable recursive checkouts
|
||||||
|
* FindPython better integration with Conda
|
||||||
|
* DEPRECATION can be applied to targets
|
||||||
|
* CMake gained a rm command
|
||||||
|
* Several new environment variables
|
||||||
|
* foreach can now do `ZIP_LISTS` (multiple lists at a time)
|
||||||
|
|
||||||
[Releases]: https://cmake.org/cmake/help/latest/release/index.html
|
[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.0]: https://cmake.org/cmake/help/latest/release/3.0.html
|
||||||
@ -240,4 +251,5 @@ fixes were implemented, especially to newer features, such as to FindPython, Fin
|
|||||||
[CMake 3.14]: https://cmake.org/cmake/help/latest/release/3.14.html
|
[CMake 3.14]: https://cmake.org/cmake/help/latest/release/3.14.html
|
||||||
[CMake 3.15]: https://cmake.org/cmake/help/latest/release/3.15.html
|
[CMake 3.15]: https://cmake.org/cmake/help/latest/release/3.15.html
|
||||||
[CMake 3.16]: https://cmake.org/cmake/help/latest/release/3.16.html
|
[CMake 3.16]: https://cmake.org/cmake/help/latest/release/3.16.html
|
||||||
|
[CMake master]: https://cmake.org/cmake/help/git-master/release/index.html
|
||||||
[fastercmake]: https://blog.kitware.com/improving-cmakes-runtime-performance/
|
[fastercmake]: https://blog.kitware.com/improving-cmakes-runtime-performance/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user