cmake를 사용하여 freepv (http://freepv.sourceforge.net/)를 컴파일하려고합니다.Cmake는 어떻게 파일을 찾습니까?
freepv에는 zlib와 같은 일부 모듈이 필요합니다. 이 모듈의 개발자 버전을 다운로드하여 하드 디스크에 복사했습니다.
cmake에는 zake 라이브러리를 찾을 수있는 위치를 알려주는 파일이 있습니다.
#########################################################################
# #
# FreePV's Script #
# #
#***********************************************************************#
# This FreePV script tries to find jpeg library and header files #
# ZLIB_INCLUDE_DIR, headers path. #
# ZLIB_LIBRARIES, libraries needed. #
# ZLIB_FOUND, either true or false. #
#########################################################################
IF(WIN32)
FIND_PATH(ZLIB_INCLUDE_DIR zlib.h
${CMAKE_INCLUDE_PATH}
$ENV{include}
)
SET(ZLIB_NAMES z zlib zlib1 zlib1d zdll)
FIND_LIBRARY(ZLIB_LIBRARY
NAMES ${ZLIB_NAMES}
PATHS ${CMAKE_LIBRARY_PATH} $ENV{lib}
)
ELSE(WIN32)
FIND_PATH(ZLIB_INCLUDE_DIR zlib.h
/usr/local/include
/usr/include
)
SET(ZLIB_NAMES z zlib zdll)
FIND_LIBRARY(ZLIB_LIBRARY
NAMES ${ZLIB_NAMES}
PATHS /usr/lib /usr/local/lib
)
ENDIF(WIN32)
IF (ZLIB_INCLUDE_DIR AND ZLIB_LIBRARY)
SET(ZLIB_FOUND TRUE)
SET(ZLIB_LIBRARIES ${ZLIB_LIBRARY})
ENDIF (ZLIB_INCLUDE_DIR AND ZLIB_LIBRARY)
IF(NOT ZLIB_FOUND)
IF (ZLIB_FIND_REQUIRED)
MESSAGE(FATAL_ERROR "Could not find ZLIB")
ENDIF (ZLIB_FIND_REQUIRED)
ENDIF(NOT ZLIB_FOUND)
내 질문은 :
이어디 내가 zlib을 위해 다운로드 한 파일을 복사해야합니다 ?
내 하드 디스크의 일부를 복사 한 다음 ZLIB_INCLUDE_DIR이라는 환경 변수를 설정할 수 있습니까?
어떻게 CMake FIND_PATH가 작동합니까?
음, CMake 실제로 ZLIB를 찾기 위해 자신의 논리가 이미 프로젝트의 오래된 것들이 될 것입니다 (https://github.com/Kitware/CMake/blob/master/Modules/FindZLIB.cmake). 그러나 FIND_PATH에 대한 문서가 필요한 경우 여기에 있습니다. http://www.cmake.org/cmake/help/cmake2.6docs.html#command:find_path – schlenk