Hi, I've run cmake 3.19.0-rc1 over libjpeg-turbo on a win 10 machine using VD2019 x64. I noticed that if I leave all the config settings as default, I generate a solution with mixed CRT runtime settings across the projects. For example,
- djpeg has /MD /MDd
- turbojpeg-static has /MT /MTd
I'm not sure what the ENABLE_SHARED and ENABLE_STATIC settings are doing, because if I just have ENABLED_SHARED ticked, I still get mixed CRT settings e.g.
- djpeg has /MD /MDd
- turbojpeg has /MT /MTd
What do the ENABLED_SHARED and ENABLED_STATIC settings actually do? Do they affect the way the libraries statically/dynamically link to the CRT, or do they mean they are creating static/dynamic libraries?
Is there any way to just have all the project files set to either (/MT /MTd) or (/MD /MDd)? Or is there a reason they are set up this way? At the end of the day all I really want is for turbojpeg-static be dynamically linked to the CRT i.e. set to
(/MD /MDd). Then i can statically link turbojpeg-static to my C++ app which also has (/MD /MDd) to the CRT. I'm not sure whether I just need to make this change to turbojpeg-static, or to all the projects in the solution - as they may depend on one another.
Thanks for any help.