← All tasks
cppfmtlib/fmt #3517Not a task: already works

Install doesn't install header files

envgap__fmtlib__fmt-3517

01 / FAILURE SIGNATURE

As reported upstream

No identifying execution failure has been captured.
Not a benchmark task.
  • The project already builds and runs before the fix, so there is nothing to repair.

02 / ENVIRONMENT RECIPE

Base commit
de4705f84d16324c9496d0833e09656bc5d0e5f4
Manifest
CMakeLists.txt
Reproduce
Awaiting issue-specific recipe
Run under trace
Awaiting a meaningful runtime command

03 / ORIGINAL ISSUE TEXT

fmtlib/fmt #3517 · read the original issue
On Windows, install only installs everything except the header files. In CMakeLists.txt, the install is set up like this:

```

  # Install the library and headers.

  install(TARGETS ${INSTALL_TARGETS} EXPORT ${targets_export_name}

          LIBRARY DESTINATION ${FMT_LIB_DIR}

          ARCHIVE DESTINATION ${FMT_LIB_DIR}

          PUBLIC_HEADER DESTINATION "${FMT_INC_DIR}/fmt"

          RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})

```

But nowhere else are the header files marked "PUBLIC_HEADER".



Adding

```

set_property(TARGET fmt PROPERTY PUBLIC_HEADER ${FMT_HEADERS})

```

in line 289 right after

```

add_library(fmt::fmt ALIAS fmt)

```

does just that. But cmake is not my strongest suit.



Best Regards,

Mathias

Continue on GitHub ↗

04 / LABELS

Labels from the report text only; not yet run

No supported category has been assigned.

Label rules and the text that matched
[]