I want to use libpng.dylib in my project, and there is a libpng(version1.6) 
installed by brew:  $ ll /Users/quanzhao/git-space/homebrew/lib/libpng.dylib  $ 
ll /Users/quanzhao/git-space/homebrew/include/png.hthere is another 
libpng(version 1.4) in Mono.framework on Mac:  $ ll 
/Library/Frameworks/Mono.framework/Libraries/libpng.dylib  $ ll 
/Library/Frameworks/Mono.framework/Headers/png.h
I use the same configuration for find_path and find_library, but cmake found 
v1.6-libpng and v1.4-png.h, so my project ran to error.Here is my testing cmake 
code:find_path(MYPNG_INCLUDE_DIR    NAMES        "png.h"    HINTS        
${USER_FIND_DIRS}    PATH_SUFFIXES        "include"        "include/png"    
NO_CMAKE_ENVIRONMENT_PATH    NO_CMAKE_PATH    
NO_SYSTEM_ENVIRONMENT_PATH)message("!!!!!!!! MYPNG_INCLUDE_DIR: 
${MYPNG_INCLUDE_DIR}")find_library(MYPNG_LIBRARY    NAMES        png    HINTS   
     ${USER_FIND_DIRS}    PATH_SUFFIXES        "lib"        "local/lib"    
NO_CMAKE_ENVIRONMENT_PATH    NO_CMAKE_PATH    
NO_SYSTEM_ENVIRONMENT_PATH)message("!!!!!!!! MYPNG_LIBRARY: ${MYPNG_LIBRARY}")
The result and values of some variables are shown as 
following:----------------------------------------------------------------USER_CMAKE_ARGS:
 -G 'Unix Makefiles' -DUSER_FIND_DIRS='/Users/quanzhao/git-space/homebrew' 
-DCMAKE_TARGET_BUILD_TOOL:STRING='make' -DUSER_TARGET='x86_64-macosx-clang' 
-DCMAKE_BUILD_TYPE:STRING='Debug' -DCMAKE_C_COMPILER='/usr/bin/gcc' 
-DCMAKE_CXX_COMPILER='/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++'
 
-DUSER_MODULE_SOURCE_DIR='/Users/quanzhao/git-space/tigerknows-mapcore/externals'
 
-DUSER_MODULE_BINARY_DIR='/Users/quanzhao/git-space/tigerknows-mapcore/x86_64-macosx-clang-debug.make.build/modules'
 
-DCMAKE_INSTALL_PREFIX='/Users/quanzhao/git-space/tigerknows-mapcore/x86_64-macosx-clang-debug.make.build/installs'----------------------------------------------------------------skip(NO_DEFAULT_PATH):
 1. skip(NO_CMAKE_PATH): 1.   test(CMAKE_LIBRARY_ARCHITECTURE): 1.     each 
<prefix>/include/<arch> in CMAKE_PREFIX_PATH: 1.   each <prefix>/include in 
CMAKE_PREFIX_PATH: 1.   CMAKE_INCLUDE_PATH: 1.   CMAKE_FRAMEWORK_PATH: 2. 
skip(NO_CMAKE_ENVIRONMENT_PATH): 2.   test(CMAKE_LIBRARY_ARCHITECTURE): 2.     
each <prefix>/include/<arch> in CMAKE_PREFIX_PATH: 2.   each <prefix>/include 
in CMAKE_PREFIX_PATH: 2.   CMAKE_INCLUDE_PATH: 2.   CMAKE_FRAMEWORK_PATH: 3. 
HINTS4. skip(NO_SYSTEM_ENVIRONMENT_PATH): 4.   PATH: 
/Users/quanzhao/git-space/depot_tools:/Applications/CMake.app/Contents/bin:/Users/quanzhao/packages/apache-maven-3.3.9/bin:/Applications/Cocos/tools/ant/bin:/Users/quanzhao/git-space/homebrew/bin:/Users/quanzhao/packages/android-ndk-r10e:/Users/quanzhao/packages/adt-bundle-mac-x86_64-20140702/sdk:/Applications/Cocos/frameworks:/Users/quanzhao/packages/cocos2d-x-3/templates:/Applications/Cocos/frameworks/cocos2d-x-3.9/tools/cocos2d-console/bin:/Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home:/usr/local/bin:/usr/bin:/bin:/user/sbin:/sbin4.
   INCLUDE: 5. skip(NO_CMAKE_SYSTEM_PATH): 5.   
test(CMAKE_LIBRARY_ARCHITECTURE): 5.     each <prefix>/include/<arch> in 
CMAKE_SYSTEM_PREFIX_PATH: 
/usr/local;/usr;/;/Applications/CMake.app/Contents;/Users/quanzhao/git-space/tigerknows-mapcore/x86_64-macosx-clang-debug.make.build/installs;/sw;/opt/local5.
   each <prefix>/include in CMAKE_SYSTEM_PREFIX_PATH: 
