cmake_minimum_required(VERSION 3.0) project(GLEW) find_package(OpenGL REQUIRED) add_library(glew src/glew.c) target_include_directories(glew PRIVATE include/) target_link_libraries(glew PUBLIC OpenGL::GL) include(GNUInstallDirs) install( FILES ${PROJECT_SOURCE_DIR}/include/GL/glew.h ${PROJECT_SOURCE_DIR}/include/GL/wglew.h ${PROJECT_SOURCE_DIR}/include/GL/glxew.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/GL ) add_library(GLEW INTERFACE) target_link_libraries(GLEW INTERFACE glew) include(CMakePackageConfigHelpers) write_basic_package_version_file( "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake" VERSION 1.13.0 COMPATIBILITY AnyNewerVersion ) install(TARGETS glew GLEW EXPORT ${PROJECT_NAME}Targets RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} ) export(EXPORT ${PROJECT_NAME}Targets FILE "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake" NAMESPACE ${PROJECT_NAME}:: ) set(ConfigPackageLocation ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}) install(EXPORT ${PROJECT_NAME}Targets FILE "${PROJECT_NAME}Config.cmake" NAMESPACE ${PROJECT_NAME}:: DESTINATION ${ConfigPackageLocation} ) install( FILES "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake" DESTINATION ${ConfigPackageLocation} )