Bug #460

Make CMake EVIO unpacking more robust

Added by Ole Hansen about 2 years ago.

Status:NewStart date:
Priority:NormalDue date:
Assignee:-% Done:

0%

Category:-Estimated time:4.00 hours
Target version:1.7Spent time:-
Responsible:

Description

Currently, our FetchBuildEVIO.cmake module tests (UNIX AND NOT APPLE) to decide whether the system has GNU tar or BSD tar. If the test is true, the module assumes GNU tar, otherwise BSD tar. The check is necessary because newer versions of GNU tar (later than 1.26) need an explicit --wildcard flag for our */libsrc file selection spec.

This test logic is flawed; it will fail if a user has installed GNU tar on Apple (e.g. via Homebrew), where UNIX AND NOT APPLE is false, or on *BSD, for which UNIX AND NOT APPLE is true, but tar is BSD.

The module should either explicitly test for the version/flavor of the tar program on the system, or (perhaps better) use CMake's built-in system-independent tar function in combination with file move/delete operations to get the C-library files out of the archive.

Also available in: Atom PDF