add_library(glut INTERFACE) add_library(glut::glut ALIAS glut) if(WIN32) target_include_directories(glut INTERFACE include) if (${CMAKE_SIZEOF_VOID_P} EQUAL 8) target_link_libraries(glut INTERFACE glut64) target_link_directories(glut INTERFACE ${CMAKE_CURRENT_LIST_DIR}/lib/) else() target_link_libraries(glut INTERFACE glut32) target_link_directories(glut INTERFACE ${CMAKE_CURRENT_LIST_DIR}/lib/) endif() get_target_property(glut_lib glut INTERFACE_LINK_LIBRARIES) add_custom_target( #copy the dll inside the bin dir to be able to launch the sample copy_glut_shared COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/$ COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_LIST_DIR}/dll/${glut_lib}.dll ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/$ ) add_dependencies(glut copy_glut_shared) else() find_package(GLUT) if(APPLE) target_link_options(glut INTERFACE -L/System/Library/Frameworks -framework GLUT) else() target_link_libraries(glut INTERFACE GLUT::GLUT) endif() endif()