宋文武 <iyzs...@gmail.com> skribis: > Ludovic Courtès <l...@gnu.org> writes: > >> 宋文武 <iyzs...@gmail.com> skribis: >> >>> if CMAKE_INSTALL_LIBDIR not set to `lib`, GNUInstallDirs.cmake will install >>> libraries files to $out/lib64. >> >> I found several CMake-built libraries on x86_64 (graphite2, openjpeg, >> qjson) that all use lib/, not lib64/. >> >> Then I found one counterexample, libftdi; however, setting >> CMAKE_INSTALL_LIBDIR=lib doesn’t make any different: it still installs >> libraries in $out/lib64. Any idea? > libftdi (not using GNUInstallDirs.cmake) handle this itself by > set LIB_SUFFIX, look like we have to set it specifically.
Ah, OK. Still, graphite2, openjpeg, and qjson all install to $prefix/lib, even when not passing CMAKE_INSTALL_LIBDIR=lib. Is it really needed? >>> if CMAKE_PREFIX_PATH not set to PATH of `inputs`, cmake will unable to >>> find cmake modules of inputs. >> >> You’re talking about .cmake files, right? > yes, but now I find out that they can under both lib/cmake and share/cmake. In that case... >> + ;; Search path used by 'FIND_PACKAGE' and 'INCLUDE'. >> + (search-path-specification >> + (variable "CMAKE_MODULE_PATH") >> + (directories '("lib/cmake"))))) ^ ... just add "share/cmake" here. ---’ Could you try that? > after add CMAKE_PREFIX_PATH with: > > (search-path-specification > (variable "CMAKE_PREFIX_PATH") > (directories '(""))) I thought about it, but that "" is inelegant and not as clear. > and here is the packages I'm working on: Looks like a good start. :-) Thanks, Ludo’.