diff options
Diffstat (limited to 'cmake/modules/FindLCMS2.cmake')
-rw-r--r-- | cmake/modules/FindLCMS2.cmake | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/cmake/modules/FindLCMS2.cmake b/cmake/modules/FindLCMS2.cmake new file mode 100644 index 0000000..7484f56 --- /dev/null +++ b/cmake/modules/FindLCMS2.cmake @@ -0,0 +1,73 @@ +# +# Find the native LCMS includes and library +# + +# This module defines +# LCMS_INCLUDE_DIR, where to find art*.h etc +# LCMS_LIBRARY, the libraries +# LCMS_FOUND, If false, do not try to use LCMS. +# LIBLCMS_LIBS, link information +# LIBLCMS_CFLAGS, cflags for include information + + +# INCLUDE(UsePkgConfig) + +# use pkg-config to get the directories and then use these values +# in the FIND_PATH() and FIND_LIBRARY() calls +# PKGCONFIG(lcms _lcmsIncDir _lcmsLinkDir _lcmsLinkFlags _lcmsCflags) + +# SET(LCMS2_LIBS ${_lcmsCflags}) + +FIND_PATH(LCMS2_INCLUDE_DIR lcms2.h + /usr/include + /usr/local/include + PATH_SUFFIXES lcms2 +) + +FIND_LIBRARY(LCMS2_LIBRARY_RELEASE + NAMES ${LCMS2_NAMES_RELEASE} ${LCMS2_NAMES} lcms2 liblcms2 lcms2dll + PATHS /usr/lib /usr/local/lib +) + +FIND_LIBRARY(LCMS2_LIBRARY_DEBUG + NAMES ${LCMS2_NAMES_DEBUG} lcms2d liblcms2d lcms2dlld + PATHS /usr/lib /usr/local/lib +) + +INCLUDE(LibraryDebugAndRelease) +SET_LIBRARY_FROM_DEBUG_AND_RELEASE(LCMS2) + +MESSAGE("LCMS 2 ReleaseLibrary: ${LCMS2_LIBRARY_RELEASE}") +MESSAGE("LCMS 2 Debug Library: ${LCMS2_LIBRARY_DEBUG}") +MESSAGE("LCMS 2 Library: ${LCMS2_LIBRARY}") + +IF (LCMS2_LIBRARY AND LCMS2_INCLUDE_DIR) + SET( LCMS2_FOUND 1 ) + SET( LCMS_LIBRARIES ${LCMS2_LIBRARY} ) +ELSE (LCMS2_LIBRARY AND LCMS2_INCLUDE_DIR) + SET( LCMS2_FOUND 0 ) +ENDIF (LCMS2_LIBRARY AND LCMS2_INCLUDE_DIR) + +SET(LCMS2_FIND_QUIETLY 1) + +IF (LCMS2_FOUND) + file(READ ${LCMS2_INCLUDE_DIR}/lcms2.h LCMS2_VERSION_CONTENT) + string(REGEX MATCH "#define LCMS_VERSION[ ]*[0-9]*\n" LCMS2_VERSION_MATCH ${LCMS2_VERSION_CONTENT}) + IF (LCMS2_VERSION_MATCH) + string(REGEX REPLACE "#define LCMS_VERSION[ ]*([0-9]*)\n" "\\1" LCMS2_VERSION ${LCMS2_VERSION_MATCH}) + IF (NOT LCMS2_FIND_QUIETLY) + string(SUBSTRING ${LCMS2_VERSION} 0 1 LCMS2_MAJOR_VERSION) + string(SUBSTRING ${LCMS2_VERSION} 1 2 LCMS2_MINOR_VERSION) + MESSAGE(STATUS "Found LittleCMS 2, version ${LCMS2_MAJOR_VERSION}.${LCMS2_MINOR_VERSION} : ${LCMS2_LIBRARY}") + ENDIF (NOT LCMS2_FIND_QUIETLY) + ELSE (LCMS2_VERSION_MATCH) + IF (NOT LCMS2_FIND_QUIETLY) + MESSAGE(STATUS "Found LittleCMS 2, unknown version : ${LCMS2_LIBRARY}") + ENDIF (NOT LCMS2_FIND_QUIETLY) + SET(LCMS2_VERSION NOTFOUND) + ENDIF (LCMS2_VERSION_MATCH) +ELSE (LCMS2_FOUND) + IF (LCMS2_FIND_REQUIRED) + MESSAGE(FATAL_ERROR "Could not find LittleCMS") + ENDIF (LCMS2_FIND_REQUIRED) +ENDIF (LCMS2_FOUND) |