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 )
2014-06-11 13:02:56 +00:00
enable_language ( ASM )
2014-09-01 09:37:44 +00:00
set ( CMAKE_MODULE_PATH ${ CMAKE_MODULE_PATH } ${ CMAKE_SOURCE_DIR } /CMakeTests )
2012-11-18 16:00:27 +00:00
2013-12-13 10:04:22 +00:00
add_definitions ( -DPPSSPP )
2014-11-11 12:55:49 +00:00
if ( CMAKE_SIZEOF_VOID_P EQUAL 8 )
set ( _ARCH_64 1 )
add_definitions ( -D_ARCH_64=1 )
else ( )
set ( _ARCH_32 1 )
add_definitions ( -D_ARCH_32=1 )
endif ( )
2014-06-18 06:15:47 +00:00
# Detect CPU from CMAKE configuration. Toolchains should set this up
2014-11-13 15:41:30 +00:00
if ( CMAKE_SYSTEM_PROCESSOR )
if ( ${ CMAKE_SYSTEM_PROCESSOR } MATCHES "^arm" )
set ( ARM ON )
2014-11-14 08:07:29 +00:00
if ( ${ CMAKE_SYSTEM_PROCESSOR } MATCHES "^armv7" )
set ( ARMV7 ON )
endif ( )
2014-11-13 15:41:30 +00:00
elseif ( ${ CMAKE_SYSTEM_PROCESSOR } MATCHES "^x86" OR ${ CMAKE_SYSTEM_PROCESSOR } MATCHES "i.86" )
set ( X86 ON )
elseif ( ${ CMAKE_SYSTEM_PROCESSOR } MATCHES "^mips" )
set ( MIPS ON )
endif ( )
2014-11-11 12:55:49 +00:00
endif ( )
2013-03-22 07:15:00 +00:00
2014-06-18 06:15:47 +00:00
# Remove soon?
set ( USE_FFMPEG ON )
2013-03-10 03:24:05 +00:00
2013-11-26 02:18:15 +00:00
if ( ARM OR SIMULATOR )
2014-05-30 15:22:11 +00:00
set ( USING_EGL ON )
2014-06-18 06:15:47 +00:00
endif ( )
2012-11-18 16:00:27 +00:00
2014-06-17 16:48:10 +00:00
include ( CheckIncludeFile )
check_include_file ( /opt/vc/include/bcm_host.h RPI )
2014-09-27 00:02:32 +00:00
if ( BB )
set ( ARMV7 ON )
set ( USING_FBDEV ON )
endif ( )
2013-06-21 05:33:29 +00:00
if ( ${ CMAKE_SYSTEM_NAME } MATCHES "Linux" )
set ( LINUX ON )
2014-06-11 13:02:56 +00:00
add_definitions ( -D__STDC_CONSTANT_MACROS )
2013-06-21 05:33:29 +00:00
endif ( )
2013-06-15 12:50:47 +00:00
if ( ${ CMAKE_SYSTEM_NAME } MATCHES "Darwin" )
set ( MACOSX ON )
endif ( )
2014-06-18 06:15:47 +00:00
if ( X86 AND NOT MIPS )
2014-11-11 12:55:49 +00:00
if ( _ARCH_64 )
2014-06-11 13:02:56 +00:00
add_definitions ( -D_M_X64 )
2014-04-13 15:14:45 +00:00
else ( )
2014-06-11 13:02:56 +00:00
add_definitions ( -D_M_IX86 )
2014-04-13 15:14:45 +00:00
endif ( )
endif ( )
2013-10-20 00:35:46 +00:00
if ( NOT DEFINED HEADLESS )
2012-11-26 04:06:35 +00:00
set ( HEADLESS OFF )
2012-11-18 16:00:27 +00:00
endif ( )
2014-01-11 11:18:57 +00:00
# Doesn't link on some platforms
#if(NOT DEFINED UNITTEST)
# set(UNITTEST OFF)
#endif()
2014-01-09 11:09:07 +00:00
2012-11-18 16:00:27 +00:00
# User-editable options (go into CMakeCache.txt)
2014-05-30 15:22:11 +00:00
# :: Processors
2014-06-18 06:15:47 +00:00
option ( ARMV7 "Set to ON if targeting an ARMv7 processor" ${ ARMV7 } )
2012-11-18 16:00:27 +00:00
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 } )
2014-05-30 15:22:11 +00:00
# :: Platforms
2012-11-26 02:41:57 +00:00
option ( ANDROID "Set to ON if targeting an Android device" ${ ANDROID } )
option ( BLACKBERRY "Set to ON if targeting a Blackberry device" ${ BLACKBERRY } )
2012-11-26 04:06:35 +00:00
option ( IOS "Set to ON if targeting an iOS device" ${ IOS } )
2014-05-30 15:22:11 +00:00
option ( MAEMO "Set to ON if targeting a Maemo (N900) device" ${ MAEMO } )
2014-09-27 00:02:32 +00:00
option ( BB "Set to ON if targeting a Beaglebone/Beaglebone Black device" ${ BB } )
2014-05-30 15:22:11 +00:00
# :: Environments
option ( USING_EGL "Set to ON if target environment uses EGL" ${ USING_EGL } )
option ( USING_FBDEV "Set to ON if target environment uses fbdev (eg. Pandora)" ${ USING_FBDEV } )
2012-11-26 02:41:57 +00:00
option ( USING_GLES2 "Set to ON if target device uses OpenGL ES 2.0" ${ USING_GLES2 } )
2014-05-30 15:22:11 +00:00
# :: Frontends
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 } )
2014-02-08 18:29:22 +00:00
option ( MOBILE_DEVICE "Set to ON when targetting a mobile device" ${ MOBILE_DEVICE } )
2012-11-18 16:00:27 +00:00
option ( HEADLESS "Set to OFF to not generate the PPSSPPHeadless target" ${ HEADLESS } )
2014-01-11 11:18:57 +00:00
option ( UNITTEST "Set to ON to generate the unittest target" ${ UNITTEST } )
2013-11-26 02:18:15 +00:00
option ( SIMULATOR "Set to ON when targeting an x86 simulator of an ARM platform" ${ SIMULATOR } )
2014-05-30 15:22:11 +00:00
# :: Options
2013-10-20 06:41:34 +00:00
option ( USE_FFMPEG "Build with FFMPEG support" ${ USE_FFMPEG } )
2012-11-18 16:00:27 +00:00
2013-11-29 13:24:12 +00:00
if ( ANDROID OR BLACKBERRY OR IOS )
if ( NOT CMAKE_TOOLCHAIN_FILE )
if ( ANDROID )
set ( CMAKE_TOOLCHAIN_FILE ${ CMAKE_SOURCE_DIR } /android/android.toolchain.cmake )
elseif ( BLACKBERRY )
set ( CMAKE_TOOLCHAIN_FILE ${ CMAKE_SOURCE_DIR } /Blackberry/bb.toolchain.cmake )
elseif ( IOS )
set ( CMAKE_TOOLCHAIN_FILE ${ CMAKE_SOURCE_DIR } /ios/ios.toolchain.cmake )
endif ( )
2012-11-26 02:41:57 +00:00
message ( FATAL_ERROR "CMAKE_TOOLCHAIN_FILE was not set!\n"
2013-11-29 13:24:12 +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 . \ n "
" R e - r u n $ { C M A K E _ C O M M A N D } w i t h : \ n "
" \ " - D C M A K E _ T O O L C H A I N _ F I L E = $ { C M A K E _ T O O L C H A I N _ F I L E } \ " " )
2012-11-26 02:41:57 +00:00
endif ( )
2014-11-18 04:48:53 +00:00
set ( MOBILE_DEVICE ON )
set ( USING_GLES2 ON )
2013-11-29 13:24:12 +00:00
endif ( )
if ( ANDROID )
2012-11-26 02:41:57 +00:00
set ( CoreLibName ppsspp_jni )
set ( CoreLinkType SHARED )
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 ( )
2014-11-20 08:53:07 +00:00
include_directories ( native )
2014-06-17 16:48:10 +00:00
if ( RPI )
include_directories ( /opt/vc/include /opt/vc/include/interface/vcos/pthreads )
link_directories ( /opt/vc/lib )
set ( OPENGL_LIBRARIES GLESv2 bcm_host )
2014-06-18 06:15:47 +00:00
elseif ( USING_GLES2 AND NOT IOS )
set ( OPENGL_LIBRARIES GLESv2 )
elseif ( NOT IOS )
include ( FindOpenGL REQUIRED )
endif ( )
if ( MAEMO )
#Maemo's gcc-4.7.2 is strict
set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fpermissive" )
2014-06-17 16:48:10 +00:00
endif ( )
2014-06-18 06:15:47 +00:00
2013-02-24 03:23:04 +00:00
if ( NOT BLACKBERRY AND NOT ANDROID AND NOT IOS )
2014-09-01 09:37:44 +00:00
include ( FindSDL2 )
2012-11-18 16:00:27 +00:00
endif ( )
include ( FindThreads )
2014-06-18 06:15:47 +00:00
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}" )
2014-05-30 15:22:11 +00:00
if ( ARM )
add_definitions ( -DARM )
endif ( )
if ( MIPS )
add_definitions ( -DMIPS )
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 ( )
2014-05-30 15:22:11 +00:00
if ( BLACKBERRY )
add_definitions ( -DBLACKBERRY= ${ BLACKBERRY } )
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 ( )
2014-06-17 16:48:10 +00:00
if ( RPI )
add_definitions ( -DRPI )
endif ( )
2013-03-22 07:15:00 +00:00
2014-05-30 15:22:11 +00:00
if ( USING_EGL )
add_definitions ( -DUSING_EGL )
2013-01-12 15:15:46 +00:00
endif ( )
2014-05-30 15:22:11 +00:00
if ( USING_FBDEV )
add_definitions ( -DUSING_FBDEV )
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 ( )
2014-02-08 18:29:22 +00:00
if ( MOBILE_DEVICE )
add_definitions ( -DMOBILE_DEVICE )
endif ( )
2012-11-18 16:00:27 +00:00
2014-06-11 13:28:51 +00:00
if ( NOT CMAKE_BUILD_TYPE )
message ( STATUS "No build type selected, default to Release" )
set ( CMAKE_BUILD_TYPE "Release" )
endif ( )
2014-07-06 13:50:48 +00:00
if ( ARMV7 )
message ( "Building for ARMv7, ${CMAKE_BUILD_TYPE}" )
elseif ( ARM )
message ( "Building for ARMv6, ${CMAKE_BUILD_TYPE}" )
2014-11-13 13:23:53 +00:00
elseif ( MIPS AND X86 )
2014-07-06 13:50:48 +00:00
message ( "Building for MIPS in x86 mode, ${CMAKE_BUILD_TYPE}" )
2014-11-13 13:23:53 +00:00
elseif ( MIPS )
message ( "Buildings for MIPS, ${CMAKE_BUILD_TYPE}" )
2014-07-06 13:50:48 +00:00
elseif ( X86 )
message ( "Building for x86, ${CMAKE_BUILD_TYPE}" )
else ( )
message ( "Building for Generic, ${CMAKE_BUILD_TYPE}" )
endif ( )
2012-11-26 02:41:57 +00:00
if ( NOT MSVC )
2014-06-11 13:28:51 +00:00
set ( CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g -D_DEBUG" )
set ( CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} -Os -D_NDEBUG" )
set ( CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3 -D_NDEBUG" )
set ( CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -O2 -g -D_NDEBUG" )
set ( CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -g -D_DEBUG" )
set ( CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL} -Os -D_NDEBUG" )
set ( CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O3 -D_NDEBUG" )
set ( CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -O2 -g -D_NDEBUG" )
2014-06-11 13:02:56 +00:00
2012-11-26 03:25:14 +00:00
# Disable some warnings
add_definitions ( -Wno-multichar )
2012-11-26 02:41:57 +00:00
add_definitions ( -fno-strict-aliasing )
2013-05-30 12:26:43 +00:00
if ( CMAKE_C_COMPILER_ID STREQUAL "Intel" )
set ( CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -parallel -fopenmp" )
endif ( )
2012-11-26 02:41:57 +00:00
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 ( )
2014-06-11 13:28:51 +00:00
if ( BLACKBERRY AND ARM )
set ( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=armv7-a -mfpu=neon -mcpu=cortex-a9" )
set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=armv7-a -mfpu=neon -mcpu=cortex-a9" )
endif ( )
2013-02-24 12:17:52 +00:00
if ( IOS )
2014-06-11 13:02:56 +00:00
add_definitions ( -DGL_ETC1_RGB8_OES=0 )
2014-12-06 00:44:14 +00:00
set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++ -U__STRICT_ANSI__" )
set ( CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libc++" )
2013-06-25 21:18:16 +00:00
# armv7s (without resorting to FastMemory) is still a work in progress
# comment out the next line to enable default/"standard" architectures (which is a fat armv7/armv7s binary)
set ( CMAKE_OSX_ARCHITECTURES "armv7" )
2013-02-24 12:17:52 +00:00
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++" )
2012-11-26 02:41:57 +00:00
else ( )
2014-06-11 13:02:56 +00:00
if ( NOT CMAKE_C_COMPILER_ID STREQUAL "Intel" AND NOT CMAKE_C_COMPILER_ID STREQUAL "Clang" )
add_definitions ( -Wno-psabi )
endif ( )
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 )
2012-11-26 02:41:57 +00:00
endif ( )
2014-06-11 13:02:56 +00:00
set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11" )
2012-11-26 02:41:57 +00:00
else ( )
# Disable warnings about MS-specific _s variants of libc functions
add_definitions ( -D_CRT_SECURE_NO_WARNINGS )
2014-06-11 13:02:56 +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
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
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 )
2014-11-18 08:35:37 +00:00
elseif ( MIPS )
set ( CommonExtra ${ CommonExtra }
2014-11-18 22:21:16 +00:00
C o m m o n / M i p s C P U D e t e c t . c p p
2014-11-18 08:35:37 +00:00
C o m m o n / M i p s E m i t t e r . c p p
C o m m o n / M i p s E m i t t e r . h )
2014-11-13 13:23:53 +00:00
else ( )
set ( CommonExtra ${ CommonExtra }
C o m m o n / F a k e C P U D e t e c t . c p p
C o m m o n / F a k e E m i t t e r . h )
2012-11-18 16:00:27 +00:00
endif ( )
2014-11-13 13:23:53 +00:00
# ARMEmitter is here for the unit tests and don't really hurt otherwise.
set ( CommonExtra ${ CommonExtra }
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 )
2012-11-18 16:00:27 +00:00
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 }
2013-10-07 04:26:08 +00:00
C o m m o n / C h u n k F i l e . c p p
C o m m o n / C h u n k F i l e . h
2012-11-26 02:41:57 +00:00
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 / 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
2014-12-07 18:25:45 +00:00
C o m m o n / C r y p t o / s h a 2 5 6 . c p p
C o m m o n / C r y p t o / s h a 2 5 6 . h
2012-11-26 02:41:57 +00:00
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
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
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
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
2013-09-27 14:47:21 +00:00
C o m m o n / T i m e r . h )
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 ( )
2013-12-05 15:24:40 +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 )
endif ( )
2014-11-20 08:53:07 +00:00
add_subdirectory ( ext/snappy )
add_subdirectory ( ext/udis86 )
2014-10-11 15:42:01 +00:00
2013-11-26 17:18:30 +00:00
add_library ( vjson STATIC
n a t i v e / e x t / v j s o n / j s o n . c p p
n a t i v e / e x t / v j s o n / j s o n . h
n a t i v e / e x t / v j s o n / b l o c k _ a l l o c a t o r . c p p
n a t i v e / e x t / v j s o n / b l o c k _ a l l o c a t o r . h
)
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
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 )
2013-12-06 11:08:19 +00:00
if ( USE_FFMPEG AND NOT DEFINED FFMPEG_BUILDDIR )
2014-06-27 16:49:50 +00:00
if ( ANDROID )
if ( ARMV7 )
set ( PLATFORM_ARCH "android/armv7" )
elseif ( ARM )
set ( PLATFORM_ARCH "android/arm" )
elseif ( X86 )
set ( PLATFORM_ARCH "android/x86" )
endif ( )
elseif ( BLACKBERRY )
2013-12-06 11:08:19 +00:00
set ( PLATFORM_ARCH "blackberry/armv7" )
elseif ( IOS )
set ( PLATFORM_ARCH "ios/universal" )
elseif ( MACOSX )
set ( PLATFORM_ARCH "macosx/x86_64" )
elseif ( LINUX )
2014-09-26 23:59:24 +00:00
if ( ARMV7 )
set ( PLATFORM_ARCH "linux/armv7" )
elseif ( ARM )
set ( PLATFORM_ARCH "linux/arm" )
2014-11-13 13:23:53 +00:00
elseif ( MIPS )
set ( PLATFORM_ARCH "linux/mips32" )
2014-09-26 23:59:24 +00:00
elseif ( CMAKE_SIZEOF_VOID_P EQUAL 8 )
2013-12-06 11:08:19 +00:00
set ( PLATFORM_ARCH "linux/x86_64" )
else ( )
set ( PLATFORM_ARCH "linux/x86" )
endif ( )
endif ( )
# Using static libraries
if ( DEFINED PLATFORM_ARCH )
include_directories ( ffmpeg/ ${ PLATFORM_ARCH } /include )
link_directories ( ffmpeg/ ${ PLATFORM_ARCH } /lib )
set ( FFMPEG_LIBRARIES libavformat.a libavcodec.a libavutil.a libswresample.a libswscale.a )
else ( )
# Manual definition of system library locations by the user.
if ( DEFINED FFMPEG_INCLUDE_PATH )
include_directories ( ffmpeg ${ FFMPEG_INCLUDE_PATH } )
endif ( )
if ( DEFINED AVFORMAT_PATH )
add_library ( libavformat STATIC IMPORTED )
set_target_properties ( libavformat PROPERTIES IMPORTED_LOCATION ${ AVFORMAT_PATH } )
SET ( FFMPEG_LIBRARIES ${ FFMPEG_LIBRARIES } libavformat )
endif ( )
if ( DEFINED AVCODEC_PATH )
add_library ( libavcodec STATIC IMPORTED )
set_target_properties ( libavcodec PROPERTIES IMPORTED_LOCATION ${ AVCODEC_PATH } )
SET ( FFMPEG_LIBRARIES ${ FFMPEG_LIBRARIES } libavcodec )
endif ( )
if ( DEFINED AVUTIL_PATH )
add_library ( libavutil STATIC IMPORTED )
set_target_properties ( libavutil PROPERTIES IMPORTED_LOCATION ${ AVUTIL_PATH } )
SET ( FFMPEG_LIBRARIES ${ FFMPEG_LIBRARIES } libavutil )
endif ( )
if ( DEFINED SWRESAMPLE_PATH )
add_library ( libswresample STATIC IMPORTED )
set_target_properties ( libswresample PROPERTIES IMPORTED_LOCATION ${ SWRESAMPLE_PATH } )
SET ( FFMPEG_LIBRARIES ${ FFMPEG_LIBRARIES } libswresample )
endif ( )
if ( DEFINED SWSCALE_PATH )
add_library ( libswscale STATIC IMPORTED )
set_target_properties ( libswscale PROPERTIES IMPORTED_LOCATION ${ SWSCALE_PATH } )
SET ( FFMPEG_LIBRARIES ${ FFMPEG_LIBRARIES } libswscale )
endif ( )
endif ( DEFINED PLATFORM_ARCH )
endif ( USE_FFMPEG AND NOT DEFINED FFMPEG_BUILDDIR )
if ( USE_FFMPEG )
# Using shared libraries
if ( DEFINED FFMPEG_BUILDDIR )
include_directories ( ffmpeg ${ FFMPEG_BUILDDIR } )
add_library ( libavformat STATIC IMPORTED )
set_target_properties ( libavformat PROPERTIES IMPORTED_LOCATION ${ FFMPEG_BUILDDIR } /libavformat/libavformat.a )
add_library ( libavcodec STATIC IMPORTED )
set_target_properties ( libavcodec PROPERTIES IMPORTED_LOCATION ${ FFMPEG_BUILDDIR } /libavcodec/libavcodec.a )
add_library ( libavutil STATIC IMPORTED )
set_target_properties ( libavutil PROPERTIES IMPORTED_LOCATION ${ FFMPEG_BUILDDIR } /libavutil/libavutil.a )
add_library ( libswresample STATIC IMPORTED )
set_target_properties ( libswresample PROPERTIES IMPORTED_LOCATION ${ FFMPEG_BUILDDIR } /libswresample/libswresample.a )
add_library ( libswscale STATIC IMPORTED )
set_target_properties ( libswscale PROPERTIES IMPORTED_LOCATION ${ FFMPEG_BUILDDIR } /libswscale/libswscale.a )
SET ( FFMPEG_LIBRARIES
l i b a v f o r m a t
l i b a v c o d e c
l i b a v u t i l
l i b s w r e s a m p l e
l i b s w s c a l e
)
endif ( )
2014-11-18 06:19:15 +00:00
find_library ( ICONV_LIBRARY NAMES iconv )
if ( ICONV_LIBRARY )
set ( FFMPEG_LIBRARIES ${ FFMPEG_LIBRARIES } ${ ICONV_LIBRARY } )
2013-12-06 11:08:19 +00:00
endif ( )
if ( APPLE )
set ( FFMPEG_LIBRARIES ${ FFMPEG_LIBRARIES } bz2 "-framework CoreVideo" )
if ( NOT IOS )
set ( FFMPEG_LIBRARIES ${ FFMPEG_LIBRARIES } "-framework VideoDecodeAcceleration" )
endif ( )
endif ( APPLE )
set ( LinkCommon ${ LinkCommon } ${ FFMPEG_LIBRARIES } )
add_definitions ( -DUSE_FFMPEG )
endif ( USE_FFMPEG )
# Modification to show where we are pulling the ffmpeg libraries from.
if ( USE_FFMPEG AND DEFINED FFMPEG_LIBRARIES )
target_link_libraries ( Common ${ FFMPEG_LIBRARIES } )
message ( STATUS "FFMPEG library locations:" )
if ( DEFINED PLATFORM_ARCH )
set ( TEMP ${ CMAKE_SOURCE_DIR } /ffmpeg/ ${ PLATFORM_ARCH } /lib )
message ( STATUS "libavcodec location: ${TEMP}/libavcodec.a" )
message ( STATUS "libavformat location: ${TEMP}/libavformat.a" )
message ( STATUS "libavutil location: ${TEMP}/libavutil.a" )
message ( STATUS "libswresample location: ${TEMP}/libswresample.a" )
message ( STATUS "libswscale location: ${TEMP}/libswscale.a" )
else ( )
get_target_property ( TEMP libavcodec IMPORTED_LOCATION )
message ( STATUS "libavcodec location: ${TEMP}" )
get_target_property ( TEMP libavformat IMPORTED_LOCATION )
message ( STATUS "libavformat location: ${TEMP}" )
get_target_property ( TEMP libavutil IMPORTED_LOCATION )
message ( STATUS "libavutil location: ${TEMP}" )
get_target_property ( TEMP libswresample IMPORTED_LOCATION )
message ( STATUS "libswresample location: ${TEMP}" )
get_target_property ( TEMP libswscale IMPORTED_LOCATION )
message ( STATUS "libswscale location: ${TEMP}" )
endif ( DEFINED PLATFORM_ARCH )
else ( )
message ( STATUS "ERROR: No FFMPEG library locations" )
endif ( )
if ( USE_FFMPEG AND NOT DEFINED FFMPEG_LIBRARIES )
message ( WARNING "FFMPEG_BUILDDIR variable or manual path definition is required to enable FFmpeg. Disabling it." )
unset ( USE_FFMPEG )
endif ( )
find_package ( ZLIB )
if ( ZLIB_FOUND )
include_directories ( ${ ZLIB_INCLUDE_DIR } )
else ( )
add_library ( zlib STATIC
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
)
include_directories ( ext/zlib )
set ( ZLIB_LIBRARY zlib )
endif ( )
2013-12-14 23:46:11 +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 )
2013-12-06 11:08:19 +00:00
2014-06-11 13:02:56 +00:00
if ( NOT MSVC )
# These can be fast even for debug.
set_target_properties ( snappy PROPERTIES COMPILE_FLAGS "-O3" )
2014-10-11 15:42:01 +00:00
set_target_properties ( udis86 PROPERTIES COMPILE_FLAGS "-O3" )
2014-06-11 13:02:56 +00:00
set_target_properties ( cityhash PROPERTIES COMPILE_FLAGS "-O3" )
if ( NOT ZLIB_FOUND )
set_target_properties ( zlib PROPERTIES COMPILE_FLAGS "-O3" )
endif ( )
endif ( )
2013-12-05 14:18:26 +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_LIBRARY } )
include_directories ( native/ext/libzip )
set ( LIBZIP_LIBRARY libzip )
2012-11-18 16:00:27 +00:00
2014-05-31 21:55:45 +00:00
# FindPNG does a few things we don't want. So do it ourselves. Fixed to libpng17
find_path ( PNG_PNG_INCLUDE_DIR NAMES "libpng17/png.h" )
find_library ( PNG_LIBRARY NAMES png17 libpng17 )
2013-12-09 16:14:43 +00:00
find_package ( PackageHandleStandardArgs )
find_package_handle_standard_args ( PNG REQUIRED_VARS PNG_LIBRARY PNG_PNG_INCLUDE_DIR )
if ( PNG_FOUND )
include_directories ( ${ PNG_PNG_INCLUDE_DIR } )
2013-12-07 15:42:17 +00:00
else ( )
2014-05-30 18:36:13 +00:00
if ( ARM )
file ( GLOB PNG_ARM_INCLUDES native/ext/libpng17/arm/* )
endif ( )
add_library ( png17 STATIC
n a t i v e / e x t / l i b p n g 1 7 / p n g c o n f . h
n a t i v e / e x t / l i b p n g 1 7 / p n g d e b u g . h
n a t i v e / e x t / l i b p n g 1 7 / p n g . c
n a t i v e / e x t / l i b p n g 1 7 / p n g . h
n a t i v e / e x t / l i b p n g 1 7 / p n g e r r o r . c
n a t i v e / e x t / l i b p n g 1 7 / p n g g e t . c
n a t i v e / e x t / l i b p n g 1 7 / p n g i n f o . h
n a t i v e / e x t / l i b p n g 1 7 / p n g l i b c o n f . h
n a t i v e / e x t / l i b p n g 1 7 / p n g m e m . c
n a t i v e / e x t / l i b p n g 1 7 / p n g p r e a d . c
n a t i v e / e x t / l i b p n g 1 7 / p n g p r i v . h
n a t i v e / e x t / l i b p n g 1 7 / p n g r e a d . c
n a t i v e / e x t / l i b p n g 1 7 / p n g r i o . c
n a t i v e / e x t / l i b p n g 1 7 / p n g r t r a n . c
n a t i v e / e x t / l i b p n g 1 7 / p n g r u t i l . c
n a t i v e / e x t / l i b p n g 1 7 / p n g s e t . c
n a t i v e / e x t / l i b p n g 1 7 / p n g s t r u c t . h
n a t i v e / e x t / l i b p n g 1 7 / p n g t e s t . c
n a t i v e / e x t / l i b p n g 1 7 / p n g t r a n s . c
n a t i v e / e x t / l i b p n g 1 7 / p n g w i o . c
n a t i v e / e x t / l i b p n g 1 7 / p n g w r i t e . c
n a t i v e / e x t / l i b p n g 1 7 / p n g w t r a n . c
n a t i v e / e x t / l i b p n g 1 7 / p n g w u t i l . c
$ { P N G _ A R M _ I N C L U D E S } )
set ( PNG_LIBRARY png17 )
2013-12-09 16:14:43 +00:00
include_directories ( native/ext )
2013-12-07 15:42:17 +00:00
endif ( )
2015-02-02 08:17:03 +00:00
2012-11-18 16:00:27 +00:00
set ( nativeExtra )
2012-12-02 04:48:00 +00:00
set ( nativeExtraLibs )
2014-03-22 14:18:01 +00:00
2014-06-18 06:15:47 +00:00
if ( ARMV7 )
2014-09-27 00:02:32 +00:00
if ( BB )
set ( CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} -march=armv7-a -mfpu=neon -mcpu=cortex-a8" )
else ( )
2015-02-03 19:11:21 +00:00
set ( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=armv7-a -mfpu=neon -mcpu=cortex-a9" )
set ( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=armv7-a -mfpu=neon -mcpu=cortex-a9" )
2014-09-27 00:02:32 +00:00
set ( CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} -march=armv7-a -mfpu=neon -mcpu=cortex-a9" )
endif ( )
2014-03-22 14:18:01 +00:00
set ( nativeExtra ${ nativeExtra }
n a t i v e / m a t h / f a s t / f a s t _ m a t r i x _ n e o n . S )
2014-06-17 17:28:33 +00:00
endif ( )
2014-06-18 07:12:21 +00:00
if ( X86 AND NOT MIPS )
2014-03-22 14:18:01 +00:00
set ( nativeExtra ${ nativeExtra }
n a t i v e / m a t h / f a s t / f a s t _ m a t r i x _ s s e . c )
endif ( )
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 )
2014-06-27 16:49:50 +00:00
target_link_libraries ( native_audio OpenSLES log )
2012-12-02 04:48:00 +00:00
# No target
2013-02-17 14:04:44 +00:00
elseif ( IOS )
set ( nativeExtra ${ nativeExtra }
2013-08-19 03:17:33 +00:00
i o s / m a i n . m m
2013-02-17 14:04:44 +00:00
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
2013-06-25 21:38:30 +00:00
i o s / i O S C o r e A u d i o . c p p
i o s / i O S C o r e A u d i o . h
2013-05-31 01:58:41 +00:00
i o s / i C a d e / i C a d e R e a d e r V i e w . h
i o s / i C a d e / i C a d e R e a d e r V i e w . m
i o s / i C a d e / i C a d e S t a t e . h )
2014-01-27 14:32:19 +00:00
set ( nativeExtraLibs ${ nativeExtraLibs } "-framework Foundation -framework AudioToolbox -framework CoreGraphics -framework QuartzCore -framework OpenGLES -framework UIKit -framework GLKit -framework OpenAL" )
2014-05-30 15:22:11 +00:00
if ( EXISTS "${CMAKE_IOS_SDK_ROOT}/System/Library/Frameworks/GameController.framework" )
set ( nativeExtraLibs ${ nativeExtraLibs } "-weak_framework GameController" )
endif ( )
set_source_files_properties ( ios/AppDelegate.m PROPERTIES COMPILE_FLAGS -fobjc-arc )
set_source_files_properties ( ios/ViewController.mm PROPERTIES COMPILE_FLAGS -fobjc-arc )
2014-05-17 05:53:40 +00:00
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
2014-07-17 19:01:20 +00:00
message ( FATAL_ERROR "Cmake does not yet support Qt. Please use qmake instead." )
2012-12-16 11:17:13 +00:00
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 } )
2014-06-18 07:12:21 +00:00
if ( NOT MOBILE_DEVICE )
qt4_wrap_cpp ( nativeQtHeader Qt/mainwindow.h )
set ( nativeExtra ${ nativeExtra } Qt/mainwindow.cpp )
endif ( )
2012-12-16 11:17:13 +00:00
set ( nativeExtraLibs ${ nativeExtraLibs } ${ QT_LIBRARIES } )
set ( TargetBin PPSSPPQt )
2013-08-18 13:58:43 +00:00
if ( APPLE )
set ( nativeExtraLibs ${ nativeExtraLibs } "-framework CoreFoundation" )
endif ( )
2012-12-02 04:48:00 +00:00
elseif ( BLACKBERRY )
2014-06-23 06:07:26 +00:00
unset ( CMAKE_DL_LIBS )
2013-06-01 06:06:07 +00:00
set ( nativeExtra ${ nativeExtra } native/base/BlackberryMain.cpp native/base/BlackberryDisplay.cpp )
2013-12-07 15:42:17 +00:00
set ( nativeExtraLibs ${ nativeExtraLibs } OpenAL bps screen socket EGL )
2012-12-02 04:48:00 +00:00
set ( TargetBin PPSSPPBlackberry )
2014-09-01 09:37:44 +00:00
elseif ( SDL2_FOUND )
2013-06-15 12:50:47 +00:00
set ( TargetBin PPSSPPSDL )
2012-12-16 11:17:13 +00:00
# Require SDL
2014-09-01 09:37:44 +00:00
include_directories ( ${ SDL2_INCLUDE_DIR } )
2014-12-18 22:59:22 +00:00
add_definitions ( -DSDL )
2015-02-02 08:17:03 +00:00
set ( nativeExtra ${ nativeExtra }
2013-11-05 12:49:23 +00:00
S D L / S D L J o y s t i c k . h
S D L / S D L J o y s t i c k . c p p
n a t i v e / b a s e / P C M a i n . c p p )
2014-09-01 09:37:44 +00:00
set ( nativeExtraLibs ${ nativeExtraLibs } ${ SDL2_LIBRARY } )
2012-12-02 04:48:00 +00:00
if ( APPLE )
set ( nativeExtra ${ nativeExtra } SDL/SDLMain.h SDL/SDLMain.mm )
set ( nativeExtraLibs ${ nativeExtraLibs } ${ COCOA_LIBRARY } )
2014-05-30 15:22:11 +00:00
elseif ( USING_EGL )
set ( nativeExtraLibs ${ nativeExtraLibs } pthread EGL )
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 ( )
2014-09-01 09:37:44 +00:00
message ( FATAL_ERROR "Could not find SDL2. Failing." )
2012-11-18 16:00:27 +00:00
endif ( )
2014-06-27 16:49:50 +00:00
set ( NativeAppSource
2014-08-23 12:24:24 +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
2014-06-27 16:49:50 +00:00
U I / N a t i v e A p p . c p p
U I / B a c k g r o u n d A u d i o . c p p
U I / D e v S c r e e n s . c p p
U I / E m u S c r e e n . c p p
U I / G a m e I n f o C a c h e . c p p
U I / M a i n S c r e e n . c p p
U I / M i s c S c r e e n s . c p p
2014-12-22 09:48:17 +00:00
U I / P a u s e S c r e e n . c p p
2014-06-27 16:49:50 +00:00
U I / G a m e S c r e e n . c p p
U I / G a m e S e t t i n g s S c r e e n . c p p
U I / T i l t A n a l o g S e t t i n g s S c r e e n . c p p
U I / T i l t E v e n t P r o c e s s o r . c p p
U I / T o u c h C o n t r o l L a y o u t S c r e e n . c p p
U I / T o u c h C o n t r o l V i s i b i l i t y S c r e e n . c p p
U I / G a m e p a d E m u . c p p
U I / O n S c r e e n D i s p l a y . c p p
U I / C o n t r o l M a p p i n g S c r e e n . c p p
2014-02-10 09:24:40 +00:00
U I / R e p o r t S c r e e n . c p p
2014-06-27 16:49:50 +00:00
U I / S t o r e . c p p
U I / C w C h e a t S c r e e n . c p p
U I / I n s t a l l Z i p S c r e e n . c p p
U I / u i _ a t l a s . c p p )
if ( ANDROID )
if ( ARM )
set ( NativeAppSource ${ NativeAppSource } android/jni/ArmEmitterTest.cpp )
endif ( )
set ( nativeExtra ${ nativeExtra } ${ NativeAppSource } )
endif ( )
2012-11-18 16:00:27 +00:00
add_library ( native STATIC
2012-11-26 02:41:57 +00:00
$ { n a t i v e E x t r a }
2014-01-26 00:07:31 +00:00
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-26 02:41:57 +00:00
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
2013-05-31 21:10:14 +00:00
n a t i v e / b a s e / f u n c t i o n a l . h
2012-11-26 02:41:57 +00:00
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
2013-06-05 17:43:10 +00:00
n a t i v e / d a t a / c o m p r e s s i o n . c p p
n a t i v e / d a t a / c o m p r e s s i o n . h
2013-11-20 13:42:48 +00:00
n a t i v e / e x t / v j s o n / j s o n . c p p
n a t i v e / e x t / v j s o n / j s o n . h
n a t i v e / e x t / v j s o n / b l o c k _ a l l o c a t o r . c p p
n a t i v e / e x t / v j s o n / b l o c k _ a l l o c a t o r . h
2012-11-26 02:41:57 +00:00
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
2013-11-18 13:05:26 +00:00
n a t i v e / f i l e / p a t h . c p p
n a t i v e / f i l e / p a t h . 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
2013-10-13 19:12:36 +00:00
n a t i v e / g f x / g l _ c o m m o n . h
2012-11-26 02:41:57 +00:00
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
2013-08-30 23:14:53 +00:00
n a t i v e / g f x _ e s 2 / d r a w _ t e x t . c p p
n a t i v e / g f x _ e s 2 / d r a w _ t e x t . h
2012-11-26 02:41:57 +00:00
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
2013-10-25 09:45:41 +00:00
n a t i v e / g f x _ e s 2 / g p u _ f e a t u r e s . c p p
n a t i v e / g f x _ e s 2 / g p u _ f e a t u r e s . h
2012-11-26 02:41:57 +00:00
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-10-08 15:45:37 +00:00
n a t i v e / g f x _ e s 2 / g l 3 s t u b . c
n a t i v e / g f x _ e s 2 / g l 3 s t u b . 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
2013-06-25 04:34:14 +00:00
n a t i v e / i n p u t / k e y c o d e s . h
2012-11-26 02:41:57 +00:00
n a t i v e / i n p u t / i n p u t _ s t a t e . h
2013-06-25 04:34:14 +00:00
n a t i v e / i n p u t / i n p u t _ s t a t e . c p p
2014-03-22 14:18:01 +00:00
n a t i v e / m a t h / f a s t / f a s t _ m a t h . c
n a t i v e / m a t h / f a s t / f a s t _ m a t r i x . c
2012-11-26 02:41:57 +00:00
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
2013-06-30 23:41:06 +00:00
n a t i v e / m a t h / e x p r e s s i o n _ p a r s e r . c p p
n a t i v e / m a t h / e x p r e s s i o n _ p a r s e r . h
2012-11-26 02:41:57 +00:00
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 / 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
2013-05-31 21:10:14 +00:00
n a t i v e / n e t / u r l . c p p
n a t i v e / n e t / u r l . h
2012-11-26 02:41:57 +00:00
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
2014-08-23 08:20:26 +00:00
n a t i v e / t h i n 3 d / t h i n 3 d . c p p
n a t i v e / t h i n 3 d / t h i n 3 d . h
n a t i v e / t h i n 3 d / t h i n 3 d _ g l . c p p
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
2013-06-03 19:46:10 +00:00
n a t i v e / u i / u i _ s c r e e n . c p p
n a t i v e / u i / u i _ s c r e e n . h
n a t i v e / u i / v i e w . c p p
n a t i v e / u i / v i e w . h
n a t i v e / u i / v i e w g r o u p . c p p
n a t i v e / u i / v i e w g r o u p . 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
2013-11-26 13:04:29 +00:00
n a t i v e / u t i l / t e x t / p a r s e r s . h
n a t i v e / u t i l / t e x t / p a r s e r s . c p p
2013-06-30 02:20:23 +00:00
n a t i v e / u t i l / c o n s t _ m a p . h
2013-07-04 22:07:01 +00:00
n a t i v e / e x t / j p g e / j p g d . c p p
n a t i v e / e x t / j p g e / j p g d . h
n a t i v e / e x t / j p g e / j p g e . c p p
2013-10-27 14:28:18 +00:00
n a t i v e / e x t / j p g e / j p g e . h )
2012-11-18 16:00:27 +00:00
include_directories ( native )
2013-12-19 10:10:46 +00:00
2014-06-27 16:49:50 +00:00
if ( LINUX AND NOT ANDROID )
2013-12-19 10:10:46 +00:00
SET ( RT_LIB rt )
endif ( )
2014-10-11 15:42:01 +00:00
target_link_libraries ( native ${ LIBZIP_LIBRARY } ${ PNG_LIBRARY } rg_etc1 vjson stb_vorbis snappy udis86 ${ RT_LIB } ${ GLEW_LIBRARIES } )
2013-10-27 14:28:18 +00:00
2012-11-18 16:00:27 +00:00
if ( ANDROID )
2014-06-27 16:49:50 +00:00
target_link_libraries ( native log EGL )
2013-10-27 14:28:18 +00:00
elseif ( 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 ( )
2013-10-27 14:28:18 +00:00
setup_target_project ( native native )
2012-11-18 16:00:27 +00:00
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 )
2015-02-15 05:22:20 +00:00
add_library ( sfmt19937 STATIC
e x t / s f m t 1 9 9 3 7 / S F M T . c
e x t / s f m t 1 9 9 3 7 / S F M T . h
e x t / s f m t 1 9 9 3 7 / S F M T - c o m m o n . h
e x t / s f m t 1 9 9 3 7 / S F M T - p a r a m s . h
e x t / s f m t 1 9 9 3 7 / S F M T - p a r a m s 1 9 9 3 7 . h
)
include_directories ( ext/sfmt19937 )
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 )
2013-08-17 05:58:38 +00:00
add_library ( xxhash STATIC
e x t / x x h a s h . c
e x t / x x h a s h . h
)
include_directories ( ext/xxhash )
2012-11-18 16:00:27 +00:00
set ( CoreExtra )
2013-06-07 02:54:59 +00:00
set ( CoreExtraLibs )
2012-11-18 16:00:27 +00:00
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
2013-11-19 15:25:38 +00:00
C o r e / M I P S / A R M / A r m C o m p V F P U N E O N . c p p
2014-12-06 23:32:14 +00:00
C o r e / M I P S / A R M / A r m C o m p V F P U N E O N U t i l . c p p
2013-12-17 22:40:27 +00:00
C o r e / M I P S / A R M / A r m C o m p R e p l a c e . c p p
2013-01-13 10:52:41 +00:00
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
2014-09-10 08:44:22 +00:00
G P U / C o m m o n / V e r t e x D e c o d e r A r m . c p p
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
2013-12-17 22:40:27 +00:00
C o r e / M I P S / x 8 6 / C o m p R e p l a c e . c p p
2012-11-26 02:41:57 +00:00
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
2014-05-04 22:59:58 +00:00
C o r e / M I P S / x 8 6 / J i t S a f e M e m . c p p
C o r e / M I P S / x 8 6 / J i t S a f e M e m . h
2012-11-26 02:41:57 +00:00
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
2013-09-29 17:59:55 +00:00
C o r e / M I P S / x 8 6 / R e g C a c h e F P U . h
2014-09-10 08:44:22 +00:00
G P U / C o m m o n / V e r t e x D e c o d e r X 8 6 . c p p
2013-09-29 17:59:55 +00:00
e x t / d i s a r m . c p p )
2014-11-18 08:35:37 +00:00
elseif ( MIPS )
set ( CoreExtra ${ CoreExtra }
C o r e / M I P S / M I P S / M i p s J i t . c p p
C o r e / M I P S / M I P S / M i p s J i t . h
G P U / C o m m o n / V e r t e x D e c o d e r F a k e . c p p
e x t / d i s a r m . c p p )
2014-11-13 13:23:53 +00:00
else ( )
set ( CoreExtra ${ CoreExtra }
C o r e / M I P S / f a k e / F a k e J i t . c p p
C o r e / M I P S / f a k e / F a k e J i t . h
G P U / C o m m o n / V e r t e x D e c o d e r F a k e . c p p
e x t / d i s a r m . c p p )
2012-11-18 16:00:27 +00:00
endif ( )
2015-01-11 21:50:52 +00:00
if ( ARMV7 )
set ( CORE_NEON Core/Util/AudioFormatNEON.cpp Core/Util/AudioFormatNEON.h )
endif ( )
2012-11-18 16:00:27 +00:00
# '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 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
2013-05-31 05:42:27 +00:00
C o r e / C w C h e a t . c p p
C o r e / C w C h e a t . h
2013-06-23 04:25:55 +00:00
C o r e / H D R e m a s t e r . c p p
C o r e / H D R e m a s t e r . h
2013-08-10 16:08:31 +00:00
C o r e / T h r e a d E v e n t Q u e u e . h
2012-11-26 02:41:57 +00:00
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
2013-12-29 23:23:04 +00:00
C o r e / D e b u g g e r / D i s a s s e m b l y M a n a g e r . c p p
C o r e / D e b u g g e r / D i s a s s e m b l y M a n a g e r . 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
2013-09-13 23:50:22 +00:00
C o r e / D i a l o g / P S P G a m e d a t a I n s t a l l D i a l o g . c p p
2013-09-13 15:19:53 +00:00
C o r e / D i a l o g / P S P G a m e d a t a I n s t a l l 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 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
2013-10-13 02:32:56 +00:00
C o r e / D i a l o g / P S P N e t c o n f D i a l o g . c p p
C o r e / D i a l o g / P S P N e t c o n f 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
2014-04-28 13:54:52 +00:00
C o r e / D i a l o g / P S P S c r e e n s h o t D i a l o g . c p p
C o r e / D i a l o g / P S P S c r e e n s h o t 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 / 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
2013-12-29 22:28:31 +00:00
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 . 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 / 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-07-28 06:46:26 +00:00
C o r e / F i l e S y s t e m s / V i r t u a l D i s c 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 / V i r t u a l D i s c 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
2013-11-30 19:57:44 +00:00
C o r e / H L E / R e p l a c e T a b l e s . c p p
C o r e / H L E / R e p l a c e T a b l e s . h
2014-05-23 06:38:21 +00:00
C o r e / H L E / H L E H e l p e r T h r e a d . c p p
C o r e / H L E / H L E H e l p e r T h r e a d . h
2012-11-26 02:41:57 +00:00
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
2013-09-03 00:59:47 +00:00
C o r e / H L E / K e r n e l W a i t H e l p e r s . h
2012-11-26 02:41:57 +00:00
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
2015-02-08 01:35:00 +00:00
C o r e / H L E / s c e A d l e r . c p p
C o r e / H L E / s c e A d l e r . h
2012-11-26 02:41:57 +00:00
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
2013-06-09 09:17:17 +00:00
C o r e / H L E / s c e A u d i o c o d e c . c p p
C o r e / H L E / s c e A u d i o c o d e c . h
2012-11-26 02:41:57 +00:00
C o r e / H L E / s c e A u d i o . h
2013-06-30 12:21:56 +00:00
C o r e / H L E / s c e C c c . h
C o r e / H L E / s c e C c c . c p p
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
2013-09-04 08:34:00 +00:00
C o r e / H L E / s c e H e a p . c p p
C o r e / H L E / s c e H e a p . h
2012-11-26 02:41:57 +00:00
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
2013-09-06 22:55:42 +00:00
C o r e / H L E / s c e N e t A d h o c . c p p
C o r e / H L E / s c e N e t A d h o c . h
2013-11-10 01:26:31 +00:00
C o r e / H L E / p r o A d h o c . h
C o r e / H L E / p r o A d h o c . c p p
2014-08-04 13:15:58 +00:00
C o r e / H L E / p r o A d h o c S e r v e r . h
C o r e / H L E / p r o A d h o c S e r v e r . c p p
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
2014-01-25 04:19:48 +00:00
C o r e / H L E / s c e M t 1 9 9 3 7 . c p p
C o r e / H L E / s c e M t 1 9 9 3 7 . 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
2015-02-15 05:22:20 +00:00
C o r e / H L E / s c e S f m t 1 9 9 3 7 . c p p
C o r e / H L E / s c e S f m t 1 9 9 3 7 . h
2014-12-05 07:24:39 +00:00
C o r e / H L E / s c e S h a 2 5 6 . c p p
C o r e / H L E / s c e S h a 2 5 6 . 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
2014-08-12 16:11:26 +00:00
C o r e / H L E / s c e U s b G p s . c p p
C o r e / H L E / s c e U s b G p s . 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
2014-03-23 18:45:08 +00:00
C o r e / H W / S i m p l e A u d i o D e c . c p p
C o r e / H W / S i m p l e A u d i o D e c . h
2013-08-11 18:40:41 +00:00
C o r e / H W / A s y n c I O M a n a g e r . c p p
C o r e / H W / A s y n c I O M a n a g e r . 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
2013-06-01 21:37:51 +00:00
C o r e / H W / M p e g D e m u x . c p p
C o r e / H W / M p e g D e m u x . 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
2015-01-11 14:13:43 +00:00
C o r e / H W / S t e r e o R e s a m p l e r . c p p
C o r e / H W / S t e r e o R e s a m p l e r . 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
2014-12-13 20:11:36 +00:00
C o r e / M I P S / J i t C o m m o n / N a t i v e J i t . 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
2013-08-12 08:54:14 +00:00
C o r e / M I P S / M I P S S t a c k W a l k . c p p
C o r e / M I P S / M I P S S t a c k W a l k . h
2012-11-26 02:41:57 +00:00
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
2013-07-28 12:50:25 +00:00
C o r e / M I P S / M I P S A s m . c p p
C o r e / M I P S / M I P S A s m . h
2012-11-26 02:41:57 +00:00
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
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
2014-12-21 07:14:46 +00:00
C o r e / S c r e e n s h o t . c p p
C o r e / S c r e e n s h o t . 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
2015-01-11 21:50:52 +00:00
C o r e / U t i l / A u d i o F o r m a t . c p p
C o r e / U t i l / A u d i o F o r m a t . h
2013-11-20 13:42:48 +00:00
C o r e / U t i l / G a m e M a n a g e r . c p p
C o r e / U t i l / G a m e M a n a g e r . h
2012-11-26 02:41:57 +00:00
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
2015-01-11 21:50:52 +00:00
$ { C O R E _ N E O N }
2012-11-26 02:41:57 +00:00
$ < 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 )
2015-02-15 09:08:19 +00:00
target_link_libraries ( ${ CoreLibName } Common native kirk cityhash sfmt19937 xbrz xxhash
2014-06-11 13:02:56 +00:00
$ { C o r e E x t r a L i b s } $ { 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 } $ { X 1 1 _ L I B R A R I E S } $ { C M A K E _ D L _ L I B 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 )
2014-06-18 06:15:47 +00:00
if ( ARMV7 )
2013-11-03 05:59:10 +00:00
set ( GPU_NEON GPU/Common/TextureDecoderNEON.cpp )
endif ( )
2012-11-18 16:00:27 +00:00
add_library ( GPU OBJECT
2014-09-09 15:12:42 +00:00
G P U / C o m m o n / F r a m e b u f f e r C o m m o n . c p p
G P U / C o m m o n / F r a m e b u f f e r C o m m o n . h
2013-09-22 07:18:46 +00:00
G P U / C o m m o n / G P U D e b u g I n t e r f a c e . h
2014-09-13 13:13:34 +00:00
G P U / C o m m o n / D r a w E n g i n e C o m m o n . c p p
G P U / C o m m o n / D r a w E n g i n e C o m m o n . h
G P U / C o m m o n / S p l i n e C o m m o n . c p p
G P U / C o m m o n / S p l i n e C o m m o n . h
2014-09-13 11:27:42 +00:00
G P U / C o m m o n / S o f t w a r e T r a n s f o r m C o m m o n . c p p
G P U / C o m m o n / S o f t w a r e T r a n s f o r m C o m m o n . h
2013-09-15 10:46:14 +00:00
G P U / C o m m o n / V e r t e x D e c o d e r C o m m o n . c p p
2013-09-15 15:18:20 +00:00
G P U / C o m m o n / V e r t e x D e c o d e r C o m m o n . h
2014-04-18 13:31:12 +00:00
G P U / C o m m o n / T r a n s f o r m C o m m o n . c p p
G P U / C o m m o n / T r a n s f o r m C o m m o n . h
2013-09-15 10:46:14 +00:00
G P U / C o m m o n / I n d e x G e n e r a t o r . c p p
2013-09-15 15:18:20 +00:00
G P U / C o m m o n / I n d e x G e n e r a t o r . h
2013-09-16 04:27:13 +00:00
G P U / C o m m o n / T e x t u r e D e c o d e r . c p p
G P U / C o m m o n / T e x t u r e D e c o d e r . h
2014-09-13 11:27:42 +00:00
G P U / C o m m o n / T e x t u r e C a c h e C o m m o n . c p p
G P U / C o m m o n / T e x t u r e C a c h e C o m m o n . h
2013-11-03 05:59:10 +00:00
$ { G P U _ N E O N }
2013-10-12 00:05:55 +00:00
G P U / C o m m o n / P o s t S h a d e r . c p p
G P U / C o m m o n / P o s t S h a d e r . h
2013-09-24 12:13:13 +00:00
G P U / C o m m o n / S p l i n e C o m m o n . h
2013-10-12 11:02:21 +00:00
G P U / D e b u g g e r / B r e a k p o i n t s . c p p
G P U / D e b u g g e r / B r e a k p o i n t s . h
2013-10-12 17:02:21 +00:00
G P U / D e b u g g e r / S t e p p i n g . c p p
G P U / D e b u g g e r / S t e p p i n g . h
2014-03-30 00:11:15 +00:00
G P U / G L E S / D e p a l e t t i z e S h a d e r . c p p
G P U / G L E S / D e p a l e t t i z e S h a d e r . h
2013-08-21 00:11:34 +00:00
G P U / G L E S / G L E S _ G P U . c p p
G P U / G L E S / G L E S _ G P U . h
2012-11-26 02:41:57 +00:00
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
2014-08-24 22:26:38 +00:00
G P U / G L E S / F r a g m e n t T e s t C a c h e . c p p
G P U / G L E S / F r a g m e n t T e s t C a c h e . h
2012-11-26 02:41:57 +00:00
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
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
2013-08-22 23:03:40 +00:00
G P U / G L E S / S p l i n e . c p p
2012-11-26 02:41:57 +00:00
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
2014-06-01 01:24:35 +00:00
G P U / G L E S / S t e n c i l B u f f e r . c p p
2012-11-26 02:41:57 +00:00
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
2015-01-22 18:53:32 +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 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
2013-06-26 17:57:27 +00:00
G P U / S o f t w a r e / C l i p p e r . c p p
G P U / S o f t w a r e / C l i p p e r . h
2013-06-28 21:08:15 +00:00
G P U / S o f t w a r e / L i g h t i n g . c p p
G P U / S o f t w a r e / L i g h t i n g . h
2013-06-26 17:57:27 +00:00
G P U / S o f t w a r e / R a s t e r i z e r . c p p
G P U / S o f t w a r e / R a s t e r i z e r . h
2013-06-24 14:03:25 +00:00
G P U / S o f t w a r e / S o f t G p u . c p p
G P U / S o f t w a r e / S o f t G p u . h
2013-06-24 18:58:35 +00:00
G P U / S o f t w a r e / T r a n s f o r m U n i t . c p p
G P U / S o f t w a r e / T r a n s f o r m U n i t . h
2012-11-26 02:41:57 +00:00
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
2013-07-01 22:20:19 +00:00
W i n d o w s / D e b u g g e r / B r e a k p o i n t W i n d o w . c p p
W i n d o w s / D e b u g g e r / B r e a k p o i n t W i n d o w . h
2012-11-26 02:41:57 +00:00
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
2013-06-30 23:41:06 +00:00
W i n d o w s / D e b u g g e r / D e b u g g e r S h a r e d . c p p
2013-06-30 11:42:19 +00:00
W i n d o w s / D e b u g g e r / D e b u g g e r S h a r e d . h
2012-11-26 02:41:57 +00:00
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
2013-07-02 21:21:20 +00:00
W i n d o w s / D e b u g g e r / D e b u g g e r _ L i s t s . 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 _ L i s t s . h
2012-11-26 02:41:57 +00:00
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 ( )
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
2013-10-17 16:09:44 +00:00
a s s e t s / s h a d e r s
a s s e t s / p p g e _ a t l a s . z i m
2013-12-07 04:26:39 +00:00
a s s e t s / l a n g r e g i o n . i n i
a s s e t s / u n k n o w n . p n g )
2012-12-02 04:48:00 +00:00
set ( LinkCommon ${ CoreLibName } ${ CMAKE_THREAD_LIBS_INIT } ${ nativeExtraLibs } )
2013-12-06 10:33:51 +00:00
2013-10-20 00:35:46 +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
U I / O n S c r e e n D i s p l a y . 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
$ { C O C O A _ L I B R A R Y } $ { L i n k C o m m o n } )
setup_target_project ( PPSSPPHeadless headless )
endif ( )
2014-01-09 11:09:07 +00:00
if ( UNITTEST )
add_executable ( unitTest
u n i t t e s t / U n i t T e s t . c p p
)
target_link_libraries ( unitTest
$ { C O C O A _ L I B R A R Y } $ { L i n k C o m m o n } )
setup_target_project ( unitTest unittest )
endif ( )
2012-12-02 04:48:00 +00:00
if ( TargetBin )
2014-07-23 05:54:46 +00:00
if ( IOS OR APPLE )
2015-02-02 08:17:03 +00:00
set ( ICON_PATH_ABS ${ CMAKE_CURRENT_SOURCE_DIR } /assets/ppsspp.icns )
set ( MACOSX_BUNDLE_ICON_FILE ppsspp.icns )
2014-07-23 05:54:46 +00:00
set_source_files_properties ( ${ ICON_PATH_ABS } PROPERTIES MACOSX_PACKAGE_LOCATION "Resources" )
2014-07-23 06:12:18 +00:00
# TODO: there must a native way to copy these.
# Now this is very prone to errors when changes occur.
# Also better to have assets under Resources dir.
file ( GLOB_RECURSE FLASH0_FILES flash0/* )
file ( GLOB_RECURSE LANG_FILES lang/* )
file ( GLOB_RECURSE SHADER_FILES assets/shaders/* )
set_source_files_properties ( ${ NativeAssets } PROPERTIES MACOSX_PACKAGE_LOCATION "MacOS/assets" )
set_source_files_properties ( ${ FLASH0_FILES } PROPERTIES MACOSX_PACKAGE_LOCATION "MacOS/assets/flash0/font" )
set_source_files_properties ( ${ LANG_FILES } PROPERTIES MACOSX_PACKAGE_LOCATION "MacOS/assets/lang" )
set_source_files_properties ( ${ SHADER_FILES } PROPERTIES MACOSX_PACKAGE_LOCATION "MacOS/assets/shaders" )
2015-02-02 08:17:03 +00:00
2014-10-08 20:00:01 +00:00
add_executable ( ${ TargetBin } MACOSX_BUNDLE ${ ICON_PATH_ABS } ${ NativeAssets } ${ SHADER_FILES } ${ FLASH0_FILES } ${ LANG_FILES } ${ NativeAppSource } )
2013-02-24 03:23:04 +00:00
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 )
2013-12-07 04:26:39 +00:00
file ( INSTALL flash0 lang DESTINATION assets )
2012-12-02 04:48:00 +00:00
2013-10-31 10:54:59 +00:00
if ( APPLE AND NOT IOS )
set ( CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -F /Library/Frameworks" )
endif ( )
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 )
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
2014-10-08 20:00:36 +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 g n u 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 "
2014-05-17 05:53:40 +00:00
X C O D E _ A T T R I B U T E _ C L A N G _ E N A B L E _ O B J C _ A R C Y E S
2013-03-15 08:29:33 +00:00
)
2013-02-17 14:04:44 +00:00
endif ( )
2012-11-18 16:00:27 +00:00
#include(CPack)