Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Add the installation prefix of "Qt5Widgets" to CMAKE_PREFIX_PATH

Tags:

c++

cmake

qt

I don't know a lot about cmake, I'm trying to build a client using cmake and Qt. Getting the following error:

CMake Error at alethzero/CMakeLists.txt:26 (find_package): By not providing "FindQt5Widgets.cmake" in CMAKE_MODULE_PATH this project
has asked CMake to find a package configuration file provided by
"Qt5Widgets", but CMake did not find one.

Could not find a package configuration file provided by "Qt5Widgets" with any of the following names:

Qt5WidgetsConfig.cmake
qt5widgets-config.cmake

Add the installation prefix of "Qt5Widgets" to CMAKE_PREFIX_PATH or set "Qt5Widgets_DIR" to a directory containing one of the above files. If "Qt5Widgets" provides a separate development package or SDK, be sure it has been installed.

-- Configuring incomplete, errors occurred!

As far as I understand, I need to add the QT path to CMake. How do I do it? I have Qt installed in /home/user/Programs. All the explanations I find are "just do this or that". I need the exact Terminal commands so I can just learn how to do it in the future.

Thanks!

UPDATE: export CMAKE_PREFIX_PATH=/home/user/Programs did not help me.

like image 872
user3386675 Avatar asked Mar 06 '14 05:03

user3386675


People also ask

What is installation prefix?

A prefix is the path on your host computer a software package is installed under. Packages that have a prefix will place all parts under the prefix path. Packages for your host computer typically use a default prefix of /usr/local on FreeBSD and Linux.

What is Cmake_prefix_path?

CMAKE_PREFIX_PATH works as a build directive, rather than as an environment variable. Moreover, you may perform the build into a dedicated temporary directory (it's cleaner, because when done, you can remove that temporary directory and you get back a clean pristine source tree).


5 Answers

Well, here you have a solution for Windows: How to find qt5 CMake module on windows

set (CMAKE_PREFIX_PATH "C:\\Qt\\Qt5.0.1\\5.0.1\\msvc2010\\")

For your environment, I think you will have to change the path where Qt is located...

Maybe this will help you:
https://github.com/Cockatrice/Cockatrice/issues/205

like image 199
lmiguelmh Avatar answered Oct 02 '22 21:10

lmiguelmh


This is documented:

http://doc.qt.io/qt-5/cmake-manual.html

The easiest way to use CMake is to set the CMAKE_PREFIX_PATH 
environment variable to the install prefix of Qt 5

Do this

export CMAKE_PREFIX_PATH=/home/user/Programs/<other_stuff>

where references the compiler etc, so that this complete path is valid:

/home/user/Programs/<other_stuff>/bin/qmake*
like image 38
steveire Avatar answered Oct 02 '22 20:10

steveire


I needed this on my macOS after Qt installation with brew install qt5:

export CMAKE_PREFIX_PATH=/usr/local/Cellar/qt5/5.7.0/
like image 43
Ebrahim Byagowi Avatar answered Oct 02 '22 21:10

Ebrahim Byagowi


For ubuntu: cmake -DCMAKE_PREFIX_PATH=/home/ryan/Qt/5.11.2/gcc_64 ..

/home/ryan/Qt/ is the Qt installation root path

like image 39
ryancheung Avatar answered Oct 02 '22 21:10

ryancheung


at an Ubuntu 16.04.4 LTS desktop the solution was

cmake .. -DMAKE_PREFIX_PATH=/usr/include/x86_64-linux-gnu/qt5
like image 24
fometeo Avatar answered Oct 02 '22 21:10

fometeo