Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CMake 3.31.0 causes breakage with cmake module due to --dependency-file #13888

Open
pobrn opened this issue Nov 9, 2024 · 5 comments
Open

CMake 3.31.0 causes breakage with cmake module due to --dependency-file #13888

pobrn opened this issue Nov 9, 2024 · 5 comments
Labels
module:cmake Issues related to the cmake module, including cmake.subproject

Comments

@pobrn
Copy link
Contributor

pobrn commented Nov 9, 2024

Describe the bug

Upgrading from cmake 3.30.5 to 3.31.0 causes linking not to succeed when a cmake subproject is used.

To Reproduce

# meson.build

project(
	'test',
	['cpp'],
	default_options: [
		'cpp_std=c++17',
	],
)

cmake = import('cmake')
libyuv_vars = cmake.subproject_options()
libyuv_vars.set_override_option('cpp_std', 'c++17')
libyuv_vars.append_link_args('-ljpeg')
libyuv = cmake.subproject('libyuv', options : libyuv_vars)
libyuv_dep = libyuv.dependency('yuv')

executable(
	'main',
	'main.cpp',
	dependencies: [ libyuv_dep ],
)
# subprojects/libyuv.wrap

[wrap-git]
directory = libyuv
url = https://chromium.googlesource.com/libyuv/libyuv.git
revision = 93b1b332cd60b56ab90aea14182755e379c28a80

Then simply run

$ meson setup build
$ meson compile -C build

And observe a linker error:

