Files
pip/FindPIP.cmake

51 lines
2.3 KiB
CMake

#set(_PIP_MODULES pip pip_usb pip_crypt pip_fftw)
if(WIN32)
find_package(MinGW REQUIRED)
endif()
if(APPLE)
include_directories(/usr/local/include)
link_directories(/usr/local/lib)
endif()
find_library(PIP_LIBRARY pip HINTS ${PIP_DIR}/lib ${MINGW_LIB} /usr/lib /usr/local/lib $ENV{SMSDK_DIR}/lib)
find_library(PIP_USB_LIBRARY pip_usb HINTS ${PIP_DIR}/lib ${MINGW_LIB} /usr/lib /usr/local/lib $ENV{SMSDK_DIR}/lib)
find_library(PIP_CRYPT_LIBRARY pip_crypt HINTS ${PIP_DIR}/lib ${MINGW_LIB} /usr/lib /usr/local/lib $ENV{SMSDK_DIR}/lib)
find_library(PIP_FFTW_LIBRARY pip_fftw HINTS ${PIP_DIR}/lib ${MINGW_LIB} /usr/lib /usr/local/lib $ENV{SMSDK_DIR}/lib)
find_library(PIP_COMPRESS_LIBRARY pip_compress HINTS ${PIP_DIR}/lib ${MINGW_LIB} /usr/lib /usr/local/lib $ENV{SMSDK_DIR}/lib)
find_library(PIP_IO_UTILS_LIBRARY pip_io_utils HINTS ${PIP_DIR}/lib ${MINGW_LIB} /usr/lib /usr/local/lib $ENV{SMSDK_DIR}/lib)
find_file(PIP_H_INCLUDE "pip.h" HINTS ${PIP_DIR}/include/pip ${MINGW_INCLUDE}/pip /usr/include/pip /usr/local/include/pip $ENV{SMSDK_DIR}/include/pip)
if (DEFINED ANDROID_PLATFORM)
set(PIP_INCLUDES ${ANDROID_SYSTEM_LIBRARY_PATH}/usr/include/pip)
else()
get_filename_component(PIP_INCLUDES ${PIP_H_INCLUDE} PATH)
endif()
find_program(PIP_CMG pip_cmg HINTS ${PIP_DIR}/bin ${MINGW_BIN} /usr/bin /usr/local/bin)
find_program(PIP_RC pip_rc HINTS ${PIP_DIR}/bin ${MINGW_BIN} /usr/bin /usr/local/bin)
if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux")
find_library(DL_LIBRARY dl)
list(APPEND PIP_LIBRARY ${DL_LIBRARY})
if (NOT DEFINED ANDROID_PLATFORM)
find_library(PTHREAD_LIBRARY pthread)
find_library(UTIL_LIBRARY util)
list(APPEND PIP_LIBRARY ${PTHREAD_LIBRARY} ${UTIL_LIBRARY})
endif()
endif()
if(NOT PIP_VERSION)
file(STRINGS "${PIP_INCLUDES}/pip_version_str.h" _VERSION REGEX "\".*\"")
string(REGEX MATCH "\".*\"" _VERSION ${_VERSION})
string(LENGTH ${_VERSION} SL)
math(EXPR SL ${SL}-2)
string(SUBSTRING ${_VERSION} 1 ${SL} _VERSION)
set(PIP_VERSION ${_VERSION} CACHE STRING "VERSION")
if (NOT _PIP_MSG)
set(_PIP_MSG 1 CACHE BOOL "msg_pip" FORCE)
message(STATUS "Found PIP version ${PIP_VERSION} (${PIP_LIBRARY})")
endif()
endif()
if(PIP_FIND_VERSION VERSION_GREATER PIP_VERSION)
message(FATAL_ERROR "PIP version ${PIP_VERSION} is available, but ${PIP_FIND_VERSION} requested!")
endif()
include(PIPMacros)