git repos / blockattack-game

blame: source/misc/cmake/FindSDL2.cmake

normal view · raw

e566d265 sago007 2016-01-16 14:19 1
# Locate SDL2 library
e566d265 sago007 2016-01-16 14:19 2
# This module defines
e566d265 sago007 2016-01-16 14:19 3
# SDL2_LIBRARY, the name of the library to link against
e566d265 sago007 2016-01-16 14:19 4
# SDL2_FOUND, if false, do not try to link to SDL2
e566d265 sago007 2016-01-16 14:19 5
# SDL2_INCLUDE_DIR, where to find SDL.h
e566d265 sago007 2016-01-16 14:19 6
#
e566d265 sago007 2016-01-16 14:19 7
# This module responds to the the flag:
e566d265 sago007 2016-01-16 14:19 8
# SDL2_BUILDING_LIBRARY
e566d265 sago007 2016-01-16 14:19 9
# If this is defined, then no SDL2_main will be linked in because
e566d265 sago007 2016-01-16 14:19 10
# only applications need main().
e566d265 sago007 2016-01-16 14:19 11
# Otherwise, it is assumed you are building an application and this
e566d265 sago007 2016-01-16 14:19 12
# module will attempt to locate and set the the proper link flags
e566d265 sago007 2016-01-16 14:19 13
# as part of the returned SDL2_LIBRARY variable.
e566d265 sago007 2016-01-16 14:19 14
#
e566d265 sago007 2016-01-16 14:19 15
# Don't forget to include SDL2main.h and SDL2main.m your project for the
e566d265 sago007 2016-01-16 14:19 16
# OS X framework based version. (Other versions link to -lSDL2main which
e566d265 sago007 2016-01-16 14:19 17
# this module will try to find on your behalf.) Also for OS X, this
e566d265 sago007 2016-01-16 14:19 18
# module will automatically add the -framework Cocoa on your behalf.
e566d265 sago007 2016-01-16 14:19 19
#
e566d265 sago007 2016-01-16 14:19 20
#
e566d265 sago007 2016-01-16 14:19 21
# Additional Note: If you see an empty SDL2_LIBRARY_TEMP in your configuration
e566d265 sago007 2016-01-16 14:19 22
# and no SDL2_LIBRARY, it means CMake did not find your SDL2 library
e566d265 sago007 2016-01-16 14:19 23
# (SDL2.dll, libsdl2.so, SDL2.framework, etc).
e566d265 sago007 2016-01-16 14:19 24
# Set SDL2_LIBRARY_TEMP to point to your SDL2 library, and configure again.
e566d265 sago007 2016-01-16 14:19 25
# Similarly, if you see an empty SDL2MAIN_LIBRARY, you should set this value
e566d265 sago007 2016-01-16 14:19 26
# as appropriate. These values are used to generate the final SDL2_LIBRARY
e566d265 sago007 2016-01-16 14:19 27
# variable, but when these values are unset, SDL2_LIBRARY does not get created.
e566d265 sago007 2016-01-16 14:19 28
#
e566d265 sago007 2016-01-16 14:19 29
#
e566d265 sago007 2016-01-16 14:19 30
# $SDL2 is an environment variable that would
e566d265 sago007 2016-01-16 14:19 31
# correspond to the ./configure --prefix=$SDL2
e566d265 sago007 2016-01-16 14:19 32
# used in building SDL2.
e566d265 sago007 2016-01-16 14:19 33
# l.e.galup 9-20-02
e566d265 sago007 2016-01-16 14:19 34
#
e566d265 sago007 2016-01-16 14:19 35
# Modified by Eric Wing.
e566d265 sago007 2016-01-16 14:19 36
# Added code to assist with automated building by using environmental variables
e566d265 sago007 2016-01-16 14:19 37
# and providing a more controlled/consistent search behavior.
e566d265 sago007 2016-01-16 14:19 38
# Added new modifications to recognize OS X frameworks and
e566d265 sago007 2016-01-16 14:19 39
# additional Unix paths (FreeBSD, etc).
e566d265 sago007 2016-01-16 14:19 40
# Also corrected the header search path to follow "proper" SDL2 guidelines.
e566d265 sago007 2016-01-16 14:19 41
# Added a search for SDL2main which is needed by some platforms.
e566d265 sago007 2016-01-16 14:19 42
# Added a search for threads which is needed by some platforms.
e566d265 sago007 2016-01-16 14:19 43
# Added needed compile switches for MinGW.
e566d265 sago007 2016-01-16 14:19 44
#
e566d265 sago007 2016-01-16 14:19 45
# On OSX, this will prefer the Framework version (if found) over others.
e566d265 sago007 2016-01-16 14:19 46
# People will have to manually change the cache values of
e566d265 sago007 2016-01-16 14:19 47
# SDL2_LIBRARY to override this selection or set the CMake environment
e566d265 sago007 2016-01-16 14:19 48
# CMAKE_INCLUDE_PATH to modify the search paths.
e566d265 sago007 2016-01-16 14:19 49
#
e566d265 sago007 2016-01-16 14:19 50
# Note that the header path has changed from SDL2/SDL.h to just SDL.h
e566d265 sago007 2016-01-16 14:19 51
# This needed to change because "proper" SDL2 convention
e566d265 sago007 2016-01-16 14:19 52
# is #include "SDL.h", not <SDL2/SDL.h>. This is done for portability
e566d265 sago007 2016-01-16 14:19 53
# reasons because not all systems place things in SDL2/ (see FreeBSD).
e566d265 sago007 2016-01-16 14:19 54
#
e566d265 sago007 2016-01-16 14:19 55
# Ported by Johnny Patterson. This is a literal port for SDL2 of the FindSDL.cmake
e566d265 sago007 2016-01-16 14:19 56
# module with the minor edit of changing "SDL" to "SDL2" where necessary. This
e566d265 sago007 2016-01-16 14:19 57
# was not created for redistribution, and exists temporarily pending official
e566d265 sago007 2016-01-16 14:19 58
# SDL2 CMake modules.
e566d265 sago007 2016-01-16 14:19 59
#
e566d265 sago007 2016-01-16 14:19 60
# Note that on windows this will only search for the 32bit libraries, to search
e566d265 sago007 2016-01-16 14:19 61
# for 64bit change x86/i686-w64 to x64/x86_64-w64
e566d265 sago007 2016-01-16 14:19 62
e566d265 sago007 2016-01-16 14:19 63
#=============================================================================
e566d265 sago007 2016-01-16 14:19 64
# Copyright 2003-2009 Kitware, Inc.
e566d265 sago007 2016-01-16 14:19 65
#
e566d265 sago007 2016-01-16 14:19 66
# CMake - Cross Platform Makefile Generator
e566d265 sago007 2016-01-16 14:19 67
# Copyright 2000-2014 Kitware, Inc.
e566d265 sago007 2016-01-16 14:19 68
# Copyright 2000-2011 Insight Software Consortium
e566d265 sago007 2016-01-16 14:19 69
# All rights reserved.
e566d265 sago007 2016-01-16 14:19 70
#
e566d265 sago007 2016-01-16 14:19 71
# Redistribution and use in source and binary forms, with or without
e566d265 sago007 2016-01-16 14:19 72
# modification, are permitted provided that the following conditions
e566d265 sago007 2016-01-16 14:19 73
# are met:
e566d265 sago007 2016-01-16 14:19 74
#
e566d265 sago007 2016-01-16 14:19 75
# * Redistributions of source code must retain the above copyright
e566d265 sago007 2016-01-16 14:19 76
# notice, this list of conditions and the following disclaimer.
e566d265 sago007 2016-01-16 14:19 77
#
e566d265 sago007 2016-01-16 14:19 78
# * Redistributions in binary form must reproduce the above copyright
e566d265 sago007 2016-01-16 14:19 79
# notice, this list of conditions and the following disclaimer in the
e566d265 sago007 2016-01-16 14:19 80
# documentation and/or other materials provided with the distribution.
e566d265 sago007 2016-01-16 14:19 81
#
e566d265 sago007 2016-01-16 14:19 82
# * Neither the names of Kitware, Inc., the Insight Software Consortium,
e566d265 sago007 2016-01-16 14:19 83
# nor the names of their contributors may be used to endorse or promote
e566d265 sago007 2016-01-16 14:19 84
# products derived from this software without specific prior written
e566d265 sago007 2016-01-16 14:19 85
# permission.
e566d265 sago007 2016-01-16 14:19 86
#
e566d265 sago007 2016-01-16 14:19 87
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
e566d265 sago007 2016-01-16 14:19 88
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
e566d265 sago007 2016-01-16 14:19 89
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
e566d265 sago007 2016-01-16 14:19 90
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
e566d265 sago007 2016-01-16 14:19 91
# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
e566d265 sago007 2016-01-16 14:19 92
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
e566d265 sago007 2016-01-16 14:19 93
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
e566d265 sago007 2016-01-16 14:19 94
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
e566d265 sago007 2016-01-16 14:19 95
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
e566d265 sago007 2016-01-16 14:19 96
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
e566d265 sago007 2016-01-16 14:19 97
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
e566d265 sago007 2016-01-16 14:19 98
#
e566d265 sago007 2016-01-16 14:19 99
# This software is distributed WITHOUT ANY WARRANTY; without even the
e566d265 sago007 2016-01-16 14:19 100
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
e566d265 sago007 2016-01-16 14:19 101
# See the License for more information.
e566d265 sago007 2016-01-16 14:19 102
#=============================================================================
e566d265 sago007 2016-01-16 14:19 103
# (To distribute this file outside of CMake, substitute the full
e566d265 sago007 2016-01-16 14:19 104
# License text for the above reference.)
e566d265 sago007 2016-01-16 14:19 105
e566d265 sago007 2016-01-16 14:19 106
FIND_PATH(SDL2_INCLUDE_DIR SDL.h
e566d265 sago007 2016-01-16 14:19 107
	HINTS
e566d265 sago007 2016-01-16 14:19 108
	${SDL2}
e566d265 sago007 2016-01-16 14:19 109
	$ENV{SDL2}
e566d265 sago007 2016-01-16 14:19 110
	PATH_SUFFIXES include/SDL2 include SDL2
e566d265 sago007 2016-01-16 14:19 111
	i686-w64-mingw32/include/SDL2
e566d265 sago007 2016-01-16 14:19 112
	x86_64-w64-mingw32/include/SDL2
e566d265 sago007 2016-01-16 14:19 113
	PATHS
e566d265 sago007 2016-01-16 14:19 114
	~/Library/Frameworks
e566d265 sago007 2016-01-16 14:19 115
	/Library/Frameworks
e566d265 sago007 2016-01-16 14:19 116
	/usr/local/include/SDL2
e566d265 sago007 2016-01-16 14:19 117
	/usr/include/SDL2
e566d265 sago007 2016-01-16 14:19 118
	/sw # Fink
e566d265 sago007 2016-01-16 14:19 119
	/opt/local # DarwinPorts
e566d265 sago007 2016-01-16 14:19 120
	/opt/csw # Blastwave
e566d265 sago007 2016-01-16 14:19 121
	/opt
e566d265 sago007 2016-01-16 14:19 122
)
e566d265 sago007 2016-01-16 14:19 123
e566d265 sago007 2016-01-16 14:19 124
# Lookup the 64 bit libs on x64
e566d265 sago007 2016-01-16 14:19 125
IF(CMAKE_SIZEOF_VOID_P EQUAL 8)
e566d265 sago007 2016-01-16 14:19 126
	FIND_LIBRARY(SDL2_LIBRARY_TEMP SDL2
e566d265 sago007 2016-01-16 14:19 127
		HINTS
e566d265 sago007 2016-01-16 14:19 128
		${SDL2}
e566d265 sago007 2016-01-16 14:19 129
		$ENV{SDL2}
e566d265 sago007 2016-01-16 14:19 130
		PATH_SUFFIXES lib64 lib
e566d265 sago007 2016-01-16 14:19 131
		lib/x64
e566d265 sago007 2016-01-16 14:19 132
		x86_64-w64-mingw32/lib
e566d265 sago007 2016-01-16 14:19 133
		PATHS
e566d265 sago007 2016-01-16 14:19 134
		/sw
e566d265 sago007 2016-01-16 14:19 135
		/opt/local
e566d265 sago007 2016-01-16 14:19 136
		/opt/csw
e566d265 sago007 2016-01-16 14:19 137
		/opt
e566d265 sago007 2016-01-16 14:19 138
	)
