fix: consider -fuse-ld
This commit is contained in:
parent
9b874ad9b9
commit
cab40fbdf5
|
@ -1,10 +1,11 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
if [ ! -f "log.wmake" ]
|
wclean && wmake $@ > log.wmake 2>&1
|
||||||
then
|
# if [ ! -f "log.wmake" ]
|
||||||
echo "wmake > log.wmake"
|
# then
|
||||||
wmake $@ >log.wmake 2>&1
|
# echo "wmake > log.wmake"
|
||||||
fi
|
# wmake $@ >log.wmake 2>&1
|
||||||
|
# fi
|
||||||
|
|
||||||
# Find the Python executable in the system
|
# Find the Python executable in the system
|
||||||
PYTHON_EXEC=$(which python3)
|
PYTHON_EXEC=$(which python3)
|
||||||
|
|
|
@ -56,8 +56,15 @@ def parse_wmake_log(log_file):
|
||||||
# Determine if it's a compile or link statement
|
# Determine if it's a compile or link statement
|
||||||
if '-Xlinker' in line or '-Wl,' in line:
|
if '-Xlinker' in line or '-Wl,' in line:
|
||||||
# Link statement
|
# Link statement
|
||||||
|
# Handle -fuse-ld
|
||||||
|
useld = re.search(r'(-fuse-ld=\S+)', line)
|
||||||
|
if useld:
|
||||||
|
link_options.append(f'{useld.group(1)}')
|
||||||
|
print(link_options)
|
||||||
|
# Handle output file
|
||||||
output_file = re.search(r'-o\s+(\S+)', line).group(1)
|
output_file = re.search(r'-o\s+(\S+)', line).group(1)
|
||||||
lib_matches = re.findall(r'-l(\S+)', line)
|
# Handle libraries
|
||||||
|
lib_matches = re.findall(r' -l(\S+)', line)
|
||||||
for lib in lib_matches:
|
for lib in lib_matches:
|
||||||
if lib not in link_libraries:
|
if lib not in link_libraries:
|
||||||
link_libraries.append(lib)
|
link_libraries.append(lib)
|
||||||
|
@ -93,8 +100,8 @@ def parse_wmake_log(log_file):
|
||||||
objstr = f'add_library({objname} STATIC {" ".join(source_files)})'
|
objstr = f'add_library({objname} STATIC {" ".join(source_files)})'
|
||||||
|
|
||||||
# Handle the issue of link and target having the same name
|
# Handle the issue of link and target having the same name
|
||||||
link_libraries = [lib if lib != objname else f'lib{
|
link_libraries = [lib if lib != objname else f'lib{lib}.so'
|
||||||
lib}.so' for lib in link_libraries]
|
for lib in link_libraries]
|
||||||
|
|
||||||
# Create CMakeLists.txt content
|
# Create CMakeLists.txt content
|
||||||
cmake_content = f"""cmake_minimum_required(VERSION 3.10)
|
cmake_content = f"""cmake_minimum_required(VERSION 3.10)
|
||||||
|
|
Loading…
Reference in New Issue