Re: CMake's check-compiles fails to parse WITH_GZFILEOP

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> Dne 05. 01. 24 v 11:10 Milan Crha napsal(a):
> 
> 
> There certainly were these changes:
> 
> https://github.com/zlib-ng/zlib-ng/commit/0560a3a63dfdd6642724c8fad4db9dc...
> 
> https://github.com/zlib-ng/zlib-ng/commit/6592accb2541aa637844cabef16b7ad...
> 
> 
> Vít

I don't think zlib-ng is the root cause of this, that looks to be setting the pkgconfig flags correctly, since there is no difference between compile definitions and other flags in pkgconfig (unlike CMake which does separate definitions, include paths, etc. into separate variables). What is happening is that CMake is assuming that -DWITH_GZFILEOP is actually a CMake internal variable for try_compile, when it is not.
 
Building EDS with --trace --trace-expand shows it is trying to use the following call to try_compile:
/usr/share/cmake/Modules/Internal/CheckSourceCompiles.cmake(101):  try_compile(HAVE_GPOWERPROFILEMONITOR SOURCE_FROM_VAR src.c _source COMPILE_DEFINITIONS -DHAVE_GPOWERPROFILEMONITOR   LINK_LIBRARIES;-L/usr/lib64;-lxml2;-lsoup-3.0;-lgobject-2.0;-lgio-2.0;-lgmodule-2.0;-pthread;-Wl,--export-dynamic;-lglib-2.0 CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=-I/usr/include/libxml2;-I/usr/include/libsoup-3.0;-I/usr/include/glib-2.0;-I/usr/lib64/glib-2.0/include;-I/usr/include/libmount;-I/usr/include/blkid;-I/usr/include/sysprof-6;-pthread;-DWITH_GZFILEOP -DINCLUDE_DIRECTORIES:STRING=/usr/include/libxml2;/usr/include/libsoup-3.0;/usr/include/glib-2.0;/usr/lib64/glib-2.0/include;/usr/include/libmount;/usr/include/blkid;/usr/include/sysprof-6 OUTPUT_VARIABLE OUTPUT )

Looking further up in the EDS CMake output, EDS itself is passing that inside its CMAKE_REQUIRED_FLAGS variable here:
/builddir/build/BUILD/evolution-data-server-3.51.1/CMakeLists.txt(913):  set(CMAKE_REQUIRED_FLAGS -I/usr/include/libxml2;-I/usr/include/libsoup-3.0;-I/usr/include/glib-2.0;-I/usr/lib64/glib-2.0/include;-I/usr/include/libmount;-I/usr/include/blkid;-I/usr/include/sysprof-6;-pthread;-DWITH_GZFILEOP )
/builddir/build/BUILD/evolution-data-server-3.51.1/CMakeLists.txt(914):  set(CMAKE_REQUIRED_INCLUDES /usr/include/libxml2;/usr/include/libsoup-3.0;/usr/include/glib-2.0;/usr/lib64/glib-2.0/include;/usr/include/libmount;/usr/include/blkid;/usr/include/sysprof-6 )
/builddir/build/BUILD/evolution-data-server-3.51.1/CMakeLists.txt(915):  set(CMAKE_REQUIRED_LIBRARIES -L/usr/lib64;-lxml2;-lsoup-3.0;-lgobject-2.0;-lgio-2.0;-lgmodule-2.0;-pthread;-Wl,--export-dynamic;-lglib-2.0 )
/

An interesting thing to note about that is that it is using ;-list formatting in CMake for this call, but according to the docs for CheckCSourceCompiles, these CMAKE_REQUIRED_<> variables should have the values space-separated, not as a ;-list (https://cmake.org/cmake/help/latest/module/CheckCSourceCompiles.html), so that should probably be fixed in EDS to see if the problem stays or if it goes away.

-Ian
--
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux