From 924b2999a1c2cf8aa8621904f8db9e488bbcf2c8 Mon Sep 17 00:00:00 2001 From: Brad King Date: Fri, 17 Dec 2021 12:49:06 -0500 Subject: FindGLUT: Move mark_as_advanced calls closer to find calls --- Modules/FindGLUT.cmake | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Modules/FindGLUT.cmake b/Modules/FindGLUT.cmake index 636f1ea..17d2f3d 100644 --- a/Modules/FindGLUT.cmake +++ b/Modules/FindGLUT.cmake @@ -82,6 +82,7 @@ endif() if(WIN32) find_path( GLUT_INCLUDE_DIR NAMES GL/glut.h PATHS ${GLUT_ROOT_PATH}/include ) + mark_as_advanced(GLUT_INCLUDE_DIR) find_library( GLUT_glut_LIBRARY_RELEASE NAMES glut glut32 freeglut PATHS ${OPENGL_LIBRARY_DIR} @@ -96,6 +97,7 @@ if(WIN32) select_library_configurations(GLUT_glut) elseif(APPLE) find_path(GLUT_INCLUDE_DIR glut.h ${OPENGL_LIBRARY_DIR}) + mark_as_advanced(GLUT_INCLUDE_DIR) find_library(GLUT_glut_LIBRARY GLUT DOC "GLUT library for OSX") find_library(GLUT_cocoa_LIBRARY Cocoa DOC "Cocoa framework for OSX") mark_as_advanced(GLUT_glut_LIBRARY GLUT_cocoa_LIBRARY) @@ -152,16 +154,17 @@ else() /opt/graphics/OpenGL/contrib/libglut ${_GLUT_INC_DIR} ) + mark_as_advanced(GLUT_INCLUDE_DIR) find_library( GLUT_glut_LIBRARY glut /usr/openwin/lib ${_GLUT_glut_LIB_DIR} ) + mark_as_advanced(GLUT_glut_LIBRARY) unset(_GLUT_INC_DIR) unset(_GLUT_glut_LIB_DIR) endif() -mark_as_advanced(GLUT_glut_LIBRARY) FIND_PACKAGE_HANDLE_STANDARD_ARGS(GLUT REQUIRED_VARS GLUT_glut_LIBRARY GLUT_INCLUDE_DIR) @@ -229,5 +232,3 @@ if (GLUT_FOUND) set (GLUT_LIBRARY ${GLUT_LIBRARIES}) set (GLUT_INCLUDE_PATH ${GLUT_INCLUDE_DIR}) endif() - -mark_as_advanced(GLUT_INCLUDE_DIR) -- cgit v0.12 From 641b3f41016809a4160c919c6fb47481e33563ed Mon Sep 17 00:00:00 2001 From: Brad King Date: Fri, 17 Dec 2021 12:49:45 -0500 Subject: FindGLUT: Modernize documentation layout --- Modules/FindGLUT.cmake | 32 ++++++++++++++++++++------------ 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/Modules/FindGLUT.cmake b/Modules/FindGLUT.cmake index 17d2f3d..fe1fa0f 100644 --- a/Modules/FindGLUT.cmake +++ b/Modules/FindGLUT.cmake @@ -20,24 +20,32 @@ This module defines the :prop_tgt:`IMPORTED` targets: Result Variables ^^^^^^^^^^^^^^^^ -This module sets the following variables: +This module defines the following variables: -:: +``GLUT_FOUND`` + True if ``glut`` was found. - GLUT_INCLUDE_DIR, where to find GL/glut.h, etc. - GLUT_LIBRARIES, the libraries to link against - GLUT_FOUND, If false, do not try to use GLUT. +``GLUT_INCLUDE_DIR`` + Where to find GL/glut.h, etc. -Also defined, but not for general use are: +``GLUT_LIBRARIES`` + List of libraries for using ``glut``. -:: +Cache Variables +^^^^^^^^^^^^^^^ - GLUT_glut_LIBRARY = the full path to the glut library. - GLUT_Xmu_LIBRARY = the full path to the Xmu library. - GLUT_Xi_LIBRARY = the full path to the Xi Library. +This module may set the following variables depending on platform. +These variables may optionally be set to help this module find the +correct files, but clients should not use these as results: -.. versionadded:: 3.13 - Debug and Release variants are found separately. +``GLUT_glut_LIBRARY`` + The full path to the glut library. + +``GLUT_Xmu_LIBRARY`` + The full path to the Xmu library. + +``GLUT_Xi_LIBRARY`` + The full path to the Xi Library. #]=======================================================================] include(${CMAKE_CURRENT_LIST_DIR}/SelectLibraryConfigurations.cmake) -- cgit v0.12 From 6fda93faf852c3f1f9c32e4b19dc0361504ef325 Mon Sep 17 00:00:00 2001 From: Brad King Date: Fri, 17 Dec 2021 13:05:54 -0500 Subject: FindGLUT: Provide modern-named GLUT_INCLUDE_DIRS result variable Previously this module only provided `GLUT_INCLUDE_DIR`, which does not follow the modern naming convention documented in `cmake-developer(7)`. Issue: #23018 --- Help/release/dev/FindGLUT-include-dirs.rst | 7 +++++++ Modules/FindGLUT.cmake | 28 ++++++++++++++++++++++++---- Tests/FindGLUT/Test/CMakeLists.txt | 2 +- 3 files changed, 32 insertions(+), 5 deletions(-) create mode 100644 Help/release/dev/FindGLUT-include-dirs.rst diff --git a/Help/release/dev/FindGLUT-include-dirs.rst b/Help/release/dev/FindGLUT-include-dirs.rst new file mode 100644 index 0000000..9528892 --- /dev/null +++ b/Help/release/dev/FindGLUT-include-dirs.rst @@ -0,0 +1,7 @@ +FindGLUT-include-dirs +--------------------- + +* The :module:`FindGLUT` module now provides the ``GLUT_INCLUDE_DIRS`` + result variable to conform with naming conventions documented in the + :manual:`cmake-developer(7)` manual. This supersedes the legacy + ``GLUT_INCLUDE_DIR`` variable. diff --git a/Modules/FindGLUT.cmake b/Modules/FindGLUT.cmake index fe1fa0f..80cd3a0 100644 --- a/Modules/FindGLUT.cmake +++ b/Modules/FindGLUT.cmake @@ -25,7 +25,9 @@ This module defines the following variables: ``GLUT_FOUND`` True if ``glut`` was found. -``GLUT_INCLUDE_DIR`` +``GLUT_INCLUDE_DIRS`` + .. versionadded:: 3.23 + Where to find GL/glut.h, etc. ``GLUT_LIBRARIES`` @@ -38,6 +40,10 @@ This module may set the following variables depending on platform. These variables may optionally be set to help this module find the correct files, but clients should not use these as results: +``GLUT_INCLUDE_DIR`` + The full path to the directory containing ``GL/glut.h``, + not including ``GL/``. + ``GLUT_glut_LIBRARY`` The full path to the glut library. @@ -46,6 +52,16 @@ correct files, but clients should not use these as results: ``GLUT_Xi_LIBRARY`` The full path to the Xi Library. + +Obsolete Variables +^^^^^^^^^^^^^^^^^^ + +The following variables may also be provided, for backwards compatibility: + +``GLUT_INCLUDE_DIR`` + This is one of above `Cache Variables`_, but prior to CMake 3.23 was + also a result variable. Prefer to use ``GLUT_INCLUDE_DIRS`` instead + in CMake 3.23 and above. #]=======================================================================] include(${CMAKE_CURRENT_LIST_DIR}/SelectLibraryConfigurations.cmake) @@ -79,7 +95,8 @@ find_package(PkgConfig) if(PKG_CONFIG_FOUND) pkg_check_modules(GLUT glut) if(GLUT_FOUND) - # In the non-pkg-config code path we only provide GLUT_INCLUDE_DIR. + # GLUT_INCLUDE_DIRS is now the official result variable, but + # older versions of CMake only provided GLUT_INCLUDE_DIR. set(GLUT_INCLUDE_DIR "${GLUT_INCLUDE_DIRS}") _add_glut_target_simple() FIND_PACKAGE_HANDLE_STANDARD_ARGS(GLUT REQUIRED_VARS GLUT_FOUND) @@ -182,6 +199,9 @@ if (GLUT_FOUND) set( GLUT_LIBRARIES ${GLUT_glut_LIBRARY} ) + set(GLUT_INCLUDE_DIRS + ${GLUT_INCLUDE_DIR} + ) foreach(v GLUT_Xmu_LIBRARY GLUT_Xi_LIBRARY GLUT_cocoa_LIBRARY) if(${v}) list(APPEND GLUT_LIBRARIES ${${v}}) @@ -191,7 +211,7 @@ if (GLUT_FOUND) if(NOT TARGET GLUT::GLUT) add_library(GLUT::GLUT UNKNOWN IMPORTED) set_target_properties(GLUT::GLUT PROPERTIES - INTERFACE_INCLUDE_DIRECTORIES "${GLUT_INCLUDE_DIR}") + INTERFACE_INCLUDE_DIRECTORIES "${GLUT_INCLUDE_DIRS}") if(GLUT_glut_LIBRARY MATCHES "/([^/]+)\\.framework$") set(_glut_glut "${GLUT_glut_LIBRARY}/${CMAKE_MATCH_1}") if(EXISTS "${_glut_glut}.tbd") @@ -238,5 +258,5 @@ if (GLUT_FOUND) #The following deprecated settings are for backwards compatibility with CMake1.4 set (GLUT_LIBRARY ${GLUT_LIBRARIES}) - set (GLUT_INCLUDE_PATH ${GLUT_INCLUDE_DIR}) + set (GLUT_INCLUDE_PATH ${GLUT_INCLUDE_DIRS}) endif() diff --git a/Tests/FindGLUT/Test/CMakeLists.txt b/Tests/FindGLUT/Test/CMakeLists.txt index f6440b2..0f4e536 100644 --- a/Tests/FindGLUT/Test/CMakeLists.txt +++ b/Tests/FindGLUT/Test/CMakeLists.txt @@ -9,7 +9,7 @@ target_link_libraries(testglut_tgt GLUT::GLUT) add_test(NAME testglut_tgt COMMAND testglut_tgt) add_executable(testglut_var main.c) -target_include_directories(testglut_var PRIVATE ${GLUT_INCLUDE_DIR}) +target_include_directories(testglut_var PRIVATE ${GLUT_INCLUDE_DIRS}) target_link_libraries(testglut_var PRIVATE ${GLUT_LIBRARIES}) add_test(NAME testglut_var COMMAND testglut_var) -- cgit v0.12