Я использую Qt Creator 2.2.1 под MacOS X 10.6.8, стандартная установка MacOS X для CMake 2.8.5 и Qt SDK версии 1.1.2, выпущенная 21 июня (библиотеки Qt 4.7.3).
Мой CMakeLists.txt завершается с ошибкой в find_package для Qt4 - вторая из строк ниже:
set (CMAKE_MODULE_PATH /Applications/CMake 2.8-5.app/Contents/share/cmake-2.8/Modules)
find_package (Qt4 REQUIRED HINTS /Users/myname/QtSDK)
Я добавил первую, просто чтобы убедиться, что она знает, где находится FindQt4.cmake, но та же ошибкас этой строкой или без нее.
Ошибка CMake выглядит следующим образом:
-- Configuring incomplete, errors occurred!
CMake Error at CMakeLists.txt:30 (find_package):
Could not find a configuration file for package Qt4.
Set Qt4_DIR to the directory containing a CMake configuration file for Qt4.
The file will have one of the following names:
Qt4Config.cmake
qt4-config.cmake
Я сделал несколько находок как в установленном расположении QtSDK, так и в каталогах CMake, и нетQt4Config.cmake.Я видел в каталоге модулей CMake - FindQt4.cmake, Qt4ConfigDependentSettings.cmake и UseQt4.cmake
Согласно этой странице :
Пакет find_packageКоманда () будет искать путь к модулю для Find.cmake, который является типичным способом поиска библиотек.Сначала CMake проверяет все каталоги в $ {CMAKE_MODULE_PATH}, затем он ищет в своем собственном каталоге модулей / share / cmake-xy / Modules /.Если такой файл не найден, он ищет Config.cmake или -config.cmake, которые должны быть установлены библиотеками (но в настоящее время не так много библиотек, которые их устанавливают) и которые не выполняют обнаружение, а скореепросто содержат жестко запрограммированные значения для установленной библиотеки.
Так что похоже, что FindQt4.cmake должен найти Qt4, на который я намекаю, в его местонахождение - так почему он даже делает это до Qt4Config.cmake?Кто-нибудь может заставить это работать на Mac с этими стандартными установками?