[CMake] Package found - passing _INCLUDE_DIRS to include_directories() and _LIBRARIES to target_link_libraries()

Hendrik Sattler post at hendrik-sattler.de
Sat Jul 19 07:03:58 EDT 2014


Hi,

I'm not sure that ~ is supported directly.

HS

On 19. Juli 2014 04:31:23 MESZ, Michael Darling <darlingm at gmail.com> wrote:
>http://www.cmake.org/Wiki/CMake:How_To_Find_Libraries#How_package_finding_works
>
>seems to indicate if <PACKAGE-NAME>_FOUND is found, the
><PACKAGE-NAME>_INCLUDE_DIRS is passed to the include_directories()
>command,
>and <PACKAGE-NAME>_LIBRARIES is passed to target_link_libraries()
>
>Why is the reduced-case code below calling g++ without including
>"-I~/codeTestPackages/lib", causing a "app/app.cpp:1:17: fatal error:
>lib.h: No such file or directory" ?
>
>I'm on CMake v3.0.0.  Also tried CMake v3.0.20140718-g36a81 (git
>source.)
>
>All the source is below, and attached as a .tar.gz.
>
>
>*### CMakeLists.txt ###*
>
>cmake_minimum_required(VERSION 3.0)
>project(codeTestPackages)
>set(CMAKE_VERBOSE_MAKEFILE on)
>set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH}
>~/codeTestPackages/findModules)
>add_subdirectory(lib)
>add_subdirectory(app)
>
>*### findModules/Findlib.cmake ###*
>
>IF(NOT lib_FOUND)
>   set(lib_FOUND "yes")
>   message("lib_FOUND is ${lib_FOUND}")
>   set(lib_INCLUDE_DIRS ~/codeTestPackages/lib)
>   set(lib_LIBRARIES lib)
>ENDIF(NOT lib_FOUND)
>
>*### lib/CMakeListst.txt ###*
>
>include_directories(~/codeTestPackages/lib)
>add_library(lib lib.cpp)
>
>*### lib/lib.h ###*
>
>#ifndef __LIB__
>#define __LIB__
>namespace LIB {
>unsigned long libFunc(unsigned long inValue);
>}
>#endif
>
>*### lib/lib.cpp ###*
>
>#include <lib.h>
>namespace LIB {
>unsigned long libFunc(unsigned long inValue) {
>   return inValue+1;
>}
>}
>
>*### app/CMakeLists.txt ###*
>
>find_package(lib REQUIRED)
>add_executable(app app.cpp)
>
>*### app/app.cpp ###*
>
>#include <lib.h>
>using namespace LIB;
>
>int main() {
>   unsigned long x = 1;
>   unsigned long y = libFunc(x);
>}
>
>
>------------------------------------------------------------------------
>
>-- 
>
>Powered by www.kitware.com
>
>Please keep messages on-topic and check the CMake FAQ at:
>http://www.cmake.org/Wiki/CMake_FAQ
>
>Kitware offers various services to support the CMake community. For
>more information on each offering, please visit:
>
>CMake Support: http://cmake.org/cmake/help/support.html
>CMake Consulting: http://cmake.org/cmake/help/consulting.html
>CMake Training Courses: http://cmake.org/cmake/help/training.html
>
>Visit other Kitware open-source projects at
>http://www.kitware.com/opensource/opensource.html
>
>Follow this link to subscribe/unsubscribe:
>http://public.kitware.com/mailman/listinfo/cmake
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/cmake/attachments/20140719/984f952c/attachment-0001.html>


More information about the CMake mailing list