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.
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)
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()
So why the heck would using "-S ." make any difference?