aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/seacas/fix_tpl_libs.patch
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
commit54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch)
treed915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/seacas/fix_tpl_libs.patch
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/seacas/fix_tpl_libs.patch')
-rw-r--r--vcpkg/ports/seacas/fix_tpl_libs.patch288
1 files changed, 288 insertions, 0 deletions
diff --git a/vcpkg/ports/seacas/fix_tpl_libs.patch b/vcpkg/ports/seacas/fix_tpl_libs.patch
new file mode 100644
index 0000000..c042765
--- /dev/null
+++ b/vcpkg/ports/seacas/fix_tpl_libs.patch
@@ -0,0 +1,288 @@
+diff --git a/cmake/tribits/core/package_arch/TribitsAddExecutable.cmake b/cmake/tribits/core/package_arch/TribitsAddExecutable.cmake
+index f08e7b78b..1274e8fce 100644
+--- a/cmake/tribits/core/package_arch/TribitsAddExecutable.cmake
++++ b/cmake/tribits/core/package_arch/TribitsAddExecutable.cmake
+@@ -419,7 +419,11 @@ function(tribits_add_executable EXE_NAME)
+ foreach(depPkg IN LISTS ${PACKAGE_NAME}_LIB_ENABLED_DEPENDENCIES
+ ${PACKAGE_NAME}_TEST_ENABLED_DEPENDENCIES
+ )
+- target_link_libraries(${EXE_BINARY_NAME} PUBLIC ${depPkg}::all_libs)
++ if(TARGET TPL::${depPkg}::all_libs)
++ target_link_libraries(${EXE_BINARY_NAME} PUBLIC TPL::${depPkg}::all_libs)
++ else()
++ target_link_libraries(${EXE_BINARY_NAME} PUBLIC ${depPkg}::all_libs)
++ endif()
+ endforeach()
+ foreach(testOnlyLib ${PARSE_TESTONLYLIBS})
+ target_link_libraries(${EXE_BINARY_NAME} PUBLIC
+diff --git a/cmake/tribits/core/package_arch/TribitsAddLibrary.cmake b/cmake/tribits/core/package_arch/TribitsAddLibrary.cmake
+index 4bac9f943..398002e33 100644
+--- a/cmake/tribits/core/package_arch/TribitsAddLibrary.cmake
++++ b/cmake/tribits/core/package_arch/TribitsAddLibrary.cmake
+@@ -468,7 +468,11 @@ function(tribits_add_library LIBRARY_NAME_IN)
+ target_link_libraries(${LIBRARY_NAME} PUBLIC ${${PACKAGE_NAME}_LIBRARIES})
+ # ${PACKAGE_NAME}_LIB_ENABLED_DEPENDENCIES
+ foreach(depPkg IN LISTS ${PACKAGE_NAME}_LIB_ENABLED_DEPENDENCIES)
+- target_link_libraries(${LIBRARY_NAME} PUBLIC ${depPkg}::all_libs)
++ if(TARGET TPL::${depPkg}::all_libs)
++ target_link_libraries(${LIBRARY_NAME} PUBLIC TPL::${depPkg}::all_libs)
++ else()
++ target_link_libraries(${LIBRARY_NAME} PUBLIC ${depPkg}::all_libs)
++ endif()
+ endforeach()
+ # ${PACKAGE_NAME}_TEST_ENABLED_DEPENDENCIES (TESTONLY lib)
+ if (PARSE_TESTONLY)
+diff --git a/cmake/tribits/core/package_arch/TribitsExternalPackageWriteConfigFile.cmake b/cmake/tribits/core/package_arch/TribitsExternalPackageWriteConfigFile.cmake
+index 2d041a2ca..c49a2c019 100644
+--- a/cmake/tribits/core/package_arch/TribitsExternalPackageWriteConfigFile.cmake
++++ b/cmake/tribits/core/package_arch/TribitsExternalPackageWriteConfigFile.cmake
+@@ -132,7 +132,7 @@ endfunction()
+ function(tribits_extpkg_install_config_file tplName tplConfigFile)
+ install(
+ FILES "${tplConfigFile}"
+- DESTINATION "${${PROJECT_NAME}_INSTALL_LIB_DIR}/external_packages/${tplName}"
++ DESTINATION "${${PROJECT_NAME}_INSTALL_LIB_DIR}/external_packages/TPL-Seacas-${tplName}"
+ )
+ endfunction()
+
+@@ -159,7 +159,7 @@ function(tribits_extpkg_install_config_version_file tplName
+ )
+ install(
+ FILES "${tplConfigVersionFile}"
+- DESTINATION "${${PROJECT_NAME}_INSTALL_LIB_DIR}/external_packages/${tplName}"
++ DESTINATION "${${PROJECT_NAME}_INSTALL_LIB_DIR}/external_packages/TPL-Seacas-${tplName}"
+ )
+ endfunction()
+
+@@ -258,7 +258,7 @@ function(tribits_extpkg_write_config_file_str tplName tplConfigFileStrOut)
+ "# Generated by CMake, do not edit!\n"
+ "\n"
+ "# Guard against multiple inclusion\n"
+- "if (TARGET ${tplName}::all_libs)\n"
++ "if (TARGET TPL::${tplName}::all_libs)\n"
+ " return()\n"
+ "endif()\n"
+ "\n"
+@@ -333,9 +333,9 @@ function(tribits_extpkg_add_find_upstream_dependencies_str
+ message(FATAL_ERROR "ERROR: ${upstreamTplDepName}_DIR is empty!")
+ endif()
+ string(APPEND configFileFragStr
+- "if (NOT TARGET ${upstreamTplDepName}::all_libs)\n"
++ "if (NOT TARGET TPL::${upstreamTplDepName}::all_libs)\n"
+ " set(${upstreamTplDepName}_DIR \"\${CMAKE_CURRENT_LIST_DIR}/../${upstreamTplDepName}\")\n"
+- " find_dependency(${upstreamTplDepName} REQUIRED CONFIG \${${tplName}_SearchNoOtherPathsArgs})\n"
++ " find_dependency(TPL-Seacas-${upstreamTplDepName} REQUIRED CONFIG \${${tplName}_SearchNoOtherPathsArgs})\n"
+ " unset(${upstreamTplDepName}_DIR)\n"
+ "endif()\n"
+ "\n"
+@@ -440,6 +440,7 @@ function(tribits_extpkg_process_libraries_list tplName)
+ elseif (libEntryType STREQUAL "GENERAL_LINK_OPTION")
+ message_wrapper("-- NOTE: Moving the general link argument '${libentry}' in TPL_${tplName}_LIBRARIES forward on the link line which may change the link and break the link!")
+ list(APPEND libLinkFlagsList "${libentry}")
++ elseif(libEntryType STREQUAL "TARGET_NAME")
+ else()
+ tribits_extpkg_process_libraries_list_library_entry(
+ ${tplName} "${libentry}" ${libEntryType} libTargets lastLibProcessed
+@@ -501,6 +501,8 @@ function(tribits_tpl_libraries_entry_type libentry libEntryTypeOut)
+ set(libEntryType FULL_LIB_PATH)
+ elseif (libentry MATCHES "^[a-zA-Z_][a-zA-Z0-9_-]*$")
+ set(libEntryType LIB_NAME)
++ elseif (TARGET "${libentry}")
++ set(libEntryType TARGET_NAME)
+ else()
+ set(libEntryType UNSUPPORTED_LIB_ENTRY)
+ endif()
+@@ -529,7 +531,7 @@ function(tribits_extpkg_process_libraries_list_library_entry
+ tribits_extpkg_get_libname_and_path_from_libentry(
+ "${libentry}" ${libEntryType} libname libpath)
+ # Create IMPORTED library target
+- set(prefixed_libname "${tplName}::${libname}")
++ set(prefixed_libname "TPL::${tplName}::${libname}")
+ if (NOT (prefixed_libname IN_LIST libTargets))
+ tribits_extpkg_append_add_library_str (${libname} ${prefixed_libname}
+ ${libEntryType} "${libpath}" configFileStr)
+@@ -571,6 +573,9 @@ function(tribits_extpkg_get_libname_and_path_from_libentry
+ elseif (libEntryType STREQUAL "LIB_NAME")
+ set(libname "${libentry}")
+ set(libpath "")
++ elseif (libEntryType STREQUAL "TARGET_NAME")
++ string(REGEX REPLACE "([^:]*::)+" "" libname "${libentry}")
++ set(libpath "")
+ else()
+ message(FATAL_ERROR "Error libEntryType='${libEntryType}' not supported here!")
+ endif()
+@@ -605,6 +610,13 @@ function(tribits_extpkg_append_add_library_str
+ "set_target_properties(${prefixed_libname} PROPERTIES\n"
+ " IMPORTED_LIBNAME \"${libname}\")\n"
+ )
++ elseif (libEntryType STREQUAL "TARGET_NAME")
++ string(REGEX REPLACE "([^:]*::)+" "" package_name "${libname}")
++ string(APPEND configFileStr
++ "#add_library(${prefixed_libname} IMPORTED INTERFACE)\n"
++ "#find_package(${package_name} REQUIRED)\n"
++ "#target_link_libraries(${prefixed_libname} INTERFACE ${libentry})\n"
++ )
+ else()
+ message(FATAL_ERROR "Error libEntryType='${libEntryType}' not supported here!")
+ endif()
+@@ -784,11 +796,11 @@ function(tribits_extpkg_create_all_libs_target tplName)
+
+ # add_library()
+ string(APPEND configFileStr
+- "add_library(${tplName}::all_libs INTERFACE IMPORTED)\n")
++ "add_library(TPL::${tplName}::all_libs INTERFACE IMPORTED)\n")
+ # target_link_libraries()
+ if (libTargets)
+ string(APPEND configFileStr
+- "target_link_libraries(${tplName}::all_libs\n")
++ "target_link_libraries(TPL::${tplName}::all_libs\n")
+ foreach (libTarget IN LISTS libTargets)
+ string(APPEND configFileStr
+ " INTERFACE ${libTarget}\n")
+@@ -799,7 +811,7 @@ function(tribits_extpkg_create_all_libs_target tplName)
+ # target_include_directories()
+ if (TPL_${tplName}_INCLUDE_DIRS)
+ string(APPEND configFileStr
+- "target_include_directories(${tplName}::all_libs SYSTEM\n")
++ "target_include_directories(TPL::${tplName}::all_libs SYSTEM\n")
+ foreach (inclDir IN LISTS TPL_${tplName}_INCLUDE_DIRS)
+ string(APPEND configFileStr
+ " INTERFACE \"${inclDir}\"\n")
+@@ -810,7 +822,7 @@ function(tribits_extpkg_create_all_libs_target tplName)
+ # target_link_options()
+ if (libLinkFlags)
+ string(APPEND configFileStr
+- "target_link_options(${tplName}::all_libs\n")
++ "target_link_options(TPL::${tplName}::all_libs\n")
+ foreach (likLinkFlag IN LISTS libLinkFlags)
+ string(APPEND configFileStr
+ " INTERFACE \"${likLinkFlag}\"\n")
+diff --git a/cmake/tribits/core/package_arch/TribitsProcessEnabledTpl.cmake b/cmake/tribits/core/package_arch/TribitsProcessEnabledTpl.cmake
+index dcdde4ce6..aaec95d49 100644
+--- a/cmake/tribits/core/package_arch/TribitsProcessEnabledTpl.cmake
++++ b/cmake/tribits/core/package_arch/TribitsProcessEnabledTpl.cmake
+@@ -154,9 +154,9 @@ function(tribits_process_enabled_tpl TPL_NAME)
+ set(buildDirExternalPkgsDir
+ "${${PROJECT_NAME}_BINARY_DIR}/${${PROJECT_NAME}_BUILD_DIR_EXTERNAL_PKGS_DIR}")
+ set(tplConfigFile
+- "${buildDirExternalPkgsDir}/${TPL_NAME}/${TPL_NAME}Config.cmake")
++ "${buildDirExternalPkgsDir}/TPL-Seacas-${TPL_NAME}/TPL-Seacas-${TPL_NAME}Config.cmake")
+ set(tplConfigVersionFile
+- "${buildDirExternalPkgsDir}/${TPL_NAME}/${TPL_NAME}ConfigVersion.cmake")
++ "${buildDirExternalPkgsDir}/TPL-Seacas-${TPL_NAME}/TPL-Seacas-${TPL_NAME}ConfigVersion.cmake")
+ tribits_extpkg_write_config_version_file(${TPL_NAME}
+ "${tplConfigVersionFile}")
+ tribits_extpkg_install_config_file(${TPL_NAME} "${tplConfigFile}")
+diff --git a/cmake/tribits/core/package_arch/TribitsTplFindIncludeDirsAndLibraries.cmake b/cmake/tribits/core/package_arch/TribitsTplFindIncludeDirsAndLibraries.cmake
+index d3cb102cf..3641799ac 100644
+--- a/cmake/tribits/core/package_arch/TribitsTplFindIncludeDirsAndLibraries.cmake
++++ b/cmake/tribits/core/package_arch/TribitsTplFindIncludeDirsAndLibraries.cmake
+@@ -423,9 +423,7 @@ function(tribits_tpl_find_include_dirs_and_libraries TPL_NAME)
+ set(TPL_CMAKE_FIND_LIBRARY_SUFFIXES ${TPL_CMAKE_FIND_LIBRARY_SUFFIXES_DEFAULT})
+ else()
+ if (WIN32)
+- set(CMAKE_FIND_LIBRARY_SUFFIXES .lib .a)
+ else()
+- set(CMAKE_FIND_LIBRARY_SUFFIXES .a )
+ endif()
+ endif()
+ #print_var(CMAKE_FIND_LIBRARY_SUFFIXES)
+@@ -717,7 +717,7 @@ function(tribits_tpl_find_include_dirs_and_libraries TPL_NAME)
+ set(buildDirExternalPkgsDir
+ "${${PROJECT_NAME}_BINARY_DIR}/${${PROJECT_NAME}_BUILD_DIR_EXTERNAL_PKGS_DIR}")
+- set(tplConfigFileBaseDir "${buildDirExternalPkgsDir}/${TPL_NAME}")
++ set(tplConfigFileBaseDir "${buildDirExternalPkgsDir}/TPL-Seacas-${TPL_NAME}")
+- set(tplConfigFile "${tplConfigFileBaseDir}/${TPL_NAME}Config.cmake")
++ set(tplConfigFile "${tplConfigFileBaseDir}/TPL-Seacas-${TPL_NAME}Config.cmake")
+ tribits_extpkg_write_config_file(${TPL_NAME} "${tplConfigFile}")
+ if (NOT ${PROJECT_NAME}_ENABLE_INSTALLATION_TESTING)
+ include("${tplConfigFile}")
+diff --git a/cmake/tribits/core/package_arch/TribitsWriteClientExportFiles.cmake b/cmake/tribits/core/package_arch/TribitsWriteClientExportFiles.cmake
+index 1f31b6ec0..9bc1057b7 100644
+--- a/cmake/tribits/core/package_arch/TribitsWriteClientExportFiles.cmake
++++ b/cmake/tribits/core/package_arch/TribitsWriteClientExportFiles.cmake
+@@ -289,7 +289,11 @@ function(tribits_write_flexible_package_client_export_files)
+
+ set(${PACKAGE_NAME}_TPL_LIBRARIES "")
+ foreach(TPL ${ORDERED_FULL_TPL_SET})
+- list(APPEND ${PACKAGE_NAME}_TPL_LIBRARIES ${TPL}::all_libs)
++ if(TARGET TPL::${TPL}::all_libs)
++ list(APPEND ${PACKAGE_NAME}_TPL_LIBRARIES TPL::${TPL}::all_libs)
++ else()
++ list(APPEND ${PACKAGE_NAME}_TPL_LIBRARIES ${TPL}::all_libs)
++ endif()
+ endforeach()
+
+ # Generate a note discouraging editing of the <package>Config.cmake file
+@@ -587,17 +591,21 @@ function(tribits_append_dependent_package_config_file_includes_and_enables packa
+ "\n# Include configuration of dependent packages\n")
+ foreach(depPkg IN LISTS ${packageName}_LIB_ENABLED_DEPENDENCIES)
+ set(packageConfigBaseDir "") # Initially, no add include()
++ set(packageTarget "${depPkg}::all_libs")
++ set(packageConfig "${depPkg}Config.cmake")
+ if (${depPkg}_PACKAGE_BUILD_STATUS STREQUAL "INTERNAL")
+ set(packageConfigBaseDir "${pkgConfigFileBaseDir}/${depPkg}")
+ elseif (${depPkg}_PACKAGE_BUILD_STATUS STREQUAL "EXTERNAL")
+- set(packageConfigBaseDir "${extPkgConfigFileBaseDir}/${depPkg}")
++ set(packageConfigBaseDir "${extPkgConfigFileBaseDir}/TPL-Seacas-${depPkg}")
++ set(packageTarget "TPL::${depPkg}::all_libs")
++ set(packageConfig "TPL-Seacas-${depPkg}Config.cmake")
+ else()
+ message(FATAL_ERROR "ERROR: ${depPkg}_PACKAGE_BUILD_STATUS='${${depPkg}_PACKAGE_BUILD_STATUS}' invalid!")
+ endif()
+ if (packageConfigBaseDir)
+ string(APPEND configFileStr
+- "if (NOT TARGET ${depPkg}::all_libs)\n"
+- " include(\"${packageConfigBaseDir}/${depPkg}Config.cmake\")\n"
++ "if (NOT TARGET ${packageTarget})\n"
++ " include(\"${packageConfigBaseDir}/${packageConfig}\")\n"
+ "endif()\n"
+ )
+ endif()
+diff --git a/cmake/tribits/core/package_arch/TribitsExternalPackageFindTplHelpers.cmake b/cmake/tribits/core/package_arch/TribitsExternalPackageFindTplHelpers.cmake
+index 1873267bd..ed6254632 100644
+--- a/cmake/tribits/core/package_arch/TribitsExternalPackageFindTplHelpers.cmake
++++ b/cmake/tribits/core/package_arch/TribitsExternalPackageFindTplHelpers.cmake
+@@ -120,17 +120,21 @@ function(tribits_extpkg_create_package_config_file_with_imported_targets
+ "set(${externalPkg}_DIR \"${${externalPkg}_DIR}\")\n" )
+ endif()
+ string(APPEND configFileStr
+- "find_dependency(${externalPkg})\n"
+- "add_library(${tplName}::all_libs INTERFACE IMPORTED GLOBAL)\n"
++ "find_dependency(${externalPkg})\n" # This is outside TPL
++ "if(NOT TARGET ${tplName}::all_libs)\n"
++ " add_library(${tplName}::all_libs INTERFACE IMPORTED GLOBAL)\n"
+ )
+ foreach (importedTarget IN LISTS PARSE_IMPORTED_TARGETS_FOR_ALL_LIBS)
+ string(APPEND configFileStr
+- "target_link_libraries(${tplName}::all_libs INTERFACE ${importedTarget})\n")
++ " target_link_libraries(${tplName}::all_libs INTERFACE ${importedTarget})\n")
+ endforeach()
++ string(APPEND configFileStr
++ "endif()\n"
++ )
+ set(buildDirExternalPkgsDir
+ "${${PROJECT_NAME}_BINARY_DIR}/${${PROJECT_NAME}_BUILD_DIR_EXTERNAL_PKGS_DIR}")
+ set(tplConfigFile
+- "${buildDirExternalPkgsDir}/${tplName}/${tplName}Config.cmake")
++ "${buildDirExternalPkgsDir}/TPL-Seacas-${tplName}/TPL-Seacas-${tplName}Config.cmake")
+ file(WRITE "${tplConfigFile}" "${configFileStr}")
+
+ endfunction()
+diff --git a/cmake/tribits/core/package_arch/TribitsExternalPackageWriteConfigFile.cmake b/cmake/tribits/core/package_arch/TribitsExternalPackageWriteConfigFile.cmake
+index c49a2c019..7c906ce26 100644
+--- a/cmake/tribits/core/package_arch/TribitsExternalPackageWriteConfigFile.cmake
++++ b/cmake/tribits/core/package_arch/TribitsExternalPackageWriteConfigFile.cmake
+@@ -334,9 +334,10 @@ function(tribits_extpkg_add_find_upstream_dependencies_str
+ endif()
+ string(APPEND configFileFragStr
+ "if (NOT TARGET TPL::${upstreamTplDepName}::all_libs)\n"
+- " set(${upstreamTplDepName}_DIR \"\${CMAKE_CURRENT_LIST_DIR}/../${upstreamTplDepName}\")\n"
++ " set(TPL-Seacas-${upstreamTplDepName}_DIR \"\${CMAKE_CURRENT_LIST_DIR}/../TPL-Seacas-${upstreamTplDepName}\")\n" # Looks for internal dep
++ " # Really only upstream ? NO ! THis is for ::all_libs targets in internal consumers\n"
+ " find_dependency(TPL-Seacas-${upstreamTplDepName} REQUIRED CONFIG \${${tplName}_SearchNoOtherPathsArgs})\n"
+- " unset(${upstreamTplDepName}_DIR)\n"
++ " unset(TPL-Seacas-${upstreamTplDepName}_DIR)\n"
+ "endif()\n"
+ "\n"
+ )