Skip to content

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.7.0] - 2024-07-19

Changed

  • Support generated files in a separate generated folder
  • Add generated/include to the include directories during build
  • Install generated/include files to the same folder an non-generated files

[2.6.0] - 2024-06-22

Changed

  • Change message "Header files for XXX WILL be installed" from notice to debug
  • This is the standard behavior and always displaying the message makes the output noisy
  • Message when header files are NOT installed is still a notice
  • Change message "oj_initialize already called. No need to rerun." from notice to debug
  • Calling oj_initialize multiple time has no negative side effects and occurs in sdk packages (sae-sdk, iop-sdk, etc)
  • Printing message was made the output noisy, especially given sdk packages will always print it

[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 cmake find_package.

[2.4.1] - 2023-01-17

Fixed

  • Bug in cmake include() path for the platforms.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 with OJ_USE_CONAN such that cmake -D OJ_USE_CONAN=1 -D OJ_CONAN_EDITABLE=1 .. is equivalent to cmake -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 a conanfile.py file using the conan 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 the CMAKE_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 to oj_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 made
  • oj_find_package: Wrapper around find_package which controls its use based on command line variables or project structure
  • oj_add_library: Wrapper around add_library which also configures some internal variables
  • oj_install_library: Configures the install steps for the provided library target. Target needs to be specified using oj_add_library
  • oj_add_executable: Wrapper around add_executable which also confiures some internal variables
  • oj_install_executable: Configures the install steps for the provided executable target. Target needs to be specified using oj_add_executable
  • oj_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 used
  • oj_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 used
  • oj_configure_msvc_explorer: Configures MSVC to group files in the Solution Explorer in the same way they appear in the filesystem