Incomplete build with CMake

Hello all, I’m new to the forums, so apologies if I’m missing something, but here’s my issue. I’m able to generate a build directory using cmake, but after running Make (and it successfully executing) I’m finding that the expected collaterals don’t exist.

I run
cmake -S . -B build/

and get the following output:

-- The C compiler identification is GNU 14.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Including Wayland support
-- Including X11 support
-- Looking for memfd_create
-- Looking for memfd_create - found
-- Found PkgConfig: /usr/bin/pkg-config (found version "1.8.1")
-- Checking for modules 'wayland-client>=0.2.7;wayland-cursor>=0.2.7;wayland-egl>=0.2.7;xkbcommon>=0.5.0'
--   Found wayland-client, version 1.23.0
--   Found wayland-cursor, version 1.23.0
--   Found wayland-egl, version 18.1.0
--   Found xkbcommon, version 1.6.0
-- Found X11: /usr/include
-- Looking for XOpenDisplay in /usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so
-- Looking for XOpenDisplay in /usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Found Doxygen: /usr/bin/doxygen (found version "1.9.8") found components: doxygen
-- Configuring done (1.3s)
-- Generating done (0.1s)
-- Build files have been written to: BUILD_DIR

I then enter the build directory and run make

cd build/
make

Make then seems to run successfully, I’ll skip the output here so as to not clutter the post, but can share it if requested.

This step generates a ton of *.c.o.d files, but I don’t see the actual library or any of the expected header files. Any help would be greatly appreciated

The .c.o.d files are intermediate products, namely the dependency files of .c.o files which are the object files generated from the file with extension .c.

make should have then linked these together into executable and library files.

Unless you changed some CMake defaults then you should have a file src\libglfw3.a and potentially executable files in tests and examples, for example if I run ls -la in my tests directory I get:

drwxrwxrwx 1 doug doug    4096 Mar 22 13:01 .
drwxrwxrwx 1 doug doug    4096 Mar 22 13:00 ..
drwxrwxrwx 1 doug doug    4096 Mar 22 13:00 CMakeFiles
-rwxrwxrwx 1 doug doug   41808 Mar 22 13:00 Makefile
-rwxrwxrwx 1 doug doug  598368 Mar 22 13:01 allocator
-rwxrwxrwx 1 doug doug  602816 Mar 22 13:01 clipboard
-rwxrwxrwx 1 doug doug    1261 Mar 22 13:00 cmake_install.cmake
-rwxrwxrwx 1 doug doug  607448 Mar 22 13:01 cursor
-rwxrwxrwx 1 doug doug  604288 Mar 22 13:01 empty
-rwxrwxrwx 1 doug doug  612120 Mar 22 13:01 events
-rwxrwxrwx 1 doug doug 1057056 Mar 22 13:01 gamma
-rwxrwxrwx 1 doug doug  656536 Mar 22 13:01 glfwinfo
-rwxrwxrwx 1 doug doug  598248 Mar 22 13:01 icon
-rwxrwxrwx 1 doug doug  603352 Mar 22 13:01 iconify
-rwxrwxrwx 1 doug doug 1062184 Mar 22 13:01 inputlag
-rwxrwxrwx 1 doug doug 1061544 Mar 22 13:01 joysticks
-rwxrwxrwx 1 doug doug  603096 Mar 22 13:01 monitors
-rwxrwxrwx 1 doug doug  603320 Mar 22 13:01 msaa
-rwxrwxrwx 1 doug doug  602944 Mar 22 13:01 reopen
-rwxrwxrwx 1 doug doug  602952 Mar 22 13:01 tearing
-rwxrwxrwx 1 doug doug  604152 Mar 22 13:01 threads
-rwxrwxrwx 1 doug doug  598352 Mar 22 13:01 timeout
-rwxrwxrwx 1 doug doug  598136 Mar 22 13:01 title
-rwxrwxrwx 1 doug doug  600408 Mar 22 13:01 triangle-vulkan
-rwxrwxrwx 1 doug doug  604048 Mar 22 13:01 usercontext
-rwxrwxrwx 1 doug doug 1060976 Mar 22 13:01 window