Ok, this is a weird one. Apparently platform detection either fails or isn' "remembered" when "-S ." is used to specify the source directory but if "." is added to the end of the cmake command line it configures fine.
Shouldn't these work exactly the same?
When "-S ." is used (as it's set in %cmake) the configure fails in two ways:
1. GNUInstallDirs complains it can't set CMAKE_INSTALL_LIBDIR
CMake Warning (dev) at /usr/share/cmake/Modules/GNUInstallDirs.cmake:239 (message):
Unable to determine default CMAKE_INSTALL_LIBDIR directory because no
target architecture is known. Please enable at least one language before
including GNUInstallDirs.
Unable to determine default CMAKE_INSTALL_LIBDIR directory because no
target architecture is known. Please enable at least one language before
including GNUInstallDirs.
2. Some libraries are not found, I think for the same reason. Using --debug-find I see that no incarnation of "lib64" is checked:
find_library considered the following locations:
/builddir/.local/bin/lib/(lib)mbedtls(\.so|\.a)
/builddir/.local/bin/(lib)mbedtls(\.so|\.a)
/builddir/bin/lib/(lib)mbedtls(\.so|\.a)
/builddir/bin/(lib)mbedtls(\.so|\.a)
/usr/bin/lib/(lib)mbedtls(\.so|\.a)
/usr/bin/(lib)mbedtls(\.so|\.a)
/bin/lib/(lib)mbedtls(\.so|\.a)
/bin/(lib)mbedtls(\.so|\.a)
/usr/sbin/lib/(lib)mbedtls(\.so|\.a)
/usr/sbin/(lib)mbedtls(\.so|\.a)
/sbin/lib/(lib)mbedtls(\.so|\.a)
/sbin/(lib)mbedtls(\.so|\.a)
/usr/local/sbin/lib/(lib)mbedtls(\.so|\.a)
/usr/local/sbin/(lib)mbedtls(\.so|\.a)
/usr/local/lib/lib/(lib)mbedtls(\.so|\.a)
/usr/local/lib/(lib)mbedtls(\.so|\.a)
/usr/local/lib/(lib)mbedtls(\.so|\.a)
/usr/local/(lib)mbedtls(\.so|\.a)
/usr/lib/lib/(lib)mbedtls(\.so|\.a)
/usr/lib/(lib)mbedtls(\.so|\.a)
/usr/lib/(lib)mbedtls(\.so|\.a)
/usr/(lib)mbedtls(\.so|\.a)
/lib/lib/(lib)mbedtls(\.so|\.a)
/lib/(lib)mbedtls(\.so|\.a)
/usr/X11R6/lib/lib/(lib)mbedtls(\.so|\.a)
/usr/X11R6/lib/(lib)mbedtls(\.so|\.a)
/usr/X11R6/lib/(lib)mbedtls(\.so|\.a)
/usr/X11R6/(lib)mbedtls(\.so|\.a)
/usr/pkg/lib/lib/(lib)mbedtls(\.so|\.a)
/usr/pkg/lib/(lib)mbedtls(\.so|\.a)
/usr/pkg/lib/(lib)mbedtls(\.so|\.a)
/usr/pkg/(lib)mbedtls(\.so|\.a)
/opt/lib/lib/(lib)mbedtls(\.so|\.a)
/opt/lib/(lib)mbedtls(\.so|\.a)
/opt/lib/(lib)mbedtls(\.so|\.a)
/opt/(lib)mbedtls(\.so|\.a)
/usr/lib/X11/lib/(lib)mbedtls(\.so|\.a)
/usr/lib/X11/(lib)mbedtls(\.so|\.a)
/builddir/.local/bin/lib/(lib)mbedtls(\.so|\.a)
/builddir/.local/bin/(lib)mbedtls(\.so|\.a)
/builddir/bin/lib/(lib)mbedtls(\.so|\.a)
/builddir/bin/(lib)mbedtls(\.so|\.a)
/usr/bin/lib/(lib)mbedtls(\.so|\.a)
/usr/bin/(lib)mbedtls(\.so|\.a)
/bin/lib/(lib)mbedtls(\.so|\.a)
/bin/(lib)mbedtls(\.so|\.a)
/usr/sbin/lib/(lib)mbedtls(\.so|\.a)
/usr/sbin/(lib)mbedtls(\.so|\.a)
/sbin/lib/(lib)mbedtls(\.so|\.a)
/sbin/(lib)mbedtls(\.so|\.a)
/usr/local/sbin/lib/(lib)mbedtls(\.so|\.a)
/usr/local/sbin/(lib)mbedtls(\.so|\.a)
/usr/local/lib/lib/(lib)mbedtls(\.so|\.a)
/usr/local/lib/(lib)mbedtls(\.so|\.a)
/usr/local/lib/(lib)mbedtls(\.so|\.a)
/usr/local/(lib)mbedtls(\.so|\.a)
/usr/lib/lib/(lib)mbedtls(\.so|\.a)
/usr/lib/(lib)mbedtls(\.so|\.a)
/usr/lib/(lib)mbedtls(\.so|\.a)
/usr/(lib)mbedtls(\.so|\.a)
/lib/lib/(lib)mbedtls(\.so|\.a)
/lib/(lib)mbedtls(\.so|\.a)
/usr/X11R6/lib/lib/(lib)mbedtls(\.so|\.a)
/usr/X11R6/lib/(lib)mbedtls(\.so|\.a)
/usr/X11R6/lib/(lib)mbedtls(\.so|\.a)
/usr/X11R6/(lib)mbedtls(\.so|\.a)
/usr/pkg/lib/lib/(lib)mbedtls(\.so|\.a)
/usr/pkg/lib/(lib)mbedtls(\.so|\.a)
/usr/pkg/lib/(lib)mbedtls(\.so|\.a)
/usr/pkg/(lib)mbedtls(\.so|\.a)
/opt/lib/lib/(lib)mbedtls(\.so|\.a)
/opt/lib/(lib)mbedtls(\.so|\.a)
/opt/lib/(lib)mbedtls(\.so|\.a)
/opt/(lib)mbedtls(\.so|\.a)
/usr/lib/X11/lib/(lib)mbedtls(\.so|\.a)
/usr/lib/X11/(lib)mbedtls(\.so|\.a)
Looking at the source of GNUInstallDirs the only reason to see that message is:
if (NOT DEFINED CMAKE_SYSTEM_NAME OR NOT DEFINED CMAKE_SIZEOF_VOID_P)
message(AUTHOR_WARNING
"Unable to determine default CMAKE_INSTALL_LIBDIR directory because no target architecture is known. "
"Please enable at least one language before including GNUInstallDirs.")
endif()
message(AUTHOR_WARNING
"Unable to determine default CMAKE_INSTALL_LIBDIR directory because no target architecture is known. "
"Please enable at least one language before including GNUInstallDirs.")
endif()
So why the heck would using "-S ." make any difference?
_______________________________________________ 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 on the list, report it: https://pagure.io/fedora-infrastructure