我正在为我的项目编写 cmake 脚本,但遇到了一个问题:
我的项目使用第 3 方库 (FreeImage),它有自己的基于 Makefile 的构建系统。我可以通过简单地运行“make”(我正在使用 gnuwin32)来构建 FreeImage,这将使用 MinGW 构建 FreeImage 并产生:
FreeImage.lib
FreeImage.dll
现在我的问题是双重的:
- 我想从我的 cmake 脚本中执行“make”。
- 我想链接到导入库(FreeImage.lib),并确保将 DLL 复制到正确的位置,以便 EXE 运行。
我知道如何链接到 LIB 文件,但我迷失了其余部分。
文件夹结构是这样的:
MyProject # main directory
MyProject/Libs/FreeImage # FreeImage root directory
MyProject/Libs/FreeImage/Dist # This is where FreeImage outputs go (LIB and DLL)
顺便说一句:我在 Windows 7 上运行。我计划使用 MSVC 和 MinGW 构建我的项目。
谢谢!
编辑:我现在正尝试像这样使用 ExternalProject_Add:
ExternalProject_Add(
FreeImage
PREFIX ./Libs/FreeImage
URL ./Libs/FreeImage
BUILD_COMMAND make
)
这让我成为了那里的一部分,但并不完全奏效......它试图为我配置东西并尝试使用nmake......呃