Я работаю над сценариями cmake для своего проекта и столкнулся с проблемой:
Мой проект использует стороннюю библиотеку (FreeImage), которая имеет собственную систему сборки на основе Makefile. Я могу просто собрать FreeImage, просто запустив «make» (я использую gnuwin32), который создаст FreeImage с использованием MinGW и выдаст:
FreeImage.lib
FreeImage.dll
Теперь моя проблема двоякая:
- Я хочу выполнить "make" из моего скрипта cmake.
- Я хочу создать ссылку на импортируемую библиотеку (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.
Спасибо!
EDIT:
Я сейчас пытаюсь использовать ExternalProject_Add вот так:
ExternalProject_Add(
FreeImage
PREFIX ./Libs/FreeImage
URL ./Libs/FreeImage
BUILD_COMMAND make
)
Это дает мне часть пути, но не полностью работает ... он пытается настроить вещи для меня и пытается использовать nmake ... тьфу