1
1
cmake_minimum_required (VERSION 3.8.0 FATAL_ERROR)
2
2
# change version also in configure.ac
3
- project (gpujpeg VERSION 0.21.0 LANGUAGES C CUDA)
3
+ project (gpujpeg VERSION 0.21.0 LANGUAGES C)
4
+ include (CheckLanguage)
5
+
6
+ check_language(CUDA)
7
+ if (CMAKE_CUDA_COMPILER)
8
+ enable_language (CUDA)
9
+ add_definitions (-DGPUJPEG_USE_CUDA)
10
+ else ()
11
+ message (STATUS "No CUDA support" )
12
+ endif ()
4
13
5
14
# options
6
15
set (BUILD_OPENGL AUTO CACHE STRING "Build with OpenGL support, options are: AUTO ON OFF" )
@@ -56,6 +65,8 @@ set(NEEDED_COMPILER_FEATURES c_std_11)
56
65
57
66
set (COMPILED_OPTIONS)
58
67
68
+ set (CMAKE_VERBOSE_MAKEFILE ON )
69
+
59
70
# allow passing <PackageName>_ROOT to find_package()
60
71
if (POLICY CMP0074)
61
72
cmake_policy (SET CMP0074 NEW)
@@ -65,6 +76,17 @@ endif()
65
76
if (POLICY CMP0092)
66
77
cmake_policy (SET CMP0092 NEW)
67
78
endif ()
79
+
80
+ # Fix behavior of CMAKE_CXX_STANDARD when targeting macOS.
81
+ if (POLICY CMP0025)
82
+ cmake_policy (SET CMP0025 NEW)
83
+ endif ()
84
+
85
+ # Find OpenGL, GLEW, GLUT and GLFW
86
+ if (POLICY CMP0072)
87
+ cmake_policy (SET CMP0072 NEW)
88
+ endif ()
89
+
68
90
if (MSVC )
69
91
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W4" )
70
92
set (CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -Xcompiler /W4" )
@@ -73,10 +95,6 @@ else()
73
95
set (CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -Xcompiler -Wall -Xcompiler -Wextra" )
74
96
endif ()
75
97
76
- # Find OpenGL, GLEW, GLUT and GLFW
77
- if (POLICY CMP0072)
78
- cmake_policy (SET CMP0072 NEW)
79
- endif ()
80
98
find_package (OpenGL)
81
99
find_package (GLEW)
82
100
find_package (GLUT)
@@ -99,15 +117,17 @@ if(NOT BUILD_OPENGL STREQUAL "OFF" AND NOT OPENGL_ERROR)
99
117
100
118
# Build GPUJPEG library with OpenGL support
101
119
add_definitions ("-DGPUJPEG_USE_OPENGL" )
120
+ add_definitions ("-DGL_SILENCE_DEPRECATION" )
121
+
102
122
set (GPUJPEG_OPENGL_LIBRARIES)
103
123
include_directories (${OPENGL_INCLUDE_DIR} ${GLEW_INCLUDE_DIRS} )
104
- list (APPEND GPUJPEG_OPENGL_LIBRARIES ${GLEW_LIBRARIES} )
124
+ list (APPEND GPUJPEG_OPENGL_LIBRARIES GLEW::GLEW )
105
125
list (APPEND GPUJPEG_OPENGL_LIBRARIES ${OPENGL_LIBRARIES} )
106
126
if (GLUT_FOUND)
107
127
include_directories (${GLUT_INCLUDE_DIR} )
108
128
list (APPEND GPUJPEG_OPENGL_LIBRARIES ${GLUT_glut_LIBRARY} )
109
129
endif ()
110
- if (X11_FOUND AND (OPENGL_CONTEXT STREQUAL "AUTO" OR OPENGL_CONTEXT STREQUAL "GLX" ))
130
+ if (NOT APPLE AND X11_FOUND AND (OPENGL_CONTEXT STREQUAL "AUTO" OR OPENGL_CONTEXT STREQUAL "GLX" ))
111
131
include_directories (${X11_INCLUDE_DIR} )
112
132
list (APPEND GPUJPEG_OPENGL_LIBRARIES ${X11_LIBRARIES} )
113
133
add_definitions ("-DGPUJPEG_USE_GLX" )
@@ -182,7 +202,7 @@ if(GPUJPEG_OPENGL_ENABLED AND GLUT_FOUND)
182
202
add_executable (decoder_gltex ${FILES} )
183
203
target_compile_features (decoder_gltex PRIVATE ${NEEDED_COMPILER_FEATURES} )
184
204
set_property (TARGET decoder_gltex PROPERTY C_STANDARD 99)
185
- target_link_libraries (decoder_gltex ${PROJECT_NAME} -lglut )
205
+ target_link_libraries (decoder_gltex ${PROJECT_NAME} ${GPUJPEG_OPENGL_LIBRARIES} )
186
206
187
207
# OpenGL interoperability example (currently not working)
188
208
#file(GLOB FILES test/opengl_interop/*.c test/opengl_interop/*.h test/opengl_interop/*.cu)
0 commit comments