e566d265 sago007 2016-01-16 14:19 139
# On 32bit build find the 32bit libs
e566d265 sago007 2016-01-16 14:19 140
ELSE(CMAKE_SIZEOF_VOID_P EQUAL 8)
e566d265 sago007 2016-01-16 14:19 141
	FIND_LIBRARY(SDL2_LIBRARY_TEMP SDL2
e566d265 sago007 2016-01-16 14:19 142
		HINTS
e566d265 sago007 2016-01-16 14:19 143
		${SDL2}
e566d265 sago007 2016-01-16 14:19 144
		$ENV{SDL2}
e566d265 sago007 2016-01-16 14:19 145
		PATH_SUFFIXES lib
e566d265 sago007 2016-01-16 14:19 146
		lib/x86
e566d265 sago007 2016-01-16 14:19 147
		i686-w64-mingw32/lib
e566d265 sago007 2016-01-16 14:19 148
		PATHS
e566d265 sago007 2016-01-16 14:19 149
		/sw
e566d265 sago007 2016-01-16 14:19 150
		/opt/local
e566d265 sago007 2016-01-16 14:19 151
		/opt/csw
e566d265 sago007 2016-01-16 14:19 152
		/opt
e566d265 sago007 2016-01-16 14:19 153
	)
e566d265 sago007 2016-01-16 14:19 154
ENDIF(CMAKE_SIZEOF_VOID_P EQUAL 8)
e566d265 sago007 2016-01-16 14:19 155
e566d265 sago007 2016-01-16 14:19 156
IF(NOT SDL2_BUILDING_LIBRARY)
e566d265 sago007 2016-01-16 14:19 157
	IF(NOT ${SDL2_INCLUDE_DIR} MATCHES ".framework")
