diff options
| author | Ben Campbell <ben@scumways.com> | 2015-07-20 11:34:42 +1200 |
|---|---|---|
| committer | Ben Campbell <ben@scumways.com> | 2015-07-20 11:34:42 +1200 |
| commit | 7d249a5de9f25dd32fd7337902dd2d82089ed18f (patch) | |
| tree | 7bfe5ba88772a9e8f8418badd6ce04e4e36cfbd4 /DevIL/cmake | |
| parent | 78118281273a0660cdca8e8dd16765e19b186e99 (diff) | |
| download | devil-7d249a5de9f25dd32fd7337902dd2d82089ed18f.tar.gz | |
cmake: add checks for openexr, lcms, nvtt etc
Diffstat (limited to 'DevIL/cmake')
| -rw-r--r-- | DevIL/cmake/FindLCMS.cmake | 60 | ||||
| -rw-r--r-- | DevIL/cmake/FindNVTT.cmake | 107 | ||||
| -rw-r--r-- | DevIL/cmake/FindOpenEXR.cmake | 64 | ||||
| -rw-r--r-- | DevIL/cmake/cmake_all.bat | 29 | ||||
| -rw-r--r-- | DevIL/cmake/cmake_one.bat | 6 | ||||
| -rw-r--r-- | DevIL/cmake/readme.txt | 22 |
6 files changed, 231 insertions, 57 deletions
diff --git a/DevIL/cmake/FindLCMS.cmake b/DevIL/cmake/FindLCMS.cmake new file mode 100644 index 00000000..9830ba62 --- /dev/null +++ b/DevIL/cmake/FindLCMS.cmake @@ -0,0 +1,60 @@ +# - Find LCMS +# Find the LCMS (Little Color Management System) library and includes and +# This module defines +# LCMS_INCLUDE_DIR, where to find lcms.h +# LCMS_LIBRARIES, the libraries needed to use LCMS. +# LCMS_DOT_VERSION, The version number of the LCMS library, e.g. "1.19" +# LCMS_VERSION, Similar to LCMS_DOT_VERSION, but without the dots, e.g. "119" +# LCMS_FOUND, If false, do not try to use LCMS. +# +# The minimum required version of LCMS can be specified using the +# standard syntax, e.g. find_package(LCMS 1.10) + +# Copyright (c) 2008, Adrian Page, <adrian@pagenet.plus.com> +# Copyright (c) 2009, Cyrille Berger, <cberger@cberger.net> +# +# Redistribution and use is allowed according to the terms of the BSD license. +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. + + +# use pkg-config to get the directories and then use these values +# in the FIND_PATH() and FIND_LIBRARY() calls +if(NOT WIN32) + find_package(PkgConfig) + pkg_check_modules(PC_LCMS lcms) + set(LCMS_DEFINITIONS ${PC_LCMS_CFLAGS_OTHER}) +endif(NOT WIN32) + +find_path(LCMS_INCLUDE_DIR lcms.h + HINTS + ${PC_LCMS_INCLUDEDIR} + ${PC_LCMS_INCLUDE_DIRS} + PATH_SUFFIXES lcms liblcms1 +) + +find_library(LCMS_LIBRARIES NAMES lcms liblcms lcms-1 liblcms-1 + HINTS + ${PC_LCMS_LIBDIR} + ${PC_LCMS_LIBRARY_DIRS} + PATH_SUFFIXES lcms +) + +# Store the LCMS version number in the cache, so we don't have to search every time again +if(LCMS_INCLUDE_DIR AND NOT LCMS_VERSION) + file(READ ${LCMS_INCLUDE_DIR}/lcms.h LCMS_VERSION_CONTENT) + string(REGEX MATCH "#define LCMS_VERSION[ ]*[0-9]*\n" LCMS_VERSION_MATCH ${LCMS_VERSION_CONTENT}) + if(LCMS_VERSION_MATCH) + string(REGEX REPLACE "#define LCMS_VERSION[ ]*([0-9]*)\n" "\\1" _LCMS_VERSION ${LCMS_VERSION_MATCH}) + string(SUBSTRING ${_LCMS_VERSION} 0 1 LCMS_MAJOR_VERSION) + string(SUBSTRING ${_LCMS_VERSION} 1 2 LCMS_MINOR_VERSION) + endif(LCMS_VERSION_MATCH) + set(LCMS_VERSION "${LCMS_MAJOR_VERSION}${LCMS_MINOR_VERSION}" CACHE STRING "Version number of lcms" FORCE) + set(LCMS_DOT_VERSION "${LCMS_MAJOR_VERSION}.${LCMS_MINOR_VERSION}" CACHE STRING "Version number of lcms split into components" FORCE) +endif(LCMS_INCLUDE_DIR AND NOT LCMS_VERSION) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(LCMS REQUIRED_VARS LCMS_LIBRARIES LCMS_INCLUDE_DIR + VERSION_VAR LCMS_DOT_VERSION ) + +mark_as_advanced(LCMS_INCLUDE_DIR LCMS_LIBRARIES LCMS_VERSION) + diff --git a/DevIL/cmake/FindNVTT.cmake b/DevIL/cmake/FindNVTT.cmake new file mode 100644 index 00000000..d82192a7 --- /dev/null +++ b/DevIL/cmake/FindNVTT.cmake @@ -0,0 +1,107 @@ +# Locate nvidia-texture-tools +# This module defines +# NVTT_LIBRARY +# NVTT_FOUND, if false, do not try to link to nvtt +# NVTT_INCLUDE_DIR, where to find the headers +# + + +FIND_PATH(NVTT_INCLUDE_DIR nvtt/nvtt.h + PATHS + /usr/local + /usr + $ENV{NVTT_DIR} + ${3rdPartyRoot} + PATH_SUFFIXES include +) + +# NVTT +FIND_LIBRARY(NVTT_LIBRARY + NAMES nvtt + PATHS + /usr/local + /usr + $ENV{NVTT_DIR} + ${3rdPartyRoot} + PATH_SUFFIXES lib64 lib lib/shared lib/static lib64/static +) + +FIND_LIBRARY(NVTT_LIBRARY_DEBUG + NAMES nvtt_d + PATHS + /usr/local + /usr + $ENV{NVTT_DIR} + ${3rdPartyRoot} + PATH_SUFFIXES lib64 lib lib/shared lib/static lib64/static +) + +# NVIMAGE +FIND_LIBRARY(NVIMAGE_LIBRARY + NAMES nvimage + PATHS + /usr/local + /usr + $ENV{NVTT_DIR} + ${3rdPartyRoot} + PATH_SUFFIXES lib64 lib lib/shared lib/static lib64/static +) + +FIND_LIBRARY(NVIMAGE_LIBRARY_DEBUG + NAMES nvimage_d + PATHS + /usr/local + /usr + $ENV{NVTT_DIR} + ${3rdPartyRoot} + PATH_SUFFIXES lib64 lib lib/shared lib/static lib64/static +) + +# NVMATH +FIND_LIBRARY(NVMATH_LIBRARY + NAMES nvmath + PATHS + /usr/local + /usr + $ENV{NVTT_DIR} + ${3rdPartyRoot} + PATH_SUFFIXES lib64 lib lib/shared lib/static lib64/static +) + +FIND_LIBRARY(NVMATH_LIBRARY_DEBUG + NAMES nvmath_d + PATHS + /usr/local + /usr + $ENV{NVTT_DIR} + ${3rdPartyRoot} + PATH_SUFFIXES lib64 lib lib/shared lib/static lib64/static +) + +# NVCORE +FIND_LIBRARY(NVCORE_LIBRARY + NAMES nvcore + PATHS + /usr/local + /usr + $ENV{NVTT_DIR} + ${3rdPartyRoot} + PATH_SUFFIXES lib64 lib lib/shared lib/static lib64/static +) +FIND_LIBRARY(NVCORE_LIBRARY_DEBUG + NAMES nvcore_d + PATHS + /usr/local + /usr + $ENV{NVTT_DIR} + ${3rdPartyRoot} + PATH_SUFFIXES lib64 lib lib/shared lib/static lib64/static +) + + + + +SET(NVTT_FOUND "NO") +IF(NVTT_LIBRARY AND NVTT_INCLUDE_DIR) + SET(NVTT_FOUND "YES") +ENDIF(NVTT_LIBRARY AND NVTT_INCLUDE_DIR) diff --git a/DevIL/cmake/FindOpenEXR.cmake b/DevIL/cmake/FindOpenEXR.cmake new file mode 100644 index 00000000..743df98f --- /dev/null +++ b/DevIL/cmake/FindOpenEXR.cmake @@ -0,0 +1,64 @@ +# Locate OpenEXR +# This module defines +# OPENEXR_LIBRARY +# OPENEXR_FOUND, if false, do not try to link to OpenEXR +# OPENEXR_INCLUDE_DIR, where to find the headers +# +# $OPENEXR_DIR is an environment variable that would +# correspond to the ./configure --prefix=$OPENEXR_DIR +# +# Created by Robert Osfield. + + +FIND_PATH(OPENEXR_INCLUDE_DIR OpenEXR/ImfIO.h + $ENV{OPENEXR_DIR}/include + $ENV{OPENEXR_DIR} + ~/Library/Frameworks + /Library/Frameworks + /usr/local/include + /usr/include + /sw/include # Fink + /opt/local/include # DarwinPorts + /opt/csw/include # Blastwave + /opt/include + /usr/freeware/include +) + +# Macro to find exr libraries (deduplicating search paths) +# example: OPENEXR_FIND_VAR(OPENEXR_IlmImf_LIBRARY IlmImf) +MACRO(OPENEXR_FIND_VAR varname libname) + FIND_LIBRARY( ${varname} + NAMES ${libname} + PATHS + $ENV{OPENEXR_DIR}/lib + $ENV{OPENEXR_DIR} + ~/Library/Frameworks + /Library/Frameworks + /usr/local/lib + /usr/lib + /sw/lib + /opt/local/lib + /opt/csw/lib + /opt/lib + /usr/freeware/lib64 + ) +ENDMACRO(OPENEXR_FIND_VAR) + +# Macro to find exr libraries (and debug versions) +# example: OPENEXR_FIND(IlmImf) +MACRO(OPENEXR_FIND libname) + OPENEXR_FIND_VAR(OPENEXR_${libname}_LIBRARY ${libname}) + OPENEXR_FIND_VAR(OPENEXR_${libname}_LIBRARY_DEBUG ${libname}d) +ENDMACRO(OPENEXR_FIND) + +OPENEXR_FIND(IlmImf) +OPENEXR_FIND(IlmThread) +OPENEXR_FIND(Iex) +OPENEXR_FIND(Half) + +SET(OPENEXR_FOUND "NO") +IF(OPENEXR_INCLUDE_DIR AND OPENEXR_IlmImf_LIBRARY AND OPENEXR_IlmThread_LIBRARY AND OPENEXR_Iex_LIBRARY AND OPENEXR_Half_LIBRARY) + SET(OPENEXR_LIBRARIES ${OPENEXR_IlmImf_LIBRARY} ${OPENEXR_IlmThread_LIBRARY} ${OPENEXR_Half_LIBRARY} ${OPENEXR_Iex_LIBRARY} ) + SET(OPENEXR_LIBRARIES_VARS OPENEXR_IlmImf_LIBRARY OPENEXR_IlmThread_LIBRARY OPENEXR_Half_LIBRARY OPENEXR_Iex_LIBRARY ) + SET(OPENEXR_FOUND "YES") +ENDIF(OPENEXR_INCLUDE_DIR AND OPENEXR_IlmImf_LIBRARY AND OPENEXR_IlmThread_LIBRARY AND OPENEXR_Iex_LIBRARY AND OPENEXR_Half_LIBRARY) diff --git a/DevIL/cmake/cmake_all.bat b/DevIL/cmake/cmake_all.bat deleted file mode 100644 index 1d7fb039..00000000 --- a/DevIL/cmake/cmake_all.bat +++ /dev/null @@ -1,29 +0,0 @@ - -rem -rem Try and build a bunch of output files, if you dont have -rem the right compiler setup then that build type will fail -rem this gets you a bunch of msvc project files that you can -rem then use as you see fit. Well thats the theory :) -rem -rem devc, well, mingwin or gcc in general is suported -rem from the unixmakefile option. -rem -rem at the moment vc6 is the only fully tested build but -rem the vc2003 one probably works -rem -rem Borland Makefiles = Generates Borland makefiles. -rem NMake Makefiles = Generates NMake makefiles. -rem Unix Makefiles = Generates standard UNIX makefiles. -rem Visual Studio 6 = Generates Visual Studio 6 project files. -rem Visual Studio 7 = Generates Visual Studio .NET 2002 project -rem files. -rem Visual Studio 7 .NET 2003 = Generates Visual Studio .NET 2003 project -rem files. - -rem call cmake_one.bat devc -G"Unix Makefiles" -D"BUILD_SHARED_LIBS:BOOL=OFF" -rem call cmake_one.bat devc_DLL -G"Unix Makefiles" -D"BUILD_SHARED_LIBS:BOOL=ON" - -call cmake_one.bat vc6 -G"Visual Studio 6" -D"BUILD_SHARED_LIBS:BOOL=OFF" -call cmake_one.bat vc6_DLL -G"Visual Studio 6" -D"BUILD_SHARED_LIBS:BOOL=ON" -call cmake_one.bat vc2003 -G"Visual Studio 7 .NET 2003" -D"BUILD_SHARED_LIBS:BOOL=OFF" -call cmake_one.bat vc2003_DLL -G"Visual Studio 7 .NET 2003" -D"BUILD_SHARED_LIBS:BOOL=ON" diff --git a/DevIL/cmake/cmake_one.bat b/DevIL/cmake/cmake_one.bat deleted file mode 100644 index 737e6d6a..00000000 --- a/DevIL/cmake/cmake_one.bat +++ /dev/null @@ -1,6 +0,0 @@ - -mkdir %1 -cd %1 -cmake %2 %3 ..\.. -cd .. - diff --git a/DevIL/cmake/readme.txt b/DevIL/cmake/readme.txt deleted file mode 100644 index 8778c06e..00000000 --- a/DevIL/cmake/readme.txt +++ /dev/null @@ -1,22 +0,0 @@ -You dont have to use cmake here, obviously, - -check out www.cmake.org for documentation and download - -If you run the cmake_all.bat (windows) you should with a bit of luck -create some project files for use in MSVC of various flavours. This -will depend upon you having the right flavour of MSVC installed and -cmake.exe in the path. - -Note that we need two cmake configured outputs, one for dlls and one -for static linking. I'm gonna take a good look at the cmake stuff -and see if that can be merged (currently that is what the cmake boys -recomend). It doesnt make much diference using cmake then make but -looks bad when using MSVC. - -The devc(mingwin) version doesnt build yet and my 2003 install has -died so I'm only sure the vc6 one works. But thats a start. I will -try and improve on this. Certanly it makes more sense than trying -to maintain MSVC compatability across a number of versions. - - -20040701 : Kriss |
