Commit Graph

4 Commits

Author SHA1 Message Date
silverqx
03bbe98d67 cmake package config enhancements 2021-10-18 08:26:24 +02:00
silverqx
0e7b87bde8 cmake obtain version info from version.hpp file
Discarded configuration of the version header file by version.hpp.in,
instead the project version is obtained from version.hpp file.

 - unified function return values, used out_ variables
 - unified cmake_parse_arguments() calls, used PARSE_ARGV everywhere
2021-09-28 17:07:23 +02:00
silverqx
7c2ab61f0d extracted namespace and target names to variable
Replaced all the namespace and target names by global variables, so they
are defined in one place.
2021-09-14 14:44:46 +02:00
silverqx
a52e922a81 enhanced cmake build, many changes
Primary change is to correctly match build types for the build tree
and to correctly map build types when package registry contains more
builds.
Also for install tree, link only debug builds against for MSVC, to
avoid MSVC crashes.
These changes was made up in the package version config files.
Build types are requirements like a package version is.
Code responsible for this is in the TinyPackageConfigHelpers.cmake
module that is also installed with package for a install tree, or copied
to the build tree for a build tree.

 - provided meaningful defaults for CMAKE_MAP_IMPORTED_CONFIG_<CONFIG>
 - set up meaningful defaults also for TinyOrm:TinyOrm target in the
   package config file for MAP_IMPORTED_CONFIG_<CONFIG>
 - added many new debug message in package config and config version
   files
 - added nice status message in the package config file about found
   TinyOrm package, example of the output:
   Found package TinyOrm 0.1.0.0 Release (requested 0.1.0) at
   /xyz/XyzConfig.cmake
 - all generated content in the build tree is written to the
   TINY_BUILD_GENDIR (generated version header and cmake config/version
   files)
 - added new MATCH_EQUAL_EXPORTED_BUILDTREE option - Exported package
   configuration from the build tree is considered to match only when
   the build type is equal
 - added CMake Guidelines to the NOTES.txt
 - updated tiny_file_version_and_manifest() function, it takes 2 paths
   now, _in and _out
 - added new global variable TINY_IS_MULTI_CONFIG
 - added p, pn, ps functions to CsDebug module
2021-09-12 20:11:00 +02:00