@@ -108,6 +108,8 @@ endif()
108108
109109option (JAS_PACKAGING "Enable packaging mode (e.g., disable RPATH)" OFF )
110110
111+ option (JAS_ENABLE_CMAKE_PACKAGE_CONFIG "Enable CMake package config file generation" OFF )
112+
111113option (JAS_ENABLE_PIC "Enable position-independent code" ON )
112114set (CMAKE_POSITION_INDEPENDENT_CODE ${JAS_ENABLE_PIC} )
113115
@@ -756,11 +758,13 @@ if(JAS_ENABLE_LIBJPEG)
756758 # (e.g., stdio.h and stdint.h). So, we cannot reliably use
757759 # check_include_file here.
758760 jas_get_includes_from_targets (CMAKE_REQUIRED_INCLUDES JPEG::JPEG )
761+ message ("JPEG include directories: ${CMAKE_REQUIRED_INCLUDES} " )
759762 check_c_source_compiles ("
760763 #include <stdio.h>
761764 #include <stdint.h>
765+ #include <stddef.h>
762766 #include <jpeglib.h>
763- int main() {}
767+ int main(void ) {}
764768 " JAS_HAVE_JPEGLIB_H )
765769 if (JAS_HAVE_JPEGLIB_H)
766770 set (JAS_HAVE_LIBJPEG 1)
@@ -875,3 +879,43 @@ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/build/pkgconfig/jasper.pc"
875879 DESTINATION "${CMAKE_INSTALL_LIBDIR} /pkgconfig" )
876880
877881install (FILES "README.md" DESTINATION "${CMAKE_INSTALL_DOCDIR} " )
882+
883+ ################################################################################
884+ # CMake package config files for find_package(JasPer CONFIG ...)
885+ ################################################################################
886+
887+ if (JAS_ENABLE_CMAKE_PACKAGE_CONFIG)
888+
889+ include (CMakePackageConfigHelpers )
890+
891+ # Create a version file for the package.
892+ write_basic_package_version_file (
893+ "${CMAKE_CURRENT_BINARY_DIR} /JasPerConfigVersion.cmake"
894+ VERSION ${JAS_VERSION}
895+ COMPATIBILITY AnyNewerVersion
896+ )
897+
898+ # Configure the config file that downstream projects will include.
899+ configure_package_config_file (
900+ "${CMAKE_CURRENT_SOURCE_DIR} /build/cmake/modules/JasPerConfig.cmake.in"
901+ "${CMAKE_CURRENT_BINARY_DIR} /JasPerConfig.cmake"
902+ INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR} /cmake/JasPer"
903+ )
904+
905+ # Export the targets.
906+ install (EXPORT JasPerTargets
907+ FILE JasPerTargets.cmake
908+ NAMESPACE JasPer::
909+ DESTINATION "${CMAKE_INSTALL_LIBDIR} /cmake/JasPer"
910+ )
911+
912+ # Install the config and version files.
913+ install (FILES
914+ "${CMAKE_CURRENT_BINARY_DIR} /JasPerConfig.cmake"
915+ "${CMAKE_CURRENT_BINARY_DIR} /JasPerConfigVersion.cmake"
916+ DESTINATION "${CMAKE_INSTALL_LIBDIR} /cmake/JasPer"
917+ )
918+
919+ endif ()
920+
921+ ################################################################################
0 commit comments