PackageProject.cmake

🏛️ Help other developers use your project. A CMake script for packaging C/C++ projects for simple project installation while employing best-practices for maximum compatibility.

MIT License

Stars
97

Bot releases are hidden (Show)

PackageProject.cmake - v1.11.2 Latest Release

Published by TheLartians 9 months ago

What's Changed

New Contributors

Full Changelog: https://github.com/TheLartians/PackageProject.cmake/compare/v1.11.1...v1.11.2

PackageProject.cmake - v1.11.1

Published by TheLartians 11 months ago

What's Changed

New Contributors

Full Changelog: https://github.com/TheLartians/PackageProject.cmake/compare/v1.11.0...v1.11.1

PackageProject.cmake - v1.11.0 - CPack Support

Published by TheLartians over 1 year ago

What's Changed

New Contributors

Full Changelog: https://github.com/TheLartians/PackageProject.cmake/compare/v1.10.0...v1.11.0

PackageProject.cmake - v1.10.0

Published by TheLartians almost 2 years ago

What's Changed

New Contributors

Full Changelog: https://github.com/TheLartians/PackageProject.cmake/compare/v1.9.0...v1.10.0

PackageProject.cmake - Added INCLUDE_HEADER_PATTERN option

Published by TheLartians over 2 years ago

Using the INCLUDE_HEADER_PATTERN it is now possible to filter installed files inside the PROJECT_INCLUDE_DIR directory.

What's Changed

Full Changelog: https://github.com/TheLartians/PackageProject.cmake/compare/v1.8.0...v1.9.0

PackageProject.cmake - Add version component definitions

Published by TheLartians over 3 years ago

Using the VERSION flag with a CMake version identifier (<major>[.<minor>[.<patch>[.<tweak>]]]) will now also define macros containing integer values for the major, minor, patch and tweak components. They are accessed in C++ by appending the component name to the version macro, e.g. <uppercase package name>_VERSION_MAJOR.

Thanks to @mscofield0 for the PR!

PackageProject.cmake - EXPORT_HEADER

Published by TheLartians over 3 years ago

This release adds a new feature: Export Headers!

Simply add the parameter EXPORT_HEADER, e.g. to EXPORT_HEADER "${PROJECT_NAME}/export.h", for CMake to generate an export header next to your version header file. This feature is useful for those writing a libraries that users should be able to link to both statically and dynamically.

Thanks to @ClausKlein for the implementation!

PackageProject.cmake - Correctness updates and ARCH_INDEPENDENT option

Published by TheLartians over 3 years ago

The project has been updated to provide a cleaner separation of components, sets the install location to a catchable variable as well as other correctness updates. An option ARCH_INDEPENDENT has been added that allows for architecture independent installations. This is enabled by default for INTERFACE libraries. See #24 for details.

PackageProject.cmake - Fixed version suffix option

Published by TheLartians over 3 years ago

Fixes a bug where the flag NO_VERSION_SUFFIX couldn't be disabled. The option has now been renamed to the named parameter PROJECT_VERSION_SUFFIX .

PackageProject.cmake - Flag to remove version suffix

Published by TheLartians over 3 years ago

Add optional flag NO_VERSION_SUFFIX to remove versioned installation suffix. See the readme or #15 for details.

PackageProject.cmake - Allow passing of version to dependencies

Published by TheLartians over 3 years ago

Fixes a bug preventing the version may now be specified in dependencies. For example: DEPENDENCIES "fmt 7.1.3;cxxopts 2.2.0" is now a valid parameter.

PackageProject.cmake - Add namespace support

Published by TheLartians almost 4 years ago

We now support namespaced targets using the additional NAMESPACE parameter. See the readme for more information.

PackageProject.cmake - Version header

Published by TheLartians over 4 years ago

Added an option to automatically create a version header which is installed and included in the project's target.

PackageProject.cmake -

Published by TheLartians over 4 years ago

PackageProject.cmake - Support multiple dependencies

Published by TheLartians over 4 years ago

PackageProject.cmake -

Published by TheLartians over 4 years ago

PackageProject.cmake -

Published by TheLartians over 4 years ago