Мне остается неясным, работает ли и в какой степени конкретный механизм настройки, который вы пытаетесь использовать, в той версии libpng, которую вы пытаетесь использовать. Но похоже, что есть более простой способ. Чуть ниже выложенной вами выдержки в том же файле находится второй (из трех) вариантов:
2) Добавить определения настроек, которые вы хотите изменить на CPPFLAGS
;
например:
-DPNG_DEFAULT_READ_MACROS=0
(слегка отформатированный). Я не в состоянии проверить это в системе сборки на основе CMake, но в системе сборки Autotools она работает как прелесть. Из изучения и сравнения двух, я думаю, что это будет работать и для CMake. В частности, вы бы хотели запустить
cmake .. -DCMAKE_CPP_FLAGS="-DPNG_NO_READ_eXIf"
для вашего конкретного случая.
Кстати, обратите внимание, что флаги CPP (то есть препроцессор) являются подходящим местом для параметра, который вы указали (для -DPNG_USR_CONFIG
также в вашей первоначальной попытке). Однако на практике они, вероятно, все еще работают с флагами компилятора C.