e566d265 sago007 2016-01-16 14:19 158
		# Non-OS X framework versions expect you to also dynamically link to
e566d265 sago007 2016-01-16 14:19 159
		# SDL2main. This is mainly for Windows and OS X. Other (Unix) platforms
e566d265 sago007 2016-01-16 14:19 160
		# seem to provide SDL2main for compatibility even though they don't
e566d265 sago007 2016-01-16 14:19 161
		# necessarily need it.
e566d265 sago007 2016-01-16 14:19 162
		# Lookup the 64 bit libs on x64
e566d265 sago007 2016-01-16 14:19 163
		IF(CMAKE_SIZEOF_VOID_P EQUAL 8)
e566d265 sago007 2016-01-16 14:19 164
			FIND_LIBRARY(SDL2MAIN_LIBRARY
e566d265 sago007 2016-01-16 14:19 165
				NAMES SDL2main
e566d265 sago007 2016-01-16 14:19 166
				HINTS
e566d265 sago007 2016-01-16 14:19 167
				${SDL2}
e566d265 sago007 2016-01-16 14:19 168
				$ENV{SDL2}
e566d265 sago007 2016-01-16 14:19 169
				PATH_SUFFIXES lib64 lib
e566d265 sago007 2016-01-16 14:19 170
				lib/x64
e566d265 sago007 2016-01-16 14:19 171
				x86_64-w64-mingw32/lib
e566d265 sago007 2016-01-16 14:19 172
				PATHS
e566d265 sago007 2016-01-16 14:19 173
				/sw
e566d265 sago007 2016-01-16 14:19 174
				/opt/local
e566d265 sago007 2016-01-16 14:19 175
				/opt/csw
e566d265 sago007 2016-01-16 14:19 176
				/opt
e566d265 sago007 2016-01-16 14:19 177
				)
