Files
TinyORM/cmake/CommonModules/TinyFeatureOptions.cmake
T
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

24 lines
717 B
CMake

# Helper function for coupling option() and add_feature_info()
function(feature_option name description default)
string(CONCAT desc "${description} (default: ${default})")
option(${name} "${desc}" "${default}")
add_feature_info(${name} ${name} "${desc}")
endfunction()
include(CMakeDependentOption)
# Helper function for coupling cmake_dependent_option() and add_feature_info()
macro(feature_option_dependent name description default depends force)
string(CONCAT desc
"${description} (default: ${default}; depends on condition: ${depends})")
cmake_dependent_option(${name} "${desc}" "${default}" "${depends}" "${force}")
add_feature_info(${name} ${name} "${desc}")
endmacro()