CMake install with namespace and add corresponding alias targets
Add namespace to installed export
install(EXPORT mimalloc DESTINATION ${mi_install_cmakedir} NAMESPACE mimalloc::)
Add alias targets to provide consistent targets for submodule builds.
add_library(mimalloc::mimalloc-obj ALIAS mimalloc-obj)
add_library(mimalloc::mimalloc-static ALIAS mimalloc-static)
Thank you for the feedback; I'm not a cmake expert and don't know what the NAMESPACE does? Would adding this be backward compatible or is there a chance of breaking existing build scripts that people have?
https://cmake.org/cmake/help/latest/guide/importing-exporting/index.html
Namespaces help to prevent conflicting targets when using add_subdirectory(). The install() call with identical namespace means that builds can reference mimalloc targets/dependencies in a single way, whether building with add_subdirectory() or fetching with find_package().
The alias targets should be backwards compatible. The install step is probably not backwards compatible, but most projects are using namespaces as a CMake best practice.