e566d265 sago007 2016-01-16 14:19 178
			# On 32bit build find the 32bit libs
e566d265 sago007 2016-01-16 14:19 179
		ELSE(CMAKE_SIZEOF_VOID_P EQUAL 8)
e566d265 sago007 2016-01-16 14:19 180
			FIND_LIBRARY(SDL2MAIN_LIBRARY
e566d265 sago007 2016-01-16 14:19 181
				NAMES SDL2main
e566d265 sago007 2016-01-16 14:19 182
				HINTS
e566d265 sago007 2016-01-16 14:19 183
				${SDL2}
e566d265 sago007 2016-01-16 14:19 184
				$ENV{SDL2}
e566d265 sago007 2016-01-16 14:19 185
				PATH_SUFFIXES lib
e566d265 sago007 2016-01-16 14:19 186
				lib/x86
e566d265 sago007 2016-01-16 14:19 187
				i686-w64-mingw32/lib
e566d265 sago007 2016-01-16 14:19 188
				PATHS
e566d265 sago007 2016-01-16 14:19 189
				/sw
e566d265 sago007 2016-01-16 14:19 190
				/opt/local
e566d265 sago007 2016-01-16 14:19 191
				/opt/csw
e566d265 sago007 2016-01-16 14:19 192
				/opt
e566d265 sago007 2016-01-16 14:19 193
				)
