2012-11-26 22:03:44 +00:00
# vim:noexpandtab:
2012-11-18 16:00:27 +00:00
cmake_minimum_required ( VERSION 2.8.8 )
project ( PPSSPP )
2012-11-26 04:06:35 +00:00
if ( ANDROID )
if ( ARMEABI OR ARMEABI_V7A )
set ( ARM ON )
endif ( )
2012-11-18 16:00:27 +00:00
endif ( )
2013-05-13 13:47:54 +00:00
if ( IOS OR BLACKBERRY )
2013-02-17 14:41:51 +00:00
set ( ARM ON )
2012-11-18 16:00:27 +00:00
endif ( )
2013-03-22 07:15:00 +00:00
if ( MAEMO )
set ( ARM ON )
#Maemo's gcc-4.7.2 is strickt
set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fpermissive" )
endif ( )
2013-03-10 03:24:05 +00:00
if ( LOONGSON )
set ( MIPS ON ) # MIPS + x86 for now
endif ( )
2012-12-16 11:17:13 +00:00
if ( ARM )
2012-11-26 02:41:57 +00:00
set ( USING_GLES2 ON )
else ( ) # Assume x86
set ( X86 ON )
2012-11-18 16:00:27 +00:00
endif ( )
2013-03-22 07:15:00 +00:00
if ( ANDROID OR BLACKBERRY OR IOS OR PANDORA OR MAEMO )
2012-11-26 04:06:35 +00:00
set ( HEADLESS OFF )
elseif ( NOT DEFINED HEADLESS )
set ( HEADLESS ON )
2012-11-18 16:00:27 +00:00
endif ( )
# User-editable options (go into CMakeCache.txt)
option ( ARM "Set to ON if targeting an ARM processor" ${ ARM } )
2013-03-10 03:24:05 +00:00
option ( MIPS "Set to ON if targeting a MIPS processor" ${ MIPS } )
2012-11-26 02:41:57 +00:00
option ( X86 "Set to ON if targeting an X86 processor" ${ X86 } )
option ( ANDROID "Set to ON if targeting an Android device" ${ ANDROID } )
option ( BLACKBERRY "Set to ON if targeting a Blackberry device" ${ BLACKBERRY } )
2013-01-12 15:15:46 +00:00
option ( PANDORA "Set to ON if targeting an OpenPandora device" ${ PANDORA } )
2013-03-22 07:15:00 +00:00
option ( MAEMO "Set to ON if targeting an Maemo (N900) device" ${ MAEMO } )
2012-11-26 04:06:35 +00:00
option ( IOS "Set to ON if targeting an iOS device" ${ IOS } )
2012-11-26 02:41:57 +00:00
option ( USING_GLES2 "Set to ON if target device uses OpenGL ES 2.0" ${ USING_GLES2 } )
2012-12-16 11:17:13 +00:00
option ( USING_QT_UI "Set to ON if you wish to use the Qt frontend wrapper" ${ USING_QT_UI } )
2012-11-18 16:00:27 +00:00
option ( HEADLESS "Set to OFF to not generate the PPSSPPHeadless target" ${ HEADLESS } )
if ( ANDROID )
2012-11-26 02:41:57 +00:00
if ( NOT ANDROID_ABI )
message ( FATAL_ERROR "CMAKE_TOOLCHAIN_FILE was not set!\n"
2012-11-26 03:25:14 +00:00
" D e l e t e t h e C M a k e C a c h e . t x t f i l e a n d C M a k e F i l e s d i r e c t o r y . "
" R e r u n $ { C M A K E _ C O M M A N D } w i t h \ " - D C M A K E _ T O O L C H A I N _ F I L E "
" = $ { C M A K E _ S O U R C E _ D I R } / a n d r o i d / a n d r o i d . t o o l c h a i n . c m a k e \ " " )
2012-11-26 02:41:57 +00:00
endif ( )
set ( CoreLibName ppsspp_jni )
set ( CoreLinkType SHARED )
2012-11-26 04:06:35 +00:00
elseif ( IOS )
if ( NOT IOS_PLATFORM )
message ( FATAL_ERROR "CMAKE_TOOLCHAIN_FILE was not set!\n"
" D e l e t e t h e C M a k e C a c h e . t x t f i l e a n d C M a k e F i l e s d i r e c t o r y . "
" R e r u n $ { C M A K E _ C O M M A N D } w i t h \ " - D C M A K E _ T O O L C H A I N _ F I L E "
" = $ { C M A K E _ S O U R C E _ D I R } / i o s / i o s . t o o l c h a i n . c m a k e \ " " )
endif ( )
set ( CoreLibName Core )
set ( CoreLinkType STATIC )
2012-11-18 16:00:27 +00:00
else ( )
2012-11-26 02:41:57 +00:00
set ( CoreLibName Core )
set ( CoreLinkType STATIC )
2012-11-18 16:00:27 +00:00
endif ( )
#find_package(Qt5Widgets)
2013-02-24 03:23:04 +00:00
if ( USING_GLES2 AND NOT IOS )
2012-11-26 02:41:57 +00:00
set ( OPENGL_LIBRARIES GLESv2 )
2013-02-24 03:23:04 +00:00
elseif ( NOT IOS )
2012-11-26 02:41:57 +00:00
include ( FindOpenGL REQUIRED )
2012-11-18 16:00:27 +00:00
endif ( )
2013-02-24 03:23:04 +00:00
if ( NOT BLACKBERRY AND NOT ANDROID AND NOT IOS )
2012-12-02 04:48:00 +00:00
include ( FindSDL )
2012-11-18 16:00:27 +00:00
endif ( )
include ( FindThreads )
2012-11-26 22:06:18 +00:00
if ( APPLE )
find_library ( COCOA_LIBRARY Cocoa )
endif ( )
2012-11-18 16:00:27 +00:00
2012-11-26 02:41:57 +00:00
# Needed for Globals.h
2012-11-18 16:00:27 +00:00
include_directories ( "${CMAKE_SOURCE_DIR}" )
if ( BLACKBERRY )
2012-11-26 02:41:57 +00:00
add_definitions ( -DBLACKBERRY )
if ( BLACKBERRY VERSION_GREATER 10 )
add_definitions ( -DBLACKBERRY10 )
endif ( )
2012-11-18 16:00:27 +00:00
endif ( )
if ( ANDROID )
2012-11-26 02:41:57 +00:00
add_definitions ( -DANDROID )
2012-11-18 16:00:27 +00:00
endif ( )
2012-11-26 04:06:35 +00:00
if ( IOS )
add_definitions ( -DIOS )
2012-11-18 16:00:27 +00:00
endif ( )
2013-03-22 07:15:00 +00:00
if ( MAEMO )
add_definitions ( -DMAEMO )
endif ( )
2013-01-12 15:15:46 +00:00
if ( PANDORA )
add_definitions ( -DPANDORA )
endif ( )
2012-11-18 16:00:27 +00:00
if ( ARM )
2012-11-26 02:41:57 +00:00
add_definitions ( -DARM )
2012-11-18 16:00:27 +00:00
endif ( )
2012-12-16 11:17:13 +00:00
if ( USING_GLES2 )
2012-11-26 02:41:57 +00:00
add_definitions ( -DUSING_GLES2 )
2012-11-18 16:00:27 +00:00
endif ( )
2013-03-10 03:24:05 +00:00
if ( MIPS )
add_definitions ( -DMIPS )
endif ( )
2013-01-11 18:06:02 +00:00
set ( CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -D_DEBUG" )
set ( CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -D_NDEBUG" )
2012-11-18 16:00:27 +00:00
2012-11-26 02:41:57 +00:00
if ( NOT MSVC )
2012-11-26 03:25:14 +00:00
# Disable some warnings
2013-01-22 20:16:34 +00:00
set ( CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O2" )
2012-11-26 03:25:14 +00:00
add_definitions ( -Wno-multichar )
2012-11-26 02:41:57 +00:00
add_definitions ( -fno-strict-aliasing )
2013-01-10 22:49:33 +00:00
add_definitions ( -ffast-math )
2012-11-26 02:41:57 +00:00
if ( NOT APPLE )
2012-12-01 15:28:00 +00:00
add_definitions ( -Wno-psabi )
2012-11-26 02:41:57 +00:00
add_definitions ( -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED -D__BSD_VISIBLE=1 )
add_definitions ( -D_LARGEFILE64_SOURCE=1 -D_FILE_OFFSET_BITS=64 )
endif ( )
2013-02-24 03:23:04 +00:00
if ( IOS )
add_definitions ( -DGL_ETC1_RGB8_OES=0 )
2013-02-04 19:36:43 +00:00
endif ( )
2012-11-26 02:41:57 +00:00
if ( BLACKBERRY )
2013-05-13 13:47:54 +00:00
add_definitions ( -D_QNX_SOURCE=1 -D_C99=1 -O2 -mfpu=neon -mtune=cortex-a9 )
2012-11-26 02:41:57 +00:00
endif ( )
2013-03-10 03:24:05 +00:00
if ( X86 AND NOT MIPS )
2012-11-26 02:41:57 +00:00
# enable sse2 code generation
add_definitions ( -msse2 )
endif ( )
2013-02-24 12:17:52 +00:00
if ( IOS )
set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libstdc++" )
elseif ( APPLE )
2013-05-06 22:08:57 +00:00
set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++ -U__STRICT_ANSI__" )
2013-03-23 01:58:31 +00:00
# Karen/angelXwind: --macosx-version-min=10.7 is needed in order to produce binaries that OS X 10.7 Lion can execute. However, it seems that PPSSPP won't support 10.6 or lower without getting rid of -stdlib=libc++ ...which probably won't end well. So I guess PPSSPP will strictly be a 10.7+ app.
2013-05-06 22:08:57 +00:00
# vit9696: OSX 10.6 builds are possible: http://forums.ppsspp.org/showthread.php?tid=1826&pid=18875#pid18875
2013-03-02 19:19:40 +00:00
set ( CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libc++" )
2013-02-24 03:23:04 +00:00
endif ( )
2012-11-26 02:41:57 +00:00
if ( CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.7.0 )
set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x" )
else ( )
set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11" )
endif ( )
else ( )
# Disable warnings about MS-specific _s variants of libc functions
add_definitions ( -D_CRT_SECURE_NO_WARNINGS )
2012-11-18 16:00:27 +00:00
endif ( )
set ( CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib" )
set ( CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib" )
if ( ANDROID )
2012-11-26 02:41:57 +00:00
set ( CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/android/libs/${ANDROID_ABI}" )
2012-11-18 16:00:27 +00:00
endif ( )
# This sets up the MSVC project dirs according to the physical project dirs
macro ( setup_target_project TargetName ProjectDir )
2012-11-26 02:41:57 +00:00
get_property ( TargetSources TARGET "${TargetName}" PROPERTY SOURCES )
foreach ( Source ${ TargetSources } )
# Figure out the file's path relative to the ProjectDir
# NOTE: &#$@ double-quoted regexps
string ( REGEX REPLACE "${ProjectDir}" "" RelativePath "${Source}" )
string ( REGEX REPLACE "[\\\\/][^\\\\/]*$" "" RelativePath "${RelativePath}" )
string ( REGEX REPLACE "^[\\\\/]" "" RelativePath "${RelativePath}" )
string ( REGEX REPLACE "/" "\\\\\\\\" RelativePath "${RelativePath}" )
# put the source file in a source_group equivalent to the relative path
source_group ( "${RelativePath}" FILES ${ Source } )
endforeach ( )
2012-11-18 16:00:27 +00:00
endmacro ( )
# Commented-out files are files that don't compile
# and were disabled in the original MSVC project anyway
set ( CommonExtra )
if ( ARM )
2012-11-26 02:41:57 +00:00
set ( CommonExtra ${ CommonExtra }
2012-12-09 02:54:58 +00:00
C o m m o n / A r m C P U D e t e c t . c p p
2012-11-26 02:41:57 +00:00
C o m m o n / A r m E m i t t e r . h
C o m m o n / A r m E m i t t e r . c p p
2013-01-07 12:11:33 +00:00
C o m m o n / A r m T h u n k . c p p )
2012-11-26 02:41:57 +00:00
elseif ( X86 )
set ( CommonExtra ${ CommonExtra }
C o m m o n / A B I . c p p
C o m m o n / A B I . h
C o m m o n / C P U D e t e c t . c p p
C o m m o n / C P U D e t e c t . h
C o m m o n / T h u n k . c p p
C o m m o n / T h u n k . h
C o m m o n / x 6 4 A n a l y z e r . c p p
C o m m o n / x 6 4 A n a l y z e r . h
C o m m o n / x 6 4 E m i t t e r . c p p
C o m m o n / x 6 4 E m i t t e r . h )
2012-11-18 16:00:27 +00:00
endif ( )
if ( WIN32 )
2012-11-26 02:41:57 +00:00
set ( CommonExtra ${ CommonExtra }
C o m m o n / s t d a f x . c p p
C o m m o n / s t d a f x . h )
2012-11-18 16:00:27 +00:00
endif ( )
add_library ( Common STATIC
2012-11-26 02:41:57 +00:00
$ { C o m m o n E x t r a }
C o m m o n / C o l o r U t i l . c p p
C o m m o n / C o l o r U t i l . h
C o m m o n / C o n s o l e L i s t e n e r . c p p
C o m m o n / C o n s o l e L i s t e n e r . h
C o m m o n / C r y p t o / a e s _ c b c . c p p
C o m m o n / C r y p t o / a e s _ c o r e . c p p
C o m m o n / C r y p t o / b n . c p p
C o m m o n / C r y p t o / e c . c p p
C o m m o n / C r y p t o / m d 5 . c p p
C o m m o n / C r y p t o / m d 5 . h
C o m m o n / C r y p t o / s h a 1 . c p p
C o m m o n / C r y p t o / s h a 1 . h
C o m m o n / E x t e n d e d T r a c e . c p p
C o m m o n / E x t e n d e d T r a c e . h
C o m m o n / F P U R o u n d M o d e G e n e r i c . c p p
# Common/FPURoundModeX86.cpp
C o m m o n / F i l e S e a r c h . c p p
C o m m o n / F i l e S e a r c h . h
C o m m o n / F i l e U t i l . c p p
C o m m o n / F i l e U t i l . h
C o m m o n / H a s h . c p p
C o m m o n / H a s h . h
2013-04-20 04:52:54 +00:00
C o m m o n / K e y M a p . c p p
C o m m o n / K e y M a p . h
2012-11-26 02:41:57 +00:00
C o m m o n / L o g M a n a g e r . c p p
C o m m o n / L o g M a n a g e r . h
2013-01-08 07:29:12 +00:00
C o m m o n / M a t h U t i l . c p p
C o m m o n / M a t h U t i l . h
2012-11-26 02:41:57 +00:00
C o m m o n / M e m A r e n a . c p p
C o m m o n / M e m A r e n a . h
C o m m o n / M e m o r y U t i l . c p p
C o m m o n / M e m o r y U t i l . h
C o m m o n / M i s c . c p p
C o m m o n / M s g H a n d l e r . c p p
C o m m o n / M s g H a n d l e r . h
2013-05-03 06:22:15 +00:00
C o m m o n / S t r i n g U t i l s . c p p
C o m m o n / S t r i n g U t i l s . h
2012-11-26 02:41:57 +00:00
C o m m o n / T h r e a d . c p p
C o m m o n / T h r e a d . h
2013-05-03 06:31:53 +00:00
C o m m o n / T h r e a d P o o l s . c p p
C o m m o n / T h r e a d P o o l s . h
2012-11-26 02:41:57 +00:00
C o m m o n / T i m e r . c p p
C o m m o n / T i m e r . h
C o m m o n / V e r s i o n . c p p )
2012-11-18 16:00:27 +00:00
include_directories ( Common )
setup_target_project ( Common Common )
if ( WIN32 )
2012-11-26 02:41:57 +00:00
target_link_libraries ( Common winmm )
2012-11-18 16:00:27 +00:00
endif ( )
add_library ( zlib STATIC
2012-11-26 02:41:57 +00:00
e x t / z l i b / a d l e r 3 2 . c
e x t / z l i b / c o m p r e s s . c
e x t / z l i b / c r c 3 2 . c
e x t / z l i b / c r c 3 2 . h
e x t / z l i b / d e f l a t e . c
e x t / z l i b / d e f l a t e . h
e x t / z l i b / g z c l o s e . c
e x t / z l i b / g z g u t s . h
e x t / z l i b / g z l i b . c
e x t / z l i b / g z r e a d . c
e x t / z l i b / g z w r i t e . c
e x t / z l i b / i n f b a c k . c
e x t / z l i b / i n f f a s t . c
e x t / z l i b / i n f f a s t . h
e x t / z l i b / i n f f i x e d . h
e x t / z l i b / i n f l a t e . c
e x t / z l i b / i n f l a t e . h
e x t / z l i b / i n f t r e e s . c
e x t / z l i b / i n f t r e e s . h
e x t / z l i b / m a k e _ v m s . c o m
e x t / z l i b / t r e e s . c
e x t / z l i b / t r e e s . h
e x t / z l i b / u n c o m p r . c
e x t / z l i b / z c o n f . h
e x t / z l i b / z l i b . h
e x t / z l i b / z u t i l . c
e x t / z l i b / z u t i l . h
2012-11-18 16:00:27 +00:00
)
include_directories ( ext/zlib )
2013-01-02 21:10:41 +00:00
add_library ( snappy STATIC
e x t / s n a p p y / s n a p p y - c . c p p
e x t / s n a p p y / s n a p p y - i n t e r n a l . h
e x t / s n a p p y / s n a p p y - s i n k s o u r c e . h
e x t / s n a p p y / s n a p p y - s t u b s - i n t e r n a l . h
e x t / s n a p p y / s n a p p y - s t u b s - p u b l i c . h
e x t / s n a p p y / s n a p p y . c p p
e x t / s n a p p y / s n a p p y . h
)
include_directories ( ext/snappy )
2013-03-29 23:10:18 +00:00
add_library ( rg_etc1 STATIC
2013-03-29 15:16:40 +00:00
n a t i v e / e x t / r g _ e t c 1 / r g _ e t c 1 . c p p
n a t i v e / e x t / r g _ e t c 1 / r g _ e t c 1 . h )
include_directories ( native/ext/rg_etc1 )
2012-11-18 16:00:27 +00:00
2013-01-19 16:05:08 +00:00
add_library ( cityhash STATIC
n a t i v e / e x t / c i t y h a s h / c i t y . c p p
n a t i v e / e x t / c i t y h a s h / c i t y . h
n a t i v e / e x t / c i t y h a s h / c i t y c r c . h
)
include_directories ( ext/cityhash )
2012-11-26 02:41:57 +00:00
if ( NOT USING_GLES2 )
include_directories ( ${ OPENGL_INCLUDE_DIR } )
add_definitions ( -DGLEW_STATIC )
add_library ( glew STATIC
n a t i v e / e x t / g l e w / G L / g l e w . h
n a t i v e / e x t / g l e w / G L / g l x e w . h
n a t i v e / e x t / g l e w / G L / w g l e w . h
n a t i v e / e x t / g l e w / g l e w . c )
target_link_libraries ( glew ${ OPENGL_LIBRARIES } )
include_directories ( native/ext/glew )
set ( GLEW_LIBRARIES glew )
2012-11-18 16:00:27 +00:00
endif ( )
add_library ( sha1 STATIC
2012-11-26 02:41:57 +00:00
n a t i v e / e x t / s h a 1 / s h a 1 . c p p
n a t i v e / e x t / s h a 1 / s h a 1 . h )
2012-11-18 16:00:27 +00:00
include_directories ( native/ext/sha1 )
add_library ( stb_image STATIC
2012-11-26 02:41:57 +00:00
n a t i v e / e x t / s t b _ i m a g e / s t b _ i m a g e . c
n a t i v e / e x t / s t b _ i m a g e / s t b _ i m a g e . h )
2012-11-18 16:00:27 +00:00
include_directories ( native/ext/stb_image )
add_library ( stb_vorbis STATIC
2012-11-26 02:41:57 +00:00
n a t i v e / e x t / s t b _ v o r b i s / s t b _ v o r b i s . c
n a t i v e / e x t / s t b _ v o r b i s / s t b _ v o r b i s . h )
2012-11-18 16:00:27 +00:00
include_directories ( native/ext/stb_vorbis )
2012-11-23 16:03:51 +00:00
if ( ANDROID )
2012-11-26 02:41:57 +00:00
add_library ( libzip STATIC
n a t i v e / e x t / l i b z i p / z i p . h
n a t i v e / e x t / l i b z i p / m k s t e m p . c
n a t i v e / e x t / l i b z i p / z i p _ a d d . c
n a t i v e / e x t / l i b z i p / z i p _ a d d _ d i r . c
n a t i v e / e x t / l i b z i p / z i p _ c l o s e . c
n a t i v e / e x t / l i b z i p / z i p _ d e l e t e . c
n a t i v e / e x t / l i b z i p / z i p _ d i r e n t . c
n a t i v e / e x t / l i b z i p / z i p _ e n t r y _ f r e e . c
n a t i v e / e x t / l i b z i p / z i p _ e n t r y _ n e w . c
n a t i v e / e x t / l i b z i p / z i p _ e r r _ s t r . c
n a t i v e / e x t / l i b z i p / z i p _ e r r o r . c
n a t i v e / e x t / l i b z i p / z i p _ e r r o r _ c l e a r . c
n a t i v e / e x t / l i b z i p / z i p _ e r r o r _ g e t . c
n a t i v e / e x t / l i b z i p / z i p _ e r r o r _ g e t _ s y s _ t y p e . c
n a t i v e / e x t / l i b z i p / z i p _ e r r o r _ s t r e r r o r . c
n a t i v e / e x t / l i b z i p / z i p _ e r r o r _ t o _ s t r . c
n a t i v e / e x t / l i b z i p / z i p _ f c l o s e . c
n a t i v e / e x t / l i b z i p / z i p _ f i l e _ e r r o r _ c l e a r . c
n a t i v e / e x t / l i b z i p / z i p _ f i l e _ e r r o r _ g e t . c
n a t i v e / e x t / l i b z i p / z i p _ f i l e _ g e t _ o f f s e t . c
n a t i v e / e x t / l i b z i p / z i p _ f i l e _ s t r e r r o r . c
n a t i v e / e x t / l i b z i p / z i p _ f i l e r a n g e _ c r c . c
n a t i v e / e x t / l i b z i p / z i p _ f o p e n . c
n a t i v e / e x t / l i b z i p / z i p _ f o p e n _ i n d e x . c
n a t i v e / e x t / l i b z i p / z i p _ f r e a d . c
n a t i v e / e x t / l i b z i p / z i p _ f r e e . c
n a t i v e / e x t / l i b z i p / z i p _ g e t _ a r c h i v e _ c o m m e n t . c
n a t i v e / e x t / l i b z i p / z i p _ g e t _ a r c h i v e _ f l a g . c
n a t i v e / e x t / l i b z i p / z i p _ g e t _ f i l e _ c o m m e n t . c
n a t i v e / e x t / l i b z i p / z i p _ g e t _ n a m e . c
n a t i v e / e x t / l i b z i p / z i p _ g e t _ n u m _ f i l e s . c
n a t i v e / e x t / l i b z i p / z i p _ m e m d u p . c
n a t i v e / e x t / l i b z i p / z i p _ n a m e _ l o c a t e . c
n a t i v e / e x t / l i b z i p / z i p _ n e w . c
n a t i v e / e x t / l i b z i p / z i p _ o p e n . c
n a t i v e / e x t / l i b z i p / z i p _ r e n a m e . c
n a t i v e / e x t / l i b z i p / z i p _ r e p l a c e . c
n a t i v e / e x t / l i b z i p / z i p _ s e t _ a r c h i v e _ c o m m e n t . c
n a t i v e / e x t / l i b z i p / z i p _ s e t _ a r c h i v e _ f l a g . c
n a t i v e / e x t / l i b z i p / z i p _ s e t _ f i l e _ c o m m e n t . c
n a t i v e / e x t / l i b z i p / z i p _ s e t _ n a m e . c
n a t i v e / e x t / l i b z i p / z i p _ s o u r c e _ b u f f e r . c
n a t i v e / e x t / l i b z i p / z i p _ s o u r c e _ f i l e . c
n a t i v e / e x t / l i b z i p / z i p _ s o u r c e _ f i l e p . c
n a t i v e / e x t / l i b z i p / z i p _ s o u r c e _ f r e e . c
n a t i v e / e x t / l i b z i p / z i p _ s o u r c e _ f u n c t i o n . c
n a t i v e / e x t / l i b z i p / z i p _ s o u r c e _ z i p . c
n a t i v e / e x t / l i b z i p / z i p _ s t a t . c
n a t i v e / e x t / l i b z i p / z i p _ s t a t _ i n d e x . c
n a t i v e / e x t / l i b z i p / z i p _ s t a t _ i n i t . c
n a t i v e / e x t / l i b z i p / z i p _ s t r e r r o r . c
n a t i v e / e x t / l i b z i p / z i p _ u n c h a n g e . c
n a t i v e / e x t / l i b z i p / z i p _ u n c h a n g e _ a l l . c
n a t i v e / e x t / l i b z i p / z i p _ u n c h a n g e _ a r c h i v e . c
n a t i v e / e x t / l i b z i p / z i p _ u n c h a n g e _ d a t a . c )
target_link_libraries ( libzip zlib )
include_directories ( native/ext/libzip )
set ( LIBZIP libzip )
2012-11-18 16:00:27 +00:00
endif ( )
set ( nativeExtra )
2012-12-02 04:48:00 +00:00
set ( nativeExtraLibs )
2012-11-18 16:00:27 +00:00
if ( ANDROID )
2012-11-26 02:41:57 +00:00
set ( nativeExtra ${ nativeExtra }
n a t i v e / b a s e / N a t i v e A p p . h
n a t i v e / a n d r o i d / a p p - a n d r o i d . c p p
n a t i v e / a n d r o i d / n a t i v e _ a u d i o . c p p
n a t i v e / a n d r o i d / n a t i v e _ a u d i o . h )
add_library ( native_audio SHARED
n a t i v e / a n d r o i d / n a t i v e - a u d i o - s o . c p p
n a t i v e / a n d r o i d / n a t i v e - a u d i o - s o . h )
target_link_libraries ( native_audio OpenSLES )
2012-12-02 04:48:00 +00:00
# No target
2013-02-17 14:04:44 +00:00
elseif ( IOS )
set ( nativeExtra ${ nativeExtra }
i o s / m a i n . m
i o s / A p p D e l e g a t e . m
i o s / A p p D e l e g a t e . h
i o s / V i e w C o n t r o l l e r . m m
2013-03-16 14:50:55 +00:00
i o s / V i e w C o n t r o l l e r . h
i o s / A u d i o E n g i n e . m m
i o s / A u d i o E n g i n e . h )
2013-05-16 15:10:45 +00:00
set ( nativeExtraLibs ${ nativeExtraLibs } "-framework Foundation -framework AudioToolbox -framework CoreGraphics -framework QuartzCore -framework OpenGLES -framework UIKit -framework GLKit -framework OpenAL" )
2013-02-24 03:23:04 +00:00
set ( TargetBin PPSSPP )
2012-12-16 11:17:13 +00:00
elseif ( USING_QT_UI )
# Currently unused
find_package ( Qt4 COMPONENTS QtMultimedia QtOpenGL QtGui QtCore )
include ( ${ QT_USE_FILE } )
qt4_wrap_cpp ( nativeQtHeader native/base/QtMain.h )
set ( nativeExtra ${ nativeExtra } native/base/QtMain.cpp ${ nativeQtHeader } )
set ( nativeExtraLibs ${ nativeExtraLibs } ${ QT_LIBRARIES } )
set ( TargetBin PPSSPPQt )
2012-12-02 04:48:00 +00:00
elseif ( BLACKBERRY )
set ( nativeExtra ${ nativeExtra } native/base/BlackberryMain.cpp )
2013-05-20 13:18:41 +00:00
set ( nativeExtraLibs ${ nativeExtraLibs } OpenAL bps screen socket EGL )
2013-05-10 14:55:00 +00:00
# FFMPEG
add_definitions ( -DUSE_FFMPEG )
include_directories ( ffmpeg/blackberry/armv7/include )
link_directories ( ffmpeg/blackberry/armv7/lib )
set ( nativeExtraLibs ${ nativeExtraLibs } iconv libavformat.a libavcodec.a libswresample.a libavutil.a )
2012-12-02 04:48:00 +00:00
set ( TargetBin PPSSPPBlackberry )
elseif ( SDL_FOUND )
2012-12-16 11:17:13 +00:00
# Require SDL
2012-12-02 04:48:00 +00:00
include_directories ( ${ SDL_INCLUDE_DIR } )
set ( nativeExtra ${ nativeExtra } native/base/PCMain.cpp )
set ( nativeExtraLibs ${ nativeExtraLibs } ${ SDL_LIBRARY } )
if ( APPLE )
set ( nativeExtra ${ nativeExtra } SDL/SDLMain.h SDL/SDLMain.mm )
set ( nativeExtraLibs ${ nativeExtraLibs } ${ COCOA_LIBRARY } )
2013-03-22 07:15:00 +00:00
elseif ( PANDORA OR MAEMO )
2013-01-12 15:15:46 +00:00
set ( nativeExtraLibs ${ nativeExtraLibs } pthread EGL X11 )
2012-12-02 04:48:00 +00:00
endif ( )
2013-02-17 14:04:44 +00:00
set ( TargetBin PPSSPPSDL )
2012-12-02 04:48:00 +00:00
else ( )
message ( FATAL_ERROR "Could not find SDL. Failing." )
2012-11-18 16:00:27 +00:00
endif ( )
2012-11-26 02:41:57 +00:00
if ( X86 )
set ( nativeExtra ${ nativeExtra }
n a t i v e / b a s e / b a c k t r a c e . c p p
n a t i v e / b a s e / b a c k t r a c e . h )
2012-11-18 16:00:27 +00:00
endif ( )
add_library ( native STATIC
2012-11-26 02:41:57 +00:00
$ { n a t i v e E x t r a }
n a t i v e / a u d i o / m i x e r . c p p
n a t i v e / a u d i o / m i x e r . h
n a t i v e / a u d i o / w a v _ r e a d . c p p
n a t i v e / a u d i o / w a v _ r e a d . h
n a t i v e / b a s e / b a s i c t y p e s . h
n a t i v e / b a s e / b u f f e r . c p p
n a t i v e / b a s e / b u f f e r . h
n a t i v e / b a s e / c o l o r . h
n a t i v e / b a s e / c o l o r u t i l . c p p
n a t i v e / b a s e / c o l o r u t i l . h
n a t i v e / b a s e / d i s p l a y . c p p
n a t i v e / b a s e / d i s p l a y . h
n a t i v e / b a s e / e r r o r _ c o n t e x t . c p p
n a t i v e / b a s e / e r r o r _ c o n t e x t . h
n a t i v e / b a s e / f a s t l i s t . h
n a t i v e / b a s e / f a s t l i s t _ t e s t . c p p
n a t i v e / b a s e / l i n k e d _ p t r . h
n a t i v e / b a s e / l o g g i n g . h
n a t i v e / b a s e / m u t e x . h
n a t i v e / b a s e / s c o p e d _ p t r . h
n a t i v e / b a s e / s t a t s . h
n a t i v e / b a s e / s t r i n g u t i l . c p p
n a t i v e / b a s e / s t r i n g u t i l . h
n a t i v e / b a s e / t i m e u t i l . c p p
n a t i v e / b a s e / t i m e u t i l . h
n a t i v e / f i l e / c h u n k _ f i l e . c p p
n a t i v e / f i l e / c h u n k _ f i l e . h
n a t i v e / f i l e / d i a l o g . c p p
n a t i v e / f i l e / d i a l o g . h
n a t i v e / f i l e / e a s y _ f i l e . c p p
n a t i v e / f i l e / e a s y _ f i l e . h
n a t i v e / f i l e / f d _ u t i l . c p p
n a t i v e / f i l e / f d _ u t i l . h
n a t i v e / f i l e / f i l e _ u t i l . c p p
n a t i v e / f i l e / f i l e _ u t i l . h
2013-04-18 09:58:54 +00:00
n a t i v e / f i l e / i n i _ f i l e . c p p
n a t i v e / f i l e / i n i _ f i l e . h
2012-11-26 02:41:57 +00:00
n a t i v e / f i l e / v f s . h
n a t i v e / f i l e / z i p _ r e a d . c p p
n a t i v e / f i l e / z i p _ r e a d . h
n a t i v e / g f x / g l _ d e b u g _ l o g . c p p
n a t i v e / g f x / g l _ d e b u g _ l o g . h
n a t i v e / g f x / g l _ l o s t _ m a n a g e r . c p p
n a t i v e / g f x / g l _ l o s t _ m a n a g e r . h
n a t i v e / g f x / t e x t u r e . c p p
n a t i v e / g f x / t e x t u r e . h
n a t i v e / g f x / t e x t u r e _ a t l a s . c p p
n a t i v e / g f x / t e x t u r e _ a t l a s . h
# native/gfx/texture_dx11.cpp
n a t i v e / g f x / t e x t u r e _ g e n . c p p
n a t i v e / g f x / t e x t u r e _ g e n . h
n a t i v e / g f x _ e s 2 / d r a w _ b u f f e r . c p p
n a t i v e / g f x _ e s 2 / d r a w _ b u f f e r . h
n a t i v e / g f x _ e s 2 / f b o . c p p
n a t i v e / g f x _ e s 2 / f b o . h
n a t i v e / g f x _ e s 2 / g l _ s t a t e . c p p
n a t i v e / g f x _ e s 2 / g l _ s t a t e . h
n a t i v e / g f x _ e s 2 / g l s l _ p r o g r a m . c p p
n a t i v e / g f x _ e s 2 / g l s l _ p r o g r a m . h
n a t i v e / g f x _ e s 2 / v e r t e x _ f o r m a t . c p p
n a t i v e / g f x _ e s 2 / v e r t e x _ f o r m a t . h
2013-04-18 09:58:54 +00:00
n a t i v e / i 1 8 n / i 1 8 n . c p p
n a t i v e / i 1 8 n / i 1 8 n . h
2012-11-26 02:41:57 +00:00
n a t i v e / i m a g e / p n g _ l o a d . c p p
n a t i v e / i m a g e / p n g _ l o a d . h
n a t i v e / i m a g e / z i m _ l o a d . c p p
n a t i v e / i m a g e / z i m _ l o a d . h
n a t i v e / i m a g e / z i m _ s a v e . c p p
n a t i v e / i m a g e / z i m _ s a v e . h
n a t i v e / i n p u t / g e s t u r e _ d e t e c t o r . c p p
n a t i v e / i n p u t / g e s t u r e _ d e t e c t o r . h
n a t i v e / i n p u t / i n p u t _ s t a t e . h
n a t i v e / j s o n / j s o n _ w r i t e r . c p p
n a t i v e / j s o n / j s o n _ w r i t e r . h
n a t i v e / m a t h / c o m p r e s s i o n . h
n a t i v e / m a t h / c u r v e s . c p p
n a t i v e / m a t h / c u r v e s . h
n a t i v e / m a t h / l i n / a a b b . c p p
n a t i v e / m a t h / l i n / a a b b . h
n a t i v e / m a t h / l i n / m a t r i x 4 x 4 . c p p
n a t i v e / m a t h / l i n / m a t r i x 4 x 4 . h
n a t i v e / m a t h / l i n / p l a n e . c p p
n a t i v e / m a t h / l i n / p l a n e . h
n a t i v e / m a t h / l i n / q u a t . c p p
n a t i v e / m a t h / l i n / q u a t . h
n a t i v e / m a t h / l i n / r a y . h
n a t i v e / m a t h / l i n / v e c 3 . c p p
n a t i v e / m a t h / l i n / v e c 3 . h
n a t i v e / m a t h / m a t h _ u t i l . c p p
n a t i v e / m a t h / m a t h _ u t i l . h
n a t i v e / m i d i / m i d i _ i n p u t . c p p
n a t i v e / m i d i / m i d i _ i n p u t . h
n a t i v e / n e t / h t t p _ c l i e n t . c p p
n a t i v e / n e t / h t t p _ c l i e n t . h
n a t i v e / n e t / r e s o l v e . c p p
n a t i v e / n e t / r e s o l v e . h
n a t i v e / p r o f i l e r / p r o f i l e r . c p p
n a t i v e / p r o f i l e r / p r o f i l e r . h
2013-04-13 19:24:07 +00:00
n a t i v e / t h r e a d / p r i o r i t i z e d w o r k q u e u e . c p p
2013-05-02 06:31:18 +00:00
n a t i v e / t h r e a d / p r i o r i t i z e d w o r k q u e u e . h
2013-04-13 19:24:07 +00:00
n a t i v e / t h r e a d / t h r e a d u t i l . c p p
n a t i v e / t h r e a d / t h r e a d u t i l . h
2013-05-02 06:31:18 +00:00
n a t i v e / t h r e a d / t h r e a d p o o l . c p p
n a t i v e / t h r e a d / t h r e a d p o o l . h
2012-11-26 02:41:57 +00:00
n a t i v e / u i / s c r e e n . c p p
n a t i v e / u i / s c r e e n . h
n a t i v e / u i / u i . c p p
n a t i v e / u i / u i . h
2013-03-30 20:02:08 +00:00
n a t i v e / u i / u i _ c o n t e x t . c p p
n a t i v e / u i / u i _ c o n t e x t . h
2012-11-26 02:41:57 +00:00
n a t i v e / u i / v i r t u a l _ i n p u t . c p p
n a t i v e / u i / v i r t u a l _ i n p u t . h
n a t i v e / u t i l / b i t s / b i t s . c p p
n a t i v e / u t i l / b i t s / b i t s . h
n a t i v e / u t i l / b i t s / h a m m i n g . h
n a t i v e / u t i l / b i t s / v a r i n t . c p p
n a t i v e / u t i l / b i t s / v a r i n t . h
n a t i v e / u t i l / h a s h / h a s h . c p p
n a t i v e / u t i l / h a s h / h a s h . h
n a t i v e / u t i l / r a n d o m / p e r l i n . c p p
n a t i v e / u t i l / r a n d o m / p e r l i n . h
n a t i v e / u t i l / r a n d o m / r n g . h
2013-01-02 23:53:11 +00:00
n a t i v e / u t i l / t e x t / u t f 8 . h
n a t i v e / u t i l / t e x t / u t f 8 . c p p
2012-11-26 02:41:57 +00:00
n a t i v e / e x t / r a p i d x m l / r a p i d x m l . h p p
n a t i v e / e x t / r a p i d x m l / r a p i d x m l _ i t e r a t o r s . h p p
n a t i v e / e x t / r a p i d x m l / r a p i d x m l _ p r i n t . h p p
n a t i v e / e x t / r a p i d x m l / r a p i d x m l _ u t i l s . h p p )
2012-11-18 16:00:27 +00:00
include_directories ( native )
# rapidxml is headers only so we can't make a lib specific for it
include_directories ( native/ext/rapidxml )
2013-03-29 23:10:18 +00:00
target_link_libraries ( native ${ LIBZIP } rg_etc1 sha1 stb_image stb_vorbis #vjson
2013-01-02 21:10:41 +00:00
z l i b s n a p p y $ { G L E W _ L I B R A R I E S } )
2012-11-18 16:00:27 +00:00
if ( ANDROID )
2012-11-26 02:41:57 +00:00
target_link_libraries ( native log )
2012-11-18 16:00:27 +00:00
endif ( )
setup_target_project ( native native )
if ( WIN32 )
2012-11-26 02:41:57 +00:00
target_link_libraries ( native ws2_32 winmm )
2012-11-18 16:00:27 +00:00
endif ( )
add_library ( kirk STATIC
2012-11-26 02:41:57 +00:00
e x t / l i b k i r k / A E S . c
e x t / l i b k i r k / A E S . h
2013-02-24 14:45:10 +00:00
e x t / l i b k i r k / a m c t r l . c
e x t / l i b k i r k / a m c t r l . h
2012-11-26 02:41:57 +00:00
e x t / l i b k i r k / S H A 1 . c
e x t / l i b k i r k / S H A 1 . h
e x t / l i b k i r k / b n . c
e x t / l i b k i r k / e c . c
e x t / l i b k i r k / k i r k _ e n g i n e . c
e x t / l i b k i r k / k i r k _ e n g i n e . h )
2012-11-18 16:00:27 +00:00
include_directories ( ext/libkirk )
2013-04-30 16:44:20 +00:00
add_library ( xbrz STATIC
e x t / x b r z / x b r z . c p p
e x t / x b r z / x b r z . h
)
include_directories ( ext/xbrz )
2012-11-18 16:00:27 +00:00
set ( CoreExtra )
if ( ARM )
2012-11-26 02:41:57 +00:00
set ( CoreExtra ${ CoreExtra }
2013-01-13 10:52:41 +00:00
C o r e / M I P S / A R M / A r m A s m . c p p
C o r e / M I P S / A R M / A r m A s m . h
C o r e / M I P S / A R M / A r m C o m p A L U . c p p
C o r e / M I P S / A R M / A r m C o m p B r a n c h . c p p
C o r e / M I P S / A R M / A r m C o m p F P U . c p p
C o r e / M I P S / A R M / A r m C o m p L o a d S t o r e . c p p
C o r e / M I P S / A R M / A r m C o m p V F P U . c p p
C o r e / M I P S / A R M / A r m J i t . c p p
C o r e / M I P S / A R M / A r m J i t . h
C o r e / M I P S / A R M / A r m R e g C a c h e . c p p
C o r e / M I P S / A R M / A r m R e g C a c h e . h
2013-03-03 09:56:12 +00:00
C o r e / M I P S / A R M / A r m R e g C a c h e F P U . c p p
C o r e / M I P S / A R M / A r m R e g C a c h e F P U . h
2013-01-13 10:52:41 +00:00
e x t / d i s a r m . c p p )
2012-11-26 02:41:57 +00:00
elseif ( X86 )
set ( CoreExtra ${ CoreExtra }
C o r e / M I P S / x 8 6 / A s m . c p p
C o r e / M I P S / x 8 6 / A s m . h
C o r e / M I P S / x 8 6 / C o m p A L U . c p p
C o r e / M I P S / x 8 6 / C o m p B r a n c h . c p p
C o r e / M I P S / x 8 6 / C o m p F P U . c p p
C o r e / M I P S / x 8 6 / C o m p L o a d S t o r e . c p p
C o r e / M I P S / x 8 6 / C o m p V F P U . c p p
C o r e / M I P S / x 8 6 / J i t . c p p
C o r e / M I P S / x 8 6 / J i t . h
C o r e / M I P S / x 8 6 / R e g C a c h e . c p p
2013-01-25 22:09:11 +00:00
C o r e / M I P S / x 8 6 / R e g C a c h e . h
C o r e / M I P S / x 8 6 / R e g C a c h e F P U . c p p
C o r e / M I P S / x 8 6 / R e g C a c h e F P U . h )
2012-11-18 16:00:27 +00:00
endif ( )
# 'ppsspp_jni' on ANDROID, 'Core' everywhere else
# SHARED on ANDROID, STATIC everywhere else
add_library ( ${ CoreLibName } ${ CoreLinkType }
2012-11-26 02:41:57 +00:00
$ { C o r e E x t r a }
C o r e / C P U . c p p
C o r e / C P U . h
C o r e / C o n f i g . c p p
C o r e / C o n f i g . h
C o r e / C o r e . c p p
C o r e / C o r e . h
C o r e / C o r e P a r a m e t e r . h
C o r e / C o r e T i m i n g . c p p
C o r e / C o r e T i m i n g . h
C o r e / D e b u g g e r / B r e a k p o i n t s . c p p
C o r e / D e b u g g e r / B r e a k p o i n t s . h
C o r e / D e b u g g e r / D e b u g I n t e r f a c e . h
C o r e / D e b u g g e r / S y m b o l M a p . c p p
C o r e / D e b u g g e r / S y m b o l M a p . h
2012-12-10 12:08:54 +00:00
C o r e / D i a l o g / P S P D i a l o g . c p p
C o r e / D i a l o g / P S P D i a l o g . h
C o r e / D i a l o g / P S P M s g D i a l o g . c p p
C o r e / D i a l o g / P S P M s g D i a l o g . h
2012-12-15 23:31:43 +00:00
C o r e / D i a l o g / P S P O s k D i a l o g . c p p
C o r e / D i a l o g / P S P O s k D i a l o g . h
2012-12-10 12:08:54 +00:00
C o r e / D i a l o g / P S P P l a c e h o l d e r D i a l o g . c p p
C o r e / D i a l o g / P S P P l a c e h o l d e r D i a l o g . h
C o r e / D i a l o g / P S P S a v e D i a l o g . c p p
C o r e / D i a l o g / P S P S a v e D i a l o g . h
C o r e / D i a l o g / S a v e d a t a P a r a m . c p p
C o r e / D i a l o g / S a v e d a t a P a r a m . h
2012-11-26 02:41:57 +00:00
C o r e / E L F / E l f R e a d e r . c p p
C o r e / E L F / E l f R e a d e r . h
C o r e / E L F / E l f T y p e s . h
2013-04-08 19:46:41 +00:00
C o r e / E L F / P B P R e a d e r . c p p
C o r e / E L F / P B P R e a d e r . h
2012-11-26 02:41:57 +00:00
C o r e / E L F / P r x D e c r y p t e r . c p p
C o r e / E L F / P r x D e c r y p t e r . h
2012-11-30 20:49:59 +00:00
C o r e / E L F / P a r a m S F O . c p p
C o r e / E L F / P a r a m S F O . h
2013-05-08 18:29:23 +00:00
C o r e / F i l e S y s t e m s / t l z r c . c p p
2012-11-26 02:41:57 +00:00
C o r e / F i l e S y s t e m s / B l o c k D e v i c e s . c p p
C o r e / F i l e S y s t e m s / B l o c k D e v i c e s . h
C o r e / F i l e S y s t e m s / D i r e c t o r y F i l e S y s t e m . c p p
C o r e / F i l e S y s t e m s / D i r e c t o r y F i l e S y s t e m . h
C o r e / F i l e S y s t e m s / F i l e S y s t e m . h
C o r e / F i l e S y s t e m s / I S O F i l e S y s t e m . c p p
C o r e / F i l e S y s t e m s / I S O F i l e S y s t e m . h
C o r e / F i l e S y s t e m s / M e t a F i l e S y s t e m . c p p
C o r e / F i l e S y s t e m s / M e t a F i l e S y s t e m . h
2013-02-28 16:13:01 +00:00
C o r e / F o n t / P G F . c p p
C o r e / F o n t / P G F . h
2012-11-26 02:41:57 +00:00
C o r e / H L E / F u n c t i o n W r a p p e r s . h
C o r e / H L E / H L E . c p p
C o r e / H L E / H L E . h
C o r e / H L E / H L E T a b l e s . c p p
C o r e / H L E / H L E T a b l e s . h
C o r e / H L E / _ _ s c e A u d i o . c p p
C o r e / H L E / _ _ s c e A u d i o . h
C o r e / H L E / s c e A t r a c . c p p
C o r e / H L E / s c e A t r a c . h
C o r e / H L E / s c e A u d i o . c p p
C o r e / H L E / s c e A u d i o . h
2013-01-28 23:11:02 +00:00
C o r e / H L E / s c e C h n n l s v . c p p
C o r e / H L E / s c e C h n n l s v . h
2012-11-26 02:41:57 +00:00
C o r e / H L E / s c e C t r l . c p p
C o r e / H L E / s c e C t r l . h
2013-04-05 17:14:12 +00:00
C o r e / H L E / s c e D e f l t . c p p
C o r e / H L E / s c e D e f l t . h
2012-11-26 02:41:57 +00:00
C o r e / H L E / s c e D i s p l a y . c p p
C o r e / H L E / s c e D i s p l a y . h
C o r e / H L E / s c e D m a c . c p p
C o r e / H L E / s c e D m a c . h
2013-03-19 13:28:26 +00:00
C o r e / H L E / s c e G a m e U p d a t e . c p p
C o r e / H L E / s c e G a m e U p d a t e . h
2012-11-26 02:41:57 +00:00
C o r e / H L E / s c e G e . c p p
C o r e / H L E / s c e G e . h
C o r e / H L E / s c e F o n t . c p p
C o r e / H L E / s c e F o n t . h
C o r e / H L E / s c e H p r m . c p p
C o r e / H L E / s c e H p r m . h
C o r e / H L E / s c e H t t p . c p p
C o r e / H L E / s c e H t t p . h
C o r e / H L E / s c e I m p o s e . c p p
C o r e / H L E / s c e I m p o s e . h
C o r e / H L E / s c e I o . c p p
C o r e / H L E / s c e I o . h
2013-05-15 11:49:34 +00:00
C o r e / H L E / s c e J p e g . c p p
C o r e / H L E / s c e J p e g . h
2012-11-26 02:41:57 +00:00
C o r e / H L E / s c e K e r n e l . c p p
C o r e / H L E / s c e K e r n e l . h
C o r e / H L E / s c e K e r n e l A l a r m . c p p
C o r e / H L E / s c e K e r n e l A l a r m . h
C o r e / H L E / s c e K e r n e l E v e n t F l a g . c p p
C o r e / H L E / s c e K e r n e l E v e n t F l a g . h
C o r e / H L E / s c e K e r n e l I n t e r r u p t . c p p
C o r e / H L E / s c e K e r n e l I n t e r r u p t . h
C o r e / H L E / s c e K e r n e l M b x . c p p
C o r e / H L E / s c e K e r n e l M b x . h
C o r e / H L E / s c e K e r n e l M e m o r y . c p p
C o r e / H L E / s c e K e r n e l M e m o r y . h
C o r e / H L E / s c e K e r n e l M o d u l e . c p p
C o r e / H L E / s c e K e r n e l M o d u l e . h
C o r e / H L E / s c e K e r n e l M s g P i p e . c p p
C o r e / H L E / s c e K e r n e l M s g P i p e . h
C o r e / H L E / s c e K e r n e l M u t e x . c p p
C o r e / H L E / s c e K e r n e l M u t e x . h
C o r e / H L E / s c e K e r n e l S e m a p h o r e . c p p
C o r e / H L E / s c e K e r n e l S e m a p h o r e . h
C o r e / H L E / s c e K e r n e l T h r e a d . c p p
C o r e / H L E / s c e K e r n e l T h r e a d . h
C o r e / H L E / s c e K e r n e l T i m e . c p p
C o r e / H L E / s c e K e r n e l T i m e . h
C o r e / H L E / s c e K e r n e l V T i m e r . c p p
C o r e / H L E / s c e K e r n e l V T i m e r . h
C o r e / H L E / s c e M p e g . c p p
C o r e / H L E / s c e M p e g . h
C o r e / H L E / s c e N e t . c p p
C o r e / H L E / s c e N e t . h
2012-12-06 18:44:29 +00:00
C o r e / H L E / s c e O p e n P S I D . c p p
C o r e / H L E / s c e O p e n P S I D . h
2013-03-15 14:45:00 +00:00
C o r e / H L E / s c e P 3 d a . c p p
C o r e / H L E / s c e P 3 d a . h
2013-05-15 11:49:34 +00:00
C o r e / H L E / s c e M d 5 . c p p
C o r e / H L E / s c e M d 5 . h
2013-04-28 00:27:48 +00:00
C o r e / H L E / s c e M p 4 . c p p
C o r e / H L E / s c e M p 4 . h
2013-05-06 13:09:40 +00:00
C o r e / H L E / s c e M p 3 . c p p
C o r e / H L E / s c e M p 3 . h
2012-12-06 18:44:29 +00:00
C o r e / H L E / s c e P a r s e H t t p . c p p
C o r e / H L E / s c e P a r s e H t t p . h
C o r e / H L E / s c e P a r s e U r i . c p p
C o r e / H L E / s c e P a r s e U r i . h
2012-11-26 02:41:57 +00:00
C o r e / H L E / s c e P o w e r . c p p
C o r e / H L E / s c e P o w e r . h
C o r e / H L E / s c e P s m f . c p p
C o r e / H L E / s c e P s m f . h
C o r e / H L E / s c e R t c . c p p
C o r e / H L E / s c e R t c . h
C o r e / H L E / s c e S a s . c p p
C o r e / H L E / s c e S a s . h
2012-12-06 18:44:29 +00:00
C o r e / H L E / s c e S s l . c p p
C o r e / H L E / s c e S s l . h
2012-11-26 02:41:57 +00:00
C o r e / H L E / s c e U m d . c p p
C o r e / H L E / s c e U m d . h
2012-12-17 20:45:32 +00:00
C o r e / H L E / s c e U s b . c p p
C o r e / H L E / s c e U s b . h
2012-11-26 02:41:57 +00:00
C o r e / H L E / s c e U t i l i t y . c p p
C o r e / H L E / s c e U t i l i t y . h
2012-12-06 18:44:29 +00:00
C o r e / H L E / s c e V a u d i o . c p p
C o r e / H L E / s c e V a u d i o . h
2013-02-24 17:27:37 +00:00
C o r e / H L E / s c e P s p N p D r m _ u s e r . c p p
C o r e / H L E / s c e P s p N p D r m _ u s e r . h
2013-04-29 03:40:09 +00:00
C o r e / H L E / s c e N p . c p p
C o r e / H L E / s c e N p . h
C o r e / H L E / s c e P a u t h . c p p
C o r e / H L E / s c e P a u t h . h
2013-01-05 15:23:21 +00:00
C o r e / H W / M e d i a E n g i n e . c p p
C o r e / H W / M e d i a E n g i n e . h
2012-11-26 02:41:57 +00:00
C o r e / H W / M e m o r y S t i c k . c p p
C o r e / H W / M e m o r y S t i c k . h
2012-12-16 19:40:49 +00:00
C o r e / H W / S a s A u d i o . c p p
C o r e / H W / S a s A u d i o . h
2012-11-26 02:41:57 +00:00
C o r e / H o s t . c p p
C o r e / H o s t . h
C o r e / L o a d e r s . c p p
C o r e / L o a d e r s . h
C o r e / M I P S / J i t C o m m o n / J i t C o m m o n . c p p
C o r e / M I P S / J i t C o m m o n / J i t C o m m o n . h
2013-04-26 21:58:20 +00:00
C o r e / M I P S / J i t C o m m o n / J i t B l o c k C a c h e . c p p
C o r e / M I P S / J i t C o m m o n / J i t B l o c k C a c h e . h
2012-11-26 02:41:57 +00:00
C o r e / M I P S / M I P S . c p p
C o r e / M I P S / M I P S . h
C o r e / M I P S / M I P S A n a l y s t . c p p
C o r e / M I P S / M I P S A n a l y s t . h
C o r e / M I P S / M I P S C o d e U t i l s . c p p
C o r e / M I P S / M I P S C o d e U t i l s . h
C o r e / M I P S / M I P S D e b u g I n t e r f a c e . c p p
C o r e / M I P S / M I P S D e b u g I n t e r f a c e . h
C o r e / M I P S / M I P S D i s . c p p
C o r e / M I P S / M I P S D i s . h
C o r e / M I P S / M I P S D i s V F P U . c p p
C o r e / M I P S / M I P S D i s V F P U . h
C o r e / M I P S / M I P S I n t . c p p
C o r e / M I P S / M I P S I n t . h
C o r e / M I P S / M I P S I n t V F P U . c p p
C o r e / M I P S / M I P S I n t V F P U . h
C o r e / M I P S / M I P S T a b l e s . c p p
C o r e / M I P S / M I P S T a b l e s . h
C o r e / M I P S / M I P S V F P U U t i l s . c p p
C o r e / M I P S / M I P S V F P U U t i l s . h
C o r e / M e m M a p . c p p
C o r e / M e m M a p . h
C o r e / M e m M a p F u n c t i o n s . c p p
C o r e / P S P L o a d e r s . c p p
C o r e / P S P L o a d e r s . h
C o r e / P S P M i x e r . c p p
C o r e / P S P M i x e r . h
2013-03-01 16:58:05 +00:00
C o r e / R e p o r t i n g . c p p
C o r e / R e p o r t i n g . h
2012-12-27 18:34:22 +00:00
C o r e / S a v e S t a t e . c p p
C o r e / S a v e S t a t e . h
2012-11-26 02:41:57 +00:00
C o r e / S y s t e m . c p p
C o r e / S y s t e m . h
C o r e / U t i l / B l o c k A l l o c a t o r . c p p
C o r e / U t i l / B l o c k A l l o c a t o r . h
C o r e / U t i l / P P G e D r a w . c p p
C o r e / U t i l / P P G e D r a w . h
C o r e / U t i l / p p g e _ a t l a s . c p p
C o r e / U t i l / p p g e _ a t l a s . h
$ < T A R G E T _ O B J E C T S : G P U >
2013-03-02 19:01:08 +00:00
G l o b a l s . h
2013-03-02 20:31:11 +00:00
g i t - v e r s i o n . c p p )
2013-04-30 16:44:20 +00:00
target_link_libraries ( ${ CoreLibName } Common native kirk cityhash xbrz
2012-11-26 02:41:57 +00:00
$ { G L E W _ L I B R A R I E S } $ { O P E N G L _ L I B R A R I E S } )
2012-11-18 16:00:27 +00:00
setup_target_project ( ${ CoreLibName } Core )
2013-03-02 20:31:11 +00:00
# Generate git-version.cpp at build time.
2013-03-02 19:01:08 +00:00
add_custom_target ( GitVersion ALL
D E P E N D S s o m e t h i n g _ t h a t _ n e v e r _ e x i s t s )
add_custom_command ( OUTPUT something_that_never_exists
C O M M A N D $ { C M A K E _ C O M M A N D } - D S O U R C E _ D I R = $ { C M A K E _ C U R R E N T _ S O U R C E _ D I R }
- P $ { C M A K E _ C U R R E N T _ S O U R C E _ D I R } / g i t - v e r s i o n . c m a k e )
2013-03-02 20:31:11 +00:00
set_source_files_properties ( ${ CMAKE_CURRENT_SOURCE_DIR } /git-version.cpp
2013-03-02 19:01:08 +00:00
P R O P E R T I E S G E N E R A T E D T R U E )
add_dependencies ( ${ CoreLibName } GitVersion )
2012-11-18 16:00:27 +00:00
add_library ( GPU OBJECT
2012-11-26 02:41:57 +00:00
G P U / G L E S / D i s p l a y L i s t I n t e r p r e t e r . c p p
G P U / G L E S / D i s p l a y L i s t I n t e r p r e t e r . h
G P U / G L E S / F r a g m e n t S h a d e r G e n e r a t o r . c p p
G P U / G L E S / F r a g m e n t S h a d e r G e n e r a t o r . h
G P U / G L E S / F r a m e b u f f e r . c p p
G P U / G L E S / F r a m e b u f f e r . h
2012-12-21 16:50:22 +00:00
G P U / G L E S / I n d e x G e n e r a t o r . c p p
G P U / G L E S / I n d e x G e n e r a t o r . h
2012-11-26 02:41:57 +00:00
G P U / G L E S / S h a d e r M a n a g e r . c p p
G P U / G L E S / S h a d e r M a n a g e r . h
G P U / G L E S / S t a t e M a p p i n g . c p p
G P U / G L E S / S t a t e M a p p i n g . h
G P U / G L E S / T e x t u r e C a c h e . c p p
G P U / G L E S / T e x t u r e C a c h e . h
2013-05-02 06:31:18 +00:00
G P U / G L E S / T e x t u r e S c a l e r . c p p
G P U / G L E S / T e x t u r e S c a l e r . h
2012-11-26 02:41:57 +00:00
G P U / G L E S / T r a n s f o r m P i p e l i n e . c p p
G P U / G L E S / T r a n s f o r m P i p e l i n e . h
G P U / G L E S / V e r t e x D e c o d e r . c p p
G P U / G L E S / V e r t e x D e c o d e r . h
G P U / G L E S / V e r t e x S h a d e r G e n e r a t o r . c p p
G P U / G L E S / V e r t e x S h a d e r G e n e r a t o r . h
G P U / G P U I n t e r f a c e . h
2012-12-26 23:18:45 +00:00
G P U / G e D i s a s m . c p p
G P U / G e D i s a s m . h
2012-12-28 20:58:00 +00:00
G P U / G P U C o m m o n . c p p
G P U / G P U C o m m o n . h
2012-11-26 02:41:57 +00:00
G P U / G P U S t a t e . c p p
G P U / G P U S t a t e . h
G P U / M a t h 3 D . c p p
G P U / M a t h 3 D . h
G P U / N u l l / N u l l G p u . c p p
G P U / N u l l / N u l l G p u . h
G P U / g e _ c o n s t a n t s . h )
2012-11-18 16:00:27 +00:00
setup_target_project ( GPU GPU )
if ( WIN32 )
2012-11-26 02:41:57 +00:00
add_executable ( PPSSPPWindows WIN32
W i n d o w s / B r e a k p o i n t s . h
W i n d o w s / D S o u n d S t r e a m . c p p
W i n d o w s / D S o u n d S t r e a m . h
W i n d o w s / D e b u g g e r / C P U R e g s I n t e r f a c e . h
W i n d o w s / D e b u g g e r / C t r l D i s A s m V i e w . c p p
W i n d o w s / D e b u g g e r / C t r l D i s A s m V i e w . h
W i n d o w s / D e b u g g e r / C t r l M e m V i e w . c p p
W i n d o w s / D e b u g g e r / C t r l M e m V i e w . h
W i n d o w s / D e b u g g e r / C t r l R e g i s t e r L i s t . c p p
W i n d o w s / D e b u g g e r / C t r l R e g i s t e r L i s t . h
W i n d o w s / D e b u g g e r / D e b u g g e r . h
W i n d o w s / D e b u g g e r / D e b u g g e r _ D i s a s m . c p p
W i n d o w s / D e b u g g e r / D e b u g g e r _ D i s a s m . h
W i n d o w s / D e b u g g e r / D e b u g g e r _ M e m o r y D l g . c p p
W i n d o w s / D e b u g g e r / D e b u g g e r _ M e m o r y D l g . h
W i n d o w s / D e b u g g e r / D e b u g g e r _ M i s c . c p p
W i n d o w s / D e b u g g e r / D e b u g g e r _ M i s c . h
# Windows/Debugger/Debugger_Profiler.cpp
# Windows/Debugger/Debugger_Profiler.h
W i n d o w s / D e b u g g e r / D e b u g g e r _ S y m b o l M a p . h
W i n d o w s / D e b u g g e r / D e b u g g e r _ V F P U D l g . c p p
W i n d o w s / D e b u g g e r / D e b u g g e r _ V F P U D l g . h
W i n d o w s / D e b u g g e r / S i m p l e E L F . h
# Windows/DlgDynaView.cpp
# Windows/DlgDynaView.h
W i n d o w s / E m u T h r e a d . c p p
W i n d o w s / E m u T h r e a d . h
W i n d o w s / G l o b a l s . c p p
W i n d o w s / I n p u t B o x . c p p
W i n d o w s / I n p u t B o x . h
W i n d o w s / I n p u t D e v i c e . c p p
W i n d o w s / I n p u t D e v i c e . h
W i n d o w s / K e y b o a r d D e v i c e . c p p
W i n d o w s / K e y b o a r d D e v i c e . h
W i n d o w s / M I P S C o m p A L U . h
W i n d o w s / M I P S C o m p B r a n c h . h
W i n d o w s / O p e n G L B a s e . c p p
W i n d o w s / O p e n G L B a s e . h
W i n d o w s / W 3 2 U t i l / D i a l o g M a n a g e r . c p p
W i n d o w s / W 3 2 U t i l / D i a l o g M a n a g e r . h
W i n d o w s / W 3 2 U t i l / M i s c . c p p
W i n d o w s / W 3 2 U t i l / M i s c . h
W i n d o w s / W 3 2 U t i l / P r o p e r t y S h e e t . c p p
W i n d o w s / W 3 2 U t i l / P r o p e r t y S h e e t . h
W i n d o w s / W 3 2 U t i l / S h e l l U t i l . c p p
W i n d o w s / W 3 2 U t i l / S h e l l U t i l . h
W i n d o w s / W 3 2 U t i l / X P T h e m e . h
W i n d o w s / W i n d o w s F i l e S y s t e m . h
W i n d o w s / W i n d o w s H o s t . c p p
W i n d o w s / W i n d o w s H o s t . h
W i n d o w s / W n d M a i n W i n d o w . c p p
W i n d o w s / W n d M a i n W i n d o w . h
W i n d o w s / X P T h e m e . h
W i n d o w s / X i n p u t D e v i c e . c p p
W i n d o w s / X i n p u t D e v i c e . h
W i n d o w s / m a i n . c p p
W i n d o w s / m a i n . h
W i n d o w s / p p s s p p . r c
W i n d o w s / r e s o u r c e . h
W i n d o w s / s t d a f x . c p p
W i n d o w s / s t d a f x . h )
target_link_libraries ( PPSSPPWindows ${ CoreLibName }
k e r n e l 3 2 u s e r 3 2 g d i 3 2 s h e l l 3 2 c o m c t l 3 2 d s o u n d x i n p u t )
setup_target_project ( PPSSPPWindows Windows )
2012-11-18 16:00:27 +00:00
endif ( )
2013-03-30 05:39:37 +00:00
if ( HEADLESS )
add_executable ( PPSSPPHeadless
h e a d l e s s / H e a d l e s s . c p p
h e a d l e s s / S t u b H o s t . h
h e a d l e s s / C o m p a r e . c p p
h e a d l e s s / C o m p a r e . h )
target_link_libraries ( PPSSPPHeadless ${ CoreLibName }
$ { C O C O A _ L I B R A R Y } $ { C M A K E _ T H R E A D _ L I B S _ I N I T } )
setup_target_project ( PPSSPPHeadless headless )
endif ( )
2012-12-02 04:48:00 +00:00
set ( NativeAppSource
2013-03-30 14:44:10 +00:00
U I / N a t i v e A p p . c p p
U I / E m u S c r e e n . c p p
2013-03-30 15:58:55 +00:00
a n d r o i d / j n i / T e s t R u n n e r . c p p
2013-03-30 19:17:31 +00:00
U I / G a m e I n f o C a c h e . c p p
2013-03-30 14:44:10 +00:00
U I / M e n u S c r e e n s . c p p
U I / G a m e p a d E m u . c p p
U I / U I S h a d e r . c p p
2013-05-22 16:00:06 +00:00
U I / O n S c r e e n D i s p l a y . c p p
2013-03-30 14:44:10 +00:00
U I / u i _ a t l a s . c p p )
2013-01-15 21:49:27 +00:00
if ( ANDROID )
set ( NativeAppSource ${ NativeAppSource } android/jni/ArmEmitterTest.cpp )
endif ( )
2012-12-16 15:47:39 +00:00
set ( NativeAssets
2012-12-02 04:48:00 +00:00
a n d r o i d / a s s e t s / u i _ a t l a s . z i m
2012-12-16 15:47:39 +00:00
a s s e t s / p p g e _ a t l a s . z i m )
2012-12-02 04:48:00 +00:00
set ( LinkCommon ${ CoreLibName } ${ CMAKE_THREAD_LIBS_INIT } ${ nativeExtraLibs } )
if ( TargetBin )
2013-02-24 03:23:04 +00:00
if ( IOS )
add_executable ( ${ TargetBin } MACOSX_BUNDLE ${ NativeAppSource } )
else ( )
add_executable ( ${ TargetBin } ${ NativeAppSource } )
endif ( )
2012-12-02 04:48:00 +00:00
target_link_libraries ( ${ TargetBin } ${ LinkCommon } )
2012-11-18 16:00:27 +00:00
endif ( )
2013-02-24 03:23:04 +00:00
# installs
2012-12-16 15:47:39 +00:00
file ( INSTALL ${ NativeAssets } DESTINATION assets )
2012-12-02 04:48:00 +00:00
2013-03-24 06:18:00 +00:00
# Fix CMake some Xcode settings.
if ( APPLE )
2013-03-16 06:50:31 +00:00
# Fix CMake breaking optimization settings.
2013-03-16 07:25:41 +00:00
set ( CMAKE_CXX_FLAGS_DEBUG "-g -D_DEBUG" )
set ( CMAKE_CXX_FLAGS_MINSIZEREL "-Os -D_NDEBUG" )
2013-03-24 06:18:00 +00:00
set ( CMAKE_CXX_FLAGS_RELEASE "-O3 -D_NDEBUG" )
2013-03-31 00:09:44 +00:00
set ( CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g -D_NDEBUG" )
2013-03-16 07:25:41 +00:00
set ( CMAKE_C_FLAGS_DEBUG "-g -D_DEBUG" )
set ( CMAKE_C_FLAGS_MINSIZEREL "-Os -D_NDEBUG" )
2013-03-24 06:18:00 +00:00
set ( CMAKE_C_FLAGS_RELEASE "-O3 -D_NDEBUG" )
2013-03-31 00:09:44 +00:00
set ( CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g -D_NDEBUG" )
2013-03-16 06:50:31 +00:00
2013-03-24 06:18:00 +00:00
# These can be fast even for debug.
2013-03-16 06:50:31 +00:00
set_target_properties ( cityhash PROPERTIES COMPILE_FLAGS "-O3" )
2013-03-24 06:18:00 +00:00
set_target_properties ( snappy PROPERTIES COMPILE_FLAGS "-O3" )
2013-03-16 06:50:31 +00:00
set_target_properties ( zlib PROPERTIES COMPILE_FLAGS "-O3" )
2013-03-24 06:18:00 +00:00
endif ( )
2013-03-16 06:50:31 +00:00
2013-03-24 06:18:00 +00:00
# packaging and code signing
if ( IOS )
2013-03-16 08:04:38 +00:00
add_dependencies ( PPSSPP ${ CoreLibName } GPU Common native )
2013-03-15 08:29:33 +00:00
file ( GLOB IOSAssets ios/assets/*.png )
2013-03-16 06:50:31 +00:00
file ( INSTALL ${ IOSAssets } DESTINATION assets )
2013-03-15 08:59:56 +00:00
file ( INSTALL flash0 DESTINATION assets )
2013-04-23 05:00:38 +00:00
file ( INSTALL lang DESTINATION assets )
2013-03-16 06:50:31 +00:00
if ( IOS_DEBUG )
file ( INSTALL pspautotests DESTINATION assets )
endif ( )
2013-02-24 03:23:04 +00:00
set ( RSRC_XIB_FILES assets/Icon@2x.png )
2013-03-16 06:50:31 +00:00
set_source_files_properties ( ${ RSRC_XIB_FILES }
P R O P E R T I E S M A C O S X _ P A C K A G E _ L O C A T I O N R e s o u r c e s
)
2013-02-24 03:23:04 +00:00
set ( APP_DIR_NAME \${TARGET_BUILD_DIR}/\${FULL_PRODUCT_NAME})
add_custom_command ( TARGET PPSSPP POST_BUILD
2013-03-16 06:50:31 +00:00
C O M M A N D t a r - c - C . - - e x c l u d e . D S _ S t o r e - - e x c l u d e . g i t - H a s s e t s | t a r - x - C ' $ { A P P _ D I R _ N A M E } '
2013-02-24 03:23:04 +00:00
)
2013-03-16 08:04:38 +00:00
# Force Xcode to relink the binary.
add_custom_command ( TARGET Core PRE_BUILD
W O R K I N G _ D I R E C T O R Y $ { C M A K E _ B I N A R Y _ D I R }
C O M M A N D r m - f P P S S P P . b u i l d / { D e b u g , R e l e a s e , M i n S i z e R e l , R e l W i t h D e b I n f o } - i p h o n e o s / P P S S P P . b u i l d / O b j e c t s - n o r m a l / * / P P S S P P { D e b u g , R e l e a s e , M i n S i z e R e l , R e l W i t h D e b I n f o } - i p h o n e o s / P P S S P P . a p p / P P S S P P
)
2013-03-15 08:29:33 +00:00
set_target_properties ( ${ TargetBin } PROPERTIES
M A C O S X _ B U N D L E _ I N F O _ P L I S T " . . / i o s / P P S S P P - I n f o . p l i s t "
X C O D E _ A T T R I B U T E _ T A R G E T E D _ D E V I C E _ F A M I L Y " i P h o n e / i P a d "
)
2013-02-17 14:04:44 +00:00
endif ( )
2012-11-18 16:00:27 +00:00
#include(CPack)