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