86 lines
3.2 KiB
Diff
86 lines
3.2 KiB
Diff
diff --git a/build/cmake/modules/JasOpenGL.cmake b/build/cmake/modules/JasOpenGL.cmake
|
|
index b58b8de..4e58ead 100644
|
|
--- a/build/cmake/modules/JasOpenGL.cmake
|
|
+++ b/build/cmake/modules/JasOpenGL.cmake
|
|
@@ -5,50 +5,28 @@
|
|
if (JAS_ENABLE_OPENGL)
|
|
set(OpenGL_GL_PREFERENCE GLVND)
|
|
find_package(OpenGL ${JAS_REQUIRED})
|
|
- message("OpenGL library found: ${OPENGL_FOUND}")
|
|
-else()
|
|
- set(OPENGL_FOUND false)
|
|
-endif()
|
|
-if (JAS_ENABLE_OPENGL AND OPENGL_FOUND)
|
|
- set(JAS_HAVE_OPENGL 0)
|
|
- message("OpenGL include directory: ${OPENGL_INCLUDE_DIR}")
|
|
- message("OpenGL libraries: ${OPENGL_LIBRARIES}")
|
|
+ if (TARGET OpenGL::GL)
|
|
+ message("OpenGL library found: ${OPENGL_FOUND}")
|
|
+ message("OpenGL include directory: ${OPENGL_INCLUDE_DIR}")
|
|
+ message("OpenGL libraries: ${OPENGL_LIBRARIES}")
|
|
+ endif()
|
|
find_package(GLUT ${JAS_REQUIRED})
|
|
- message("GLUT library found: ${GLUT_FOUND}")
|
|
- if (GLUT_FOUND)
|
|
+ if (TARGET GLUT::GLUT)
|
|
message("GLUT include directory: ${GLUT_INCLUDE_DIR}")
|
|
message("GLUT libraries: ${GLUT_LIBRARIES}")
|
|
- set(CMAKE_REQUIRED_INCLUDES ${GLUT_INCLUDE_DIR})
|
|
+ endif()
|
|
+ if((TARGET OpenGL::GL) AND (TARGET GLUT::GLUT))
|
|
check_include_files(GL/glut.h JAS_HAVE_GL_GLUT_H)
|
|
check_include_files(glut.h JAS_HAVE_GLUT_H)
|
|
if (JAS_HAVE_GL_GLUT_H OR JAS_HAVE_GLUT_H)
|
|
+ set(JAS_OPENGL_TARGETS GLUT::GLUT OpenGL::GL)
|
|
+ if (TARGET OpenGL::GLU)
|
|
+ set(JAS_OPENGL_TARGETS ${JAS_OPENGL_TARGETS} OpenGL::GLU)
|
|
+ endif()
|
|
set(JAS_HAVE_OPENGL 1)
|
|
- include_directories(${GLUT_INCLUDE_DIR} ${OPENGL_INCLUDE_DIR})
|
|
else()
|
|
message(WARNING "The header files GL/glut.h and glut.h both appear to be missing.")
|
|
message(WARNING "Disabling OpenGL.")
|
|
endif()
|
|
endif()
|
|
- # On some systems (e.g., Fedora 21), there is a bug in the cmake code
|
|
- # that detects GLUT libraries. The following ugliness is a workaround for
|
|
- # this problem.
|
|
- if (NOT GLUT_Xmu_LIBRARY OR NOT GLUT_Xmi_LIBRARY)
|
|
- if (NOT GLUT_Xmu_LIBRARY)
|
|
- set(GLUT_Xmu_LIBRARY "")
|
|
- message(WARNING "Clearing bogus value for GLUT_Xmu_LIBRARY.")
|
|
- message(WARNING "Your version of CMake may be buggy.")
|
|
- endif()
|
|
- if (NOT GLUT_Xmi_LIBRARY)
|
|
- set(GLUT_Xmi_LIBRARY "")
|
|
- message(WARNING "Clearing bogus value for GLUT_Xmi_LIBRARY.")
|
|
- message(WARNING "Your version of CMake may be buggy.")
|
|
- endif()
|
|
- set(GLUT_LIBRARIES "${GLUT_glut_LIBRARY}")
|
|
- endif()
|
|
-else()
|
|
- set(JAS_HAVE_OPENGL 0)
|
|
- set(OPENGL_INCLUDE_DIR "")
|
|
- set(OPENGL_LIBRARIES "")
|
|
- set(GLUT_INCLUDE_DIR "")
|
|
- set(GLUT_LIBRARIES "")
|
|
endif()
|
|
diff --git a/src/appl/CMakeLists.txt b/src/appl/CMakeLists.txt
|
|
index 1b865de..3d0c57b 100644
|
|
--- a/src/appl/CMakeLists.txt
|
|
+++ b/src/appl/CMakeLists.txt
|
|
@@ -22,10 +22,9 @@ set(man_pages "${man_pages}" imgcmp.1)
|
|
# The jiv program (which requires GLUT)
|
|
if(JAS_HAVE_OPENGL)
|
|
add_executable(jiv jiv.c)
|
|
- target_include_directories(jiv PUBLIC
|
|
- ${GLUT_INCLUDE_DIR} ${OPENGL_INCLUDE_DIR})
|
|
- target_link_libraries(jiv libjasper ${JPEG_LIBRARIES} ${GLUT_LIBRARIES}
|
|
- ${OPENGL_LIBRARIES} ${MATH_LIBRARY})
|
|
+ target_link_libraries(jiv libjasper
|
|
+ ${JPEG_LIBRARIES} ${HEIF_LIBRARIES} ${JAS_OPENGL_TARGETS}
|
|
+ ${JAS_OPENGL_TARGETS} ${MATH_LIBRARY} ${THREAD_LIBRARY})
|
|
set(programs "${programs}" jiv)
|
|
set(man_pages "${man_pages}" jiv.1)
|
|
else()
|