Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[2.5.0] - 2023-04-10
Added
- Ability to create a release archive using conan.
- .release_archive file manages the contents of the release archive
- linaro_gcc7.cmake cmake toolchain file for cross-compiling for arm using the linaro gcc7 toolchain
[2.4.2] - 2023-01-18
Fixed
- Bug in header install path. Headers we being installed under an extraneous
openjaus
subfolder (include/openjaus/openjaus
). Should have no effect on behavior as long as consumers were using cmakefind_package
.
[2.4.1] - 2023-01-17
Fixed
- Bug in cmake
include()
path for theplatforms.cmake
file
[2.4.0] - 2023-01-17
Changed
- Suppress some warnings depending on platform.
Removed
- Files in internal/old folder. Files were not used.
[2.3.0] - 2022-03-03
Added
- Support dependency on Qt5 packages such that Qt5 namespaced package names are converted to their non-namespaced equivalent (eg. Qt5::Core --> Qt5Core) and will be correctly loaded from within a generated -config.cmake file.
- [INTERNAL]
OJ_CONAN_EDITABLE
option which configures the project for being used in conan editable mode. Must be used in combination withOJ_USE_CONAN
such thatcmake -D OJ_USE_CONAN=1 -D OJ_CONAN_EDITABLE=1 ..
is equivalent tocmake -D OJ_USE_CONAN=1 -D CMAKE_INSTALL_PREFIX=./conan -D OJ_DEV_INCLUDE_DEST=../../include ..
[2.2.0] - 2022-01-25
Added
- [INTERNAL]
oj_get_version_from_conan
macro which pulls the version from aconanfile.py
file using theconan inspect
command
[2.1.0] - 2022-01-04
Added
- [INTERNAL]
OJ_DEV_INCLUDE_DEST
variable which can be used to specify a location to be used for the header files. This path must be provided relative to theCMAKE_INSTALL_PREFIX
.
[2.0.0] - 2021-05-13
Added
oj_add_config_files
macro which allows for specifying config files that will be automatically installed during the install step- Exposed a number of user options using the
option()
command
Changed
- [BREAKING]
oj_initialize_project
macro renamed tooj_initialize
and takes a path to the project root instead of a "project type"
[1.0.0] - 2021-05-18
Added
- Initial cmake support
openjaus-buildtools-config.cmake
provides a number of re-usable macros and ability to use find_package to import those macros for use. Macros include:oj_initialize_project
: initialize internal openjaus variables. Indicates this is an openjaus project and as such assumptions about the project structure can be madeoj_find_package
: Wrapper around find_package which controls its use based on command line variables or project structureoj_add_library
: Wrapper around add_library which also configures some internal variablesoj_install_library
: Configures the install steps for the provided library target. Target needs to be specified using oj_add_libraryoj_add_executable
: Wrapper around add_executable which also confiures some internal variablesoj_install_executable
: Configures the install steps for the provided executable target. Target needs to be specified using oj_add_executableoj_install_link_libraries
: Copies any shared objects (.dll, .so) that are directly linked against to the provided destination. Automatically included if oj_install_executable is usedoj_configure_msvc_compile
: Configures MSVC to disable a number of warnings that are generated out of the openjaus codebase in Windows. Automatically included if oj_add_library or oj_add_executable are usedoj_configure_msvc_explorer
: Configures MSVC to group files in the Solution Explorer in the same way they appear in the filesystem