mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-08 07:51:28 +12:00
CMake minor improvements (#3783)
* cmake: simplify GLEW integration * cmake: simplify ZLIB integration * cmake: simplify ALSA detection * cmake: check C++ compiler and flags instead of C ones * cmake: bring consistency in Qt packages detection and remove unnecessary related "include_directories" * cmake: harmonize coding style * cmake: set CMAKE_INCLUDE_CURRENT_DIR to ON only when necessary
This commit is contained in:
parent
b22f3d7a55
commit
5f07f78c23
2 changed files with 101 additions and 148 deletions
|
@ -3,30 +3,28 @@ cmake_minimum_required(VERSION 3.1)
|
||||||
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake_modules")
|
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake_modules")
|
||||||
set(RES_FILES "")
|
set(RES_FILES "")
|
||||||
set(CMAKE_CXX_STANDARD 14)
|
set(CMAKE_CXX_STANDARD 14)
|
||||||
include(CheckCCompilerFlag)
|
include(CheckCXXCompilerFlag)
|
||||||
|
|
||||||
# Qt section
|
# Qt section
|
||||||
find_package(Qt5 5.7 COMPONENTS Widgets)
|
find_package(Qt5 5.7 COMPONENTS Widgets)
|
||||||
if (WIN32)
|
if(WIN32)
|
||||||
find_package(Qt5WinExtras REQUIRED)
|
find_package(Qt5 5.7 COMPONENTS WinExtras REQUIRED)
|
||||||
set(RPCS3_QT_LIBS Qt5::Widgets Qt5::WinExtras)
|
set(RPCS3_QT_LIBS Qt5::Widgets Qt5::WinExtras)
|
||||||
include_directories(${Qt5Widgets_INCLUDE_DIRS} ${Qt5WinExtras_INCLUDE_DIRS})
|
|
||||||
else()
|
else()
|
||||||
find_package(Qt5DBus)
|
find_package(Qt5 5.7 COMPONENTS DBus)
|
||||||
if (Qt5DBus_FOUND)
|
if(Qt5DBus_FOUND)
|
||||||
set(RPCS3_QT_LIBS Qt5::Widgets Qt5::DBus)
|
set(RPCS3_QT_LIBS Qt5::Widgets Qt5::DBus)
|
||||||
add_definitions(-DHAVE_QTDBUS)
|
add_definitions(-DHAVE_QTDBUS)
|
||||||
else()
|
else()
|
||||||
set(RPCS3_QT_LIBS Qt5::Widgets)
|
set(RPCS3_QT_LIBS Qt5::Widgets)
|
||||||
endif()
|
endif()
|
||||||
include_directories(${Qt5Widgets_INCLUDE_DIRS})
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Let's make sure we have Qt before we continue
|
# Let's make sure we have Qt before we continue
|
||||||
if (NOT Qt5Widgets_FOUND)
|
if(NOT Qt5Widgets_FOUND)
|
||||||
if (Qt5Widgets_VERSION VERSION_LESS 5.7.0)
|
if(Qt5Widgets_VERSION VERSION_LESS 5.7.0)
|
||||||
message("Minimum supported Qt5 version is 5.7! You have version ${Qt5Widgets_VERSION} installed, please upgrade!")
|
message("Minimum supported Qt5 version is 5.7! You have version ${Qt5Widgets_VERSION} installed, please upgrade!")
|
||||||
if ("${CMAKE_SYSTEM}" MATCHES "Linux")
|
if("${CMAKE_SYSTEM}" MATCHES "Linux")
|
||||||
message(FATAL_ERROR "Most distros do not provide an up-to-date version of Qt.
|
message(FATAL_ERROR "Most distros do not provide an up-to-date version of Qt.
|
||||||
If you're on Ubuntu or Linux Mint, there are PPAs you can use to install an up-to-date qt5 version.
|
If you're on Ubuntu or Linux Mint, there are PPAs you can use to install an up-to-date qt5 version.
|
||||||
https://launchpad.net/~beineri/+archive/ubuntu/opt-qt592-xenial
|
https://launchpad.net/~beineri/+archive/ubuntu/opt-qt592-xenial
|
||||||
|
@ -39,11 +37,10 @@ before re-running cmake")
|
||||||
else()
|
else()
|
||||||
message(FATAL_ERROR "Look online for instructions on installing an up-to-date Qt5 on ${CMAKE_SYSTEM}.")
|
message(FATAL_ERROR "Look online for instructions on installing an up-to-date Qt5 on ${CMAKE_SYSTEM}.")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
message("CMake was unable to find Qt5!")
|
message("CMake was unable to find Qt5!")
|
||||||
if (WIN32)
|
if(WIN32)
|
||||||
message(FATAL_ERROR "Make sure the QTDIR env variable has been set properly. (for example C:\\Qt\\5.8\\msvc2017_64\\)")
|
message(FATAL_ERROR "Make sure the QTDIR env variable has been set properly. (for example C:\\Qt\\5.8\\msvc2017_64\\)")
|
||||||
elseif("${CMAKE_SYSTEM}" MATCHES "Linux")
|
elseif("${CMAKE_SYSTEM}" MATCHES "Linux")
|
||||||
message(FATAL_ERROR "Make sure to install your distro's qt5 package!")
|
message(FATAL_ERROR "Make sure to install your distro's qt5 package!")
|
||||||
|
@ -57,13 +54,15 @@ set(CMAKE_AUTOMOC ON)
|
||||||
set(CMAKE_AUTOUIC ON)
|
set(CMAKE_AUTOUIC ON)
|
||||||
|
|
||||||
# To make UI files on cmake 3.7 or less work
|
# To make UI files on cmake 3.7 or less work
|
||||||
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
if(CMAKE_VERION VERSION_LESS 3.8)
|
||||||
|
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||||
|
endif()
|
||||||
|
|
||||||
if (Qt5_POSITION_INDEPENDENT_CODE)
|
if(Qt5_POSITION_INDEPENDENT_CODE)
|
||||||
SET(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||||
if(UNIX)
|
if(UNIX)
|
||||||
# Cotire needs this set for some reason
|
# Cotire needs this set for some reason
|
||||||
SET(CMAKE_CXX_COMPILE_OPTIONS_PIE -fPIC)
|
set(CMAKE_CXX_COMPILE_OPTIONS_PIE -fPIC)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
@ -108,7 +107,7 @@ if(NOT MSVC)
|
||||||
|
|
||||||
add_compile_options(-msse -msse2 -mcx16 -mssse3 -mrtm)
|
add_compile_options(-msse -msse2 -mcx16 -mssse3 -mrtm)
|
||||||
|
|
||||||
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
||||||
# This fixes 'some' of the st11range issues. See issue #2516
|
# This fixes 'some' of the st11range issues. See issue #2516
|
||||||
if(APPLE)
|
if(APPLE)
|
||||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-image_base,0x10000 -Wl,-pagezero_size,0x10000")
|
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-image_base,0x10000 -Wl,-pagezero_size,0x10000")
|
||||||
|
@ -121,8 +120,8 @@ if(NOT MSVC)
|
||||||
if(APPLE)
|
if(APPLE)
|
||||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-no_pie")
|
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-no_pie")
|
||||||
else()
|
else()
|
||||||
CHECK_C_COMPILER_FLAG("-no-pie" HAS_NO_PIE)
|
CHECK_CXX_COMPILER_FLAG("-no-pie" HAS_NO_PIE)
|
||||||
CHECK_C_COMPILER_FLAG("-nopie" HAS_NOPIE)
|
CHECK_CXX_COMPILER_FLAG("-nopie" HAS_NOPIE)
|
||||||
|
|
||||||
if(HAS_NO_PIE)
|
if(HAS_NO_PIE)
|
||||||
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -no-pie")
|
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -no-pie")
|
||||||
|
@ -131,7 +130,6 @@ if(NOT MSVC)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
find_package(GLEW REQUIRED)
|
|
||||||
find_package(ZLIB REQUIRED)
|
find_package(ZLIB REQUIRED)
|
||||||
else()
|
else()
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Zc:throwingNew /D _CRT_SECURE_NO_DEPRECATE=1 /D _CRT_NON_CONFORMING_SWPRINTFS=1 /D _SCL_SECURE_NO_WARNINGS=1")
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Zc:throwingNew /D _CRT_SECURE_NO_DEPRECATE=1 /D _CRT_NON_CONFORMING_SWPRINTFS=1 /D _SCL_SECURE_NO_WARNINGS=1")
|
||||||
|
@ -154,19 +152,19 @@ if(UNIX AND NOT APPLE)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(NOT RPCS3_SRC_DIR)
|
if(NOT RPCS3_SRC_DIR)
|
||||||
SET(RPCS3_SRC_DIR ${CMAKE_CURRENT_LIST_DIR})
|
set(RPCS3_SRC_DIR ${CMAKE_CURRENT_LIST_DIR})
|
||||||
Message("-- Initializing RPCS3_SRC_DIR=${RPCS3_SRC_DIR}")
|
message("-- Initializing RPCS3_SRC_DIR=${RPCS3_SRC_DIR}")
|
||||||
else()
|
else()
|
||||||
Message("-- Using Custom RPCS3_SRC_DIR=${RPCS3_SRC_DIR}")
|
message("-- Using Custom RPCS3_SRC_DIR=${RPCS3_SRC_DIR}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(CMAKE_MODULE_PATH "${RPCS3_SRC_DIR}/cmake_modules")
|
set(CMAKE_MODULE_PATH "${RPCS3_SRC_DIR}/cmake_modules")
|
||||||
|
|
||||||
find_package(OpenGL REQUIRED)
|
find_package(OpenGL REQUIRED)
|
||||||
find_package(OpenAL REQUIRED)
|
find_package(OpenAL REQUIRED)
|
||||||
if (NOT WITHOUT_LLVM)
|
if(NOT WITHOUT_LLVM)
|
||||||
find_package(LLVM 4.0 CONFIG)
|
find_package(LLVM 4.0 CONFIG)
|
||||||
if (NOT LLVM_FOUND)
|
if(NOT LLVM_FOUND)
|
||||||
message("System LLVM was not found, LLVM will be built from the submodule.")
|
message("System LLVM was not found, LLVM will be built from the submodule.")
|
||||||
|
|
||||||
set(LLVM_TARGETS_TO_BUILD "X86" CACHE INTERNAL "")
|
set(LLVM_TARGETS_TO_BUILD "X86" CACHE INTERNAL "")
|
||||||
|
@ -185,7 +183,7 @@ if (NOT WITHOUT_LLVM)
|
||||||
|
|
||||||
# now tries to find LLVM again
|
# now tries to find LLVM again
|
||||||
find_package(LLVM 4.0 CONFIG)
|
find_package(LLVM 4.0 CONFIG)
|
||||||
if (NOT LLVM_FOUND)
|
if(NOT LLVM_FOUND)
|
||||||
message(WARNING "Couldn't build LLVM from the submodule. You might need to run `git submodule update --init`")
|
message(WARNING "Couldn't build LLVM from the submodule. You might need to run `git submodule update --init`")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
@ -205,12 +203,11 @@ else()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(USE_ALSA)
|
if(USE_ALSA)
|
||||||
find_package(PkgConfig)
|
find_package(ALSA)
|
||||||
pkg_check_modules(ALSA alsa)
|
|
||||||
if(ALSA_FOUND)
|
if(ALSA_FOUND)
|
||||||
add_definitions(-DHAVE_ALSA)
|
add_definitions(-DHAVE_ALSA)
|
||||||
include_directories(SYSTEM ${ALSA_INCLUDE_DIRS})
|
include_directories(SYSTEM ${ALSA_INCLUDE_DIRS})
|
||||||
list(APPEND ADDITIONAL_LIBS ${ALSA_LDFLAGS})
|
list(APPEND ADDITIONAL_LIBS ${ALSA_LIBRARIES})
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
if(USE_PULSE)
|
if(USE_PULSE)
|
||||||
|
@ -265,8 +262,6 @@ else()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
include_directories(
|
include_directories(
|
||||||
${GLEW_INCLUDE_DIR}
|
|
||||||
${ZLIB_INCLUDE_DIR}
|
|
||||||
${OPENAL_INCLUDE_DIR}
|
${OPENAL_INCLUDE_DIR}
|
||||||
${LLVM_INCLUDE_DIRS}
|
${LLVM_INCLUDE_DIRS}
|
||||||
"${RPCS3_SRC_DIR}/../3rdparty/pugixml/src"
|
"${RPCS3_SRC_DIR}/../3rdparty/pugixml/src"
|
||||||
|
@ -295,17 +290,17 @@ if(WIN32)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(NOT LLVM_FOUND)
|
if(NOT LLVM_FOUND)
|
||||||
Message("LLVM 4.0 not found. RPCS3 will be compiled without LLVM support.")
|
message("LLVM 4.0 not found. RPCS3 will be compiled without LLVM support.")
|
||||||
else()
|
else()
|
||||||
add_definitions(${LLVM_DEFINITIONS})
|
add_definitions(${LLVM_DEFINITIONS})
|
||||||
add_definitions(-DLLVM_AVAILABLE)
|
add_definitions(-DLLVM_AVAILABLE)
|
||||||
if (CMAKE_BUILD_TYPE STREQUAL "Release")
|
if(CMAKE_BUILD_TYPE STREQUAL "Release")
|
||||||
llvm_map_components_to_libnames(LLVM_LIBS core support executionengine object runtimedyld x86desc x86info scalaropts mcjit vectorize ipo x86codegen x86disassembler)
|
llvm_map_components_to_libnames(LLVM_LIBS core support executionengine object runtimedyld x86desc x86info scalaropts mcjit vectorize ipo x86codegen x86disassembler)
|
||||||
else()
|
else()
|
||||||
llvm_map_components_to_libnames(LLVM_LIBS core support executionengine object runtimedyld x86desc x86info scalaropts mcjit vectorize ipo x86codegen x86disassembler mcdisassembler)
|
llvm_map_components_to_libnames(LLVM_LIBS core support executionengine object runtimedyld x86desc x86info scalaropts mcjit vectorize ipo x86codegen x86disassembler mcdisassembler)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (NOT MSVC)
|
if(NOT MSVC)
|
||||||
set_source_files_properties(${RPCS3_SRC_DIR}/../Utilities/JIT.cpp PROPERTIES COMPILE_FLAGS -fno-rtti)
|
set_source_files_properties(${RPCS3_SRC_DIR}/../Utilities/JIT.cpp PROPERTIES COMPILE_FLAGS -fno-rtti)
|
||||||
set_source_files_properties(${RPCS3_SRC_DIR}/Emu/Cell/PPUTranslator.cpp PROPERTIES COMPILE_FLAGS -fno-rtti)
|
set_source_files_properties(${RPCS3_SRC_DIR}/Emu/Cell/PPUTranslator.cpp PROPERTIES COMPILE_FLAGS -fno-rtti)
|
||||||
endif()
|
endif()
|
||||||
|
@ -324,7 +319,7 @@ if(NOT USE_SYSTEM_FFMPEG)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
get_property(dirs DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY INCLUDE_DIRECTORIES)
|
get_property(dirs DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY INCLUDE_DIRECTORIES)
|
||||||
foreach(dir ${dirs})
|
foreach (dir ${dirs})
|
||||||
message(STATUS "dir='${dir}'")
|
message(STATUS "dir='${dir}'")
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
|
@ -336,7 +331,7 @@ RPCS3_SRC
|
||||||
"${RPCS3_SRC_DIR}/../asmjit/src/asmjit/*.cpp"
|
"${RPCS3_SRC_DIR}/../asmjit/src/asmjit/*.cpp"
|
||||||
)
|
)
|
||||||
|
|
||||||
if (NOT WIN32 AND VULKAN_FOUND)
|
if(NOT WIN32 AND VULKAN_FOUND)
|
||||||
# Compile glslang and SPIRV modules needed for glsl compilation
|
# Compile glslang and SPIRV modules needed for glsl compilation
|
||||||
file(
|
file(
|
||||||
GLOB_RECURSE
|
GLOB_RECURSE
|
||||||
|
@ -348,25 +343,25 @@ if (NOT WIN32 AND VULKAN_FOUND)
|
||||||
"${RPCS3_SRC_DIR}/../Vulkan/glslang/SPIRV/*.cpp"
|
"${RPCS3_SRC_DIR}/../Vulkan/glslang/SPIRV/*.cpp"
|
||||||
)
|
)
|
||||||
|
|
||||||
set (RPCS3_SRC ${RPCS3_SRC} ${UNIX_GLSLANG})
|
set(RPCS3_SRC ${RPCS3_SRC} ${UNIX_GLSLANG})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
#File exclusion section
|
#File exclusion section
|
||||||
|
|
||||||
if(NOT WIN32 AND NOT VULKAN_FOUND)
|
if(NOT WIN32 AND NOT VULKAN_FOUND)
|
||||||
set (EXCLUDE_FILES "/RSX/VK/")
|
set(EXCLUDE_FILES "/RSX/VK/")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Ignore autogenerated moc_* files if present
|
# Ignore autogenerated moc_* files if present
|
||||||
set (EXCLUDE_FILES ${EXCLUDE_FILES} "moc_")
|
set(EXCLUDE_FILES ${EXCLUDE_FILES} "moc_")
|
||||||
set (EXCLUDE_FILES ${EXCLUDE_FILES} "rpcs3_automoc")
|
set(EXCLUDE_FILES ${EXCLUDE_FILES} "rpcs3_automoc")
|
||||||
set (EXCLUDE_FILES ${EXCLUDE_FILES} "qrc_resources.cpp")
|
set(EXCLUDE_FILES ${EXCLUDE_FILES} "qrc_resources.cpp")
|
||||||
|
|
||||||
foreach (TMP_PATH ${RPCS3_SRC})
|
foreach (TMP_PATH ${RPCS3_SRC})
|
||||||
foreach (EXCLUDE_PATH ${EXCLUDE_FILES})
|
foreach (EXCLUDE_PATH ${EXCLUDE_FILES})
|
||||||
string (FIND ${TMP_PATH} ${EXCLUDE_PATH} EXCLUDE_FILE_FOUND)
|
string(FIND ${TMP_PATH} ${EXCLUDE_PATH} EXCLUDE_FILE_FOUND)
|
||||||
if (NOT ${EXCLUDE_FILE_FOUND} EQUAL -1)
|
if(NOT ${EXCLUDE_FILE_FOUND} EQUAL -1)
|
||||||
list (REMOVE_ITEM RPCS3_SRC ${TMP_PATH})
|
list(REMOVE_ITEM RPCS3_SRC ${TMP_PATH})
|
||||||
endif ()
|
endif ()
|
||||||
endforeach(EXCLUDE_PATH)
|
endforeach(EXCLUDE_PATH)
|
||||||
endforeach(TMP_PATH)
|
endforeach(TMP_PATH)
|
||||||
|
@ -375,7 +370,7 @@ endforeach(TMP_PATH)
|
||||||
file(GLOB_RECURSE TMP_MOC "${RPCS3_SRC_DIR}/moc_*.cpp" "${RPCS3_SRC_DIR}/rpcs3_automoc.cpp" "${RPCS3_SRC_DIR}/qrc_resources.cpp")
|
file(GLOB_RECURSE TMP_MOC "${RPCS3_SRC_DIR}/moc_*.cpp" "${RPCS3_SRC_DIR}/rpcs3_automoc.cpp" "${RPCS3_SRC_DIR}/qrc_resources.cpp")
|
||||||
set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${TMP_MOC}")
|
set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${TMP_MOC}")
|
||||||
|
|
||||||
if (WIN32)
|
if(WIN32)
|
||||||
add_executable(rpcs3 WIN32 ${RPCS3_SRC} ${RES_FILES} resources.qrc)
|
add_executable(rpcs3 WIN32 ${RPCS3_SRC} ${RES_FILES} resources.qrc)
|
||||||
else()
|
else()
|
||||||
add_executable(rpcs3 ${RPCS3_SRC} ${RES_FILES} resources.qrc)
|
add_executable(rpcs3 ${RPCS3_SRC} ${RES_FILES} resources.qrc)
|
||||||
|
@ -383,16 +378,21 @@ endif()
|
||||||
|
|
||||||
add_dependencies(rpcs3 GitVersion)
|
add_dependencies(rpcs3 GitVersion)
|
||||||
|
|
||||||
|
if(NOT MSVC)
|
||||||
|
find_package(GLEW 1.13.0 REQUIRED)
|
||||||
|
target_link_libraries(rpcs3 GLEW::GLEW)
|
||||||
|
endif()
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
target_link_libraries(rpcs3 ws2_32.lib Winmm.lib Psapi.lib VKstatic.1 glslang OSDependent OGLCompiler SPIRV HLSL setupapi.lib hidapi-hid Shlwapi.lib)
|
target_link_libraries(rpcs3 ws2_32.lib Winmm.lib Psapi.lib VKstatic.1 glslang OSDependent OGLCompiler SPIRV HLSL setupapi.lib hidapi-hid Shlwapi.lib)
|
||||||
if(NOT MSVC)
|
if(NOT MSVC)
|
||||||
target_link_libraries(rpcs3 ${OPENGL_LIBRARIES} ${GLEW_LIBRARY} opengl32.lib glu32.lib libpthread)
|
target_link_libraries(rpcs3 ${OPENGL_LIBRARIES} opengl32.lib glu32.lib libpthread)
|
||||||
else()
|
else()
|
||||||
target_link_libraries(rpcs3 dxgi.lib d2d1.lib dwrite.lib)
|
target_link_libraries(rpcs3 dxgi.lib d2d1.lib dwrite.lib)
|
||||||
endif()
|
endif()
|
||||||
target_link_libraries(rpcs3 avformat.lib avcodec.lib avutil.lib swscale.lib png16_static ${OPENAL_LIBRARY} ${ADDITIONAL_LIBS})
|
target_link_libraries(rpcs3 avformat.lib avcodec.lib avutil.lib swscale.lib png16_static ${OPENAL_LIBRARY} ${ADDITIONAL_LIBS})
|
||||||
else()
|
else()
|
||||||
target_link_libraries(rpcs3 ${OPENAL_LIBRARY} ${GLEW_LIBRARY} ${OPENGL_LIBRARIES})
|
target_link_libraries(rpcs3 ${OPENAL_LIBRARY} ${OPENGL_LIBRARIES})
|
||||||
if(APPLE)
|
if(APPLE)
|
||||||
target_link_libraries(rpcs3 hidapi-mac "-framework CoreFoundation" "-framework IOKit")
|
target_link_libraries(rpcs3 hidapi-mac "-framework CoreFoundation" "-framework IOKit")
|
||||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||||
|
@ -403,14 +403,14 @@ else()
|
||||||
if(VULKAN_FOUND)
|
if(VULKAN_FOUND)
|
||||||
target_link_libraries(rpcs3 ${VULKAN_LIBRARIES})
|
target_link_libraries(rpcs3 ${VULKAN_LIBRARIES})
|
||||||
endif()
|
endif()
|
||||||
target_link_libraries(rpcs3 ${CMAKE_DL_LIBS} -lpthread ${ZLIB_LIBRARIES} ${ADDITIONAL_LIBS})
|
target_link_libraries(rpcs3 ${CMAKE_DL_LIBS} -lpthread ZLIB::ZLIB ${ADDITIONAL_LIBS})
|
||||||
if (USE_SYSTEM_FFMPEG)
|
if(USE_SYSTEM_FFMPEG)
|
||||||
link_libraries(${FFMPEG_LIBRARY_DIR})
|
link_libraries(${FFMPEG_LIBRARY_DIR})
|
||||||
target_link_libraries(rpcs3 libavformat.so libavcodec.so libavutil.so libswscale.so)
|
target_link_libraries(rpcs3 libavformat.so libavcodec.so libavutil.so libswscale.so)
|
||||||
else()
|
else()
|
||||||
target_link_libraries(rpcs3 libavformat.a libavcodec.a libavutil.a libswscale.a)
|
target_link_libraries(rpcs3 libavformat.a libavcodec.a libavutil.a libswscale.a)
|
||||||
endif()
|
endif()
|
||||||
if (USE_SYSTEM_LIBPNG)
|
if(USE_SYSTEM_LIBPNG)
|
||||||
target_link_libraries(rpcs3 ${PNG_LIBRARIES})
|
target_link_libraries(rpcs3 ${PNG_LIBRARIES})
|
||||||
else()
|
else()
|
||||||
target_link_libraries(rpcs3 png16_static)
|
target_link_libraries(rpcs3 png16_static)
|
||||||
|
@ -418,7 +418,7 @@ else()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# For some reason GCC 7 requires manually linking with -latomic
|
# For some reason GCC 7 requires manually linking with -latomic
|
||||||
if (CMAKE_COMPILER_IS_GNUCC AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 7 OR CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 7))
|
if(CMAKE_COMPILER_IS_GNUCXX AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 7 OR CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 7))
|
||||||
target_link_libraries(rpcs3 -latomic)
|
target_link_libraries(rpcs3 -latomic)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
@ -430,11 +430,11 @@ target_link_libraries(rpcs3 ${RPCS3_QT_LIBS})
|
||||||
|
|
||||||
set_target_properties(rpcs3 PROPERTIES COTIRE_CXX_PREFIX_HEADER_INIT "${RPCS3_SRC_DIR}/stdafx.h")
|
set_target_properties(rpcs3 PROPERTIES COTIRE_CXX_PREFIX_HEADER_INIT "${RPCS3_SRC_DIR}/stdafx.h")
|
||||||
|
|
||||||
if (MSVC)
|
if(MSVC)
|
||||||
# Under Windows, some QT DLLs need to be in the same directory of the compiled
|
# Under Windows, some QT DLLs need to be in the same directory of the compiled
|
||||||
# RPCS3 binary, so call the windeployqt tool that will take care of copying
|
# RPCS3 binary, so call the windeployqt tool that will take care of copying
|
||||||
# them from the local QT installation at the end of the build.
|
# them from the local QT installation at the end of the build.
|
||||||
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
|
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||||
add_custom_command(TARGET rpcs3 POST_BUILD
|
add_custom_command(TARGET rpcs3 POST_BUILD
|
||||||
COMMAND $ENV{QTDIR}/bin/windeployqt --no-angle --no-opengl-sw --no-svg --no-translations --debug ${CMAKE_BINARY_DIR}/bin
|
COMMAND $ENV{QTDIR}/bin/windeployqt --no-angle --no-opengl-sw --no-svg --no-translations --debug ${CMAKE_BINARY_DIR}/bin
|
||||||
)
|
)
|
||||||
|
|
|
@ -1,47 +0,0 @@
|
||||||
#
|
|
||||||
# Try to find GLEW library and include path.
|
|
||||||
# Once done this will define
|
|
||||||
#
|
|
||||||
# GLEW_FOUND
|
|
||||||
# GLEW_INCLUDE_PATH
|
|
||||||
# GLEW_LIBRARY
|
|
||||||
#
|
|
||||||
|
|
||||||
IF (WIN32)
|
|
||||||
FIND_PATH( GLEW_INCLUDE_PATH GL/glew.h
|
|
||||||
$ENV{PROGRAMFILES}/GLEW/include
|
|
||||||
${PROJECT_SOURCE_DIR}/src/nvgl/glew/include
|
|
||||||
DOC "The directory where GL/glew.h resides")
|
|
||||||
FIND_LIBRARY( GLEW_LIBRARY
|
|
||||||
NAMES glew GLEW glew32 glew32s
|
|
||||||
PATHS
|
|
||||||
$ENV{PROGRAMFILES}/GLEW/lib
|
|
||||||
${PROJECT_SOURCE_DIR}/src/nvgl/glew/bin
|
|
||||||
${PROJECT_SOURCE_DIR}/src/nvgl/glew/lib
|
|
||||||
DOC "The GLEW library")
|
|
||||||
ELSE (WIN32)
|
|
||||||
FIND_PATH( GLEW_INCLUDE_PATH GL/glew.h
|
|
||||||
/usr/include
|
|
||||||
/usr/local/include
|
|
||||||
/sw/include
|
|
||||||
/opt/local/include
|
|
||||||
DOC "The directory where GL/glew.h resides")
|
|
||||||
FIND_LIBRARY( GLEW_LIBRARY
|
|
||||||
NAMES GLEW glew
|
|
||||||
PATHS
|
|
||||||
/usr/lib64
|
|
||||||
/usr/lib
|
|
||||||
/usr/local/lib64
|
|
||||||
/usr/local/lib
|
|
||||||
/sw/lib
|
|
||||||
/opt/local/lib
|
|
||||||
DOC "The GLEW library")
|
|
||||||
ENDIF (WIN32)
|
|
||||||
|
|
||||||
IF (GLEW_INCLUDE_PATH)
|
|
||||||
SET( GLEW_FOUND 1 CACHE STRING "Set to 1 if GLEW is found, 0 otherwise")
|
|
||||||
ELSE (GLEW_INCLUDE_PATH)
|
|
||||||
SET( GLEW_FOUND 0 CACHE STRING "Set to 1 if GLEW is found, 0 otherwise")
|
|
||||||
ENDIF (GLEW_INCLUDE_PATH)
|
|
||||||
|
|
||||||
MARK_AS_ADVANCED( GLEW_FOUND )
|
|
Loading…
Add table
Add a link
Reference in a new issue