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

Avoid polluting global include and link dirs #20

Merged
merged 9 commits into from
Nov 29, 2020
Merged

Avoid polluting global include and link dirs #20

merged 9 commits into from
Nov 29, 2020

Commits on Nov 24, 2020

  1. Avoid polluting global include and link dirs

    The use of include_directories and link_directories pollutes global include and link directories. This change adds IMPORTED targets using the external projects and then links the funchook targets against them.
    This also avoids issues seen where captone fails to be found at link time "error: ld returned 1 exit status cannot find -lcapstone" when making use of certain toolchain files.
    rumblehhh authored Nov 24, 2020
    Configuration menu
    Copy the full SHA
    f0a8b69 View commit details
    Browse the repository at this point in the history

Commits on Nov 25, 2020

  1. Fix travis-ci builds.

    INTERFACE_INCLUDE_DIRECTORIES does not allow non-existent directories so ensure the directory is valid using file(MAKE_DIRECTORY). See  https://gitlab.kitware.com/cmake/cmake/-/issues/15052 for details.
    James Rumble committed Nov 25, 2020
    Configuration menu
    Copy the full SHA
    97297e2 View commit details
    Browse the repository at this point in the history

Commits on Nov 26, 2020

  1. Configuration menu
    Copy the full SHA
    1b85b39 View commit details
    Browse the repository at this point in the history
  2. Install captone to match zydis behaviour

    The capstone target was previously being setup using ExternalProject_Get_Property however installing the external project and using the generic include/lib directories solves issues with config based generators.
    rumblehhh committed Nov 26, 2020
    Configuration menu
    Copy the full SHA
    8ecd7f9 View commit details
    Browse the repository at this point in the history
  3. Use ${CMAKE_INSTALL_LIBDIR} instead of hardcoded lib directory

    GNUInstallDirs may not always output to lib and may instead output to lib or lib64 or lib/<multiarch-tuple> on Debian.
    rumblehhh committed Nov 26, 2020
    Configuration menu
    Copy the full SHA
    d047338 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    8fa55a3 View commit details
    Browse the repository at this point in the history
  5. Include GNUInstallDirs after project definition.

    Avoid "Unable to determine default CMAKE_INSTALL_LIBDIR directory because no target architecture is known.  Please enable at least one language before including GNUInstallDirs."
    rumblehhh committed Nov 26, 2020
    Configuration menu
    Copy the full SHA
    8c3786f View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    a5fc944 View commit details
    Browse the repository at this point in the history
  7. Zydis includes GNUInstallDirs prior to language being enabled

    Tag 3.1.0 of Zydis includes GNUInstallDirs prior to a language being enabled meaning its CMAKE_INSTALL_LIBDIR will always result in lib rather than its correct lib/lib64 variant. Note that Zydis master branch has fixed this issue.
    rumblehhh committed Nov 26, 2020
    Configuration menu
    Copy the full SHA
    23f97d3 View commit details
    Browse the repository at this point in the history