e566d265 sago007 2016-01-16 14:19 194
		ENDIF(CMAKE_SIZEOF_VOID_P EQUAL 8)
e566d265 sago007 2016-01-16 14:19 195
	ENDIF(NOT ${SDL2_INCLUDE_DIR} MATCHES ".framework")
e566d265 sago007 2016-01-16 14:19 196
ENDIF(NOT SDL2_BUILDING_LIBRARY)
e566d265 sago007 2016-01-16 14:19 197
e566d265 sago007 2016-01-16 14:19 198
# SDL2 may require threads on your system.
e566d265 sago007 2016-01-16 14:19 199
# The Apple build may not need an explicit flag because one of the
e566d265 sago007 2016-01-16 14:19 200
# frameworks may already provide it.
e566d265 sago007 2016-01-16 14:19 201
# But for non-OSX systems, I will use the CMake Threads package.
e566d265 sago007 2016-01-16 14:19 202
IF(NOT APPLE)
e566d265 sago007 2016-01-16 14:19 203
	FIND_PACKAGE(Threads)
e566d265 sago007 2016-01-16 14:19 204
ENDIF(NOT APPLE)
e566d265 sago007 2016-01-16 14:19 205
e566d265 sago007 2016-01-16 14:19 206
# MinGW needs an additional library, mwindows
e566d265 sago007 2016-01-16 14:19 207
# It's total link flags should look like -lmingw32 -lSDL2main -lSDL2 -lmwindows
e566d265 sago007 2016-01-16 14:19 208
# (Actually on second look, I think it only needs one of the m* libraries.)
e566d265 sago007 2016-01-16 14:19 209
IF(MINGW)
e566d265 sago007 2016-01-16 14:19 210
	SET(MINGW32_LIBRARY mingw32 CACHE STRING "mwindows for MinGW")
e566d265 sago007 2016-01-16 14:19 211
ENDIF(MINGW)
e566d265 sago007 2016-01-16 14:19 212
e566d265 sago007 2016-01-16 14:19 213
SET(SDL2_FOUND "NO")
e566d265 sago007 2016-01-16 14:19 214
	IF(SDL2_LIBRARY_TEMP)
e566d265 sago007 2016-01-16 14:19 215
		# For SDL2main
e566d265 sago007 2016-01-16 14:19 216
		IF(NOT SDL2_BUILDING_LIBRARY)
e566d265 sago007 2016-01-16 14:19 217
			IF(SDL2MAIN_LIBRARY)
e566d265 sago007 2016-01-16 14:19 218
				SET(SDL2_LIBRARY_TEMP ${SDL2MAIN_LIBRARY} ${SDL2_LIBRARY_TEMP})
