| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 |
- # Distributed under the OSI-approved BSD 3-Clause License. See accompanying
- # file Copyright.txt or https://cmake.org/licensing for details.
- #[=======================================================================[.rst:
- FindDevIL
- ---------
- This module locates the developer's image library.
- https://openil.sourceforge.net/
- IMPORTED Targets
- ^^^^^^^^^^^^^^^^
- .. versionadded:: 3.21
- This module defines the :prop_tgt:`IMPORTED` targets:
- ``DevIL::IL``
- Defined if the system has DevIL.
- ``DevIL::ILU``
- Defined if the system has DevIL Utilities.
- ``DevIL::ILUT``
- Defined if the system has DevIL Utility Toolkit.
- Result Variables
- ^^^^^^^^^^^^^^^^
- This module sets:
- ``IL_LIBRARIES``
- The name of the IL library. These include the full path to
- the core DevIL library. This one has to be linked into the
- application.
- ``ILU_LIBRARIES``
- The name of the ILU library. Again, the full path. This
- library is for filters and effects, not actual loading. It
- doesn't have to be linked if the functionality it provides
- is not used.
- ``ILUT_LIBRARIES``
- The name of the ILUT library. Full path. This part of the
- library interfaces with OpenGL. It is not strictly needed
- in applications.
- ``IL_INCLUDE_DIR``
- where to find the il.h, ilu.h and ilut.h files.
- ``DevIL_FOUND``
- This is set to TRUE if all the above variables were set.
- This will be set to false if ILU or ILUT are not found,
- even if they are not needed. In most systems, if one
- library is found all the others are as well. That's the
- way the DevIL developers release it.
- ``DevIL_ILUT_FOUND``
- .. versionadded:: 3.21
- This is set to TRUE if the ILUT library is found.
- #]=======================================================================]
- # TODO: Add version support.
- # Tested under Linux and Windows (MSVC)
- include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
- find_path(IL_INCLUDE_DIR il.h
- PATH_SUFFIXES include IL
- DOC "The path to the directory that contains il.h"
- )
- #message("IL_INCLUDE_DIR is ${IL_INCLUDE_DIR}")
- find_library(IL_LIBRARIES
- NAMES IL DEVIL
- PATH_SUFFIXES libx32 lib64 lib lib32
- DOC "The file that corresponds to the base il library."
- )
- #message("IL_LIBRARIES is ${IL_LIBRARIES}")
- find_library(ILUT_LIBRARIES
- NAMES ILUT
- PATH_SUFFIXES libx32 lib64 lib lib32
- DOC "The file that corresponds to the il (system?) utility library."
- )
- #message("ILUT_LIBRARIES is ${ILUT_LIBRARIES}")
- find_library(ILU_LIBRARIES
- NAMES ILU
- PATH_SUFFIXES libx32 lib64 lib lib32
- DOC "The file that corresponds to the il utility library."
- )
- #message("ILU_LIBRARIES is ${ILU_LIBRARIES}")
- FIND_PACKAGE_HANDLE_STANDARD_ARGS(DevIL DEFAULT_MSG
- IL_LIBRARIES ILU_LIBRARIES
- IL_INCLUDE_DIR)
- # provide legacy variable for compatibility
- set(IL_FOUND ${DevIL_FOUND})
- # create imported targets ONLY if we found DevIL.
- if(DevIL_FOUND)
- # Report the ILUT found if ILUT_LIBRARIES contains valid path.
- if (ILUT_LIBRARIES)
- set(DevIL_ILUT_FOUND TRUE)
- else()
- set(DevIL_ILUT_FOUND FALSE)
- endif()
- if(NOT TARGET DevIL::IL)
- add_library(DevIL::IL UNKNOWN IMPORTED)
- set_target_properties(DevIL::IL PROPERTIES
- INTERFACE_INCLUDE_DIRECTORIES "${IL_INCLUDE_DIR}"
- IMPORTED_LOCATION "${IL_LIBRARIES}")
- endif()
- # DevIL Utilities target
- if(NOT TARGET DevIL::ILU)
- add_library(DevIL::ILU UNKNOWN IMPORTED)
- set_target_properties(DevIL::ILU PROPERTIES
- IMPORTED_LOCATION "${ILU_LIBRARIES}")
- target_link_libraries(DevIL::ILU INTERFACE DevIL::IL)
- endif()
- # ILUT (if found)
- if(NOT TARGET DevIL::ILUT AND DevIL_ILUT_FOUND)
- add_library(DevIL::ILUT UNKNOWN IMPORTED)
- set_target_properties(DevIL::ILUT PROPERTIES
- IMPORTED_LOCATION "${ILUT_LIBRARIES}")
- target_link_libraries(DevIL::ILUT INTERFACE DevIL::ILU)
- endif()
- endif()
|