After running cmake CMakeLists.txt
I get the following warning
CMake Warning at src/CMakeLists.txt:32 (add_executable):
Cannot generate a safe runt
find_library
find_library(LIBRARY_NAME PATHS "/usr/lib/x86_64-linux-gnu" NO_DEFAULT_PATH)
where
PATHS
stands for the exact path to the libsNO_DEFAULT_PATH
means, that cmake will not search anywhere elsecheck the values of lib and include paths with message(status, ${LIBRARY_NAME})
find_package
:It's a bit more complicated than the previous example, but it's essentially the same.
For each package you have to run find_package
for:
Create file with name Find<Packagename>.cmake
, e. g. if you're looking for cppunit, you'll have to create FindCPPUNIT.cmake
.
In that file, you'll have to run find_path
on include files and find_library
on lib files, like in "If you're dealing with find_library
".
find_path(CPPUNIT_INCLUDE_DIR PATHS "/usr/include/x86_64-linux-gnu" NO_DEFAULT_PATH)
find_library(CPPUNIT_LIBRARY PATHS "/usr/lib/x86_64-linux-gnu" NO_DEFAULT_PATH)
And then you have to add the path to the file to CMAKE_MODULE_PATH
.
Your system libraries are conflicting with your local custom build Qt libraries. Its a warning but you might not get expected results in your application because of this. You need to tell CMake that it should exclude system path while searching for libraries in your CMakeModule. From this documentation
If NO_DEFAULT_PATH is specified, then no additional paths are added to the search.
Also in same documentation one more flag is mentioned NO_CMAKE_SYSTEM_PATH
which only include platform specific default paths.