e566d265 sago007 2016-01-16 14:19 219
			ENDIF(SDL2MAIN_LIBRARY)
e566d265 sago007 2016-01-16 14:19 220
		ENDIF(NOT SDL2_BUILDING_LIBRARY)
e566d265 sago007 2016-01-16 14:19 221
e566d265 sago007 2016-01-16 14:19 222
		# For OS X, SDL2 uses Cocoa as a backend so it must link to Cocoa.
e566d265 sago007 2016-01-16 14:19 223
		# CMake doesn't display the -framework Cocoa string in the UI even
e566d265 sago007 2016-01-16 14:19 224
		# though it actually is there if I modify a pre-used variable.
e566d265 sago007 2016-01-16 14:19 225
		# I think it has something to do with the CACHE STRING.
e566d265 sago007 2016-01-16 14:19 226
		# So I use a temporary variable until the end so I can set the
e566d265 sago007 2016-01-16 14:19 227
		# "real" variable in one-shot.
e566d265 sago007 2016-01-16 14:19 228
		IF(APPLE)
e566d265 sago007 2016-01-16 14:19 229
			SET(SDL2_LIBRARY_TEMP ${SDL2_LIBRARY_TEMP} "-framework Cocoa")
e566d265 sago007 2016-01-16 14:19 230
		ENDIF(APPLE)
e566d265 sago007 2016-01-16 14:19 231
e566d265 sago007 2016-01-16 14:19 232
		# For threads, as mentioned Apple doesn't need this.
e566d265 sago007 2016-01-16 14:19 233
		# In fact, there seems to be a problem if I used the Threads package
e566d265 sago007 2016-01-16 14:19 234
		# and try using this line, so I'm just skipping it entirely for OS X.
e566d265 sago007 2016-01-16 14:19 235
		IF(NOT APPLE)
e566d265 sago007 2016-01-16 14:19 236
			SET(SDL2_LIBRARY_TEMP ${SDL2_LIBRARY_TEMP} ${CMAKE_THREAD_LIBS_INIT})
e566d265 sago007 2016-01-16 14:19 237
		ENDIF(NOT APPLE)
e566d265 sago007 2016-01-16 14:19 238
e566d265 sago007 2016-01-16 14:19 239
		# For MinGW library
e566d265 sago007 2016-01-16 14:19 240
		IF(MINGW)
e566d265 sago007 2016-01-16 14:19 241
			SET(SDL2_LIBRARY_TEMP ${MINGW32_LIBRARY} ${SDL2_LIBRARY_TEMP})
e566d265 sago007 2016-01-16 14:19 242
		ENDIF(MINGW)
e566d265 sago007 2016-01-16 14:19 243
e566d265 sago007 2016-01-16 14:19 244
		# Set the final string here so the GUI reflects the final state.
e566d265 sago007 2016-01-16 14:19 245
		SET(SDL2_LIBRARY ${SDL2_LIBRARY_TEMP} CACHE STRING "Where the SDL2 Library can be found")
e566d265 sago007 2016-01-16 14:19 246
		# Set the temp variable to INTERNAL so it is not seen in the CMake GUI
e566d265 sago007 2016-01-16 14:19 247
		SET(SDL2_LIBRARY_TEMP "${SDL2_LIBRARY_TEMP}" CACHE INTERNAL "")
e566d265 sago007 2016-01-16 14:19 248
e566d265 sago007 2016-01-16 14:19 249
		SET(SDL2_FOUND "YES")
e566d265 sago007 2016-01-16 14:19 250
ENDIF(SDL2_LIBRARY_TEMP)
e566d265 sago007 2016-01-16 14:19 251
e566d265 sago007 2016-01-16 14:19 252
INCLUDE(FindPackageHandleStandardArgs)
e566d265 sago007 2016-01-16 14:19 253
e566d265 sago007 2016-01-16 14:19 254
FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL2 REQUIRED_VARS SDL2_LIBRARY SDL2_INCLUDE_DIR)
e566d265 sago007 2016-01-16 14:19 255
e566d265 sago007 2016-01-16 14:19 256
1970-01-01 00:00 257