/usr/local;/usr;/;/Applications/CMake.app/Contents;/Users/quanzhao/git-space/tigerknows-mapcore/x86_64-macosx-clang-debug.make.build/installs;/sw;/opt/local5.
   CMAKE_SYSTEM_INCLUDE_PATH: 
/usr/include/w32api;/usr/X11R6/include;/usr/include/X11;/usr/pkg/include;/opt/csw/include;/opt/include;/usr/openwin/include5.
   CMAKE_SYSTEM_FRAMEWORK_PATH: 
~/Library/Frameworks;/Library/Frameworks;/Network/Library/Frameworks;/System/Library/Frameworks6.
 PATHSCMAKE_FIND_FRAMEWORK: FIRSTCMAKE_FIND_APPBUNDLE: 
FIRSTCMAKE_FIND_ROOT_PATH: CMAKE_STAGING_PREFIX: CMAKE_SYSROOT: 
CMAKE_FIND_PATH_MODE_INCLUDE: 
----------------------------------------------------------------skip(NO_DEFAULT_PATH):
 1. skip(NO_CMAKE_PATH): 1.   test(CMAKE_LIBRARY_ARCHITECTURE): 1.     each 
<prefix>/lib/<arch> in CMAKE_PREFIX_PATH: 1.   each <prefix>/lib in 
CMAKE_PREFIX_PATH: 1.   CMAKE_LIBRARY_PATH: 1.   CMAKE_FRAMEWORK_PATH: 2. 
skip(NO_CMAKE_ENVIRONMENT_PATH): 2.   test(CMAKE_LIBRARY_ARCHITECTURE): 2.     
each <prefix>/lib/<arch> in CMAKE_PREFIX_PATH: 2.   each <prefix>/lib in 
CMAKE_PREFIX_PATH: 2.   CMAKE_LIBRARY_PATH: 2.   CMAKE_FRAMEWORK_PATH: 3. 
HINTS4. skip(NO_SYSTEM_ENVIRONMENT_PATH): 4.   PATH: 
/Users/quanzhao/git-space/depot_tools:/Applications/CMake.app/Contents/bin:/Users/quanzhao/packages/apache-maven-3.3.9/bin:/Applications/Cocos/tools/ant/bin:/Users/quanzhao/git-space/homebrew/bin:/Users/quanzhao/packages/android-ndk-r10e:/Users/quanzhao/packages/adt-bundle-mac-x86_64-20140702/sdk:/Applications/Cocos/frameworks:/Users/quanzhao/packages/cocos2d-x-3/templates:/Applications/Cocos/frameworks/cocos2d-x-3.9/tools/cocos2d-console/bin:/Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home:/usr/local/bin:/usr/bin:/bin:/user/sbin:/sbin4.
   LIB: 5. skip(NO_CMAKE_SYSTEM_PATH): 5.   test(CMAKE_LIBRARY_ARCHITECTURE): 
5.     each <prefix>/lib/<arch> in CMAKE_SYSTEM_PREFIX_PATH: 
/usr/local;/usr;/;/Applications/CMake.app/Contents;/Users/quanzhao/git-space/tigerknows-mapcore/x86_64-macosx-clang-debug.make.build/installs;/sw;/opt/local5.
   each <prefix>/lib in CMAKE_SYSTEM_PREFIX_PATH: 
/usr/local;/usr;/;/Applications/CMake.app/Contents;/Users/quanzhao/git-space/tigerknows-mapcore/x86_64-macosx-clang-debug.make.build/installs;/sw;/opt/local5.
   CMAKE_SYSTEM_LIBRARY_PATH: 
/usr/lib/w32api;/usr/X11R6/lib;/usr/lib/X11;/usr/pkg/lib;/opt/csw/lib;/opt/lib;/usr/openwin/lib5.
   CMAKE_SYSTEM_FRAMEWORK_PATH: 
~/Library/Frameworks;/Library/Frameworks;/Network/Library/Frameworks;/System/Library/Frameworks6.
 PATHSCMAKE_FIND_FRAMEWORK: FIRSTCMAKE_FIND_APPBUNDLE: 
FIRSTCMAKE_FIND_ROOT_PATH: CMAKE_STAGING_PREFIX: CMAKE_SYSROOT: 
CMAKE_FIND_PATH_MODE_LIBRARY: 
----------------------------------------------------------------!!!!!!!! 
MYPNG_INCLUDE_DIR: /Library/Frameworks/Mono.framework/Headers!!!!!!!! 
MYPNG_LIBRARY: /Users/quanzhao/git-space/homebrew/lib/libpng.dylib
I am confused on this... Only I set -DCMAKE_FIND_FRAMEWORK='LAST' can get the 
right result: libpng.dylib and png.h in v1.6. Does CMake get any other default 
actions for searching headers and libraries?

-- 

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

Reply via email to