在 Windows 中使用 ExternalProject 构建 GLFW

Using ExternalProject to build GLFW in Windows

我在一个使用 GLFW 的项目中使用 CMake。我使用 ExternalProject 来构建 GLFW。

# GLFW
ExternalProject_Add(
    glfw
    PREFIX "contrib"
    URL "${PROJECT_SOURCE_DIR}/contrib/glfw/glfw-3.0.4.zip"
    CMAKE_ARGS -DGLFW_BUILD_EXAMPLES=OFF -DGLFW_BUILD_TESTS=OFF -DGLFW_BUILD_DOCS=OFF -DCMAKE_INSTALL_PREFIX=/glfw
    INSTALL_COMMAND make DESTDIR=${PROJECT_SOURCE_DIR}/contrib install
)
set(GLFW_STATIC_LIB "${PROJECT_SOURCE_DIR}/contrib/glfw/lib/libglfw3.a")
set(GLFW_LIBRARIES "-lX11 -lXrandr -lXi -lXxf86vm")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -isystem ${PROJECT_SOURCE_DIR}/contrib/glfw/include")

这在 linux 中工作正常。但是现在我想在 windows 中构建我的项目。我不确定我需要改变什么。当我用 VS14 构建它时,它会显示类似 the command "make" is either written incorrectly oder could not be found 的内容。我在谷歌上搜索了一下,然后改用了 nmake。但随后显示 NMAKE : fatal error U1073: don't know how to make 'install'。然后我在 nmake 之后添加了一个 \f 然后它说 NMAKE : fatal error U1052: file 'DESTDIR=C:/Users/gartenriese/Source/Repos/monoengine/contrib' not found 但目录确实存在。

如何正确操作?

似乎 Visual Studio 不需要 INSTALL_COMMAND。没有它,一切都得到构建,我可以 运行 应用程序。