diff options
author | Ben Campbell <ben@scumways.com> | 2015-07-22 23:59:15 +1200 |
---|---|---|
committer | Ben Campbell <ben@scumways.com> | 2015-07-22 23:59:15 +1200 |
commit | 99a0d1cca0ed67869ae2e440b9b905cb53a1c1f0 (patch) | |
tree | 346a68e8033362a222b97f290171a164f93168a0 | |
parent | 0deab07d3c6c46af1c42f36486aed85e4552d01b (diff) | |
download | devil-99a0d1cca0ed67869ae2e440b9b905cb53a1c1f0.tar.gz |
cmake: set inc dirs and linkage for optional libs
-rw-r--r-- | DevIL/CMakeLists.txt | 18 | ||||
-rw-r--r-- | DevIL/src-IL/CMakeLists.txt | 71 |
2 files changed, 54 insertions, 35 deletions
diff --git a/DevIL/CMakeLists.txt b/DevIL/CMakeLists.txt index 91db6ddc..aafb6127 100644 --- a/DevIL/CMakeLists.txt +++ b/DevIL/CMakeLists.txt @@ -18,13 +18,12 @@ OPTION(BUILD_SHARED_LIBS "Build with shared (.DLL .SO) libraries." ON) test_big_endian(WORDS_BIGENDIAN) -# check availability of external libs +# check availability of optional external libs find_package(PNG) find_package(TIFF) find_package(JPEG) find_package(Jasper) find_package(Squish) - find_package(NVTT) # NVidia texture tools find_package(OpenEXR) find_package(LCMS) @@ -37,6 +36,8 @@ set(IL_NO_UTX 1) # TODO: add options for manually configuring formats (eg IL_NO_GAMES) + +# present options for the libraries which are available if(PNG_FOUND) option(IL_NO_PNG "Disable PNG support (libpng)" 0) else(PNG_FOUND) @@ -61,14 +62,12 @@ else(OPENEXR_FOUND) set(IL_NO_EXR 1) endif(OPENEXR_FOUND) -# jpeg2000 support requires libjasper if(JASPER_FOUND) option(IL_NO_JP2 "Disable JP2 support (libjasper)" 0) else(JASPER_FOUND) set(IL_NO_JP2 1) endif(JASPER_FOUND) - if(MNG_FOUND) option(IL_NO_MNG "Disable MNG support (libmng)" 0) else(MNG_FOUND) @@ -77,17 +76,12 @@ endif(MNG_FOUND) if(LCMS_FOUND) option(IL_NO_LCMS "Disable LCMS support (Little CMS)" 0) + #TODO: be more clever about lcms include... it smells wrong. + option(LCMS_NODIRINCLUDE "Include lcms.h instead of lcms/lcms.h" 1) else(LCMS_FOUND) set(IL_NO_LCMS 1) endif(LCMS_FOUND) - -set(LCMS_NODIRINCLUDE 1) - -if(NVTT_FOUND) - set(IL_USE_DXTC_NVIDIA ON) -endif(NVTT_FOUND) - if(NVTT_FOUND) option(IL_USE_DXTC_NVIDIA "Use Nvidia Texture Tools (NVTT) for DXTC support" 1) else(NVTT_FOUND) @@ -103,8 +97,6 @@ endif(SQUISH_FOUND) - - # generate the config.h configure_file(${CMAKE_CURRENT_SOURCE_DIR}/include/IL/config.h.cmake.in ${CMAKE_CURRENT_SOURCE_DIR}/include/IL/config.h) diff --git a/DevIL/src-IL/CMakeLists.txt b/DevIL/src-IL/CMakeLists.txt index 56819b8b..08a75a14 100644 --- a/DevIL/src-IL/CMakeLists.txt +++ b/DevIL/src-IL/CMakeLists.txt @@ -45,36 +45,63 @@ ELSE(BUILD_SHARED_LIBS) ENDIF(BUILD_SHARED_LIBS) +# configure include dirs and linkage for the optional external libs +set(libs "") +set(incs "") + +if(NOT IL_NO_PNG) + list(APPEND incs ${PNG_INCLUDE_DIRS} ) + list(APPEND libs ${PNG_LIBRARIES} ) +endif(NOT IL_NO_PNG) + +if(NOT IL_NO_JPG) + list(APPEND incs ${JPEG_INCLUDE_DIRS} ) + list(APPEND libs ${JPEG_LIBRARIES} ) +endif(NOT IL_NO_JPG) + +if(NOT IL_NO_TIF) + list(APPEND incs ${TIFF_INCLUDE_DIRS} ) + list(APPEND libs ${TIFF_LIBRARIES} ) +endif(NOT IL_NO_TIF) + +if(NOT IL_NO_JP2) + list(APPEND incs ${JASPER_INCLUDE_DIR} ) + list(APPEND libs ${JASPER_LIBRARIES} ) +endif(NOT IL_NO_JP2) + +if(NOT IL_NO_MNG) + list(APPEND incs ${MNG_INCLUDE_DIRS} ) + list(APPEND libs ${MNG_LIBRARIES} ) +endif(NOT IL_NO_MNG) -# include and link external libs if(NOT IL_NO_LCMS) - include_directories( ${LCMS_INCLUDE_DIR} ) - target_link_libraries( DevIL ${LCMS_LIBRARIES} ) + list(APPEND incs ${LCMS_INCLUDE_DIRS} ) + list(APPEND libs ${LCMS_LIBRARIES} ) endif(NOT IL_NO_LCMS) +if(NOT IL_NO_EXR) + list(APPEND incs ${OPENEXR_INCLUDE_DIRS} ) + list(APPEND libs ${OPENEXR_LIBRARIES} ) +endif(NOT IL_NO_EXR) + +if(IL_USE_DXTC_NVIDIA) + list(APPEND incs ${NVTT_INCLUDE_DIR} ) + list(APPEND libs ${NVTT_LIBRARY} ) +endif(IL_USE_DXTC_NVIDIA) + +if(IL_USE_DXTC_NVIDIA) + list(APPEND incs ${NVTT_INCLUDE_DIR} ) + list(APPEND libs ${NVTT_LIBRARY} ) +endif(IL_USE_DXTC_NVIDIA) + +# TODO: does Squish require linking/includes? -INCLUDE_DIRECTORIES( - ${PNG_INCLUDE_DIRS} - ${TIFF_INCLUDE_DIR} - ${JPEG_INCLUDE_DIR} - ${JASPER_INCLUDE_DIR} - ${LCMS_INCLUDE_DIRS} - ${OPENEXR_INCLUDE_DIR} - ${NVTT_INCLUDE_DIR} -) +include_directories(${incs}) +target_link_libraries(DevIL ${libs}) -#TARGET_LINK_LIBRARIES( -# DevIL - # ${PNG_LIBRARIES} - # ${JPEG_LIBRARIES} - #${TIFF_LIBRARIES} - #${JASPER_LIBRARIES} - #${LCMS_LIBRARIES} - #${OPENEXR_LIBRARIES} - #${NVTT_LIBRARY} - #) +# Installation install (TARGETS DevIL ARCHIVE DESTINATION lib |