Skip to content

Conversation

Copilot
Copy link
Contributor

@Copilot Copilot AI commented Sep 19, 2025

The install(TARGETS ...) command in cmake/ftxui_install.cmake was missing required destination specifications that became mandatory in CMake 3.12+. This caused build failures when users tried to install FTXUI with the minimum supported CMake version.

The issue occurred because the install command:

install(
  TARGETS screen dom component
  EXPORT ftxui-targets
  )

Was missing explicit destination specifications for different artifact types. CMake 3.12+ requires these destinations to be explicitly declared.

This PR adds the required destination specifications:

install(
  TARGETS screen dom component
  EXPORT ftxui-targets
  ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
  LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
  RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
  )

The fix ensures that:

  • Static libraries (.a files) are installed to the archive destination
  • Shared libraries are installed to the library destination
  • Executables are installed to the runtime destination

All destinations use CMake's standard directory variables for proper cross-platform compatibility. The change is backward compatible and maintains the same installation behavior while satisfying CMake 3.12+ requirements.

Fixes #1118.


💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.

Copy link
Contributor Author

Copilot AI commented Sep 19, 2025

@ArthurSonzogni 👋 This repository doesn't have Copilot instructions. With Copilot instructions, I can understand the repository better, work faster and produce higher quality PRs.

I can generate a .github/copilot-instructions.md file for you automatically. Click here to open a pre-filled issue and assign it to me. I'll write the instructions, and then tag you for review.

@Copilot Copilot AI changed the title [WIP] CMake 3.12 requires ARCHIVE DESTINATION in install target section Fix CMake 3.12 compatibility by adding required install destinations Sep 19, 2025
@Copilot Copilot AI requested a review from ArthurSonzogni September 19, 2025 12:50
@ArthurSonzogni
Copy link
Owner

It looks like you added some build directories like build/_deps/...

Copy link
Owner

@ArthurSonzogni ArthurSonzogni left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You committed build artefects. They shouldn't be added.

Copy link
Owner

@ArthurSonzogni ArthurSonzogni left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You added the build/ directory, which contains build artifacts. That's wrong.

Copy link
Owner

@ArthurSonzogni ArthurSonzogni left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You shouldn't commit the build directory.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

CMake 3.12 requires ARCHIVE DESTINATION in install target section
2 participants