Re: [CMake] How does cmake find libraries?

2011-06-16 Thread John Drescher
>    [ 74%] Built target test_sethandler
>    make[2]: *** No rule to make target `/usr/local/lib/libpng.dylib', needed
> by `tests/na/common/test_common'.  Stop.
>    make[1]: *** [tests/na/common/CMakeFiles/test_common.dir/all] Error 2
> The obvious reason is that /usr/local/lib/libpng.dylib doesn't exist:
>   arc:mbuild douglasl$ ls /usr/local/lib/ | grep png
>   arc:mbuild douglasl$
> But my cmake cache shows:
>   LIBPNG_INCLUDE_DIR:PATH=/Library/Frameworks/Mono.framework/Headers
>   LIBPNG_LIBRARY:FILEPATH=/usr/local/lib/libpng.dylib
>   //ADVANCED property for variable: LIBPNG_INCLUDE_DIR
>   LIBPNG_INCLUDE_DIR-ADVANCED:INTERNAL=1
>   //ADVANCED property for variable: LIBPNG_LIBRARY
>   LIBPNG_LIBRARY-ADVANCED:INTERNAL=1
> Can someone shed some light on how cmake is finding that module?
> Sounds like the machine config is broken, but I'm not sure exactly how to
> fix it.

Does png.h exist in this folder

/Library/Frameworks/Mono.framework/Headers

John
___
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake


Re: [CMake] How does cmake find libraries?

2011-06-16 Thread Alexander Neundorf
On Thursday 16 June 2011, Doug wrote:
> I've not had a problem with this before, but I'm having an odd issue where
> cmake is finding libpng when it doesn't exist on an OSX machine.
> 
> I'm using Findlibpng.cmake:
> 
>   include(LibFindMacros)
> 
>   find_path(LIBPNG_INCLUDE_DIR NAMES png.h PATHS
> ${LIBPNG_PKGCONF_INCLUDE_DIRS})
> 
>   find_library(LIBPNG_LIBRARY NAMES png PATHS
> ${LIBPNG_PKGCONF_LIBRARY_DIRS})
> 
>   set(LIBPNG_PROCESS_INCLUDES LIBPNG_INCLUDE_DIR)
>   set(LIBPNG_PROCESS_LIBS LIBPNG_LIBRARY LIBPNG_LIBRARIES)
> 
>   libfind_process(LIBPNG)
> 
> And in my cmake file:
> 
>   FIND_PACKAGE(libpng REQUIRED)
> 
> When I run cmake it says it found LIBPNG (cmake-gui doesn't request I
> search for the path manually) and when compile it's erroring:
> 
>[ 74%] Built target test_sethandler
>make[2]: *** No rule to make target `/usr/local/lib/libpng.dylib',
> needed by `tests/na/common/test_common'.  Stop.
>make[1]: *** [tests/na/common/CMakeFiles/test_common.dir/all] Error 2
> 
> The obvious reason is that /usr/local/lib/libpng.dylib doesn't exist:
> 
>   arc:mbuild douglasl$ ls /usr/local/lib/ | grep png
>   arc:mbuild douglasl$
> 
> But my cmake cache shows:
> 
>   LIBPNG_INCLUDE_DIR:PATH=/Library/Frameworks/Mono.framework/Headers
>   LIBPNG_LIBRARY:FILEPATH=/usr/local/lib/libpng.dylib
>   //ADVANCED property for variable: LIBPNG_INCLUDE_DIR
>   LIBPNG_INCLUDE_DIR-ADVANCED:INTERNAL=1
>   //ADVANCED property for variable: LIBPNG_LIBRARY
>   LIBPNG_LIBRARY-ADVANCED:INTERNAL=1
> 
> Can someone shed some light on how cmake is finding that module?

That's weird, since cmake checks for existing files.
Maybe that file existed before and has been removed, but it is still in the 
cmake cache ?

What does libfind_process() do, what is LibFindMacros.cmake for a file ?

Alex
___
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake


[CMake] How does cmake find libraries?

2011-06-15 Thread Doug
I've not had a problem with this before, but I'm having an odd issue where
cmake is finding libpng when it doesn't exist on an OSX machine.

I'm using Findlibpng.cmake:

  include(LibFindMacros)

  find_path(LIBPNG_INCLUDE_DIR NAMES png.h PATHS
${LIBPNG_PKGCONF_INCLUDE_DIRS})

  find_library(LIBPNG_LIBRARY NAMES png PATHS
${LIBPNG_PKGCONF_LIBRARY_DIRS})

  set(LIBPNG_PROCESS_INCLUDES LIBPNG_INCLUDE_DIR)
  set(LIBPNG_PROCESS_LIBS LIBPNG_LIBRARY LIBPNG_LIBRARIES)

  libfind_process(LIBPNG)

And in my cmake file:

  FIND_PACKAGE(libpng REQUIRED)

When I run cmake it says it found LIBPNG (cmake-gui doesn't request I search
for the path manually) and when compile it's erroring:

   [ 74%] Built target test_sethandler
   make[2]: *** No rule to make target `/usr/local/lib/libpng.dylib', needed
by `tests/na/common/test_common'.  Stop.
   make[1]: *** [tests/na/common/CMakeFiles/test_common.dir/all] Error 2

The obvious reason is that /usr/local/lib/libpng.dylib doesn't exist:

  arc:mbuild douglasl$ ls /usr/local/lib/ | grep png
  arc:mbuild douglasl$

But my cmake cache shows:

  LIBPNG_INCLUDE_DIR:PATH=/Library/Frameworks/Mono.framework/Headers
  LIBPNG_LIBRARY:FILEPATH=/usr/local/lib/libpng.dylib
  //ADVANCED property for variable: LIBPNG_INCLUDE_DIR
  LIBPNG_INCLUDE_DIR-ADVANCED:INTERNAL=1
  //ADVANCED property for variable: LIBPNG_LIBRARY
  LIBPNG_LIBRARY-ADVANCED:INTERNAL=1

Can someone shed some light on how cmake is finding that module?

Sounds like the machine config is broken, but I'm not sure exactly how to
fix it.

Cheers,
Doug.
___
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake