Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

cmake not finding Qt4

Since 4.8.0 is out, I've reinstalled Qt, and now I want to use cmake too. To make cmake work, I remember having to add the mingw bin folder (QtSDK\Desktop\Qt\4.7.3) to PATH back in Qt4.7.3, so I guessed that there would be a similar folder in QtSDK\Desktop\Qt\4.8.0 now but this is not the case. My question is, does anybody else have experience with setting up Qt and cmake? I could use some help right now, as I've googled for a bit and was unable to find any ways to make cmake work.

When trying to build, I get this well known message:

CMake Error at C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:91 (MESSAGE):
  Could NOT find Qt4 (missing: QT_QMAKE_EXECUTABLE QT_INCLUDE_DIR)
Call Stack (most recent call first):
  C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:252 (_FPHSA_FAILURE_MESSAGE)
  C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/FindQt4.cmake:1171 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  CMakeLists.txt:3 (find_package)
like image 289
Neko Avatar asked Mar 29 '12 21:03

Neko


1 Answers

You just need to set the path to qmake in QT_QMAKE_EXECUTABLE, and then cmake can use qmake -query to find all the other paths it needs (similar to pkg-config on Linux).

Steps for building a project using Qt and CMake usually are:

  1. Check out / create project source folder
  2. Create build folder outside the project folder
  3. Start Qt command prompt / cmd and cd into build folder e.g. cd build\project
  4. Run cmake or cmake-gui passing path to source folder e.g. cmake-gui ..\..\source\project
  5. Set any variables, such as QT_QMAKE_EXECUTABLE and CMAKE_BUILD_TYPE
  6. Run your build tool, or run cmake --build .
like image 85
Silas Parker Avatar answered Oct 29 '22 03:10

Silas Parker