From a91fc6c16ea54a46200871218b3c3f083fc84ca6 Mon Sep 17 00:00:00 2001 From: gama Date: Tue, 10 Mar 2026 17:17:30 +0300 Subject: [PATCH 1/2] [CMAKE] Make the install command optional to prevent an error during configuration time --- CMakeLists.txt | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7e2f480..88aa161 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -296,11 +296,15 @@ install( TARGETS ${INSTALL_TARGETS} ) install( FILES ${INSTALL_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/pffft) -install(EXPORT pffft-targets - FILE pffft-targets.cmake - NAMESPACE PFFFT:: - DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/pffft -) +if (INSTALL_PFFFT) + # If ${INSTALL_TARGETS} is empty, then the export "pffft-targets" will + # not exist and the following command will fail so we must make it conditional + install(EXPORT pffft-targets + FILE pffft-targets.cmake + NAMESPACE PFFFT:: + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/pffft + ) +endif() include(CMakePackageConfigHelpers) From 0d815eb48d598e4b1772ee17aae81be689a33f65 Mon Sep 17 00:00:00 2001 From: gama Date: Tue, 10 Mar 2026 19:14:13 +0300 Subject: [PATCH 2/2] [CMAKE] Conditional on actual variable emptiness + add more install cruft into the conditional scope --- CMakeLists.txt | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 88aa161..7613b18 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -289,14 +289,14 @@ endif() ###################################################### -install( TARGETS ${INSTALL_TARGETS} - EXPORT pffft-targets - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -) -install( FILES ${INSTALL_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/pffft) +if (INSTALL_TARGETS) + install( TARGETS ${INSTALL_TARGETS} + EXPORT pffft-targets + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ) + install( FILES ${INSTALL_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/pffft) -if (INSTALL_PFFFT) # If ${INSTALL_TARGETS} is empty, then the export "pffft-targets" will # not exist and the following command will fail so we must make it conditional install(EXPORT pffft-targets @@ -304,27 +304,27 @@ if (INSTALL_PFFFT) NAMESPACE PFFFT:: DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/pffft ) -endif() -include(CMakePackageConfigHelpers) + include(CMakePackageConfigHelpers) -configure_package_config_file( - "${CMAKE_CURRENT_SOURCE_DIR}/cmake/pffft-config.cmake.in" - "${CMAKE_CURRENT_BINARY_DIR}/pffft-config.cmake" - INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/pffft -) + configure_package_config_file( + "${CMAKE_CURRENT_SOURCE_DIR}/cmake/pffft-config.cmake.in" + "${CMAKE_CURRENT_BINARY_DIR}/pffft-config.cmake" + INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/pffft + ) -write_basic_package_version_file( - "${CMAKE_CURRENT_BINARY_DIR}/pffft-config-version.cmake" - VERSION 1.0 - COMPATIBILITY SameMajorVersion -) + write_basic_package_version_file( + "${CMAKE_CURRENT_BINARY_DIR}/pffft-config-version.cmake" + VERSION 1.0 + COMPATIBILITY SameMajorVersion + ) -install(FILES - "${CMAKE_CURRENT_BINARY_DIR}/pffft-config.cmake" - "${CMAKE_CURRENT_BINARY_DIR}/pffft-config-version.cmake" - DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/pffft -) + install(FILES + "${CMAKE_CURRENT_BINARY_DIR}/pffft-config.cmake" + "${CMAKE_CURRENT_BINARY_DIR}/pffft-config-version.cmake" + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/pffft + ) +endif() add_custom_target(uninstall "${CMAKE_COMMAND}" -P "${CMAKE_SOURCE_DIR}/uninstall.cmake"