ninja: Entering directory `/tmp/asd/build'
[102/102] Linking target subprojects/libyuv/libyuv_shared.so
FAILED: subprojects/libyuv/libyuv_shared.so 
c++  -o subprojects/libyuv/libyuv_shared.so subprojects/libyuv/libyuv_shared.so.p/source_compare.cc.o subprojects/libyuv/libyuv_shared.so.p/source_compare_common.cc.o subprojects/libyuv/libyuv_shared.so.p/source_compare_gcc.cc.o subprojects/libyuv/libyuv_shared.so.p/source_compare_mmi.cc.o subprojects/libyuv/libyuv_shared.so.p/source_compare_msa.cc.o subprojects/libyuv/libyuv_shared.so.p/source_compare_neon.cc.o subprojects/libyuv/libyuv_shared.so.p/source_compare_neon64.cc.o subprojects/libyuv/libyuv_shared.so.p/source_compare_win.cc.o subprojects/libyuv/libyuv_shared.so.p/source_convert.cc.o subprojects/libyuv/libyuv_shared.so.p/source_convert_argb.cc.o subprojects/libyuv/libyuv_shared.so.p/source_convert_from.cc.o subprojects/libyuv/libyuv_shared.so.p/source_convert_from_argb.cc.o subprojects/libyuv/libyuv_shared.so.p/source_convert_jpeg.cc.o subprojects/libyuv/libyuv_shared.so.p/source_convert_to_argb.cc.o subprojects/libyuv/libyuv_shared.so.p/source_convert_to_i420.cc.o subprojects/libyuv/libyuv_shared.so.p/source_cpu_id.cc.o subprojects/libyuv/libyuv_shared.so.p/source_mjpeg_decoder.cc.o subprojects/libyuv/libyuv_shared.so.p/source_mjpeg_validate.cc.o subprojects/libyuv/libyuv_shared.so.p/source_planar_functions.cc.o subprojects/libyuv/libyuv_shared.so.p/source_rotate.cc.o subprojects/libyuv/libyuv_shared.so.p/source_rotate_any.cc.o subprojects/libyuv/libyuv_shared.so.p/source_rotate_argb.cc.o subprojects/libyuv/libyuv_shared.so.p/source_rotate_common.cc.o subprojects/libyuv/libyuv_shared.so.p/source_rotate_gcc.cc.o subprojects/libyuv/libyuv_shared.so.p/source_rotate_mmi.cc.o subprojects/libyuv/libyuv_shared.so.p/source_rotate_msa.cc.o subprojects/libyuv/libyuv_shared.so.p/source_rotate_neon.cc.o subprojects/libyuv/libyuv_shared.so.p/source_rotate_neon64.cc.o subprojects/libyuv/libyuv_shared.so.p/source_rotate_win.cc.o subprojects/libyuv/libyuv_shared.so.p/source_row_any.cc.o subprojects/libyuv/libyuv_shared.so.p/source_row_common.cc.o subprojects/libyuv/libyuv_shared.so.p/source_row_gcc.cc.o subprojects/libyuv/libyuv_shared.so.p/source_row_mmi.cc.o subprojects/libyuv/libyuv_shared.so.p/source_row_msa.cc.o subprojects/libyuv/libyuv_shared.so.p/source_row_neon.cc.o subprojects/libyuv/libyuv_shared.so.p/source_row_neon64.cc.o subprojects/libyuv/libyuv_shared.so.p/source_row_win.cc.o subprojects/libyuv/libyuv_shared.so.p/source_scale.cc.o subprojects/libyuv/libyuv_shared.so.p/source_scale_any.cc.o subprojects/libyuv/libyuv_shared.so.p/source_scale_argb.cc.o subprojects/libyuv/libyuv_shared.so.p/source_scale_common.cc.o subprojects/libyuv/libyuv_shared.so.p/source_scale_gcc.cc.o subprojects/libyuv/libyuv_shared.so.p/source_scale_mmi.cc.o subprojects/libyuv/libyuv_shared.so.p/source_scale_msa.cc.o subprojects/libyuv/libyuv_shared.so.p/source_scale_neon.cc.o subprojects/libyuv/libyuv_shared.so.p/source_scale_neon64.cc.o subprojects/libyuv/libyuv_shared.so.p/source_scale_uv.cc.o subprojects/libyuv/libyuv_shared.so.p/source_scale_win.cc.o subprojects/libyuv/libyuv_shared.so.p/source_video_common.cc.o -Wl,--as-needed -Wl,--no-undefined -shared -fPIC -Wl,-soname,libyuv_shared.so -Wl,--dependency-file,CMakeFiles/yuv_shared.dir/link.d -ljpeg
/usr/bin/ld: cannot open dependency file CMakeFiles/yuv_shared.dir/link.d: no error
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.

Cause

The difference between the `build.ninja` files
--- build.ninja-3.30.5	2024-11-09 20:26:09.473873115 +0100
+++ build.ninja-3.31.0	2024-11-09 20:27:48.973123121 +0100
@@ -544,7 +544,7 @@
  IMPLIB = subprojects/libyuv/libyuv_shared.so
 
 build subprojects/libyuv/libyuv_shared.so: cpp_LINKER subprojects/libyuv/libyuv_shared.so.p/source_compare.cc.o subprojects/libyuv/libyuv_shared.so.p/source_compare_common.cc.o subprojects/libyuv/libyuv_shared.so.p/source_compare_gcc.cc.o subprojects/libyuv/libyuv_shared.so.p/source_compare_mmi.cc.o subprojects/libyuv/libyuv_shared.so.p/source_compare_msa.cc.o subprojects/libyuv/libyuv_shared.so.p/source_compare_neon.cc.o subprojects/libyuv/libyuv_shared.so.p/source_compare_neon64.cc.o subprojects/libyuv/libyuv_shared.so.p/source_compare_win.cc.o subprojects/libyuv/libyuv_shared.so.p/source_convert.cc.o subprojects/libyuv/libyuv_shared.so.p/source_convert_argb.cc.o subprojects/libyuv/libyuv_shared.so.p/source_convert_from.cc.o subprojects/libyuv/libyuv_shared.so.p/source_convert_from_argb.cc.o subprojects/libyuv/libyuv_shared.so.p/source_convert_jpeg.cc.o subprojects/libyuv/libyuv_shared.so.p/source_convert_to_argb.cc.o subprojects/libyuv/libyuv_shared.so.p/source_convert_to_i420.cc.o subprojects/libyuv/libyuv_shared.so.p/source_cpu_id.cc.o subprojects/libyuv/libyuv_shared.so.p/source_mjpeg_decoder.cc.o subprojects/libyuv/libyuv_shared.so.p/source_mjpeg_validate.cc.o subprojects/libyuv/libyuv_shared.so.p/source_planar_functions.cc.o subprojects/libyuv/libyuv_shared.so.p/source_rotate.cc.o subprojects/libyuv/libyuv_shared.so.p/source_rotate_any.cc.o subprojects/libyuv/libyuv_shared.so.p/source_rotate_argb.cc.o subprojects/libyuv/libyuv_shared.so.p/source_rotate_common.cc.o subprojects/libyuv/libyuv_shared.so.p/source_rotate_gcc.cc.o subprojects/libyuv/libyuv_shared.so.p/source_rotate_mmi.cc.o subprojects/libyuv/libyuv_shared.so.p/source_rotate_msa.cc.o subprojects/libyuv/libyuv_shared.so.p/source_rotate_neon.cc.o subprojects/libyuv/libyuv_shared.so.p/source_rotate_neon64.cc.o subprojects/libyuv/libyuv_shared.so.p/source_rotate_win.cc.o subprojects/libyuv/libyuv_shared.so.p/source_row_any.cc.o subprojects/libyuv/libyuv_shared.so.p/source_row_common.cc.o subprojects/libyuv/libyuv_shared.so.p/source_row_gcc.cc.o subprojects/libyuv/libyuv_shared.so.p/source_row_mmi.cc.o subprojects/libyuv/libyuv_shared.so.p/source_row_msa.cc.o subprojects/libyuv/libyuv_shared.so.p/source_row_neon.cc.o subprojects/libyuv/libyuv_shared.so.p/source_row_neon64.cc.o subprojects/libyuv/libyuv_shared.so.p/source_row_win.cc.o subprojects/libyuv/libyuv_shared.so.p/source_scale.cc.o subprojects/libyuv/libyuv_shared.so.p/source_scale_any.cc.o subprojects/libyuv/libyuv_shared.so.p/source_scale_argb.cc.o subprojects/libyuv/libyuv_shared.so.p/source_scale_common.cc.o subprojects/libyuv/libyuv_shared.so.p/source_scale_gcc.cc.o subprojects/libyuv/libyuv_shared.so.p/source_scale_mmi.cc.o subprojects/libyuv/libyuv_shared.so.p/source_scale_msa.cc.o subprojects/libyuv/libyuv_shared.so.p/source_scale_neon.cc.o subprojects/libyuv/libyuv_shared.so.p/source_scale_neon64.cc.o subprojects/libyuv/libyuv_shared.so.p/source_scale_uv.cc.o subprojects/libyuv/libyuv_shared.so.p/source_scale_win.cc.o subprojects/libyuv/libyuv_shared.so.p/source_video_common.cc.o | /usr/lib/libjpeg.so.8.3.2
- LINK_ARGS = -Wl,--as-needed -Wl,--no-undefined -shared -fPIC -Wl,-soname,libyuv_shared.so -ljpeg
+ LINK_ARGS = -Wl,--as-needed -Wl,--no-undefined -shared -fPIC -Wl,-soname,libyuv_shared.so -Wl,--dependency-file,CMakeFiles/yuv_shared.dir/link.d -ljpeg
 
 build subprojects/libyuv/yuvconvert.p/util_yuvconvert.cc.o: cpp_COMPILER ../subprojects/libyuv/util/yuvconvert.cc
  DEPFILE = subprojects/libyuv/yuvconvert.p/util_yuvconvert.cc.o.d
@@ -552,7 +552,7 @@
  ARGS = -Isubprojects/libyuv/yuvconvert.p -Isubprojects/libyuv -I../subprojects/libyuv -I../subprojects/libyuv/include -Isubprojects/libyuv/__CMake_build -I../subprojects/libyuv/__CMake_build -fdiagnostics-color=always -D_GLIBCXX_ASSERTIONS=1 -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c++20 -O0 -g -fPIE -g -DHAVE_JPEG -Wno-sign-compare -Wno-unused-variable -Wno-unused-parameter
 
 build subprojects/libyuv/yuvconvert: cpp_LINKER subprojects/libyuv/yuvconvert.p/util_yuvconvert.cc.o | /usr/lib/libjpeg.so.8.3.2 subprojects/libyuv/libyuv.a
- LINK_ARGS = -Wl,--as-needed -Wl,--no-undefined -pie -Wl,--start-group subprojects/libyuv/libyuv.a -g -rdynamic -ljpeg -Wl,--end-group
+ LINK_ARGS = -Wl,--as-needed -Wl,--no-undefined -pie -Wl,--start-group subprojects/libyuv/libyuv.a -g -rdynamic -Wl,--dependency-file,CMakeFiles/yuvconvert.dir/link.d -ljpeg -Wl,--end-group
 
 build main.p/main.cpp.o: cpp_COMPILER ../main.cpp
  DEPFILE = main.p/main.cpp.o.d
The difference between the generated `meson.build` files
--- meson.build-3.30.5	2024-11-09 20:49:29.619985896 +0100
+++ meson.build-3.31.0	2024-11-09 20:48:16.870534254 +0100
@@ -131,7 +131,7 @@
   'yuv_shared',
   yuv_shared_src,
   build_by_default : true,
-  link_args : ['-ljpeg'],
+  link_args : ['-Wl,--dependency-file,CMakeFiles/yuv_shared.dir/link.d', '-ljpeg'],
   link_with : [],
   include_directories : yuv_shared_inc,
   install : true,
@@ -154,7 +154,7 @@
   'yuvconvert',
   yuvconvert_src,
   build_by_default : false,
-  link_args : ['-g', '-rdynamic', '-ljpeg', '-ljpeg'],
+  link_args : ['-g', '-rdynamic', '-Wl,--dependency-file,CMakeFiles/yuvconvert.dir/link.d', '-ljpeg', '-ljpeg'],
   link_with : [yuv],
   include_directories : yuvconvert_inc,
   install : false,
The difference between the outputs of the cmake invocations
--- cmake.out-3.30.5	2024-11-09 20:49:10.973459780 +0100
+++ cmake.out-3.31.0	2024-11-09 20:50:21.346262665 +0100
@@ -1,6 +1,6 @@
-libyuv| Found CMake: /usr/bin/cmake (3.30.5)
+libyuv| Found CMake: /usr/bin/cmake (3.31.0)
 
-| Configuring the build directory with CMake version 3.30.5
+| Configuring the build directory with CMake version 3.31.0
 | Running CMake with: -G Ninja -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Debug
 |   - build directory:          /tmp/asd/build/subprojects/libyuv/__CMake_build
 |   - source directory:         /tmp/asd/subprojects/libyuv
@@ -22,7 +22,7 @@
 
 | -- The C compiler identification is GNU 14.2.1
 | -- The CXX compiler identification is GNU 14.2.1
-| CMake Warning (dev) at /usr/share/cmake/Modules/CMakeFindBinUtils.cmake:235 (find_program):
+| CMake Warning (dev) at /usr/share/cmake/Modules/CMakeFindBinUtils.cmake:225 (find_program):
 | Policy CMP0126 is not set: set(CACHE) does not remove a normal variable of
 | the same name.  Run "cmake --help-policy CMP0126" for policy details.  Use
 | the cmake_policy command to set the policy and suppress this warning.
@@ -45,7 +45,7 @@
 | -- Detecting CXX compile features
 | -- Detecting CXX compile features - done
 | CMake Deprecation Warning at CMakeLists.txt:6 (CMAKE_MINIMUM_REQUIRED):
-| Compatibility with CMake < 3.5 will be removed from a future version of
+| Compatibility with CMake < 3.10 will be removed from a future version of
 | CMake.
 
 | Update the VERSION argument <min> value or use a ...<max> suffix to tell
@@ -64,7 +64,7 @@
 
 | Building ver.: 0.0.1770
 | Packaging for: amd-64
-| -- Configuring done (4.1s)
+| -- Configuring done (1.5s)
 | CMake Warning (dev) at CMakeLists.txt:26 (ADD_LIBRARY):
 | Policy CMP0156 is not set: De-duplicate libraries on link lines based on
 | linker capabilities.  Run "cmake --help-policy CMP0156" for policy details.
@@ -92,5 +92,5 @@
 | be applied.
 | This warning is for project developers.  Use -Wno-dev to suppress it.
 
-| -- Generating done (0.1s)
+| -- Generating done (0.0s)
 | -- Build files have been written to: /tmp/asd/build/subprojects/libyuv/__CMake_build
cmake biset
git bisect start
# status: waiting for both good and bad commits
# bad: [23e24788abb58fb7ac3e6ce71fa7fd59dbd8f0ef] CMake Nightly Date Stamp
git bisect bad 23e24788abb58fb7ac3e6ce71fa7fd59dbd8f0ef
# status: waiting for good commit(s), bad commit known
# good: [9c4a0a9ff09735b847bbbc38caf6da7f6c7238f2] CMake 3.30.5
git bisect good 9c4a0a9ff09735b847bbbc38caf6da7f6c7238f2
# bad: [006891dab90ea72f634e83858a600aa61a40d004] Tests/RunCMake/BuildDepends: Prepare CompileDepends check for multiple targets
git bisect bad 006891dab90ea72f634e83858a600aa61a40d004
# bad: [5277769a93e74ae299ce3002a480022c445aadf5] Merge branch 'release-3.28'
git bisect bad 5277769a93e74ae299ce3002a480022c445aadf5
# good: [ddcba76547a0a2fce7422e2cccce40c51708a600] Merge topic 'bash-completion-cmake-workflow'
git bisect good ddcba76547a0a2fce7422e2cccce40c51708a600
# good: [62bb8a77a590c705b73ea80783d2d2693e70cfa8] cmMakefile: Teach ConfigureFile to move the temp file instead of copying it
git bisect good 62bb8a77a590c705b73ea80783d2d2693e70cfa8
# bad: [70b4966c01ced74455cd38015fe2294fd762d6c0] Merge topic 'refactor-lexer'
git bisect bad 70b4966c01ced74455cd38015fe2294fd762d6c0
# good: [bb497152f08d3dff593132ea2ba1e0dbd70952a5] Merge topic 'llpkgc-integration'
git bisect good bb497152f08d3dff593132ea2ba1e0dbd70952a5
# good: [8a833fbf9b04779b7339cee1d60bd59ac0f047bc] Merge branch 'release-3.30'
git bisect good 8a833fbf9b04779b7339cee1d60bd59ac0f047bc
# bad: [e27a050bff327ef663465705fedc7e033a4a8b94] Merge topic 'linker-configuration'
git bisect bad e27a050bff327ef663465705fedc7e033a4a8b94
# good: [7d9c4dfd0bcd8b05d438b255d69942341a918e86] Merge branch 'release-3.30'
git bisect good 7d9c4dfd0bcd8b05d438b255d69942341a918e86
# bad: [1e35163ae8a333f7586aaa7c4f3a754a5018db49] WHOLE_ARCHIVE link feature: rely now on linker configuration
git bisect bad 1e35163ae8a333f7586aaa7c4f3a754a5018db49
# bad: [c1c4cf9545d17928c065fca344c48e03b80291f0] Linker configuration: introduce a new architecture
git bisect bad c1c4cf9545d17928c065fca344c48e03b80291f0
# first bad commit: [c1c4cf9545d17928c065fca344c48e03b80291f0] Linker configuration: introduce a new architecture

Bisecting cmake points to commit c1c4cf9545d17928c065fca344c48e03b80291f0 added in https://gitlab.kitware.com/cmake/cmake/-/merge_requests/9665. This change touches many files, but it seems that change did not introduce the use of --dependency-file, so maybe there was an issue with cmake earlier and it did not actually use that argument.

I am wondering if maybe it is enough to strip the --dependency-file linker options when it specifies a path inside CMakeFiles and fix the path for manually specified --dependency-file.

Workaround

Add CMAKE_LINK_DEPENDS_USE_LINKER=FALSE, e.g.:

libyuv_vars.add_cmake_defines({'CMAKE_LINK_DEPENDS_USE_LINKER': 'FALSE'})

This is another thing that meson's cmake module could potentially do.

system parameters

  • native build
  • python: 3.12.7
  • meson: 1.6.0
  • ninja: 1.12.1
@PHANTOM-2004
Copy link

I met similar issue too

@DimStar77
Copy link
Contributor

meson also fails its own test suite with cmake 3.31.0

[  166s] [1/3] Generating subprojects/cmMod/custom_tgt_0 with a custom command
[  166s] /home/abuild/rpmbuild/BUILD/meson-1.6.0/test cases/cmake/11 cmake_module_path/subprojects/cmMod/gen.py:1: EncodingWarning: 'encoding' argument not specified
[  166s]   with open('main.c', 'w') as fp:
[  166s] [2/3] Compiling C object subprojects/cmMod/main.p/meson-generated_.._main.c.o
[  166s] [3/3] Linking target subprojects/cmMod/main
[  166s] FAILED: subprojects/cmMod/main 
[  166s] cc  -o subprojects/cmMod/main subprojects/cmMod/main.p/meson-generated_.._main.c.o -Wl,--as-needed -Wl,--no-undefined -g -Wl,--dependency-file,CMakeFiles/main.dir/link.d
[  166s] /usr/lib64/gcc/x86_64-suse-linux/14/../../../../x86_64-suse-linux/bin/ld: cannot open dependency file CMakeFiles/main.dir/link.d: no error
[  166s] collect2: error: ld returned 1 exit status
[  166s] ninja: build stopped: subcommand failed.

@thesamesam
Copy link
Collaborator

Just to check here -- what version of binutils is this? I'm wondering if you're hitting https://gitlab.kitware.com/cmake/cmake/-/issues/26401 (https://sourceware.org/bugzilla/show_bug.cgi?id=32300) or if that's a totally different issue.

@pobrn
Copy link
Contributor Author

pobrn commented Nov 13, 2024

GNU ld (GNU Binutils) 2.43.0 but I don't believe this to be the same issue. I think the issue here is that --dependency-file designates a nonexistent entity in the filesystem. Because meson invokes cmake in a separate build directory, e.g. <meson build dir>/subprojects/libyuv/__CMake_build in this case, and cmake generates the build.ninja file with the assumption that it will be run from the build directory. And in fact, <meson build dir>/subprojects/libyuv/__CMake_build/CMakeFiles/yuv_shared.dir/ does exist.

strace also confirms that:

[pid 1612467] 00:30:55.602516 openat(AT_FDCWD, "CMakeFiles/yuv_shared.dir/link.d", O_WRONLY|O_CREAT|O_TRUNC, 0666) = -1 ENOENT

And the reason why it says "no error" is a bug: https://sourceware.org/bugzilla/show_bug.cgi?id=32359

@thesamesam thesamesam added the module:cmake Issues related to the cmake module, including cmake.subproject label Nov 19, 2024
andy5995 added a commit to andy5995/vs-fltk that referenced this issue Nov 20, 2024
andy5995 added a commit to andy5995/vs-fltk that referenced this issue Nov 20, 2024
KaruroChori added a commit to KaruroChori/vs-fltk that referenced this issue Nov 20, 2024
* CI: Adding initial workflow

* Add required meson version

* Add temporary project version

* Use gnu2x for c_std instead of gnu23

* build.yml: Add more deps

* meson.build: Try to find installed sqlite{3,cpp}

For #6

* Use clang, reset c_std=gnu23, install bun

* Install clang-19

* Use "bun run meson-setup clang-release"

* Revert "Use "bun run meson-setup clang-release""

This reverts commit 79c9e22.

* Fix version

* remove blank line

* Add path filters

* Update build.yml

Attempt to add freeglut3-dev since this was also the issue when building the flatpak

* Update build.yml

Replaced vs.example with the actual meson command; 
otherwise, if successful, the machine would run the application without headless mode, and wait for user input.

* Update .github/workflows/build.yml

Co-authored-by: Andy Alt <[email protected]>

* Update build.yml

* Try to install cmake 3.30.5

For mesonbuild/meson#13888

* Install libpng-dev

* Update build.yml

Only keeping 24.04 for now, since the other versions ship with an older incompatible libc++

---------

Co-authored-by: KaruroChori <[email protected]>
@heftig
Copy link
Contributor

heftig commented Nov 21, 2024

This change makes the test suite pass again:

diff --git c/mesonbuild/cmake/interpreter.py i/mesonbuild/cmake/interpreter.py
index fafee86ab..12d7049d2 100644
--- c/mesonbuild/cmake/interpreter.py
+++ i/mesonbuild/cmake/interpreter.py
@@ -828,6 +828,7 @@ class CMakeInterpreter:
 
         cmake_args = []
         cmake_args += cmake_get_generator_args(self.env)
+        cmake_args += ['-DCMAKE_LINK_DEPENDS_USE_LINKER=FALSE']
         cmake_args += [f'-DCMAKE_INSTALL_PREFIX={self.install_prefix}']
         cmake_args += extra_cmake_options
         if not any(arg.startswith('-DCMAKE_BUILD_TYPE=') for arg in cmake_args):

But I'm not sure it's right.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
module:cmake Issues related to the cmake module, including cmake.subproject
Projects
None yet
Development

No branches or pull requests

5 participants