Please find a diff to fix the missing FFTW3LibraryDepends.cmake in fftw3. This file would normally be generated by cmake, but we are using the more feature-complete and stable autotools configure.
https://github.com/FFTW/fftw3/issues/130 While I'm here, I think the cmake files should be moved from -double, -float to -common? Rafael Index: Makefile =================================================================== RCS file: /cvs/ports/math/fftw3/Makefile,v diff -u -p -u -p -r1.41 Makefile --- Makefile 27 Sep 2023 09:27:54 -0000 1.41 +++ Makefile 8 Jan 2024 16:47:57 -0000 @@ -14,6 +14,9 @@ SHARED_LIBS= fftw3 7.1 \ fftw3f_threads 1.2 CATEGORIES= math +REVISION-main= 0 +REVISION-common= 0 + HOMEPAGE= https://www.fftw.org/ # GPL @@ -47,5 +50,8 @@ PKG_ARCH-common= * post-install: ${INSTALL_DATA_DIR} ${PREFIX}/share/doc/fftw3 ${INSTALL_DATA} ${WRKSRC}/doc/fftw3.pdf ${PREFIX}/share/doc/fftw3 + # https://github.com/FFTW/fftw3/issues/130 + ${INSTALL_DATA} ${FILESDIR}/FFTW3LibraryDepends.cmake.in \ + ${PREFIX}/lib/cmake/fftw3/FFTW3LibraryDepends.cmake.in .include <bsd.port.mk> Index: files/FFTW3LibraryDepends.cmake.in =================================================================== RCS file: files/FFTW3LibraryDepends.cmake.in diff -N files/FFTW3LibraryDepends.cmake.in --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ files/FFTW3LibraryDepends.cmake.in 8 Jan 2024 16:47:57 -0000 @@ -0,0 +1,68 @@ +# Generated by CMake + +if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8) + message(FATAL_ERROR "CMake >= 2.8.0 required") +endif() +if(CMAKE_VERSION VERSION_LESS "2.8.3") + message(FATAL_ERROR "CMake >= 2.8.3 required") +endif() +cmake_policy(PUSH) +cmake_policy(VERSION 2.8.3...3.25) +#---------------------------------------------------------------- +# Generated CMake target import file. +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Protect against multiple inclusion, which would fail when already imported targets are added once more. +set(_cmake_targets_defined "") +set(_cmake_targets_not_defined "") +set(_cmake_expected_targets "") +foreach(_cmake_expected_target IN ITEMS FFTW3::fftw3%%FFTW3_SUFX%%) + list(APPEND _cmake_expected_targets "${_cmake_expected_target}") + if(TARGET "${_cmake_expected_target}") + list(APPEND _cmake_targets_defined "${_cmake_expected_target}") + else() + list(APPEND _cmake_targets_not_defined "${_cmake_expected_target}") + endif() +endforeach() +unset(_cmake_expected_target) +if(_cmake_targets_defined STREQUAL _cmake_expected_targets) + unset(_cmake_targets_defined) + unset(_cmake_targets_not_defined) + unset(_cmake_expected_targets) + unset(CMAKE_IMPORT_FILE_VERSION) + cmake_policy(POP) + return() +endif() +if(NOT _cmake_targets_defined STREQUAL "") + string(REPLACE ";" ", " _cmake_targets_defined_text "${_cmake_targets_defined}") + string(REPLACE ";" ", " _cmake_targets_not_defined_text "${_cmake_targets_not_defined}") + message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_cmake_targets_defined_text}\nTargets not yet defined: ${_cmake_targets_not_defined_text}\n") +endif() +unset(_cmake_targets_defined) +unset(_cmake_targets_not_defined) +unset(_cmake_expected_targets) + + +# Create imported target FFTW3::fftw3%%FFTW3_SUFX%% +add_library(FFTW3::fftw3%%FFTW3_SUFX%% SHARED IMPORTED) + +set_target_properties(FFTW3::fftw3%%FFTW3_SUFX%% PROPERTIES + INTERFACE_LINK_LIBRARIES "m" +) + +# Import target "FFTW3::fftw3%%FFTW3_SUFX%%" for configuration "Release" +set_property(TARGET FFTW3::fftw3%%FFTW3_SUFX%% APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE) +set_target_properties(FFTW3::fftw3%%FFTW3_SUFX%% PROPERTIES + IMPORTED_LOCATION_RELEASE "%%LOCALBASE%%/lib/libfftw3%%FFTW3_SUFX%%.so.%%SHLIB_VER_MAJ%%" + IMPORTED_SONAME_RELEASE "libfftw3%%FFTW3_SUFX%%.so.%%SHLIB_VER%%" + ) + +# This file does not depend on other imported targets which have +# been exported from the same project but in a separate export set. + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) +cmake_policy(POP) Index: pkg/PFRAG.double-main =================================================================== RCS file: /cvs/ports/math/fftw3/pkg/PFRAG.double-main,v diff -u -p -u -p -r1.7 PFRAG.double-main --- pkg/PFRAG.double-main 21 Nov 2022 23:01:17 -0000 1.7 +++ pkg/PFRAG.double-main 8 Jan 2024 16:47:57 -0000 @@ -1,8 +1,6 @@ @pkgpath math/fftw3 @pkgpath math/fftw3,double @bin bin/fftw-wisdom -lib/cmake/fftw3/FFTW3Config.cmake -lib/cmake/fftw3/FFTW3ConfigVersion.cmake @static-lib lib/libfftw3.a lib/libfftw3.la @lib lib/libfftw3.so.${LIBfftw3_VERSION} Index: pkg/PFRAG.float-main =================================================================== RCS file: /cvs/ports/math/fftw3/pkg/PFRAG.float-main,v diff -u -p -u -p -r1.7 PFRAG.float-main --- pkg/PFRAG.float-main 21 Nov 2022 23:01:17 -0000 1.7 +++ pkg/PFRAG.float-main 8 Jan 2024 16:47:57 -0000 @@ -1,7 +1,5 @@ @pkgpath math/fftw3,float @bin bin/fftwf-wisdom -lib/cmake/fftw3/FFTW3fConfig.cmake -lib/cmake/fftw3/FFTW3fConfigVersion.cmake @static-lib lib/libfftw3f.a lib/libfftw3f.la @lib lib/libfftw3f.so.${LIBfftw3f_VERSION} Index: pkg/PLIST-common =================================================================== RCS file: /cvs/ports/math/fftw3/pkg/PLIST-common,v diff -u -p -u -p -r1.6 PLIST-common --- pkg/PLIST-common 11 Mar 2022 19:36:14 -0000 1.6 +++ pkg/PLIST-common 8 Jan 2024 16:47:57 -0000 @@ -9,6 +9,9 @@ include/fftw3q.f03 @info info/fftw3.info lib/cmake/ lib/cmake/fftw3/ +lib/cmake/fftw3/FFTW3Config.cmake +lib/cmake/fftw3/FFTW3ConfigVersion.cmake +lib/cmake/fftw3/FFTW3LibraryDepends.cmake.in @man man/man1/fftw-wisdom-to-conf.1 share/doc/fftw3/ share/doc/fftw3/fftw3.pdf