Exclude bundled GeographicLib from release scope to use system package
- Removed 'include' from release_items list - Added include_exclude list with GeographicLib - Added filtering logic to exclude include/GeographicLib during copy - This ensures CMake finds system libgeographiclib-dev instead of bundled version - Fixes linker errors for GeographicLib symbols in DEB build Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
1 file changed
+7
-1
@@ -114,7 +114,6 @@ def copy_src_dir_to_dest_dir(srcdir, dstdir, perm=None, with_subdirs=True, relea
|
|||||||
'tests',
|
'tests',
|
||||||
'new_docker_build.sh',
|
'new_docker_build.sh',
|
||||||
'specs',
|
'specs',
|
||||||
'include',
|
|
||||||
'translations',
|
'translations',
|
||||||
'CTestCustom.ctest',
|
'CTestCustom.ctest',
|
||||||
'.gitignore',
|
'.gitignore',
|
||||||
@@ -125,6 +124,9 @@ def copy_src_dir_to_dest_dir(srcdir, dstdir, perm=None, with_subdirs=True, relea
|
|||||||
'lts-cc.conf'
|
'lts-cc.conf'
|
||||||
]
|
]
|
||||||
|
|
||||||
|
# Directories to exclude from include folder (bundled libraries not needed for release)
|
||||||
|
include_exclude = ['GeographicLib']
|
||||||
|
|
||||||
if with_subdirs:
|
if with_subdirs:
|
||||||
for root, dirs, files in os.walk(srcdir):
|
for root, dirs, files in os.walk(srcdir):
|
||||||
# Filter directories for release scope
|
# Filter directories for release scope
|
||||||
@@ -148,6 +150,9 @@ def copy_src_dir_to_dest_dir(srcdir, dstdir, perm=None, with_subdirs=True, relea
|
|||||||
elif rel_root.startswith('TetraIF'):
|
elif rel_root.startswith('TetraIF'):
|
||||||
# Keep all subdirectories under TetraIF
|
# Keep all subdirectories under TetraIF
|
||||||
pass
|
pass
|
||||||
|
elif rel_root == 'include':
|
||||||
|
# In include directory, exclude bundled libraries
|
||||||
|
dirs[:] = [d for d in dirs if d not in include_exclude]
|
||||||
else:
|
else:
|
||||||
# Skip other directories
|
# Skip other directories
|
||||||
dirs[:] = []
|
dirs[:] = []
|
||||||
@@ -164,6 +169,7 @@ def copy_src_dir_to_dest_dir(srcdir, dstdir, perm=None, with_subdirs=True, relea
|
|||||||
if release_scope and rel_root == '.':
|
if release_scope and rel_root == '.':
|
||||||
if file not in release_items and not any(file == item.split('/')[0] for item in release_items if '/' in item):
|
if file not in release_items and not any(file == item.split('/')[0] for item in release_items if '/' in item):
|
||||||
continue
|
continue
|
||||||
|
# Include 'include' directory but GeographicLib will be filtered during walk
|
||||||
src_path = os.path.join(root, file)
|
src_path = os.path.join(root, file)
|
||||||
# Skip broken symlinks
|
# Skip broken symlinks
|
||||||
if os.path.islink(src_path) and not os.path.exists(src_path):
|
if os.path.islink(src_path) and not os.path.exists(src_path):
|
||||||
|
|||||||
Reference in new issue
Block a user