Search code examples
cmakeexternal-project

Cmake ExternalProject Installer


I have an external project where the windows distribution is an .exe installer rather than a tarball. I could run the .exe from the command line, but cmake of course complains that it can't find a tarball filename in the URL. Is there some way to use ExternalProject with .exe installers?


Solution

  • The documentation for the URL parameter indicates that the URL passed must represent a tarball containing the source:

    The URL option may refer locally to a directory or source tarball, or refer to a remote tarball (e.g. http://.../src.tgz).

    This is in line with the fact that ExternalProject's purpose is centered in large part around building things from source, not just installing them.

    What you'll likely want to do is set DOWNLOAD_COMMAND to a commandline invocation that will download the .exe. DOWNLOAD_COMMAND is a lower-level thing, you can basically make it do whatever you want.