Differences between revisions 7 and 8
Revision 7 as of 2016-10-19 06:33:40
Size: 1398
Editor: SamatJain
Comment:
Revision 8 as of 2016-10-19 07:15:30
Size: 1459
Editor: SamatJain
Comment:
Deletions are marked like this. Additions are marked like this.
Line 32: Line 32:
[[https://blog.kitware.com/create-dlls-on-windows-without-declspec-using-new-cmake-export-all-feature/|Create dlls on Windows without declspec() using new CMake export all feature | The Kitware Blog]]: have CMake already export symbols for DLLs. [[https://blog.kitware.com/create-dlls-on-windows-without-declspec-using-new-cmake-export-all-feature/|Create dlls on Windows without declspec() using new CMake export all feature | The Kitware Blog]]: have CMake already export symbols for DLLs. https://gcc.gnu.org/wiki/Visibility provides an alternative.

Creating distribution packages with CMake

CMake can automatically create packages for several distributions (e.g. Redhat/Fedora .rpm, Debian/Ubuntu .deb, etc), though the created packages will lack dependency information. To create these packages, add at the end of CMakeLists.txt:

   1 SET(CPACK_GENERATOR "DEB")
   2 SET(CPACK_PACKAGE_NAME ${CMAKE_PROJECT_NAME})
   3 SET(CPACK_SET_DESTDIR TRUE)
   4 SET(CPACK_DEBIAN_PACKAGE_MAINTAINER "me")
   5 SET(CPACK_PACKAGE_VERSION_MAJOR "0")
   6 SET(CPACK_PACKAGE_VERSION_MINOR "0")
   7 SET(CPACK_PACKAGE_VERSION_PATCH "1~alpha1")
   8 include(CPack)

Modify the variables to create an package with the appropriate name and metadata fields. After building the package, run:

   1 make package

Source: Harold Sitter's Checkinstall DEBs done the CMake way...

Good examples

https://github.com/videolan/x265

Create dlls on Windows without declspec() using new CMake export all feature: have CMake already export symbols for DLLs. https://gcc.gnu.org/wiki/Visibility provides an alternative.

Difference between PRIVATE, PUBLIC, and INTERFACE


CategoryCheatSheet

SamatsWiki: CheatSheet/CMake (last edited 2017-08-17 00:55:15 by SamatJain)