Created
May 5, 2017 05:11
-
-
Save hcorion/629dfbed2aee6d7e5f74bbab5b60d2fc to your computer and use it in GitHub Desktop.
RPCS3 cmake with installation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
cmake_minimum_required(VERSION 2.8.12) | |
# uncomment next line if you want to build with GDB stub | |
# add_definitions(-DWITH_GDB_DEBUGGER) | |
set(ASMJIT_STATIC TRUE) | |
if (NOT CMAKE_BUILD_TYPE) | |
message(STATUS "No build type selected, default to Release") | |
set(CMAKE_BUILD_TYPE "Release") | |
endif() | |
if(NOT CMAKE_SIZEOF_VOID_P EQUAL 8) | |
message( FATAL_ERROR "RPCS3 can only be compiled on 64-bit platforms." ) | |
endif() | |
if (CMAKE_COMPILER_IS_GNUCC AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.1) | |
message( FATAL_ERROR "RPCS3 requires at least gcc-5.1." ) | |
endif() | |
if (CMAKE_COMPILER_IS_GNUCC AND CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 6.1) | |
message( FATAL_ERROR "RPCS3 can't be compiled with gcc-6.1, see #1691." ) | |
endif() | |
find_program(CCACHE_FOUND ccache) | |
if (CCACHE_FOUND) | |
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache) | |
set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache) | |
endif() | |
add_definitions(-DCMAKE_BUILD) | |
# We use libpng's static library and don't need to build the shared library and run the tests | |
set(PNG_SHARED OFF CACHE BOOL "Build shared lib." FORCE) | |
set(PNG_TESTS OFF CACHE BOOL "Build tests." FORCE) | |
# Select the version of libpng to use, default is builtin | |
if (NOT USE_SYSTEM_LIBPNG) | |
add_subdirectory( 3rdparty/libpng ) | |
endif() | |
option(VULKAN_PREBUILT "" OFF) | |
# TODO: do real installation, including copying directory structure | |
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE "${PROJECT_BINARY_DIR}/bin") | |
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG "${PROJECT_BINARY_DIR}/bin") | |
add_subdirectory( Vulkan ) | |
add_subdirectory( rpcs3 ) | |
add_subdirectory( rsx_program_decompiler ) | |
include_directories(3rdparty/hidapi/hidapi) | |
if(APPLE) | |
add_subdirectory(3rdparty/hidapi/mac) | |
#list(APPEND LIBS hidapi) | |
elseif(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") | |
add_subdirectory(3rdparty/hidapi/linux) | |
elseif(MSVC) | |
add_subdirectory(3rdparty/hidapi/windows) | |
else() | |
add_subdirectory(3rdparty/hidapi/libusb) | |
#list(APPEND LIBS hidapi-libusb) | |
endif() | |
# Linux installation | |
set(bindir ${CMAKE_INSTALL_PREFIX}/bin CACHE PATH "bindir") | |
if(CMAKE_SYSTEM_NAME MATCHES "Linux|FreeBSD|OpenBSD") | |
# Install the application icon and menu item | |
install(FILES Data/rpcs3.svg | |
DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/scalable/apps) | |
install(FILES Data/rpcs3.png | |
DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/48x48/apps) | |
install(FILES Data/rpcs3.desktop | |
DESTINATION ${CMAKE_INSTALL_PREFIX}/share/applications) | |
install(FILES Data/rpcs3.xml | |
DESTINATION ${CMAKE_INSTALL_PREFIX}/share/mime/packages) | |
# TODO: Create and install linux man pages. | |
endif() | |
# Question, should we setup CPack? |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment