forked from eden-emu/eden
Compare commits
14 commits
fix/vk-bat
...
master
Author | SHA1 | Date | |
---|---|---|---|
1551387739 | |||
3f02d7713f | |||
bdf5674d7e | |||
6b8408ef50 | |||
a3cf780a3a | |||
0705ba0b47 | |||
982b171f30 | |||
ae89b5e1b9 | |||
d499693c29 | |||
1f5b4cce6e | |||
6b7cac003a | |||
99426f064c | |||
37618e1043 | |||
6b33b5a734 |
82 changed files with 2467 additions and 5899 deletions
|
@ -11,11 +11,11 @@ svgo --multipass $EDEN_SVG_ICO
|
|||
|
||||
magick -density 256x256 -background transparent $EDEN_SVG_ICO \
|
||||
-define icon:auto-resize -colors 256 dist/eden.ico || exit
|
||||
magick -size 256x256 -density 256x256 -background transparent $EDEN_SVG_ICO \
|
||||
-define icon:auto-resize -colors 256 dist/yuzu.bmp || exit
|
||||
convert -density 256x256 -resize 256x256 -background transparent $EDEN_SVG_ICO \
|
||||
dist/yuzu.bmp || exit
|
||||
|
||||
export TMP_PNG="dist/eden-tmp.png"
|
||||
magick -size 1024x1024 -background transparent $EDEN_SVG_ICO $TMP_PNG || exit
|
||||
png2icns dist/eden.icns $TMP_PNG
|
||||
png2icns dist/eden.icns $TMP_PNG || exit
|
||||
cp dist/eden.icns dist/yuzu.icns
|
||||
rm $TMP_PNG
|
||||
|
|
|
@ -216,14 +216,14 @@ if (YUZU_USE_BUNDLED_VCPKG)
|
|||
list(APPEND VCPKG_MANIFEST_FEATURES "android")
|
||||
endif()
|
||||
|
||||
include(CPM)
|
||||
set(CPM_USE_LOCAL_PACKAGES OFF)
|
||||
include(CPMUtil)
|
||||
|
||||
CPMAddPackage(
|
||||
AddPackage(
|
||||
NAME vcpkg
|
||||
DOWNLOAD_ONLY YES
|
||||
GIT_REPOSITORY "https://github.com/microsoft/vcpkg.git"
|
||||
URL "https://github.com/microsoft/vcpkg.git"
|
||||
GIT_TAG "ea2a964f93"
|
||||
CUSTOM_CACHE_KEY "ea2a"
|
||||
SHA "ea2a964f93"
|
||||
)
|
||||
|
||||
include(${vcpkg_SOURCE_DIR}/scripts/buildsystems/vcpkg.cmake)
|
||||
|
@ -277,6 +277,30 @@ function(check_submodules_present)
|
|||
message(FATAL_ERROR "Git submodule ${module} not found. "
|
||||
"Please run: \ngit submodule update --init --recursive")
|
||||
endif()
|
||||
|
||||
set(SUBMODULE_DIR "${PROJECT_SOURCE_DIR}/${module}")
|
||||
|
||||
execute_process(
|
||||
COMMAND git rev-parse --short=10 HEAD
|
||||
WORKING_DIRECTORY ${SUBMODULE_DIR}
|
||||
OUTPUT_VARIABLE SUBMODULE_SHA
|
||||
)
|
||||
|
||||
# would probably be better to do string parsing, but whatever
|
||||
execute_process(
|
||||
COMMAND git remote get-url origin
|
||||
WORKING_DIRECTORY ${SUBMODULE_DIR}
|
||||
OUTPUT_VARIABLE SUBMODULE_URL
|
||||
)
|
||||
|
||||
string(REGEX REPLACE "\n|\r" "" SUBMODULE_SHA ${SUBMODULE_SHA})
|
||||
string(REGEX REPLACE "\n|\r|\\.git" "" SUBMODULE_URL ${SUBMODULE_URL})
|
||||
|
||||
get_filename_component(SUBMODULE_NAME ${SUBMODULE_DIR} NAME)
|
||||
|
||||
set_property(GLOBAL APPEND PROPERTY CPM_PACKAGE_NAMES ${SUBMODULE_NAME})
|
||||
set_property(GLOBAL APPEND PROPERTY CPM_PACKAGE_SHAS ${SUBMODULE_SHA})
|
||||
set_property(GLOBAL APPEND PROPERTY CPM_PACKAGE_URLS ${SUBMODULE_URL})
|
||||
endforeach()
|
||||
endfunction()
|
||||
|
||||
|
@ -358,7 +382,7 @@ endif()
|
|||
# Build/optimization presets
|
||||
if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
|
||||
if (ARCHITECTURE_x86_64)
|
||||
set(YUZU_BUILD_PRESET "generic" CACHE STRING "Build preset to use. One of: generic, v3, zen2, zen4, native")
|
||||
set(YUZU_BUILD_PRESET "custom" CACHE STRING "Build preset to use. One of: custom, generic, v3, zen2, zen4, native")
|
||||
if (${YUZU_BUILD_PRESET} STREQUAL "generic")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=x86-64 -mtune=generic")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=x86-64 -mtune=generic")
|
||||
|
@ -376,7 +400,7 @@ if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
|
|||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=native -mtune=native")
|
||||
endif()
|
||||
elseif(ARCHITECTURE_arm64)
|
||||
set(YUZU_BUILD_PRESET "generic" CACHE STRING "Build preset to use. One of: generic, armv9")
|
||||
set(YUZU_BUILD_PRESET "custom" CACHE STRING "Build preset to use. One of: custom, generic, armv9")
|
||||
if (${YUZU_BUILD_PRESET} STREQUAL "generic")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=armv8-a -mtune=generic")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=armv8-a -mtune=generic")
|
||||
|
@ -453,7 +477,7 @@ if (ENABLE_SDL2)
|
|||
endif()
|
||||
|
||||
if (DEFINED SDL2_VER)
|
||||
download_bundled_external("sdl2/" ${SDL2_VER} "sdl2-bundled" SDL2_PREFIX)
|
||||
download_bundled_external("sdl2/" ${SDL2_VER} "sdl2-bundled" SDL2_PREFIX 2.32.8)
|
||||
endif()
|
||||
|
||||
set(SDL2_FOUND YES)
|
||||
|
@ -584,7 +608,7 @@ endif()
|
|||
|
||||
if (WIN32 AND YUZU_CRASH_DUMPS)
|
||||
set(BREAKPAD_VER "breakpad-c89f9dd")
|
||||
download_bundled_external("breakpad/" ${BREAKPAD_VER} "breakpad-win" BREAKPAD_PREFIX)
|
||||
download_bundled_external("breakpad/" ${BREAKPAD_VER} "breakpad-win" BREAKPAD_PREFIX "c89f9dd")
|
||||
|
||||
set(BREAKPAD_CLIENT_INCLUDE_DIR "${BREAKPAD_PREFIX}/include")
|
||||
set(BREAKPAD_CLIENT_LIBRARY "${BREAKPAD_PREFIX}/lib/libbreakpad_client.lib")
|
||||
|
@ -722,7 +746,6 @@ else()
|
|||
set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT yuzu-cmd)
|
||||
endif()
|
||||
|
||||
|
||||
# Installation instructions
|
||||
# =========================
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load diff
117
CMakeModules/CPMUtil.cmake
Normal file
117
CMakeModules/CPMUtil.cmake
Normal file
|
@ -0,0 +1,117 @@
|
|||
# SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
# Created-By: crueter
|
||||
# Docs will come at a later date, mostly this is to just reduce boilerplate
|
||||
# and some cmake magic to allow for runtime viewing of dependency versions
|
||||
|
||||
cmake_minimum_required(VERSION 3.22)
|
||||
include(CPM)
|
||||
|
||||
function(AddPackage)
|
||||
cpm_set_policies()
|
||||
|
||||
set(oneValueArgs
|
||||
NAME
|
||||
VERSION
|
||||
REPO
|
||||
SHA
|
||||
HASH
|
||||
KEY
|
||||
URL # Only for custom non-GitHub urls
|
||||
DOWNLOAD_ONLY
|
||||
FIND_PACKAGE_ARGUMENTS
|
||||
SYSTEM_PACKAGE
|
||||
BUNDLED_PACKAGE
|
||||
)
|
||||
|
||||
set(multiValueArgs OPTIONS PATCHES)
|
||||
|
||||
cmake_parse_arguments(PKG_ARGS "" "${oneValueArgs}" "${multiValueArgs}" "${ARGN}")
|
||||
|
||||
if (NOT DEFINED PKG_ARGS_NAME)
|
||||
message(FATAL_ERROR "CPMUtil: No package name defined")
|
||||
endif()
|
||||
|
||||
if (NOT DEFINED PKG_ARGS_URL)
|
||||
if (DEFINED PKG_ARGS_REPO AND DEFINED PKG_ARGS_SHA)
|
||||
set(PKG_GIT_URL https://github.com/${PKG_ARGS_REPO})
|
||||
set(PKG_URL "${PKG_GIT_URL}/archive/${PKG_ARGS_SHA}.zip")
|
||||
else()
|
||||
message(FATAL_ERROR "CPMUtil: No custom URL and no repository + sha defined")
|
||||
endif()
|
||||
else()
|
||||
set(PKG_URL ${PKG_ARGS_URL})
|
||||
set(PKG_GIT_URL ${PKG_URL})
|
||||
endif()
|
||||
|
||||
message(STATUS "CPMUtil: Downloading package ${PKG_ARGS_NAME} from ${PKG_URL}")
|
||||
|
||||
if (NOT DEFINED PKG_ARGS_KEY)
|
||||
if (DEFINED PKG_ARGS_SHA)
|
||||
string(SUBSTRING ${PKG_ARGS_SHA} 0 4 PKG_KEY)
|
||||
message(STATUS "CPMUtil: No custom key defined, using ${PKG_KEY} from sha")
|
||||
else()
|
||||
message(FATAL_ERROR "CPMUtil: No custom key and no commit sha defined")
|
||||
endif()
|
||||
else()
|
||||
set(PKG_KEY ${PKG_ARGS_KEY})
|
||||
endif()
|
||||
|
||||
if (DEFINED PKG_ARGS_HASH)
|
||||
set(PKG_HASH "SHA512=${PKG_ARGS_HASH}")
|
||||
endif()
|
||||
|
||||
# Default behavior is bundled
|
||||
if (DEFINED PKG_ARGS_SYSTEM_PACKAGE)
|
||||
set(CPM_USE_LOCAL_PACKAGES ${PKG_ARGS_SYSTEM_PACKAGE})
|
||||
elseif (DEFINED PKG_ARGS_BUNDLED_PACKAGE)
|
||||
if (PKG_ARGS_BUNDLED_PACKAGE)
|
||||
set(CPM_USE_LOCAL_PACKAGES OFF)
|
||||
else()
|
||||
set(CPM_USE_LOCAL_PACKAGES ON)
|
||||
endif()
|
||||
else()
|
||||
set(CPM_USE_LOCAL_PACKAGES OFF)
|
||||
endif()
|
||||
|
||||
CPMAddPackage(
|
||||
NAME ${PKG_ARGS_NAME}
|
||||
VERSION ${PKG_ARGS_VERSION}
|
||||
URL ${PKG_URL}
|
||||
URL_HASH ${PKG_HASH}
|
||||
CUSTOM_CACHE_KEY ${PKG_KEY}
|
||||
DOWNLOAD_ONLY ${PKG_ARGS_DOWNLOAD_ONLY}
|
||||
FIND_PACKAGE_ARGUMENTS ${PKG_ARGS_FIND_PACKAGE_ARGUMENTS}
|
||||
|
||||
OPTIONS ${PKG_ARGS_OPTIONS}
|
||||
PATCHES ${PKG_ARGS_PATCHES}
|
||||
|
||||
${PKG_ARGS_UNPARSED_ARGUMENTS}
|
||||
)
|
||||
|
||||
set_property(GLOBAL APPEND PROPERTY CPM_PACKAGE_NAMES ${PKG_ARGS_NAME})
|
||||
set_property(GLOBAL APPEND PROPERTY CPM_PACKAGE_URLS ${PKG_GIT_URL})
|
||||
|
||||
if (${PKG_ARGS_NAME}_ADDED)
|
||||
if (DEFINED PKG_ARGS_SHA)
|
||||
set_property(GLOBAL APPEND PROPERTY CPM_PACKAGE_SHAS ${PKG_ARGS_SHA})
|
||||
elseif(DEFINED PKG_ARGS_VERSION)
|
||||
set_property(GLOBAL APPEND PROPERTY CPM_PACKAGE_SHAS ${PKG_ARGS_VERSION})
|
||||
else()
|
||||
message(WARNING "CPMUtil: Package ${PKG_ARGS_NAME} has no specified sha or version")
|
||||
set_property(GLOBAL APPEND PROPERTY CPM_PACKAGE_SHAS "unknown")
|
||||
endif()
|
||||
else()
|
||||
if (DEFINED CPM_PACKAGE_${PKG_ARGS_NAME}_VERSION)
|
||||
set_property(GLOBAL APPEND PROPERTY CPM_PACKAGE_SHAS "${CPM_PACKAGE_${PKG_ARGS_NAME}_VERSION} (system)")
|
||||
else()
|
||||
set_property(GLOBAL APPEND PROPERTY CPM_PACKAGE_SHAS "unknown (system)")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# pass stuff to parent scope
|
||||
set(${PKG_ARGS_NAME}_ADDED "${${PKG_ARGS_NAME}_ADDED}" PARENT_SCOPE)
|
||||
set(${PKG_ARGS_NAME}_SOURCE_DIR "${${PKG_ARGS_NAME}_SOURCE_DIR}" PARENT_SCOPE)
|
||||
set(${PKG_ARGS_NAME}_BINARY_DIR "${${PKG_ARGS_NAME}_BINARY_DIR}" PARENT_SCOPE)
|
||||
endfunction()
|
|
@ -63,6 +63,4 @@ function(copy_yuzu_Qt6_deps target_dir)
|
|||
else()
|
||||
# Update for non-MSVC platforms if needed
|
||||
endif()
|
||||
# Fixes dark mode being forced automatically even when light theme is set in app settings.
|
||||
file(WRITE "${CMAKE_BINARY_DIR}/bin/${CMAKE_BUILD_TYPE}/qt.conf" "[Platforms]\nWindowsArguments = darkmode=0")
|
||||
endfunction(copy_yuzu_Qt6_deps)
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
# remote_path: path to the file to download, relative to the remote repository root
|
||||
# prefix_var: name of a variable which will be set with the path to the extracted contents
|
||||
set(CURRENT_MODULE_DIR ${CMAKE_CURRENT_LIST_DIR})
|
||||
function(download_bundled_external remote_path lib_name cpm_key prefix_var)
|
||||
function(download_bundled_external remote_path lib_name cpm_key prefix_var version)
|
||||
set(package_base_url "https://github.com/eden-emulator/")
|
||||
set(package_repo "no_platform")
|
||||
set(package_extension "no_platform")
|
||||
|
@ -29,13 +29,13 @@ function(download_bundled_external remote_path lib_name cpm_key prefix_var)
|
|||
set(package_url "${package_base_url}${package_repo}")
|
||||
set(full_url ${package_url}${remote_path}${lib_name}${package_extension})
|
||||
|
||||
set(CPM_USE_LOCAL_PACKAGES OFF)
|
||||
|
||||
CPMAddPackage(
|
||||
AddPackage(
|
||||
NAME ${cpm_key}
|
||||
VERSION ${version}
|
||||
URL ${full_url}
|
||||
DOWNLOAD_ONLY YES
|
||||
CUSTOM_CACHE_KEY ${CACHE_KEY}
|
||||
KEY ${CACHE_KEY}
|
||||
# TODO(crueter): hash
|
||||
)
|
||||
|
||||
set(${prefix_var} "${${cpm_key}_SOURCE_DIR}" PARENT_SCOPE)
|
||||
|
@ -46,11 +46,11 @@ function(download_win_archives)
|
|||
set(FORCE_WIN_ARCHIVES ON)
|
||||
set(FFmpeg_EXT_NAME "ffmpeg-7.1.1")
|
||||
|
||||
download_bundled_external("ffmpeg/" ${FFmpeg_EXT_NAME} "ffmpeg-bundled" "")
|
||||
download_bundled_external("ffmpeg/" ${FFmpeg_EXT_NAME} "ffmpeg-bundled" "" 7.1.1)
|
||||
|
||||
# TODO(crueter): separate handling for arm64
|
||||
set(SDL2_VER "SDL2-2.32.8")
|
||||
download_bundled_external("sdl2/" ${SDL2_VER} "sdl2-bundled" "")
|
||||
download_bundled_external("sdl2/" ${SDL2_VER} "sdl2-bundled" "" 2.32.8)
|
||||
set(FORCE_WIN_ARCHIVES OFF)
|
||||
endfunction()
|
||||
|
||||
|
|
21
CMakeModules/GenerateDepHashes.cmake
Normal file
21
CMakeModules/GenerateDepHashes.cmake
Normal file
|
@ -0,0 +1,21 @@
|
|||
# SPDX-FileCopyrightText: 2025 Eden Emulator Project
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
get_property(NAMES GLOBAL PROPERTY CPM_PACKAGE_NAMES)
|
||||
get_property(SHAS GLOBAL PROPERTY CPM_PACKAGE_SHAS)
|
||||
get_property(URLS GLOBAL PROPERTY CPM_PACKAGE_URLS)
|
||||
|
||||
list(LENGTH NAMES DEPS_LENGTH)
|
||||
|
||||
list(JOIN NAMES "\",\n\t\"" DEP_NAME_DIRTY)
|
||||
set(DEP_NAMES "\t\"${DEP_NAME_DIRTY}\"")
|
||||
|
||||
list(JOIN SHAS "\",\n\t\"" DEP_SHAS_DIRTY)
|
||||
set(DEP_SHAS "\t\"${DEP_SHAS_DIRTY}\"")
|
||||
|
||||
list(JOIN URLS "\",\n\t\"" DEP_URLS_DIRTY)
|
||||
set(DEP_URLS "\t\"${DEP_URLS_DIRTY}\"")
|
||||
|
||||
configure_file(dep_hashes.h.in dep_hashes.h @ONLY)
|
||||
target_sources(common PUBLIC ${CMAKE_CURRENT_BINARY_DIR}/dep_hashes.h)
|
||||
target_include_directories(common PUBLIC ${CMAKE_CURRENT_BINARY_DIR})
|
|
@ -25,6 +25,10 @@ It is written in C++ with portability in mind, and we actively maintain builds f
|
|||
<img src="https://img.shields.io/discord/1367654015269339267?color=5865F2&label=Eden&logo=discord&logoColor=white"
|
||||
alt="Discord">
|
||||
</a>
|
||||
<a href="https://rvlt.gg/qKgFEAbH">
|
||||
<img src="https://img.shields.io/revolt/invite/qKgFEAbH?color=d61f3a&label=Revolt"
|
||||
alt="Revolt">
|
||||
</a>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
|
@ -46,10 +50,9 @@ Check out our [website](https://eden-emu.dev) for the latest news on exciting fe
|
|||
|
||||
## Development
|
||||
|
||||
Most of the development happens on our Git server. It is also where [our central repository](https://git.eden-emu.dev/eden-emu/eden) is hosted. For development discussions, please join us on [Discord](https://discord.gg/edenemu).
|
||||
Most of the development happens on our Git server. It is also where [our central repository](https://git.eden-emu.dev/eden-emu/eden) is hosted. For development discussions, please join us on [Discord](https://discord.gg/kXAmGCXBGD) or [Revolt](https://rvlt.gg/qKgFEAbH).
|
||||
|
||||
If you would like to contribute, we are open to new developers and pull requests. Please ensure that your work is of a high standard and properly documented.
|
||||
You can also contact any of the developers on Discord to learn more about the current state of the emulator.
|
||||
If you would like to contribute, we are open to new developers and pull requests. Please ensure that your work is of a high standard and properly documented. You can also contact any of the developers on Discord or Revolt to learn more about the current state of the emulator.
|
||||
|
||||
## Building
|
||||
|
||||
|
|
BIN
dist/yuzu.bmp
vendored
BIN
dist/yuzu.bmp
vendored
Binary file not shown.
Before Width: | Height: | Size: 1 MiB After Width: | Height: | Size: 256 KiB |
50
docs/build/FreeBSD.md
vendored
50
docs/build/FreeBSD.md
vendored
|
@ -1,42 +1,44 @@
|
|||
## One word of caution before proceeding.
|
||||
This is not the usual or preferred way to build programs on FreeBSD.
|
||||
As of writing there is no official fresh port available for eden-emu, but it is in the works.
|
||||
After it is available you can find a link to the eden-emu fresh port here and on Escarys github repo.
|
||||
This is not the usual or preferred way to build programs on FreeBSD.
|
||||
As of writing there is no official fresh port available for eden-emu, but it is in the works.
|
||||
After it is available you can find a link to the eden-emu fresh port here and on Escarys github repo.
|
||||
See this build as an App Image alternative for FreeBSD.
|
||||
|
||||
## Dependencies.
|
||||
Before we start we need some dependencies.
|
||||
## Dependencies.
|
||||
Before we start we need some dependencies.
|
||||
These dependencies are generally needed to build eden-emu on FreeBSD.
|
||||
|
||||
```
|
||||
devel/cmake
|
||||
devel/sdl20
|
||||
devel/boost-libs
|
||||
devel/catch2
|
||||
devel/libfmt
|
||||
devel/nlohmann-json
|
||||
devel/ninja
|
||||
devel/nasm
|
||||
devel/autoconf
|
||||
devel/pkg-config
|
||||
devel/qt6-base
|
||||
devel/cmake
|
||||
devel/sdl20
|
||||
devel/boost-libs
|
||||
devel/catch2
|
||||
devel/libfmt
|
||||
devel/nlohmann-json
|
||||
devel/ninja
|
||||
devel/nasm
|
||||
devel/autoconf
|
||||
devel/pkgconf
|
||||
devel/qt6-base
|
||||
|
||||
multimedia/ffnvcodec-headers
|
||||
multimedia/ffmpeg
|
||||
multimedia/ffnvcodec-headers
|
||||
multimedia/ffmpeg
|
||||
|
||||
audio/opus
|
||||
audio/opus
|
||||
|
||||
archivers/liblz4
|
||||
archivers/liblz4
|
||||
|
||||
lang/gcc12
|
||||
lang/gcc12
|
||||
|
||||
graphics/glslang
|
||||
graphics/vulkan-utility-libraries
|
||||
graphics/glslang
|
||||
graphics/vulkan-utility-libraries
|
||||
```
|
||||
|
||||
If using FreeBSD 12 or prior, use `devel/pkg-config` instead.
|
||||
|
||||
---
|
||||
|
||||
### Build preparations:
|
||||
### Build preparations:
|
||||
Run the following command to clone eden with git:
|
||||
```sh
|
||||
git clone --recursive https://git.eden-emu.dev/eden-emu/eden
|
||||
|
|
209
externals/CMakeLists.txt
vendored
209
externals/CMakeLists.txt
vendored
|
@ -5,7 +5,7 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
# cpm
|
||||
include(CPM)
|
||||
include(CPMUtil)
|
||||
|
||||
# Explicitly declare this option here to propagate to the oaknut CPM call
|
||||
option(DYNARMIC_TESTS "Build tests" ${BUILD_TESTING})
|
||||
|
@ -29,8 +29,6 @@ endif()
|
|||
|
||||
# Xbyak (also used by Dynarmic, so needs to be added first)
|
||||
if (ARCHITECTURE_x86 OR ARCHITECTURE_x86_64)
|
||||
set(CPM_USE_LOCAL_PACKAGES OFF)
|
||||
|
||||
if ("${CMAKE_SYSTEM_NAME}" STREQUAL "SunOS")
|
||||
# Fix regset.h collisions
|
||||
set(XBYAK_HASH 51f507b0b3)
|
||||
|
@ -40,22 +38,22 @@ if (ARCHITECTURE_x86 OR ARCHITECTURE_x86_64)
|
|||
set(XBYAK_SHA512SUM 5824e92159e07fa36a774aedd3b3ef3541d0241371d522cffa4ab3e1f215fa5097b1b77865b47b2481376c704fa079875557ea463ca63d0a7fd6a8a20a589e70)
|
||||
endif()
|
||||
|
||||
CPMAddPackage(
|
||||
AddPackage(
|
||||
NAME xbyak
|
||||
URL "https://github.com/Lizzie841/xbyak/archive/${XBYAK_HASH}.zip"
|
||||
URL_HASH SHA512=${XBYAK_SHA512SUM}
|
||||
CUSTOM_CACHE_KEY ${XBYAK_HASH}
|
||||
REPO "Lizzie841/xbyak"
|
||||
SHA ${XBYAK_HASH}
|
||||
HASH ${XBYAK_SHA512SUM}
|
||||
)
|
||||
endif()
|
||||
|
||||
# Oaknut (also used by Dynarmic, so needs to be added first)
|
||||
if (ARCHITECTURE_arm64 OR DYNARMIC_TESTS)
|
||||
CPMAddPackage(
|
||||
AddPackage(
|
||||
NAME oaknut
|
||||
VERSION 2.0.1
|
||||
URL "https://github.com/Wunkolo/oaknut/archive/d9a104d558.zip"
|
||||
URL_HASH SHA512=3702c8cf818a8c2b19edf9b18278b3d2b857f118faf1e05064c9389c6da639aaf6e955c20abd4f8bf92e309efb6df79affdefc0d3a1e0f980f86203525dbbcd8
|
||||
CUSTOM_CACHE_KEY "d9a1"
|
||||
REPO "merryhime/oaknut"
|
||||
SHA 94c726ce03
|
||||
HASH d8d082242fa1881abce3c82f8dafa002c4e561e66a69e7fc038af67faa5eff2630f082d3d19579c88c4c9f9488e54552accc8cb90e7ce743efe043b6230c08ac
|
||||
)
|
||||
endif()
|
||||
|
||||
|
@ -69,15 +67,14 @@ add_subdirectory(glad)
|
|||
|
||||
# mbedtls
|
||||
# TODO(crueter): test local mbedtls
|
||||
set(CPM_USE_LOCAL_PACKAGES ON)
|
||||
|
||||
CPMAddPackage(
|
||||
AddPackage(
|
||||
NAME mbedtls
|
||||
URL "https://github.com/Mbed-TLS/mbedtls/archive/8c88150ca1.zip"
|
||||
URL_HASH SHA512=769ad1e94c570671071e1f2a5c0f1027e0bf6bcdd1a80ea8ac970f2c86bc45ce4e31aa88d6d8110fc1bed1de81c48bc624df1b38a26f8b340a44e109d784a966
|
||||
REPO "Mbed-TLS/mbedtls"
|
||||
SHA "8c88150ca1"
|
||||
HASH 769ad1e94c570671071e1f2a5c0f1027e0bf6bcdd1a80ea8ac970f2c86bc45ce4e31aa88d6d8110fc1bed1de81c48bc624df1b38a26f8b340a44e109d784a966
|
||||
PATCHES
|
||||
${CMAKE_SOURCE_DIR}/.patch/mbedtls/0001-cmake-version.patch
|
||||
CUSTOM_CACHE_KEY "8c88"
|
||||
SYSTEM_PACKAGE ON
|
||||
)
|
||||
|
||||
if (mbedtls_ADDED)
|
||||
|
@ -131,11 +128,12 @@ if (YUZU_USE_EXTERNAL_SDL2)
|
|||
set(SDL_SHA512SUM d95af47f469a312876f8ab361074a1e7b8083db19935a102d9c6e5887ace6008e64475a8c54b00164b40cad86492bb1b2366084efdd0b2555e5fea6d9c5da80e)
|
||||
endif()
|
||||
|
||||
CPMAddPackage(
|
||||
AddPackage(
|
||||
NAME SDL2
|
||||
URL "https://github.com/libsdl-org/SDL/archive/${SDL_HASH}.zip"
|
||||
URL_HASH SHA512=${SDL_SHA512SUM}
|
||||
CUSTOM_CACHE_KEY "${YUZU_SYSTEM_PROFILE}"
|
||||
REPO "libsdl-org/SDL"
|
||||
SHA ${SDL_HASH}
|
||||
HASH ${SDL_SHA512SUM}
|
||||
KEY ${YUZU_SYSTEM_PROFILE}
|
||||
)
|
||||
endif()
|
||||
|
||||
|
@ -146,18 +144,17 @@ if (NOT TARGET enet::enet)
|
|||
add_library(enet::enet ALIAS enet)
|
||||
endif()
|
||||
|
||||
# TODO(crueter): Create a common CPMUtil.cmake that does this for me
|
||||
set(CPM_USE_LOCAL_PACKAGES ON)
|
||||
|
||||
CPMAddPackage(
|
||||
AddPackage(
|
||||
NAME cubeb
|
||||
URL "https://github.com/mozilla/cubeb/archive/fa02160712.zip"
|
||||
REPO "mozilla/cubeb"
|
||||
SHA fa02160712
|
||||
HASH 82d808356752e4064de48c8fecbe7856715ade1e76b53937116bf07129fc1cc5b3de5e4b408de3cd000187ba8dc32ca4109661cb7e0355a52e54bd81b9be1c61
|
||||
FIND_PACKAGE_ARGUMENTS "CONFIG" # not sure this works outside of gentoo
|
||||
OPTIONS
|
||||
"USE_SANITIZERS OFF"
|
||||
"BUILD_TESTS OFF"
|
||||
"BUILD_TOOLS OFF"
|
||||
CUSTOM_CACHE_KEY "fa02"
|
||||
SYSTEM_PACKAGE ON
|
||||
)
|
||||
|
||||
if (cubeb_ADDED)
|
||||
|
@ -184,19 +181,17 @@ endif()
|
|||
|
||||
# DiscordRPC
|
||||
if (USE_DISCORD_PRESENCE)
|
||||
set(CPM_USE_LOCAL_PACKAGES OFF)
|
||||
|
||||
CPMAddPackage(
|
||||
AddPackage(
|
||||
NAME discord-rpc
|
||||
URL "https://github.com/discord/discord-rpc/archive/963aa9f3e5.zip"
|
||||
URL_HASH SHA512=386e1344e9a666d730f2d335ee3aef1fd05b1039febefd51aa751b705009cc764411397f3ca08dffd46205c72f75b235c870c737b2091a4ed0c3b061f5919bde
|
||||
REPO "discord/discord-rpc"
|
||||
SHA 963aa9f3e5
|
||||
HASH 386e1344e9a666d730f2d335ee3aef1fd05b1039febefd51aa751b705009cc764411397f3ca08dffd46205c72f75b235c870c737b2091a4ed0c3b061f5919bde
|
||||
OPTIONS
|
||||
"BUILD_EXAMPLES OFF"
|
||||
PATCHES
|
||||
${CMAKE_SOURCE_DIR}/.patch/discord-rpc/0001-cmake-version.patch
|
||||
${CMAKE_SOURCE_DIR}/.patch/discord-rpc/0002-no-clang-format.patch
|
||||
${CMAKE_SOURCE_DIR}/.patch/discord-rpc/0003-fix-cpp17.patch
|
||||
CUSTOM_CACHE_KEY "963a"
|
||||
)
|
||||
|
||||
target_include_directories(discord-rpc INTERFACE ${discord-rpc_SOURCE_DIR}/include)
|
||||
|
@ -205,76 +200,68 @@ endif()
|
|||
|
||||
# Sirit
|
||||
# TODO(crueter): spirv-tools doesn't work w/ system
|
||||
set(CPM_USE_LOCAL_PACKAGES OFF)
|
||||
|
||||
CPMAddPackage(
|
||||
AddPackage(
|
||||
NAME SPIRV-Headers
|
||||
URL "https://github.com/KhronosGroup/SPIRV-Headers/archive/4e209d3d7e.zip"
|
||||
URL_HASH SHA512=f48bbe18341ed55ea0fe280dbbbc0a44bf222278de6e716e143ca1e95ca320b06d4d23d6583fbf8d03e1428f3dac8fa00e5b82ddcd6b425e6236d85af09550a4
|
||||
CUSTOM_CACHE_KEY "4e20"
|
||||
REPO "KhronosGroup/SPIRV-Headers"
|
||||
SHA 4e209d3d7e
|
||||
HASH f48bbe18341ed55ea0fe280dbbbc0a44bf222278de6e716e143ca1e95ca320b06d4d23d6583fbf8d03e1428f3dac8fa00e5b82ddcd6b425e6236d85af09550a4
|
||||
)
|
||||
|
||||
set(CPM_USE_LOCAL_PACKAGES ON)
|
||||
|
||||
CPMAddPackage(
|
||||
AddPackage(
|
||||
NAME sirit
|
||||
URL "https://github.com/raphaelthegreat/sirit/archive/51fcf9720f.zip"
|
||||
URL_HASH SHA512=a8f98ea0c51763b89924d836ad482ebdfe9130251cf4e14733ccaacc885ae8cc4c8b03d1dc43e8861609e5f7929c16f935879c1f6bf61866fd75077954774394
|
||||
REPO "eden-emulator/sirit"
|
||||
SHA db1f1e8ab5
|
||||
HASH 73eb3a042848c63a10656545797e85f40d142009dfb7827384548a385e1e28e1ac72f42b25924ce530d58275f8638554281e884d72f9c7aaf4ed08690a414b05
|
||||
OPTIONS
|
||||
"SIRIT_USE_SYSTEM_SPIRV_HEADERS ON"
|
||||
CUSTOM_CACHE_KEY "51fc"
|
||||
SYSTEM_PACKAGE ON
|
||||
)
|
||||
|
||||
# httplib
|
||||
if ((ENABLE_WEB_SERVICE OR ENABLE_QT_UPDATE_CHECKER))
|
||||
set(CPM_USE_LOCAL_PACKAGES ${YUZU_USE_SYSTEM_HTTPLIB})
|
||||
|
||||
# TODO(crueter): fix local package (gentoo?)
|
||||
CPMAddPackage(
|
||||
AddPackage(
|
||||
NAME httplib
|
||||
VERSION 0.12
|
||||
URL "https://github.com/yhirose/cpp-httplib/archive/a609330e4c.zip"
|
||||
URL_HASH SHA512=dd3fd0572f8367d8549e1319fd98368b3e75801a293b0c3ac9b4adb806473a4506a484b3d389dc5bee5acc460cb90af7a20e5df705a1696b56496b30b9ce7ed2
|
||||
REPO "yhirose/cpp-httplib"
|
||||
SHA a609330e4c
|
||||
HASH dd3fd0572f8367d8549e1319fd98368b3e75801a293b0c3ac9b4adb806473a4506a484b3d389dc5bee5acc460cb90af7a20e5df705a1696b56496b30b9ce7ed2
|
||||
FIND_PACKAGE_ARGUMENTS "MODULE"
|
||||
OPTIONS
|
||||
"HTTPLIB_REQUIRE_OPENSSL ON"
|
||||
CUSTOM_CACHE_KEY "a609"
|
||||
SYSTEM_PACKAGE ${YUZU_USE_SYSTEM_HTTPLIB}
|
||||
)
|
||||
endif()
|
||||
|
||||
# cpp-jwt
|
||||
if (ENABLE_WEB_SERVICE)
|
||||
set(CPM_USE_LOCAL_PACKAGES OFF)
|
||||
|
||||
CPMAddPackage(
|
||||
AddPackage(
|
||||
NAME cpp-jwt
|
||||
VERSION 1.4
|
||||
URL "https://github.com/arun11299/cpp-jwt/archive/10ef5735d8.zip"
|
||||
URL_HASH SHA512=ebba3d26b33a3b0aa909f475e099594560edbce10ecd03e76d7fea68549a28713ea606d363808f88a5495b62c54c3cdb7e47aee2d946eceabd36e310479dadb7
|
||||
REPO "arun11299/cpp-jwt"
|
||||
SHA 10ef5735d8
|
||||
HASH ebba3d26b33a3b0aa909f475e099594560edbce10ecd03e76d7fea68549a28713ea606d363808f88a5495b62c54c3cdb7e47aee2d946eceabd36e310479dadb7
|
||||
FIND_PACKAGE_ARGUMENTS "CONFIG"
|
||||
OPTIONS
|
||||
"CPP_JWT_BUILD_EXAMPLES OFF"
|
||||
"CPP_JWT_BUILD_TESTS OFF"
|
||||
"CPP_JWT_USE_VENDORED_NLOHMANN_JSON OFF"
|
||||
CUSTOM_CACHE_KEY "10ef"
|
||||
)
|
||||
endif()
|
||||
|
||||
# Opus
|
||||
set(CPM_USE_LOCAL_PACKAGES ${YUZU_USE_SYSTEM_OPUS})
|
||||
|
||||
CPMAddPackage(
|
||||
AddPackage(
|
||||
NAME Opus
|
||||
VERSION 1.3
|
||||
URL "https://github.com/xiph/opus/archive/5ded705cf4.zip"
|
||||
URL_HASH SHA512=0dc89e58ddda1f3bc6a7037963994770c5806c10e66f5cc55c59286fc76d0544fe4eca7626772b888fd719f434bc8a92f792bdb350c807968b2ac14cfc04b203
|
||||
REPO "xiph/opus"
|
||||
SHA 5ded705cf4
|
||||
HASH 0dc89e58ddda1f3bc6a7037963994770c5806c10e66f5cc55c59286fc76d0544fe4eca7626772b888fd719f434bc8a92f792bdb350c807968b2ac14cfc04b203
|
||||
FIND_PACKAGE_ARGUMENTS "MODULE"
|
||||
OPTIONS
|
||||
"OPUS_BUILD_TESTING OFF"
|
||||
"OPUS_BUILD_PROGRAMS OFF"
|
||||
"OPUS_INSTALL_PKG_CONFIG_MODULE OFF"
|
||||
"OPUS_INSTALL_CMAKE_CONFIG_MODULE OFF"
|
||||
CUSTOM_CACHE_KEY "5ded"
|
||||
SYSTEM_PACKAGE ${YUZU_USE_SYSTEM_OPUS}
|
||||
)
|
||||
|
||||
# FFMpeg
|
||||
|
@ -290,31 +277,36 @@ endif()
|
|||
if (YUZU_USE_EXTERNAL_VULKAN_HEADERS)
|
||||
set(CPM_USE_LOCAL_PACKAGES OFF)
|
||||
else()
|
||||
set(CPM_USE_LOCAL_PACKAGES ON)
|
||||
set(CPM_USE_LOCAL_PACKAGES OFF)
|
||||
endif()
|
||||
|
||||
# TODO(crueter): System vk-headers are too new for externals vk-util
|
||||
# TODO(crueter): Vk1.4 impl
|
||||
|
||||
CPMAddPackage(
|
||||
# TODO(crueter): allow sys packages?
|
||||
AddPackage(
|
||||
NAME VulkanHeaders
|
||||
VERSION 1.3.274
|
||||
URL "https://github.com/KhronosGroup/Vulkan-Headers/archive/89268a6d17.zip"
|
||||
URL_HASH SHA512=3ab349f74298ba72cafb8561015690c0674d428a09fb91ccd3cd3daca83650d190d46d33fd97b0a8fd4223fe6df2bcabae89136fbbf7c0bfeb8776f9448304c8
|
||||
CUSTOM_CACHE_KEY "8926"
|
||||
REPO "KhronosGroup/Vulkan-Headers"
|
||||
SHA 89268a6d17
|
||||
HASH 3ab349f74298ba72cafb8561015690c0674d428a09fb91ccd3cd3daca83650d190d46d33fd97b0a8fd4223fe6df2bcabae89136fbbf7c0bfeb8776f9448304c8
|
||||
BUNDLED_PACKAGE ${YUZU_USE_EXTERNAL_VULKAN_HEADERS}
|
||||
)
|
||||
|
||||
# Vulkan-Utility-Libraries
|
||||
if (YUZU_USE_EXTERNAL_VULKAN_UTILITY_LIBRARIES)
|
||||
set(CPM_USE_LOCAL_PACKAGES OFF)
|
||||
else()
|
||||
set(CPM_USE_LOCAL_PACKAGES ON)
|
||||
# CMake's interface generator sucks
|
||||
if (VulkanHeaders_ADDED)
|
||||
target_include_directories(Vulkan-Headers INTERFACE ${VulkanHeaders_SOURCE_DIR}/include)
|
||||
endif()
|
||||
|
||||
CPMAddPackage(
|
||||
set(VulkanHeaders_SOURCE_DIR "${VulkanHeaders_SOURCE_DIR}" PARENT_SCOPE)
|
||||
set(VulkanHeaders_ADDED "${VulkanHeaders_ADDED}" PARENT_SCOPE)
|
||||
|
||||
# Vulkan-Utility-Libraries
|
||||
AddPackage(
|
||||
NAME VulkanUtilityLibraries
|
||||
URL "https://github.com/KhronosGroup/Vulkan-Utility-Libraries/archive/df2e358152.zip"
|
||||
URL_HASH SHA512=3e468c3d9ff93f6d418d71e5527abe0a12c8c7ab5b0b52278bbbee4d02bb87e99073906729b727e0147242b7e3fd5dedf68b803f1878cb4c0e4f730bc2238d79
|
||||
CUSTOM_CACHE_KEY "df2e"
|
||||
REPO "KhronosGroup/Vulkan-Utility-Libraries"
|
||||
SHA df2e358152
|
||||
HASH 3e468c3d9ff93f6d418d71e5527abe0a12c8c7ab5b0b52278bbbee4d02bb87e99073906729b727e0147242b7e3fd5dedf68b803f1878cb4c0e4f730bc2238d79
|
||||
BUNDLED_PACKAGE ${YUZU_USE_EXTERNAL_VULKAN_UTILITY_LIBRARIES}
|
||||
)
|
||||
|
||||
set(VulkanUtilityLibraries_SOURCE_DIR "${VulkanUtilityLibraries_SOURCE_DIR}" PARENT_SCOPE)
|
||||
|
@ -322,38 +314,35 @@ set(VulkanUtilityLibraries_ADDED "${VulkanUtilityLibraries_ADDED}" PARENT_SCOPE)
|
|||
|
||||
# SPIRV-Tools
|
||||
if (YUZU_USE_EXTERNAL_VULKAN_SPIRV_TOOLS)
|
||||
CPMAddPackage(
|
||||
AddPackage(
|
||||
NAME SPIRV-Tools
|
||||
URL "https://github.com/KhronosGroup/SPIRV-Tools/archive/40eb301f32.zip"
|
||||
URL_HASH SHA512=58d0fb1047d69373cf24c73e6f78c73a72a6cca3b4df1d9f083b9dcc0962745ef154abf3dbe9b3623b835be20c6ec769431cf11733349f45e7568b3525f707aa
|
||||
REPO "KhronosGroup/SPIRV-Tools"
|
||||
SHA 40eb301f32
|
||||
HASH 58d0fb1047d69373cf24c73e6f78c73a72a6cca3b4df1d9f083b9dcc0962745ef154abf3dbe9b3623b835be20c6ec769431cf11733349f45e7568b3525f707aa
|
||||
OPTIONS
|
||||
"SPIRV_SKIP_EXECUTABLES ON"
|
||||
CUSTOM_CACHE_KEY "40eb"
|
||||
)
|
||||
endif()
|
||||
|
||||
# Boost headers
|
||||
set(CPM_USE_LOCAL_PACKAGES OFF)
|
||||
|
||||
CPMAddPackage(
|
||||
AddPackage(
|
||||
NAME boost_headers
|
||||
URL "https://github.com/boostorg/headers/archive/0456900fad.zip"
|
||||
URL_HASH SHA512=50cd75dcdfc5f082225cdace058f47b4fb114a47585f7aee1d22236a910a80b667186254c214fa2fcebac67ae6d37ba4b6e695e1faea8affd6fd42a03cf996e3
|
||||
CUSTOM_CACHE_KEY "0456"
|
||||
REPO "boostorg/headers"
|
||||
SHA 0456900fad
|
||||
HASH 50cd75dcdfc5f082225cdace058f47b4fb114a47585f7aee1d22236a910a80b667186254c214fa2fcebac67ae6d37ba4b6e695e1faea8affd6fd42a03cf996e3
|
||||
)
|
||||
|
||||
# TZDB (Time Zone Database)
|
||||
add_subdirectory(nx_tzdb)
|
||||
|
||||
# VMA
|
||||
set(CPM_USE_LOCAL_PACKAGES ON)
|
||||
|
||||
CPMAddPackage(
|
||||
AddPackage(
|
||||
NAME VulkanMemoryAllocator
|
||||
URL "https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator/archive/1076b348ab.zip"
|
||||
URL_HASH SHA512=a46b44e4286d08cffda058e856c47f44c7fed3da55fe9555976eb3907fdcc20ead0b1860b0c38319cda01dbf9b1aa5d4b4038c7f1f8fbd97283d837fa9af9772
|
||||
REPO "GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator"
|
||||
SHA 1076b348ab
|
||||
HASH a46b44e4286d08cffda058e856c47f44c7fed3da55fe9555976eb3907fdcc20ead0b1860b0c38319cda01dbf9b1aa5d4b4038c7f1f8fbd97283d837fa9af9772
|
||||
FIND_PACKAGE_ARGUMENTS "CONFIG"
|
||||
CUSTOM_CACHE_KEY "1076"
|
||||
# SYSTEM_PACKAGE ON
|
||||
)
|
||||
|
||||
set(VulkanMemoryAllocator_SOURCE_DIR "${VulkanMemoryAllocator_SOURCE_DIR}" PARENT_SCOPE)
|
||||
|
@ -389,15 +378,13 @@ endif()
|
|||
|
||||
if (ANDROID)
|
||||
if (ARCHITECTURE_arm64)
|
||||
set(CPM_USE_LOCAL_PACKAGES OFF)
|
||||
|
||||
CPMAddPackage(
|
||||
AddPackage(
|
||||
NAME libadrenotools
|
||||
URL "https://github.com/bylaws/libadrenotools/archive/8fae8ce254.zip"
|
||||
URL_HASH SHA512=c74fa855f0edebbf25c9bce40b00966daa2447bfc5e15f0cf1a95f86cbf70fc6b02590707edbde16328a0a2a4fb9a1fc419d2dfc22a4a4150971be91892d4edb
|
||||
REPO "bylaws/libadrenotools"
|
||||
SHA 8fae8ce254
|
||||
HASH c74fa855f0edebbf25c9bce40b00966daa2447bfc5e15f0cf1a95f86cbf70fc6b02590707edbde16328a0a2a4fb9a1fc419d2dfc22a4a4150971be91892d4edb
|
||||
PATCHES
|
||||
${CMAKE_SOURCE_DIR}/.patch/libadrenotools/0001-linkerns-cpm.patch
|
||||
CUSTOM_CACHE_KEY "8fae"
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
|
@ -422,13 +409,12 @@ if (YUZU_CRASH_DUMPS AND NOT TARGET libbreakpad_client)
|
|||
_CRT_NONSTDC_NO_DEPRECATE
|
||||
)
|
||||
|
||||
set(CPM_USE_LOCAL_PACKAGES OFF)
|
||||
CPMAddPackage(
|
||||
AddPackage(
|
||||
NAME breakpad
|
||||
URL "https://github.com/google/breakpad/archive/f80f288803.zip"
|
||||
URL_HASH SHA512=4a87ee88cea99bd633d52a5b00135a649f1475e3b65db325a6df9c804ab82b054ad7e62419b35f6e22cc5dfbbb569214041d7ad5d10fab10106e700bb5050e1d
|
||||
URL "google/breakpad"
|
||||
SHA f80f288803
|
||||
HASH 4a87ee88cea99bd633d52a5b00135a649f1475e3b65db325a6df9c804ab82b054ad7e62419b35f6e22cc5dfbbb569214041d7ad5d10fab10106e700bb5050e1d
|
||||
DOWNLOAD_ONLY YES
|
||||
CUSTOM_CACHE_KEY "f80f"
|
||||
)
|
||||
|
||||
# libbreakpad
|
||||
|
@ -528,14 +514,11 @@ endif()
|
|||
|
||||
# oboe
|
||||
if (ANDROID)
|
||||
set(CPM_USE_LOCAL_PACKAGES ON)
|
||||
CPMAddPackage(
|
||||
AddPackage(
|
||||
NAME oboe
|
||||
URL "https://github.com/google/oboe/archive/2bc873e53c.zip"
|
||||
URL_HASH SHA512=02329058a7f9cf7d5039afaae5ab170d9f42f60f4c01e21eaf4f46073886922b057a9ae30eeac040b3ac182f51b9c1bfe9fe1050a2c9f6ce567a1a9a0ec2c768
|
||||
OPTIONS
|
||||
"SPIRV_SKIP_EXECUTABLES ON"
|
||||
CUSTOM_CACHE_KEY "2bc8"
|
||||
REPO "google/oboe"
|
||||
SHA 2bc873e53c
|
||||
HASH 02329058a7f9cf7d5039afaae5ab170d9f42f60f4c01e21eaf4f46073886922b057a9ae30eeac040b3ac182f51b9c1bfe9fe1050a2c9f6ce567a1a9a0ec2c768
|
||||
)
|
||||
|
||||
add_library(oboe::oboe ALIAS oboe)
|
||||
|
|
16
externals/ffmpeg/CMakeLists.txt
vendored
16
externals/ffmpeg/CMakeLists.txt
vendored
|
@ -19,14 +19,11 @@ if (NOT WIN32 AND NOT ANDROID)
|
|||
message(FATAL_ERROR "Required program `autoconf` not found.")
|
||||
endif()
|
||||
|
||||
include(CPM)
|
||||
set(CPM_USE_LOCAL_PACKAGES OFF)
|
||||
|
||||
CPMAddPackage(
|
||||
AddPackage(
|
||||
NAME ffmpeg
|
||||
URL "https://github.com/FFmpeg/FFmpeg/archive/c2184b65d2.zip"
|
||||
URL_HASH SHA512=2a89d664119debbb3c006ab1c48d5d7f26e889f4a65ad2e25c8b0503308295123d5a9c5c78bf683aef5ff09acef8c3fc2837f22d3e8c611528b933bf03bcdd97
|
||||
CUSTOM_CACHE_KEY "c218"
|
||||
REPO "FFmpeg/FFmpeg"
|
||||
SHA c2184b65d2
|
||||
HASH 2a89d664119debbb3c006ab1c48d5d7f26e889f4a65ad2e25c8b0503308295123d5a9c5c78bf683aef5ff09acef8c3fc2837f22d3e8c611528b933bf03bcdd97
|
||||
)
|
||||
|
||||
set(FFmpeg_PREFIX ${ffmpeg_SOURCE_DIR})
|
||||
|
@ -176,6 +173,7 @@ if (NOT WIN32 AND NOT ANDROID)
|
|||
--enable-decoder=vp8
|
||||
--enable-decoder=vp9
|
||||
--enable-filter=yadif,scale
|
||||
--enable-pic
|
||||
--cc="${FFmpeg_CC}"
|
||||
--cxx="${FFmpeg_CXX}"
|
||||
${FFmpeg_HWACCEL_FLAGS}
|
||||
|
@ -242,7 +240,7 @@ elseif(ANDROID)
|
|||
message(FATAL_ERROR "Unsupported architecture for Android FFmpeg")
|
||||
endif()
|
||||
|
||||
download_bundled_external("ffmpeg/" ${FFmpeg_EXT_NAME} "ffmpeg-bundled" FFmpeg_PATH)
|
||||
download_bundled_external("ffmpeg/" ${FFmpeg_EXT_NAME} "ffmpeg-bundled" FFmpeg_PATH 7.1.1)
|
||||
set(FFmpeg_FOUND YES)
|
||||
set(FFmpeg_INCLUDE_DIR "${FFmpeg_PATH}/include" CACHE PATH "Path to FFmpeg headers" FORCE)
|
||||
set(FFmpeg_LIBRARY_DIR "${FFmpeg_PATH}/lib" CACHE PATH "Path to FFmpeg library directory" FORCE)
|
||||
|
@ -267,7 +265,7 @@ elseif(WIN32)
|
|||
# Use yuzu FFmpeg binaries
|
||||
set(FFmpeg_EXT_NAME "ffmpeg-7.1.1")
|
||||
|
||||
download_bundled_external("ffmpeg/" ${FFmpeg_EXT_NAME} "ffmpeg-bundled" FFmpeg_PATH)
|
||||
download_bundled_external("ffmpeg/" ${FFmpeg_EXT_NAME} "ffmpeg-bundled" FFmpeg_PATH 7.1.1)
|
||||
set(FFmpeg_FOUND YES)
|
||||
set(FFmpeg_INCLUDE_DIR "${FFmpeg_PATH}/include" CACHE PATH "Path to FFmpeg headers" FORCE)
|
||||
set(FFmpeg_LIBRARY_DIR "${FFmpeg_PATH}/bin" CACHE PATH "Path to FFmpeg library directory" FORCE)
|
||||
|
|
|
@ -232,3 +232,5 @@ if (ANDROID)
|
|||
add_subdirectory(android/app/src/main/jni)
|
||||
target_include_directories(yuzu-android PRIVATE android/app/src/main)
|
||||
endif()
|
||||
|
||||
include(GenerateDepHashes)
|
||||
|
|
|
@ -552,7 +552,7 @@ class NetPlayDialog(context: Context) : BottomSheetDialog(context) {
|
|||
if (result == 0) {
|
||||
StringSetting.WEB_USERNAME.setString(username)
|
||||
NetPlayManager.setRoomPort(activity, portStr)
|
||||
NetPlayManager.setRoomAddress(activity, ipAddress)
|
||||
|
||||
if (!isCreateRoom) NetPlayManager.setRoomAddress(activity, ipAddress)
|
||||
|
||||
Toast.makeText(
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
// SPDX-FileCopyrightText: 2025 Eden Emulator Project
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
|
@ -91,7 +94,8 @@ class AboutFragment : Fragment() {
|
|||
}
|
||||
}
|
||||
|
||||
binding.buttonDiscord.setOnClickListener { openLink(getString(R.string.support_link)) }
|
||||
binding.buttonDiscord.setOnClickListener { openLink(getString(R.string.discord_link)) }
|
||||
binding.buttonRevolt.setOnClickListener { openLink(getString(R.string.revolt_link)) }
|
||||
binding.buttonWebsite.setOnClickListener { openLink(getString(R.string.website_link)) }
|
||||
binding.buttonGithub.setOnClickListener { openLink(getString(R.string.github_link)) }
|
||||
|
||||
|
|
|
@ -211,6 +211,7 @@ class EmulationFragment : Fragment(), SurfaceHolder.Callback {
|
|||
|
||||
if (shouldUseCustom) {
|
||||
SettingsFile.loadCustomConfig(game!!)
|
||||
NativeConfig.unloadPerGameConfig()
|
||||
Log.info("[EmulationFragment] Loading custom settings for ${game!!.title}")
|
||||
} else {
|
||||
Log.info("[EmulationFragment] Using global settings")
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
|
||||
package org.yuzu.yuzu_emu.ui
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.content.res.Configuration
|
||||
|
@ -94,6 +95,7 @@ class GamesFragment : Fragment() {
|
|||
return binding.root
|
||||
}
|
||||
|
||||
@SuppressLint("NotifyDataSetChanged")
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
homeViewModel.setStatusBarShadeVisibility(true)
|
||||
|
|
15
src/android/app/src/main/res/drawable/ic_revolt.xml
Normal file
15
src/android/app/src/main/res/drawable/ic_revolt.xml
Normal file
|
@ -0,0 +1,15 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="108dp"
|
||||
android:height="108dp"
|
||||
android:viewportWidth="108"
|
||||
android:viewportHeight="108">
|
||||
<!-- Scaling isn't perfect but I spent like 10 minutes trying to calculate this and I'm tired -->
|
||||
<group
|
||||
android:scaleX="2.987"
|
||||
android:scaleY="2.987"
|
||||
android:translateX="-107.15"
|
||||
android:translateY="-109.35">
|
||||
<path
|
||||
android:pathData="M42.7,71.38C42.7,60.74 42.7,53.76 42.7,44.7L35.91,36.62H57.87C60.48,36.62 62.77,37.09 64.72,38.03C66.68,38.97 68.2,40.32 69.29,42.08C70.37,43.85 70.92,45.97 70.92,48.43C70.92,50.92 70.36,53.02 69.24,54.73C68.13,56.44 66.56,57.73 64.55,58.6C62.55,59.47 60.21,59.91 57.53,59.91H48.47V52.57H55.61C56.73,52.57 57.69,52.44 58.47,52.17C59.28,51.88 59.89,51.44 60.31,50.83C60.75,50.21 60.96,49.42 60.96,48.43C60.96,47.44 60.75,46.63 60.31,46C59.89,45.37 59.28,44.91 58.47,44.61C57.69,44.31 56.73,44.15 55.61,44.15H52.24V71.38H42.7ZM63.3,55.43L72.09,71.38H61.72L53.14,55.43H63.3Z"
|
||||
android:fillColor="#FF005C"/>
|
||||
</group></vector>
|
|
@ -4,6 +4,7 @@
|
|||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="?attr/colorSurface"
|
||||
android:clipChildren="false"
|
||||
>
|
||||
|
||||
|
@ -21,7 +22,7 @@
|
|||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/app_name"
|
||||
android:textAppearance="@style/TextAppearance.Material3.HeadlineLarge"
|
||||
style="@style/SynthwaveText.Title"
|
||||
android:textSize="27sp"
|
||||
android:textStyle="bold"
|
||||
/>
|
||||
|
@ -40,13 +41,11 @@
|
|||
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
android:id="@+id/search_background"
|
||||
style="?attr/materialCardViewFilledStyle"
|
||||
style="@style/EdenCard"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="48dp"
|
||||
app:cardCornerRadius="24dp"
|
||||
app:cardBackgroundColor="?attr/colorSurfaceVariant"
|
||||
app:strokeColor="?attr/colorOutline"
|
||||
app:strokeWidth="1dp"
|
||||
android:padding="4dp"
|
||||
>
|
||||
|
||||
<LinearLayout
|
||||
|
@ -64,7 +63,7 @@
|
|||
android:layout_gravity="center_vertical"
|
||||
android:layout_marginEnd="18dp"
|
||||
android:src="@drawable/ic_search"
|
||||
app:tint="?attr/colorOnSurfaceVariant"
|
||||
app:tint="?attr/colorSecondary"
|
||||
/>
|
||||
|
||||
<EditText
|
||||
|
@ -76,6 +75,9 @@
|
|||
android:inputType="text"
|
||||
android:maxLines="1"
|
||||
android:imeOptions="flagNoFullscreen"
|
||||
android:textColor="?attr/colorOnBackground"
|
||||
android:textColorHint="?attr/colorOnSurfaceVariant"
|
||||
android:fontFamily="monospace"
|
||||
/>
|
||||
|
||||
</LinearLayout>
|
||||
|
@ -98,13 +100,11 @@
|
|||
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
android:id="@+id/view_button"
|
||||
style="?attr/materialCardViewFilledStyle"
|
||||
style="@style/EdenCard"
|
||||
android:layout_width="42dp"
|
||||
android:layout_height="42dp"
|
||||
app:cardCornerRadius="21dp"
|
||||
app:cardBackgroundColor="@color/eden_surface_variant"
|
||||
app:strokeColor="@color/eden_border"
|
||||
app:strokeWidth="1dp"
|
||||
android:padding="8dp"
|
||||
>
|
||||
|
||||
<ImageView
|
||||
|
@ -112,7 +112,7 @@
|
|||
android:layout_height="18dp"
|
||||
android:layout_gravity="center"
|
||||
android:src="@drawable/ic_eye"
|
||||
app:tint="?attr/colorOnSurfaceVariant"
|
||||
app:tint="?attr/colorSecondary"
|
||||
/>
|
||||
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
|
@ -124,13 +124,11 @@
|
|||
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
android:id="@+id/filter_button"
|
||||
style="?attr/materialCardViewFilledStyle"
|
||||
style="@style/EdenCard"
|
||||
android:layout_width="42dp"
|
||||
android:layout_height="42dp"
|
||||
app:cardCornerRadius="21dp"
|
||||
app:cardBackgroundColor="@color/eden_surface_variant"
|
||||
app:strokeColor="@color/eden_border"
|
||||
app:strokeWidth="1dp"
|
||||
android:padding="8dp"
|
||||
>
|
||||
|
||||
<ImageView
|
||||
|
@ -150,13 +148,11 @@
|
|||
|
||||
<com.google.android.material.card.MaterialCardView
|
||||
android:id="@+id/settings_button"
|
||||
style="?attr/materialCardViewFilledStyle"
|
||||
style="@style/EdenCard"
|
||||
android:layout_width="42dp"
|
||||
android:layout_height="42dp"
|
||||
app:cardCornerRadius="21dp"
|
||||
app:cardBackgroundColor="@color/eden_surface_variant"
|
||||
app:strokeColor="@color/eden_border"
|
||||
app:strokeWidth="1dp"
|
||||
android:padding="8dp"
|
||||
>
|
||||
|
||||
<ImageView
|
||||
|
@ -164,7 +160,7 @@
|
|||
android:layout_height="18dp"
|
||||
android:layout_gravity="center"
|
||||
android:src="@drawable/ic_settings"
|
||||
app:tint="?attr/colorOnSurfaceVariant"
|
||||
app:tint="?attr/colorTertiary"
|
||||
/>
|
||||
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
|
|
|
@ -6,7 +6,8 @@
|
|||
android:id="@+id/coordinator_main"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/eden_background_gradient">
|
||||
android:background="@drawable/eden_background_gradient"
|
||||
>
|
||||
|
||||
<androidx.fragment.app.FragmentContainerView
|
||||
android:id="@+id/fragment_container"
|
||||
|
|
|
@ -219,6 +219,17 @@
|
|||
app:iconSize="24dp"
|
||||
app:iconPadding="0dp" />
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/button_revolt"
|
||||
style="@style/EdenButton.Secondary"
|
||||
android:layout_width="56dp"
|
||||
android:layout_height="56dp"
|
||||
android:layout_marginEnd="12dp"
|
||||
app:icon="@drawable/ic_revolt"
|
||||
app:iconGravity="textStart"
|
||||
app:iconSize="24dp"
|
||||
app:iconPadding="0dp" />
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/button_website"
|
||||
style="@style/EdenButton.Secondary"
|
||||
|
|
|
@ -6,7 +6,8 @@
|
|||
android:id="@+id/coordinator_main"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="?android:attr/colorBackground">
|
||||
android:background="@drawable/eden_background_gradient"
|
||||
>
|
||||
|
||||
<androidx.fragment.app.FragmentContainerView
|
||||
android:id="@+id/fragment_container"
|
||||
|
|
|
@ -66,7 +66,7 @@
|
|||
android:orientation="vertical">
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
style="@style/SynthwaveText.Header"
|
||||
style="@style/TextAppearance.Material3.TitleMedium"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textAlignment="viewStart"
|
||||
|
@ -101,7 +101,7 @@
|
|||
android:orientation="vertical">
|
||||
|
||||
<com.google.android.material.textview.MaterialTextView
|
||||
style="@style/SynthwaveText.Header"
|
||||
style="@style/TextAppearance.Material3.TitleMedium"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textAlignment="viewStart"
|
||||
|
@ -213,6 +213,18 @@
|
|||
app:iconGravity="textStart"
|
||||
app:iconPadding="0dp" />
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
style="@style/EdenButton.Secondary"
|
||||
android:id="@+id/button_revolt"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="56dp"
|
||||
android:layout_weight="1"
|
||||
android:layout_marginEnd="8dp"
|
||||
app:icon="@drawable/ic_revolt"
|
||||
app:iconSize="24dp"
|
||||
app:iconGravity="textStart"
|
||||
app:iconPadding="0dp" />
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
style="@style/EdenButton.Secondary"
|
||||
android:id="@+id/button_website"
|
||||
|
|
|
@ -4,6 +4,8 @@
|
|||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="?attr/colorSurface"
|
||||
android:clipChildren="false"
|
||||
>
|
||||
|
||||
<LinearLayout
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
android:scrollbars="vertical"
|
||||
android:fadeScrollbars="false"
|
||||
android:clipToPadding="false"
|
||||
android:background="?attr/colorSurface"
|
||||
android:defaultFocusHighlightEnabled="false">
|
||||
|
||||
<androidx.appcompat.widget.LinearLayoutCompat
|
||||
|
|
|
@ -226,6 +226,64 @@
|
|||
<color name="yuzu_inversePrimary_gray">#B7B7B7</color>
|
||||
<color name="yuzu_surfaceTint_gray">#B7B7B7</color>
|
||||
|
||||
<!-- Eden Theme Colors -->
|
||||
|
||||
<!-- Synthwave/Vaporwave Primary Colors -->
|
||||
<color name="eden_primary">#FF0080</color> <!-- Neon magenta -->
|
||||
<color name="eden_primary_variant">#E6006B</color> <!-- Darker magenta -->
|
||||
<color name="eden_secondary">#00FFFF</color> <!-- Electric cyan -->
|
||||
<color name="eden_secondary_variant">#00E6E6</color> <!-- Darker cyan -->
|
||||
|
||||
<!-- Background Colors - Deep space black -->
|
||||
<color name="eden_background">#000000</color> <!-- Pure black background -->
|
||||
<color name="eden_surface">#0D0D0D</color> <!-- Card surface -->
|
||||
<color name="eden_surface_variant">#1A1A1A</color> <!-- Elevated surface -->
|
||||
|
||||
<!-- Text Colors - High contrast for readability -->
|
||||
<color name="eden_on_background">#FFFFFF</color> <!-- Pure white text -->
|
||||
<color name="eden_on_surface">#FFFFFF</color> <!-- Pure white text -->
|
||||
<color name="eden_on_primary">#FFFFFF</color> <!-- White on neon -->
|
||||
<color name="eden_on_secondary">#000000</color> <!-- Black on cyan -->
|
||||
|
||||
<!-- Synthwave Status Colors -->
|
||||
<color name="eden_error">#FF0040</color> <!-- Neon red -->
|
||||
<color name="eden_success">#00FF80</color> <!-- Neon green -->
|
||||
<color name="eden_warning">#FFFF00</color> <!-- Neon yellow -->
|
||||
<color name="eden_info">#0080FF</color> <!-- Electric blue -->
|
||||
|
||||
<!-- Synthwave Accent Colors -->
|
||||
<color name="eden_accent_purple">#9D00FF</color> <!-- Electric purple -->
|
||||
<color name="eden_accent_blue">#0080FF</color> <!-- Electric blue -->
|
||||
<color name="eden_accent_orange">#FF8000</color> <!-- Neon orange -->
|
||||
|
||||
<!-- Neon Glow Effects -->
|
||||
<color name="eden_glow_pink">#80FF0080</color> <!-- Magenta glow -->
|
||||
<color name="eden_glow_cyan">#8060D1F6</color> <!-- Cyan glow -->
|
||||
<color name="eden_glow_orange">#80FF8000</color> <!-- Orange glow -->
|
||||
|
||||
<!-- Neon Border Colors -->
|
||||
<color name="eden_border">#7c757f</color> <!-- Subtle border -->
|
||||
<color name="eden_border_light">#948b98</color> <!-- Lighter border -->
|
||||
<color name="eden_border_gradient_start">#FF0080</color> <!-- Neon magenta -->
|
||||
<color name="eden_border_gradient_end">#60D1F6</color> <!-- Electric cyan -->
|
||||
|
||||
<!-- Overlay Colors -->
|
||||
<color name="eden_overlay">#CC000000</color>
|
||||
|
||||
<!-- Neon Button Colors -->
|
||||
<color name="eden_button_primary_bg">#FF0080</color> <!-- Neon magenta -->
|
||||
<color name="eden_button_secondary_bg">#00000000</color> <!-- Transparent -->
|
||||
<color name="eden_button_secondary_border">#00FFFF</color> <!-- Electric cyan -->
|
||||
|
||||
<!-- Synthwave Card Colors -->
|
||||
<color name="eden_card_background">#0D0D0D</color> <!-- Almost black -->
|
||||
<color name="eden_card_background_elevated">#1A1A1A</color> <!-- Elevated black -->
|
||||
|
||||
<!-- Transparent versions for gradients -->
|
||||
<color name="eden_transparent">#00000000</color>
|
||||
<color name="eden_primary_transparent">#05FF0080</color>
|
||||
<color name="eden_secondary_transparent">#0500FFFF</color>
|
||||
|
||||
<!-- Common Colors Across All Themes -->
|
||||
<color name="yuzu_transparent_black">#80000000</color>
|
||||
<color name="yuzu_outlineVariant">#C6C5D0</color>
|
||||
|
|
|
@ -1,84 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
|
||||
<!-- Synthwave/Vaporwave Primary Colors -->
|
||||
<color name="eden_primary">#FF0080</color> <!-- Neon magenta -->
|
||||
<color name="eden_primary_variant">#E6006B</color> <!-- Darker magenta -->
|
||||
<color name="eden_secondary">#00FFFF</color> <!-- Electric cyan -->
|
||||
<color name="eden_secondary_variant">#00E6E6</color> <!-- Darker cyan -->
|
||||
|
||||
<!-- Background Colors - Deep space black -->
|
||||
<color name="eden_background">#000000</color> <!-- Pure black background -->
|
||||
<color name="eden_surface">#0D0D0D</color> <!-- Card surface -->
|
||||
<color name="eden_surface_variant">#1A1A1A</color> <!-- Elevated surface -->
|
||||
|
||||
<!-- Text Colors - High contrast for readability -->
|
||||
<color name="eden_on_background">#FFFFFF</color> <!-- Pure white text -->
|
||||
<color name="eden_on_surface">#FFFFFF</color> <!-- Pure white text -->
|
||||
<color name="eden_on_primary">#FFFFFF</color> <!-- White on neon -->
|
||||
<color name="eden_on_secondary">#000000</color> <!-- Black on cyan -->
|
||||
|
||||
<!-- Synthwave Accent Colors -->
|
||||
<color name="eden_accent_pink">#FF0080</color> <!-- Neon magenta -->
|
||||
<color name="eden_accent_purple">#9D00FF</color> <!-- Electric purple -->
|
||||
<color name="eden_accent_blue">#0080FF</color> <!-- Electric blue -->
|
||||
<color name="eden_accent_orange">#FF8000</color> <!-- Neon orange -->
|
||||
|
||||
<!-- Synthwave Gradient Colors -->
|
||||
<color name="eden_gradient_start">#FF0080</color> <!-- Neon magenta -->
|
||||
<color name="eden_gradient_middle">#9D00FF</color> <!-- Electric purple -->
|
||||
<color name="eden_gradient_end">#00FFFF</color> <!-- Electric cyan -->
|
||||
|
||||
<!-- Neon Glow Effects -->
|
||||
<color name="eden_glow_pink">#80FF0080</color> <!-- Magenta glow -->
|
||||
<color name="eden_glow_cyan">#8000FFFF</color> <!-- Cyan glow -->
|
||||
<color name="eden_glow_purple">#809D00FF</color> <!-- Purple glow -->
|
||||
<color name="eden_glow_orange">#80FF8000</color> <!-- Orange glow -->
|
||||
|
||||
<!-- Neon Border Colors -->
|
||||
<color name="eden_border">#333333</color> <!-- Subtle border -->
|
||||
<color name="eden_border_light">#555555</color> <!-- Lighter border -->
|
||||
<color name="eden_border_gradient_start">#FF0080</color> <!-- Neon magenta -->
|
||||
<color name="eden_border_gradient_end">#00FFFF</color> <!-- Electric cyan -->
|
||||
|
||||
<!-- Retro Grid Pattern -->
|
||||
<color name="eden_grid_line">#1A1A1A</color> <!-- Grid lines -->
|
||||
<color name="eden_grid_line_accent">#FF0080</color> <!-- Neon grid lines -->
|
||||
<color name="eden_grid_line_cyan">#00FFFF</color> <!-- Cyan grid lines -->
|
||||
|
||||
<!-- Synthwave Status Colors -->
|
||||
<color name="eden_error">#FF0040</color> <!-- Neon red -->
|
||||
<color name="eden_success">#00FF80</color> <!-- Neon green -->
|
||||
<color name="eden_warning">#FFFF00</color> <!-- Neon yellow -->
|
||||
<color name="eden_info">#0080FF</color> <!-- Electric blue -->
|
||||
|
||||
<!-- Overlay Colors -->
|
||||
<color name="eden_overlay_dark">#CC000000</color>
|
||||
<color name="eden_overlay_medium">#80000000</color>
|
||||
<color name="eden_overlay_light">#33000000</color>
|
||||
|
||||
<!-- Neon Button Colors -->
|
||||
<color name="eden_button_primary_bg">#FF0080</color> <!-- Neon magenta -->
|
||||
<color name="eden_button_secondary_bg">#00000000</color> <!-- Transparent -->
|
||||
<color name="eden_button_secondary_border">#00FFFF</color> <!-- Electric cyan -->
|
||||
|
||||
<!-- Synthwave Card Colors -->
|
||||
<color name="eden_card_background">#0D0D0D</color> <!-- Almost black -->
|
||||
<color name="eden_card_background_elevated">#1A1A1A</color> <!-- Elevated black -->
|
||||
|
||||
<!-- Retro Navigation Colors -->
|
||||
<color name="eden_nav_background">#000000</color> <!-- Pure black -->
|
||||
<color name="eden_nav_selected">#FF0080</color> <!-- Neon magenta -->
|
||||
<color name="eden_nav_unselected">#666666</color> <!-- Gray -->
|
||||
|
||||
<!-- Transparent versions for gradients -->
|
||||
<color name="eden_transparent">#00000000</color>
|
||||
<color name="eden_primary_transparent">#00FF0080</color>
|
||||
<color name="eden_secondary_transparent">#0000FFFF</color>
|
||||
|
||||
<!-- Additional Synthwave Colors -->
|
||||
<color name="eden_scan_line">#33FF0080</color> <!-- Scan line effect -->
|
||||
<color name="eden_hologram">#1A00FFFF</color> <!-- Holographic effect -->
|
||||
<color name="eden_neon_outline">#FFFF0080</color> <!-- Neon outline -->
|
||||
|
||||
</resources>
|
|
@ -440,9 +440,10 @@
|
|||
<string name="user_data_import_success">User data imported successfully</string>
|
||||
<string name="user_data_export_cancelled">Export cancelled</string>
|
||||
<string name="user_data_import_failed_description">Make sure the user data folders are at the root of the zip folder and contain a config file at config/config.ini and try again.</string>
|
||||
<string name="support_link">https://discord.gg/edenemu</string>
|
||||
<string name="website_link">https://eden-emulator.github.io</string>
|
||||
<string name="github_link">https://git.eden-emu.dev/eden-emu</string>
|
||||
<string name="discord_link" translatable="false">https://discord.gg/kXAmGCXBGD</string>
|
||||
<string name="revolt_link" translatable="false">https://rvlt.gg/qKgFEAbH</string>
|
||||
<string name="website_link" translatable="false">https://eden-emu.dev</string>
|
||||
<string name="github_link" translatable="false">https://git.eden-emu.dev/eden-emu</string>
|
||||
|
||||
<!-- General settings strings -->
|
||||
<string name="frame_limit_enable">Limit speed</string>
|
||||
|
|
|
@ -64,7 +64,7 @@
|
|||
<item name="android:windowLightStatusBar">false</item>
|
||||
<item name="android:windowLightNavigationBar">false</item>
|
||||
<!-- Other theme attributes -->
|
||||
<item name="android:shadowColor">@color/eden_overlay_dark</item>
|
||||
<item name="android:shadowColor">@color/eden_overlay</item>
|
||||
<item name="sliderStyle">@style/EdenSlider</item>
|
||||
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
|
||||
<item name="android:enforceStatusBarContrast">false</item>
|
||||
|
|
|
@ -221,6 +221,64 @@
|
|||
<color name="yuzu_inversePrimary_gray">#BDBDBD</color>
|
||||
<color name="yuzu_surfaceTint_gray">#9E9E9E</color>
|
||||
|
||||
<!-- Eden Theme Colors -->
|
||||
|
||||
<!-- Synthwave/Vaporwave Primary Colors -->
|
||||
<color name="eden_primary">#FF0080</color> <!-- Neon magenta -->
|
||||
<color name="eden_primary_variant">#E6006B</color> <!-- Darker magenta -->
|
||||
<color name="eden_secondary">#60D1F6</color> <!-- Electric cyan -->
|
||||
<color name="eden_secondary_variant">#00E6E6</color> <!-- Darker cyan -->
|
||||
|
||||
<!-- Background Colors - White -->
|
||||
<color name="eden_background">#FFFFFF</color> <!-- Pure black background -->
|
||||
<color name="eden_surface">#FFFFFF</color> <!-- Card surface -->
|
||||
<color name="eden_surface_variant">#D3D3D3</color> <!-- Elevated surface -->
|
||||
|
||||
<!-- Text Colors - High contrast for readability -->
|
||||
<color name="eden_on_background">#000000</color> <!-- Pure black text -->
|
||||
<color name="eden_on_surface">#000000</color> <!-- Pure black text -->
|
||||
<color name="eden_on_primary">#FFFFFF</color> <!-- White on neon -->
|
||||
<color name="eden_on_secondary">#C0C0C0</color> <!-- Milky White on cyan -->
|
||||
|
||||
<!-- Synthwave Accent Colors -->
|
||||
<color name="eden_accent_purple">#9D00FF</color> <!-- Electric purple -->
|
||||
<color name="eden_accent_blue">#0080FF</color> <!-- Electric blue -->
|
||||
<color name="eden_accent_orange">#FF8000</color> <!-- Neon orange -->
|
||||
|
||||
<!-- Neon Glow Effects -->
|
||||
<color name="eden_glow_pink">#80FF0080</color> <!-- Magenta glow -->
|
||||
<color name="eden_glow_cyan">#8060D1F6</color> <!-- Cyan glow -->
|
||||
<color name="eden_glow_orange">#80FF8000</color> <!-- Orange glow -->
|
||||
|
||||
<!-- Neon Border Colors -->
|
||||
<color name="eden_border">#7c757f</color> <!-- Subtle border -->
|
||||
<color name="eden_border_light">#948b98</color> <!-- Lighter border -->
|
||||
<color name="eden_border_gradient_start">#FF0080</color> <!-- Neon magenta -->
|
||||
<color name="eden_border_gradient_end">#60D1F6</color> <!-- Electric cyan -->
|
||||
|
||||
<!-- Synthwave Status Colors -->
|
||||
<color name="eden_error">#FF0040</color> <!-- Neon red -->
|
||||
<color name="eden_success">#00FF80</color> <!-- Neon green -->
|
||||
<color name="eden_warning">#FFFF00</color> <!-- Neon yellow -->
|
||||
<color name="eden_info">#0080FF</color> <!-- Electric blue -->
|
||||
|
||||
<!-- Overlay Colors -->
|
||||
<color name="eden_overlay">#CCFFFFFF</color>
|
||||
|
||||
<!-- Neon Button Colors -->
|
||||
<color name="eden_button_primary_bg">#FF0080</color> <!-- Neon magenta -->
|
||||
<color name="eden_button_secondary_bg">#00000000</color> <!-- Transparent -->
|
||||
<color name="eden_button_secondary_border">#60D1F6</color> <!-- Electric cyan -->
|
||||
|
||||
<!-- Synthwave Card Colors -->
|
||||
<color name="eden_card_background">#F0F0F0</color> <!-- Almost white -->
|
||||
<color name="eden_card_background_elevated">#D8D8D8</color> <!-- Elevated white -->
|
||||
|
||||
<!-- Transparent versions for gradients -->
|
||||
<color name="eden_transparent">#00000000</color>
|
||||
<color name="eden_primary_transparent">#05FF0080</color>
|
||||
<color name="eden_secondary_transparent">#0500FFFF</color>
|
||||
|
||||
<!-- Common Colors Across All Themes -->
|
||||
<color name="yuzu_outlineVariant">#C6C5D0</color>
|
||||
<color name="yuzu_error">#BA1A1A</color>
|
||||
|
@ -230,7 +288,8 @@
|
|||
<color name="yuzu_shadow">#000000</color>
|
||||
<color name="yuzu_scrim">#000000</color>
|
||||
<color name="yuzu_transparent_black">#80000000</color>
|
||||
<!-- Values used in dark mode but here are jsut white / black values-->
|
||||
|
||||
<!-- Values used in dark mode but here are just white / black values-->
|
||||
<color name="yuzu_onPrimary_blue">#FFFFFF</color>
|
||||
<color name="yuzu_onSecondary_blue">#FFFFFF</color>
|
||||
<color name="yuzu_onTertiary_blue">#FFFFFF</color>
|
||||
|
|
|
@ -159,7 +159,8 @@ add_library(
|
|||
wall_clock.cpp
|
||||
wall_clock.h
|
||||
zstd_compression.cpp
|
||||
zstd_compression.h)
|
||||
zstd_compression.h
|
||||
)
|
||||
|
||||
if(YUZU_ENABLE_PORTABLE)
|
||||
add_compile_definitions(YUZU_ENABLE_PORTABLE)
|
||||
|
|
|
@ -391,14 +391,14 @@ void ProfileManager::ParseUserSaveFile() {
|
|||
|
||||
if (!save.IsOpen()) {
|
||||
LOG_WARNING(Service_ACC, "Failed to load profile data from save data... Generating new "
|
||||
"user 'yuzu' with random UUID.");
|
||||
"user 'eden' with random UUID.");
|
||||
return;
|
||||
}
|
||||
|
||||
ProfileDataRaw data;
|
||||
if (!save.ReadObject(data)) {
|
||||
LOG_WARNING(Service_ACC, "profiles.dat is smaller than expected... Generating new user "
|
||||
"'yuzu' with random UUID.");
|
||||
"'eden' with random UUID.");
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
20
src/dep_hashes.h.in
Normal file
20
src/dep_hashes.h.in
Normal file
|
@ -0,0 +1,20 @@
|
|||
// SPDX-FileCopyrightText: 2025 Eden Emulator Project
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
namespace Common {
|
||||
|
||||
static const constexpr std::array<const char *, @DEPS_LENGTH@> dep_names = {
|
||||
@DEP_NAMES@
|
||||
};
|
||||
|
||||
static const constexpr std::array<const char *, @DEPS_LENGTH@> dep_hashes = {
|
||||
@DEP_SHAS@
|
||||
};
|
||||
|
||||
static const constexpr std::array<const char *, @DEPS_LENGTH@> dep_urls = {
|
||||
@DEP_URLS@
|
||||
};
|
||||
|
||||
} // namespace Common
|
42
src/dynarmic/externals/CMakeLists.txt
vendored
42
src/dynarmic/externals/CMakeLists.txt
vendored
|
@ -1,4 +1,4 @@
|
|||
include(CPM)
|
||||
include(CPMUtil)
|
||||
|
||||
# Always build externals as static libraries, even when dynarmic is built as shared
|
||||
if (BUILD_SHARED_LIBS)
|
||||
|
@ -22,12 +22,12 @@ set(BUILD_TESTING OFF)
|
|||
if ("riscv" IN_LIST ARCHITECTURE)
|
||||
add_subdirectory(biscuit)
|
||||
|
||||
CPMAddPackage(
|
||||
AddPackage(
|
||||
NAME biscuit
|
||||
VERSION 0.9.1
|
||||
URL "https://github.com/lioncash/biscuit/archive/76b0be8dae.zip"
|
||||
URL_HASH SHA512=47d55ed02d032d6cf3dc107c6c0a9aea686d5f25aefb81d1af91db027b6815bd5add1755505e19d76625feeb17aa2db6cd1668fe0dad2e6a411519bde6ca4489
|
||||
CUSTOM_CACHE_KEY "76b0"
|
||||
REPO "lioncash/biscuit"
|
||||
SHA 76b0be8dae
|
||||
HASH 47d55ed02d032d6cf3dc107c6c0a9aea686d5f25aefb81d1af91db027b6815bd5add1755505e19d76625feeb17aa2db6cd1668fe0dad2e6a411519bde6ca4489
|
||||
)
|
||||
endif()
|
||||
|
||||
|
@ -49,14 +49,14 @@ if (NOT TARGET fmt::fmt)
|
|||
endif()
|
||||
|
||||
# mcl
|
||||
CPMAddPackage(
|
||||
AddPackage(
|
||||
NAME mcl
|
||||
VERSION 0.1.12
|
||||
URL "https://github.com/azahar-emu/mcl/archive/7b08d83418.zip"
|
||||
URL_HASH SHA512=f943bac39c1879986decad7a442ff4288eaeca4a2907684c7914e115a55ecc43c2782ded85c0835763fe04e40d5c82220ce864423e489e648e408a84f54dc4f3
|
||||
REPO "azahar-emu/mcl"
|
||||
SHA 7b08d83418
|
||||
HASH f943bac39c1879986decad7a442ff4288eaeca4a2907684c7914e115a55ecc43c2782ded85c0835763fe04e40d5c82220ce864423e489e648e408a84f54dc4f3
|
||||
OPTIONS
|
||||
"MCL_INSTALL OFF"
|
||||
CUSTOM_CACHE_KEY "7b08"
|
||||
)
|
||||
|
||||
# oaknut
|
||||
|
@ -71,14 +71,14 @@ CPMAddPackage(
|
|||
|
||||
# unordered_dense
|
||||
|
||||
CPMAddPackage(
|
||||
AddPackage(
|
||||
NAME unordered_dense
|
||||
URL "https://github.com/Lizzie841/unordered_dense/archive/e59d30b7b1.zip"
|
||||
URL_HASH SHA512=71eff7bd9ba4b9226967bacd56a8ff000946f8813167cb5664bb01e96fb79e4e220684d824fe9c59c4d1cc98c606f13aff05b7940a1ed8ab3c95d6974ee34fa0
|
||||
REPO "Lizzie841/unordered_dense"
|
||||
SHA e59d30b7b1
|
||||
HASH 71eff7bd9ba4b9226967bacd56a8ff000946f8813167cb5664bb01e96fb79e4e220684d824fe9c59c4d1cc98c606f13aff05b7940a1ed8ab3c95d6974ee34fa0
|
||||
FIND_PACKAGE_ARGUMENTS "CONFIG"
|
||||
OPTIONS
|
||||
"UNORDERED_DENSE_INSTALL OFF"
|
||||
CUSTOM_CACHE_KEY "e59d"
|
||||
)
|
||||
|
||||
# xbyak
|
||||
|
@ -93,24 +93,24 @@ CPMAddPackage(
|
|||
# zydis
|
||||
|
||||
if ("x86_64" IN_LIST ARCHITECTURE)
|
||||
CPMAddPackage(
|
||||
AddPackage(
|
||||
NAME Zycore
|
||||
URL "https://github.com/zyantific/zycore-c/archive/75a36c45ae.zip"
|
||||
URL_HASH SHA512=15aa399f39713e042c4345bc3175c82f14dca849fde2a21d4f591f62c43e227b70d868d8bb86beb5f4eb68b1d6bd3792cdd638acf89009e787e3d10ee7401924
|
||||
CUSTOM_CACHE_KEY "75a3"
|
||||
REPO "zyantific/zycore-c"
|
||||
SHA 75a36c45ae
|
||||
HASH 15aa399f39713e042c4345bc3175c82f14dca849fde2a21d4f591f62c43e227b70d868d8bb86beb5f4eb68b1d6bd3792cdd638acf89009e787e3d10ee7401924
|
||||
)
|
||||
|
||||
CPMAddPackage(
|
||||
AddPackage(
|
||||
NAME Zydis
|
||||
VERSION 4
|
||||
URL "https://github.com/zyantific/zydis/archive/c2d2bab025.zip"
|
||||
URL_HASH SHA512=7b48f213ff7aab2926f8c9c65195959143bebbfb2b9a25051ffd8b8b0f1baf1670d9739781de674577d955925f91ac89376e16b476a03828c84e2fd765d45020
|
||||
REPO "zyantific/zydis"
|
||||
SHA c2d2bab025
|
||||
HASH 7b48f213ff7aab2926f8c9c65195959143bebbfb2b9a25051ffd8b8b0f1baf1670d9739781de674577d955925f91ac89376e16b476a03828c84e2fd765d45020
|
||||
OPTIONS
|
||||
"ZYDIS_BUILD_TOOLS OFF"
|
||||
"ZYDIS_BUILD_EXAMPLES OFF"
|
||||
"ZYDIS_BUILD_DOXYGEN OFF"
|
||||
"ZYAN_ZYCORE_PATH ${Zycore_SOURCE_DIR}"
|
||||
"CMAKE_DISABLE_FIND_PACKAGE_Doxygen ON"
|
||||
CUSTOM_CACHE_KEY "c2d2"
|
||||
)
|
||||
endif()
|
||||
|
|
|
@ -14,19 +14,34 @@ template<typename... Ts>
|
|||
assert_terminate_impl(expr_str, msg, fmt::make_format_args(args...));
|
||||
}
|
||||
|
||||
// Temporary until MCL is fully removed
|
||||
#ifndef ASSERT_MSG
|
||||
#define ASSERT_MSG(_a_, ...) \
|
||||
([&]() { \
|
||||
if (!(_a_)) [[unlikely]] { \
|
||||
assert_terminate(#_a_, __VA_ARGS__); \
|
||||
} \
|
||||
}())
|
||||
#endif
|
||||
|
||||
#ifndef ASSERT
|
||||
#define ASSERT(_a_) ASSERT_MSG(_a_, "")
|
||||
#endif
|
||||
#ifndef UNREACHABLE
|
||||
#define UNREACHABLE() ASSERT_MSG(false, "unreachable")
|
||||
#endif
|
||||
#ifdef _DEBUG
|
||||
#ifndef DEBUG_ASSERT
|
||||
#define DEBUG_ASSERT(_a_) ASSERT(_a_)
|
||||
#endif
|
||||
#ifndef DEBUG_ASSERT_MSG
|
||||
#define DEBUG_ASSERT_MSG(_a_, ...) ASSERT_MSG(_a_, __VA_ARGS__)
|
||||
#endif
|
||||
#else // not debug
|
||||
#ifndef DEBUG_ASSERT
|
||||
#define DEBUG_ASSERT(_a_)
|
||||
#endif
|
||||
#ifndef DEBUG_ASSERT_MSG
|
||||
#define DEBUG_ASSERT_MSG(_a_, _desc_, ...)
|
||||
#endif
|
||||
#endif
|
||||
|
|
|
@ -1,21 +0,0 @@
|
|||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2019 JFrog
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
|
@ -1,405 +0,0 @@
|
|||
#
|
||||
# Internal Qt Creator variable reference
|
||||
#
|
||||
foreach(qtcreator_var
|
||||
QT_QMAKE_EXECUTABLE CMAKE_PREFIX_PATH CMAKE_C_COMPILER CMAKE_CXX_COMPILER
|
||||
CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELWITHDEBINFO)
|
||||
set(__just_reference_${qtcreator_var} ${${qtcreator_var}})
|
||||
endforeach()
|
||||
|
||||
option(QT_CREATOR_SOURCE_GROUPS "Qt Creator source groups extensions" ON)
|
||||
if (QT_CREATOR_SOURCE_GROUPS)
|
||||
source_group("Resources" REGULAR_EXPRESSION "\\.(pdf|plist|png|jpeg|jpg|storyboard|xcassets|qrc|svg|gif|ico|webp)$")
|
||||
source_group("Forms" REGULAR_EXPRESSION "\\.(ui)$")
|
||||
source_group("State charts" REGULAR_EXPRESSION "\\.(scxml)$")
|
||||
source_group("Source Files" REGULAR_EXPRESSION
|
||||
"\\.(C|F|M|c|c\\+\\+|cc|cpp|mpp|cxx|ixx|cppm|ccm|cxxm|c\\+\\+m|cu|f|f90|for|fpp|ftn|m|mm|rc|def|r|odl|idl|hpj|bat|qml|js)$"
|
||||
)
|
||||
endif()
|
||||
|
||||
#
|
||||
# Set a better default value for CMAKE_INSTALL_PREFIX
|
||||
#
|
||||
function(qtc_modify_default_install_prefix)
|
||||
# If at configure time the user didn't specify a CMAKE_INSTALL_PREFIX variable
|
||||
# Modules/CMakeGenericSystem.cmake will set a default value
|
||||
# to CMAKE_INSTALL_PREFIX and set CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT to ON
|
||||
|
||||
# In practice there are cases when CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT is
|
||||
# set to ON and a custom CMAKE_INSTALL_PREFIX is set
|
||||
|
||||
# Do the original CMAKE_INSTALL_PREFIX detection
|
||||
if(CMAKE_HOST_UNIX)
|
||||
set(original_cmake_install_prefix "/usr/local")
|
||||
else()
|
||||
GetDefaultWindowsPrefixBase(CMAKE_GENERIC_PROGRAM_FILES)
|
||||
set(original_cmake_install_prefix
|
||||
"${CMAKE_GENERIC_PROGRAM_FILES}/${PROJECT_NAME}")
|
||||
unset(CMAKE_GENERIC_PROGRAM_FILES)
|
||||
endif()
|
||||
|
||||
# When the user code didn't modify the CMake set CMAKE_INSTALL_PREFIX
|
||||
# then set the "/tmp" better value for CMAKE_INSTALL_PREFIX
|
||||
if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT AND
|
||||
CMAKE_INSTALL_PREFIX STREQUAL "${original_cmake_install_prefix}")
|
||||
set_property(CACHE CMAKE_INSTALL_PREFIX PROPERTY VALUE "/tmp")
|
||||
endif()
|
||||
endfunction()
|
||||
if (CMAKE_VERSION GREATER_EQUAL "3.19")
|
||||
cmake_language(DEFER CALL qtc_modify_default_install_prefix)
|
||||
endif()
|
||||
|
||||
if (EXISTS "${CMAKE_SOURCE_DIR}/QtCreatorPackageManager.cmake")
|
||||
include("${CMAKE_SOURCE_DIR}/QtCreatorPackageManager.cmake")
|
||||
endif()
|
||||
|
||||
if (QT_CREATOR_SKIP_PACKAGE_MANAGER_SETUP)
|
||||
return()
|
||||
endif()
|
||||
option(QT_CREATOR_SKIP_PACKAGE_MANAGER_SETUP "Skip Qt Creator's package manager auto-setup" OFF)
|
||||
|
||||
# Store the C/C++ object output extension
|
||||
if (CMAKE_VERSION GREATER_EQUAL "3.19")
|
||||
cmake_language(DEFER CALL set CMAKE_C_OUTPUT_EXTENSION "${CMAKE_C_OUTPUT_EXTENSION}" CACHE STRING "" FORCE)
|
||||
cmake_language(DEFER CALL set CMAKE_CXX_OUTPUT_EXTENSION "${CMAKE_CXX_OUTPUT_EXTENSION}" CACHE STRING "" FORCE)
|
||||
endif()
|
||||
|
||||
macro(qtc_auto_setup_compiler_standard toolchainFile)
|
||||
foreach(lang_var C CXX CUDA OBJC OBJCXX)
|
||||
foreach(prop_var STANDARD STANDARD_REQUIRED EXTENSIONS)
|
||||
if (CMAKE_${lang_var}_${prop_var})
|
||||
file(APPEND "${toolchainFile}"
|
||||
"set(CMAKE_${lang_var}_${prop_var} ${CMAKE_${lang_var}_${prop_var}})\n")
|
||||
endif()
|
||||
endforeach()
|
||||
endforeach()
|
||||
|
||||
# Forward important CMake variables to the package manager in the toolchain file
|
||||
foreach(fwd_var CMAKE_MSVC_RUNTIME_LIBRARY CMAKE_SYSROOT CMAKE_OSX_SYSROOT CMAKE_OSX_ARCHITECTURES)
|
||||
if (${fwd_var})
|
||||
file(APPEND "${toolchainFile}"
|
||||
"set(${fwd_var} ${${fwd_var}})\n")
|
||||
endif()
|
||||
endforeach()
|
||||
endmacro()
|
||||
|
||||
#
|
||||
# conan
|
||||
#
|
||||
macro(qtc_auto_setup_conan)
|
||||
foreach(file conanfile.txt conanfile.py)
|
||||
if (EXISTS "${CMAKE_SOURCE_DIR}/${file}")
|
||||
set(conanfile_txt "${CMAKE_SOURCE_DIR}/${file}")
|
||||
break()
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
if (conanfile_txt AND NOT QT_CREATOR_SKIP_CONAN_SETUP)
|
||||
option(QT_CREATOR_SKIP_CONAN_SETUP "Skip Qt Creator's conan package manager auto-setup" OFF)
|
||||
set(QT_CREATOR_CONAN_BUILD_POLICY "missing" CACHE STRING "Qt Creator's conan package manager auto-setup build policy. This is used for the BUILD property of cmake_conan_run")
|
||||
|
||||
set_property(
|
||||
DIRECTORY "${CMAKE_SOURCE_DIR}"
|
||||
APPEND
|
||||
PROPERTY CMAKE_CONFIGURE_DEPENDS "${conanfile_txt}")
|
||||
|
||||
find_program(conan_program conan)
|
||||
if (NOT conan_program)
|
||||
message(WARNING "Qt Creator: conan executable not found. "
|
||||
"Package manager auto-setup will be skipped. "
|
||||
"To disable this warning set QT_CREATOR_SKIP_CONAN_SETUP to ON.")
|
||||
return()
|
||||
endif()
|
||||
execute_process(COMMAND ${conan_program} --version
|
||||
RESULT_VARIABLE result_code
|
||||
OUTPUT_VARIABLE conan_version_output
|
||||
ERROR_VARIABLE conan_version_output)
|
||||
if (NOT result_code EQUAL 0)
|
||||
message(FATAL_ERROR "conan --version failed='${result_code}: ${conan_version_output}")
|
||||
endif()
|
||||
|
||||
string(REGEX REPLACE ".*Conan version ([0-9].[0-9]).*" "\\1" conan_version "${conan_version_output}")
|
||||
|
||||
set(conanfile_timestamp_file "${CMAKE_BINARY_DIR}/conan-dependencies/conanfile.timestamp")
|
||||
file(TIMESTAMP "${conanfile_txt}" conanfile_timestamp)
|
||||
|
||||
set(do_conan_installation ON)
|
||||
if (EXISTS "${conanfile_timestamp_file}")
|
||||
file(READ "${conanfile_timestamp_file}" old_conanfile_timestamp)
|
||||
if ("${conanfile_timestamp}" STREQUAL "${old_conanfile_timestamp}")
|
||||
set(do_conan_installation OFF)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(conanfile_build_policy_file "${CMAKE_BINARY_DIR}/conan-dependencies/conanfile.buildpolicy")
|
||||
if (EXISTS "${conanfile_build_policy_file}")
|
||||
file(READ "${conanfile_build_policy_file}" build_policy)
|
||||
if (NOT "${build_policy}" STREQUAL "${QT_CREATOR_CONAN_BUILD_POLICY}")
|
||||
set(do_conan_installation ON)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (do_conan_installation)
|
||||
message(STATUS "Qt Creator: conan package manager auto-setup. "
|
||||
"Skip this step by setting QT_CREATOR_SKIP_CONAN_SETUP to ON.")
|
||||
|
||||
file(COPY "${conanfile_txt}" DESTINATION "${CMAKE_BINARY_DIR}/conan-dependencies/")
|
||||
|
||||
# conanfile should have a generator specified, when both file and conan_install
|
||||
# specifcy the CMakeDeps generator, conan_install will issue an error
|
||||
file(READ "${conanfile_txt}" conanfile_text_content)
|
||||
unset(conan_generator)
|
||||
if (NOT "${conanfile_text_content}" MATCHES ".*CMakeDeps.*")
|
||||
set(conan_generator "-g CMakeDeps")
|
||||
endif()
|
||||
|
||||
file(WRITE "${CMAKE_BINARY_DIR}/conan-dependencies/toolchain.cmake" "
|
||||
set(CMAKE_C_COMPILER \"${CMAKE_C_COMPILER}\")
|
||||
set(CMAKE_CXX_COMPILER \"${CMAKE_CXX_COMPILER}\")
|
||||
")
|
||||
qtc_auto_setup_compiler_standard("${CMAKE_BINARY_DIR}/conan-dependencies/toolchain.cmake")
|
||||
|
||||
if (CMAKE_TOOLCHAIN_FILE)
|
||||
file(APPEND "${CMAKE_BINARY_DIR}/conan-dependencies/toolchain.cmake"
|
||||
"include(\"${CMAKE_TOOLCHAIN_FILE}\")\n")
|
||||
endif()
|
||||
|
||||
file(WRITE "${CMAKE_BINARY_DIR}/conan-dependencies/CMakeLists.txt" "
|
||||
cmake_minimum_required(VERSION 3.15)
|
||||
|
||||
unset(CMAKE_PROJECT_INCLUDE_BEFORE CACHE)
|
||||
project(conan-setup)
|
||||
|
||||
if (${conan_version} VERSION_GREATER_EQUAL 2.0)
|
||||
set(CONAN_COMMAND \"${conan_program}\")
|
||||
include(\"${CMAKE_CURRENT_LIST_DIR}/conan_provider.cmake\")
|
||||
conan_profile_detect_default()
|
||||
detect_host_profile(\"${CMAKE_BINARY_DIR}/conan-dependencies/conan_host_profile\")
|
||||
|
||||
set(build_types \${CMAKE_BUILD_TYPE})
|
||||
if (CMAKE_CONFIGURATION_TYPES)
|
||||
set(build_types \${CMAKE_CONFIGURATION_TYPES})
|
||||
endif()
|
||||
|
||||
foreach(type \${build_types})
|
||||
conan_install(
|
||||
-pr \"${CMAKE_BINARY_DIR}/conan-dependencies/conan_host_profile\"
|
||||
--build=${QT_CREATOR_CONAN_BUILD_POLICY}
|
||||
-s build_type=\${type}
|
||||
${conan_generator})
|
||||
endforeach()
|
||||
|
||||
get_property(CONAN_INSTALL_SUCCESS GLOBAL PROPERTY CONAN_INSTALL_SUCCESS)
|
||||
if (CONAN_INSTALL_SUCCESS)
|
||||
get_property(CONAN_GENERATORS_FOLDER GLOBAL PROPERTY CONAN_GENERATORS_FOLDER)
|
||||
file(TO_CMAKE_PATH \"\${CONAN_GENERATORS_FOLDER}\" CONAN_GENERATORS_FOLDER)
|
||||
file(WRITE \"${CMAKE_BINARY_DIR}/conan-dependencies/conan_paths.cmake\" \"
|
||||
list(PREPEND CMAKE_PREFIX_PATH \\\"\${CONAN_GENERATORS_FOLDER}\\\")
|
||||
list(PREPEND CMAKE_MODULE_PATH \\\"\${CONAN_GENERATORS_FOLDER}\\\")
|
||||
list(PREPEND CMAKE_FIND_ROOT_PATH \\\"\${CONAN_GENERATORS_FOLDER}\\\")
|
||||
list(REMOVE_DUPLICATES CMAKE_PREFIX_PATH)
|
||||
list(REMOVE_DUPLICATES CMAKE_MODULE_PATH)
|
||||
list(REMOVE_DUPLICATES CMAKE_FIND_ROOT_PATH)
|
||||
set(CMAKE_PREFIX_PATH \\\"\\\${CMAKE_PREFIX_PATH}\\\" CACHE STRING \\\"\\\" FORCE)
|
||||
set(CMAKE_MODULE_PATH \\\"\\\${CMAKE_MODULE_PATH}\\\" CACHE STRING \\\"\\\" FORCE)
|
||||
set(CMAKE_FIND_ROOT_PATH \\\"\\\${CMAKE_FIND_ROOT_PATH}\\\" CACHE STRING \\\"\\\" FORCE)
|
||||
\")
|
||||
endif()
|
||||
else()
|
||||
include(\"${CMAKE_CURRENT_LIST_DIR}/conan.cmake\")
|
||||
conan_cmake_run(
|
||||
CONANFILE \"${conanfile_txt}\"
|
||||
INSTALL_FOLDER \"${CMAKE_BINARY_DIR}/conan-dependencies\"
|
||||
GENERATORS cmake_paths cmake_find_package json
|
||||
BUILD ${QT_CREATOR_CONAN_BUILD_POLICY}
|
||||
ENV CONAN_CMAKE_TOOLCHAIN_FILE=\"${CMAKE_BINARY_DIR}/conan-dependencies/toolchain.cmake\"
|
||||
)
|
||||
endif()
|
||||
")
|
||||
|
||||
if (NOT DEFINED CMAKE_BUILD_TYPE AND NOT DEFINED CMAKE_CONFIGURATION_TYPES)
|
||||
set(CMAKE_CONFIGURATION_TYPES "Debug;Release")
|
||||
endif()
|
||||
|
||||
execute_process(COMMAND ${CMAKE_COMMAND}
|
||||
-S "${CMAKE_BINARY_DIR}/conan-dependencies/"
|
||||
-B "${CMAKE_BINARY_DIR}/conan-dependencies/build"
|
||||
-C "${CMAKE_BINARY_DIR}/qtcsettings.cmake"
|
||||
-D "CMAKE_TOOLCHAIN_FILE=${CMAKE_BINARY_DIR}/conan-dependencies/toolchain.cmake"
|
||||
-G ${CMAKE_GENERATOR}
|
||||
-D CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
|
||||
-D "CMAKE_CONFIGURATION_TYPES=${CMAKE_CONFIGURATION_TYPES}"
|
||||
RESULT_VARIABLE result
|
||||
)
|
||||
if (result EQUAL 0)
|
||||
file(WRITE "${conanfile_timestamp_file}" "${conanfile_timestamp}")
|
||||
file(WRITE "${conanfile_build_policy_file}" ${QT_CREATOR_CONAN_BUILD_POLICY})
|
||||
else()
|
||||
message(WARNING "Qt Creator's conan package manager auto-setup failed. Consider setting "
|
||||
"QT_CREATOR_SKIP_CONAN_SETUP to ON and reconfigure to skip this step.")
|
||||
return()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
include("${CMAKE_BINARY_DIR}/conan-dependencies/conan_paths.cmake")
|
||||
endif()
|
||||
unset(conanfile_txt)
|
||||
endmacro()
|
||||
qtc_auto_setup_conan()
|
||||
|
||||
#
|
||||
# vcpkg
|
||||
#
|
||||
macro(qtc_auto_setup_vcpkg)
|
||||
if (EXISTS "${CMAKE_SOURCE_DIR}/vcpkg.json" AND NOT QT_CREATOR_SKIP_VCPKG_SETUP)
|
||||
option(QT_CREATOR_SKIP_VCPKG_SETUP "Skip Qt Creator's vcpkg package manager auto-setup" OFF)
|
||||
|
||||
set_property(
|
||||
DIRECTORY "${CMAKE_SOURCE_DIR}"
|
||||
APPEND
|
||||
PROPERTY CMAKE_CONFIGURE_DEPENDS "${CMAKE_SOURCE_DIR}/vcpkg.json")
|
||||
|
||||
find_program(vcpkg_program vcpkg
|
||||
PATHS ${CMAKE_SOURCE_DIR}/vcpkg ${CMAKE_SOURCE_DIR}/3rdparty/vcpkg $ENV{VCPKG_ROOT}
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
if (NOT vcpkg_program)
|
||||
message(WARNING "Qt Creator: vcpkg executable not found. "
|
||||
"Package manager auto-setup will be skipped. "
|
||||
"To disable this warning set QT_CREATOR_SKIP_VCPKG_SETUP to ON.")
|
||||
return()
|
||||
endif()
|
||||
execute_process(COMMAND ${vcpkg_program} version
|
||||
RESULT_VARIABLE result_code
|
||||
OUTPUT_VARIABLE vcpkg_version_output
|
||||
ERROR_VARIABLE vcpkg_version_output)
|
||||
if (NOT result_code EQUAL 0)
|
||||
message(FATAL_ERROR "vcpkg version failed='${result_code}: ${vcpkg_version_output}")
|
||||
endif()
|
||||
|
||||
# Resolve any symlinks
|
||||
get_filename_component(vpkg_program_real_path ${vcpkg_program} REALPATH)
|
||||
get_filename_component(vpkg_root ${vpkg_program_real_path} DIRECTORY)
|
||||
|
||||
if (NOT EXISTS "${CMAKE_BINARY_DIR}/vcpkg-dependencies/toolchain.cmake")
|
||||
message(STATUS "Qt Creator: vcpkg package manager auto-setup. "
|
||||
"Skip this step by setting QT_CREATOR_SKIP_VCPKG_SETUP to ON.")
|
||||
|
||||
file(WRITE "${CMAKE_BINARY_DIR}/vcpkg-dependencies/toolchain.cmake" "
|
||||
set(CMAKE_C_COMPILER \"${CMAKE_C_COMPILER}\")
|
||||
set(CMAKE_CXX_COMPILER \"${CMAKE_CXX_COMPILER}\")
|
||||
")
|
||||
qtc_auto_setup_compiler_standard("${CMAKE_BINARY_DIR}/vcpkg-dependencies/toolchain.cmake")
|
||||
|
||||
if (CMAKE_TOOLCHAIN_FILE AND NOT
|
||||
CMAKE_TOOLCHAIN_FILE STREQUAL "${CMAKE_BINARY_DIR}/vcpkg-dependencies/toolchain.cmake")
|
||||
file(APPEND "${CMAKE_BINARY_DIR}/vcpkg-dependencies/toolchain.cmake"
|
||||
"include(\"${CMAKE_TOOLCHAIN_FILE}\")\n")
|
||||
endif()
|
||||
|
||||
if (VCPKG_TARGET_TRIPLET)
|
||||
set(vcpkg_triplet ${VCPKG_TARGET_TRIPLET})
|
||||
else()
|
||||
if (ANDROID_ABI)
|
||||
if (ANDROID_ABI STREQUAL "armeabi-v7a")
|
||||
set(vcpkg_triplet arm-neon-android)
|
||||
elseif (ANDROID_ABI STREQUAL "arm64-v8a")
|
||||
set(vcpkg_triplet arm64-android)
|
||||
elseif (ANDROID_ABI STREQUAL "x86")
|
||||
set(vcpkg_triplet x86-android)
|
||||
elseif (ANDROID_ABI STREQUAL "x86_64")
|
||||
set(vcpkg_triplet x64-android)
|
||||
else()
|
||||
message(FATAL_ERROR "Unsupported Android ABI: ${ANDROID_ABI}")
|
||||
endif()
|
||||
# Needed by vcpkg/scripts/toolchains/android.cmake
|
||||
file(APPEND "${CMAKE_BINARY_DIR}/vcpkg-dependencies/toolchain.cmake" "
|
||||
set(ENV{ANDROID_NDK_HOME} \"${ANDROID_NDK}\")
|
||||
")
|
||||
elseif (WIN32)
|
||||
if ("$ENV{PROCESSOR_ARCHITECTURE}" STREQUAL "ARM64")
|
||||
set(vcpkg_triplet arm64-mingw-static)
|
||||
else()
|
||||
set(vcpkg_triplet x64-mingw-static)
|
||||
endif()
|
||||
if (CMAKE_CXX_COMPILER MATCHES ".*/(.*)/cl.exe")
|
||||
string(TOLOWER ${CMAKE_MATCH_1} host_arch_lowercase)
|
||||
set(vcpkg_triplet ${host_arch_lowercase}-windows)
|
||||
endif()
|
||||
elseif(APPLE)
|
||||
# We're too early to use CMAKE_HOST_SYSTEM_PROCESSOR
|
||||
execute_process(
|
||||
COMMAND uname -m
|
||||
OUTPUT_VARIABLE __apple_host_system_processor
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
if (__apple_host_system_processor MATCHES "arm64")
|
||||
set(vcpkg_triplet arm64-osx)
|
||||
else()
|
||||
set(vcpkg_triplet x64-osx)
|
||||
endif()
|
||||
else()
|
||||
# We're too early to use CMAKE_HOST_SYSTEM_PROCESSOR
|
||||
execute_process(
|
||||
COMMAND uname -m
|
||||
OUTPUT_VARIABLE __linux_host_system_processor
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
if (__linux_host_system_processor MATCHES "aarch64")
|
||||
set(vcpkg_triplet arm64-linux)
|
||||
else()
|
||||
set(vcpkg_triplet x64-linux)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
file(APPEND "${CMAKE_BINARY_DIR}/vcpkg-dependencies/toolchain.cmake" "
|
||||
set(VCPKG_TARGET_TRIPLET ${vcpkg_triplet})
|
||||
include(\"${vpkg_root}/scripts/buildsystems/vcpkg.cmake\")
|
||||
")
|
||||
endif()
|
||||
|
||||
set(CMAKE_TOOLCHAIN_FILE "${CMAKE_BINARY_DIR}/vcpkg-dependencies/toolchain.cmake" CACHE PATH "" FORCE)
|
||||
|
||||
# Save CMAKE_PREFIX_PATH and CMAKE_MODULE_PATH as cache variables
|
||||
if (CMAKE_VERSION GREATER_EQUAL "3.19")
|
||||
cmake_language(DEFER CALL list REMOVE_DUPLICATES CMAKE_PREFIX_PATH)
|
||||
cmake_language(DEFER CALL list REMOVE_DUPLICATES CMAKE_MODULE_PATH)
|
||||
cmake_language(DEFER CALL set CMAKE_PREFIX_PATH "${CMAKE_PREFIX_PATH}" CACHE STRING "" FORCE)
|
||||
cmake_language(DEFER CALL set CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH}" CACHE STRING "" FORCE)
|
||||
endif()
|
||||
endif()
|
||||
endmacro()
|
||||
qtc_auto_setup_vcpkg()
|
||||
|
||||
#
|
||||
# MaintenanceTool
|
||||
#
|
||||
if (QT_CREATOR_SKIP_MAINTENANCE_TOOL_PROVIDER)
|
||||
return()
|
||||
endif()
|
||||
|
||||
option(QT_CREATOR_SKIP_MAINTENANCE_TOOL_PROVIDER
|
||||
"Skip Qt Creator's MaintenanceTool find_package provider" OFF)
|
||||
option(QT_CREATOR_MAINTENANCE_TOOL_PROVIDER_USE_CLI
|
||||
"Use CLI mode for Qt Creator's MaintenanceTool find_package provider" OFF)
|
||||
|
||||
function(qtc_maintenance_provider_missing_variable_message variable)
|
||||
message(STATUS "Qt Creator: ${variable} was not set. "
|
||||
"Qt MaintenanceTool cannot be used to install missing Qt modules that you specify in find_package(). "
|
||||
"To disable this message set QT_CREATOR_SKIP_MAINTENANCE_TOOL_PROVIDER to ON.")
|
||||
endfunction()
|
||||
|
||||
if (NOT QT_MAINTENANCE_TOOL)
|
||||
qtc_maintenance_provider_missing_variable_message(QT_MAINTENANCE_TOOL)
|
||||
return()
|
||||
endif()
|
||||
if (NOT QT_QMAKE_EXECUTABLE)
|
||||
qtc_maintenance_provider_missing_variable_message(QT_QMAKE_EXECUTABLE)
|
||||
return()
|
||||
endif()
|
||||
|
||||
if (CMAKE_VERSION GREATER_EQUAL "3.24")
|
||||
list(APPEND CMAKE_PROJECT_TOP_LEVEL_INCLUDES ${CMAKE_CURRENT_LIST_DIR}/maintenance_tool_provider.cmake)
|
||||
else()
|
||||
message(WARNING "Qt Creator: CMake version 3.24 is needed for MaintenanceTool find_package() provider. "
|
||||
"To disable this warning set QT_CREATOR_SKIP_MAINTENANCE_TOOL_PROVIDER to ON.")
|
||||
endif()
|
File diff suppressed because it is too large
Load diff
|
@ -1,655 +0,0 @@
|
|||
# https://github.com/conan-io/cmake-conan/blob/develop2/conan_provider.cmake
|
||||
# commit: f6464d1e13ef7a47c569f5061f9607ea63339d39
|
||||
#
|
||||
# The MIT License (MIT)
|
||||
#
|
||||
# Copyright (c) 2019 JFrog
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
# in the Software without restriction, including without limitation the rights
|
||||
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
# copies of the Software, and to permit persons to whom the Software is
|
||||
# furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in all
|
||||
# copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
# SOFTWARE.
|
||||
|
||||
set(CONAN_MINIMUM_VERSION 2.0.5)
|
||||
|
||||
|
||||
function(detect_os OS OS_API_LEVEL OS_SDK OS_SUBSYSTEM OS_VERSION)
|
||||
# it could be cross compilation
|
||||
message(STATUS "CMake-Conan: cmake_system_name=${CMAKE_SYSTEM_NAME}")
|
||||
if(CMAKE_SYSTEM_NAME AND NOT CMAKE_SYSTEM_NAME STREQUAL "Generic")
|
||||
if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
|
||||
set(${OS} Macos PARENT_SCOPE)
|
||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "QNX")
|
||||
set(${OS} Neutrino PARENT_SCOPE)
|
||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "CYGWIN")
|
||||
set(${OS} Windows PARENT_SCOPE)
|
||||
set(${OS_SUBSYSTEM} cygwin PARENT_SCOPE)
|
||||
elseif(CMAKE_SYSTEM_NAME MATCHES "^MSYS")
|
||||
set(${OS} Windows PARENT_SCOPE)
|
||||
set(${OS_SUBSYSTEM} msys2 PARENT_SCOPE)
|
||||
else()
|
||||
set(${OS} ${CMAKE_SYSTEM_NAME} PARENT_SCOPE)
|
||||
endif()
|
||||
if(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
||||
if(DEFINED ANDROID_PLATFORM)
|
||||
string(REGEX MATCH "[0-9]+" _OS_API_LEVEL ${ANDROID_PLATFORM})
|
||||
elseif(DEFINED CMAKE_SYSTEM_VERSION)
|
||||
set(_OS_API_LEVEL ${CMAKE_SYSTEM_VERSION})
|
||||
endif()
|
||||
message(STATUS "CMake-Conan: android api level=${_OS_API_LEVEL}")
|
||||
set(${OS_API_LEVEL} ${_OS_API_LEVEL} PARENT_SCOPE)
|
||||
endif()
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Darwin|iOS|tvOS|watchOS")
|
||||
# CMAKE_OSX_SYSROOT contains the full path to the SDK for MakeFile/Ninja
|
||||
# generators, but just has the original input string for Xcode.
|
||||
if(NOT IS_DIRECTORY ${CMAKE_OSX_SYSROOT})
|
||||
set(_OS_SDK ${CMAKE_OSX_SYSROOT})
|
||||
else()
|
||||
if(CMAKE_OSX_SYSROOT MATCHES Simulator)
|
||||
set(apple_platform_suffix simulator)
|
||||
else()
|
||||
set(apple_platform_suffix os)
|
||||
endif()
|
||||
if(CMAKE_OSX_SYSROOT MATCHES AppleTV)
|
||||
set(_OS_SDK "appletv${apple_platform_suffix}")
|
||||
elseif(CMAKE_OSX_SYSROOT MATCHES iPhone)
|
||||
set(_OS_SDK "iphone${apple_platform_suffix}")
|
||||
elseif(CMAKE_OSX_SYSROOT MATCHES Watch)
|
||||
set(_OS_SDK "watch${apple_platform_suffix}")
|
||||
endif()
|
||||
endif()
|
||||
if(DEFINED _OS_SDK)
|
||||
message(STATUS "CMake-Conan: cmake_osx_sysroot=${CMAKE_OSX_SYSROOT}")
|
||||
set(${OS_SDK} ${_OS_SDK} PARENT_SCOPE)
|
||||
endif()
|
||||
if(DEFINED CMAKE_OSX_DEPLOYMENT_TARGET)
|
||||
message(STATUS "CMake-Conan: cmake_osx_deployment_target=${CMAKE_OSX_DEPLOYMENT_TARGET}")
|
||||
set(${OS_VERSION} ${CMAKE_OSX_DEPLOYMENT_TARGET} PARENT_SCOPE)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
|
||||
function(detect_arch ARCH)
|
||||
# CMAKE_OSX_ARCHITECTURES can contain multiple architectures, but Conan only supports one.
|
||||
# Therefore this code only finds one. If the recipes support multiple architectures, the
|
||||
# build will work. Otherwise, there will be a linker error for the missing architecture(s).
|
||||
if(DEFINED CMAKE_OSX_ARCHITECTURES)
|
||||
string(REPLACE " " ";" apple_arch_list "${CMAKE_OSX_ARCHITECTURES}")
|
||||
list(LENGTH apple_arch_list apple_arch_count)
|
||||
if(apple_arch_count GREATER 1)
|
||||
message(WARNING "CMake-Conan: Multiple architectures detected, this will only work if Conan recipe(s) produce fat binaries.")
|
||||
endif()
|
||||
endif()
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Darwin|iOS|tvOS|watchOS" AND NOT CMAKE_OSX_ARCHITECTURES STREQUAL "")
|
||||
set(host_arch ${CMAKE_OSX_ARCHITECTURES})
|
||||
elseif(MSVC)
|
||||
set(host_arch ${CMAKE_CXX_COMPILER_ARCHITECTURE_ID})
|
||||
else()
|
||||
set(host_arch ${CMAKE_SYSTEM_PROCESSOR})
|
||||
endif()
|
||||
if(host_arch MATCHES "aarch64|arm64|ARM64")
|
||||
set(_ARCH armv8)
|
||||
elseif(host_arch MATCHES "armv7|armv7-a|armv7l|ARMV7")
|
||||
set(_ARCH armv7)
|
||||
elseif(host_arch MATCHES armv7s)
|
||||
set(_ARCH armv7s)
|
||||
elseif(host_arch MATCHES "i686|i386|X86")
|
||||
set(_ARCH x86)
|
||||
elseif(host_arch MATCHES "AMD64|amd64|x86_64|x64")
|
||||
set(_ARCH x86_64)
|
||||
endif()
|
||||
message(STATUS "CMake-Conan: cmake_system_processor=${_ARCH}")
|
||||
set(${ARCH} ${_ARCH} PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
|
||||
function(detect_cxx_standard CXX_STANDARD)
|
||||
set(${CXX_STANDARD} ${CMAKE_CXX_STANDARD} PARENT_SCOPE)
|
||||
if(CMAKE_CXX_EXTENSIONS)
|
||||
set(${CXX_STANDARD} "gnu${CMAKE_CXX_STANDARD}" PARENT_SCOPE)
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
|
||||
macro(detect_gnu_libstdcxx)
|
||||
# _CONAN_IS_GNU_LIBSTDCXX true if GNU libstdc++
|
||||
check_cxx_source_compiles("
|
||||
#include <cstddef>
|
||||
#if !defined(__GLIBCXX__) && !defined(__GLIBCPP__)
|
||||
static_assert(false);
|
||||
#endif
|
||||
int main(){}" _CONAN_IS_GNU_LIBSTDCXX)
|
||||
|
||||
# _CONAN_GNU_LIBSTDCXX_IS_CXX11_ABI true if C++11 ABI
|
||||
check_cxx_source_compiles("
|
||||
#include <string>
|
||||
static_assert(sizeof(std::string) != sizeof(void*), \"using libstdc++\");
|
||||
int main () {}" _CONAN_GNU_LIBSTDCXX_IS_CXX11_ABI)
|
||||
|
||||
set(_CONAN_GNU_LIBSTDCXX_SUFFIX "")
|
||||
if(_CONAN_GNU_LIBSTDCXX_IS_CXX11_ABI)
|
||||
set(_CONAN_GNU_LIBSTDCXX_SUFFIX "11")
|
||||
endif()
|
||||
unset (_CONAN_GNU_LIBSTDCXX_IS_CXX11_ABI)
|
||||
endmacro()
|
||||
|
||||
|
||||
macro(detect_libcxx)
|
||||
# _CONAN_IS_LIBCXX true if LLVM libc++
|
||||
check_cxx_source_compiles("
|
||||
#include <cstddef>
|
||||
#if !defined(_LIBCPP_VERSION)
|
||||
static_assert(false);
|
||||
#endif
|
||||
int main(){}" _CONAN_IS_LIBCXX)
|
||||
endmacro()
|
||||
|
||||
|
||||
function(detect_lib_cxx LIB_CXX)
|
||||
if(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
||||
message(STATUS "CMake-Conan: android_stl=${CMAKE_ANDROID_STL_TYPE}")
|
||||
set(${LIB_CXX} ${CMAKE_ANDROID_STL_TYPE} PARENT_SCOPE)
|
||||
return()
|
||||
endif()
|
||||
|
||||
include(CheckCXXSourceCompiles)
|
||||
|
||||
if(CMAKE_CXX_COMPILER_ID MATCHES "GNU")
|
||||
detect_gnu_libstdcxx()
|
||||
set(${LIB_CXX} "libstdc++${_CONAN_GNU_LIBSTDCXX_SUFFIX}" PARENT_SCOPE)
|
||||
elseif(CMAKE_CXX_COMPILER_ID MATCHES "AppleClang")
|
||||
set(${LIB_CXX} "libc++" PARENT_SCOPE)
|
||||
elseif(CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND NOT CMAKE_SYSTEM_NAME MATCHES "Windows")
|
||||
# Check for libc++
|
||||
detect_libcxx()
|
||||
if(_CONAN_IS_LIBCXX)
|
||||
set(${LIB_CXX} "libc++" PARENT_SCOPE)
|
||||
return()
|
||||
endif()
|
||||
|
||||
# Check for libstdc++
|
||||
detect_gnu_libstdcxx()
|
||||
if(_CONAN_IS_GNU_LIBSTDCXX)
|
||||
set(${LIB_CXX} "libstdc++${_CONAN_GNU_LIBSTDCXX_SUFFIX}" PARENT_SCOPE)
|
||||
return()
|
||||
endif()
|
||||
|
||||
# TODO: it would be an error if we reach this point
|
||||
elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
|
||||
# Do nothing - compiler.runtime and compiler.runtime_type
|
||||
# should be handled separately: https://github.com/conan-io/cmake-conan/pull/516
|
||||
return()
|
||||
else()
|
||||
# TODO: unable to determine, ask user to provide a full profile file instead
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
|
||||
function(detect_compiler COMPILER COMPILER_VERSION COMPILER_RUNTIME COMPILER_RUNTIME_TYPE)
|
||||
if(DEFINED CMAKE_CXX_COMPILER_ID)
|
||||
set(_COMPILER ${CMAKE_CXX_COMPILER_ID})
|
||||
set(_COMPILER_VERSION ${CMAKE_CXX_COMPILER_VERSION})
|
||||
else()
|
||||
if(NOT DEFINED CMAKE_C_COMPILER_ID)
|
||||
message(FATAL_ERROR "C or C++ compiler not defined")
|
||||
endif()
|
||||
set(_COMPILER ${CMAKE_C_COMPILER_ID})
|
||||
set(_COMPILER_VERSION ${CMAKE_C_COMPILER_VERSION})
|
||||
endif()
|
||||
|
||||
message(STATUS "CMake-Conan: CMake compiler=${_COMPILER}")
|
||||
message(STATUS "CMake-Conan: CMake compiler version=${_COMPILER_VERSION}")
|
||||
|
||||
if(_COMPILER MATCHES MSVC)
|
||||
set(_COMPILER "msvc")
|
||||
string(SUBSTRING ${MSVC_VERSION} 0 3 _COMPILER_VERSION)
|
||||
# Configure compiler.runtime and compiler.runtime_type settings for MSVC
|
||||
if(CMAKE_MSVC_RUNTIME_LIBRARY)
|
||||
set(_msvc_runtime_library ${CMAKE_MSVC_RUNTIME_LIBRARY})
|
||||
else()
|
||||
set(_msvc_runtime_library MultiThreaded$<$<CONFIG:Debug>:Debug>DLL) # default value documented by CMake
|
||||
endif()
|
||||
|
||||
set(_KNOWN_MSVC_RUNTIME_VALUES "")
|
||||
list(APPEND _KNOWN_MSVC_RUNTIME_VALUES MultiThreaded MultiThreadedDLL)
|
||||
list(APPEND _KNOWN_MSVC_RUNTIME_VALUES MultiThreadedDebug MultiThreadedDebugDLL)
|
||||
list(APPEND _KNOWN_MSVC_RUNTIME_VALUES MultiThreaded$<$<CONFIG:Debug>:Debug> MultiThreaded$<$<CONFIG:Debug>:Debug>DLL)
|
||||
|
||||
# only accept the 6 possible values, otherwise we don't don't know to map this
|
||||
if(NOT _msvc_runtime_library IN_LIST _KNOWN_MSVC_RUNTIME_VALUES)
|
||||
message(FATAL_ERROR "CMake-Conan: unable to map MSVC runtime: ${_msvc_runtime_library} to Conan settings")
|
||||
endif()
|
||||
|
||||
# Runtime is "dynamic" in all cases if it ends in DLL
|
||||
if(_msvc_runtime_library MATCHES ".*DLL$")
|
||||
set(_COMPILER_RUNTIME "dynamic")
|
||||
else()
|
||||
set(_COMPILER_RUNTIME "static")
|
||||
endif()
|
||||
message(STATUS "CMake-Conan: CMake compiler.runtime=${_COMPILER_RUNTIME}")
|
||||
|
||||
# Only define compiler.runtime_type when explicitly requested
|
||||
# If a generator expression is used, let Conan handle it conditional on build_type
|
||||
if(NOT _msvc_runtime_library MATCHES "<CONFIG:Debug>:Debug>")
|
||||
if(_msvc_runtime_library MATCHES "Debug")
|
||||
set(_COMPILER_RUNTIME_TYPE "Debug")
|
||||
else()
|
||||
set(_COMPILER_RUNTIME_TYPE "Release")
|
||||
endif()
|
||||
message(STATUS "CMake-Conan: CMake compiler.runtime_type=${_COMPILER_RUNTIME_TYPE}")
|
||||
endif()
|
||||
|
||||
unset(_KNOWN_MSVC_RUNTIME_VALUES)
|
||||
|
||||
elseif(_COMPILER MATCHES AppleClang)
|
||||
set(_COMPILER "apple-clang")
|
||||
string(REPLACE "." ";" VERSION_LIST ${CMAKE_CXX_COMPILER_VERSION})
|
||||
list(GET VERSION_LIST 0 _COMPILER_VERSION)
|
||||
elseif(_COMPILER MATCHES Clang)
|
||||
set(_COMPILER "clang")
|
||||
string(REPLACE "." ";" VERSION_LIST ${CMAKE_CXX_COMPILER_VERSION})
|
||||
list(GET VERSION_LIST 0 _COMPILER_VERSION)
|
||||
elseif(_COMPILER MATCHES GNU)
|
||||
set(_COMPILER "gcc")
|
||||
string(REPLACE "." ";" VERSION_LIST ${CMAKE_CXX_COMPILER_VERSION})
|
||||
list(GET VERSION_LIST 0 _COMPILER_VERSION)
|
||||
endif()
|
||||
|
||||
message(STATUS "CMake-Conan: [settings] compiler=${_COMPILER}")
|
||||
message(STATUS "CMake-Conan: [settings] compiler.version=${_COMPILER_VERSION}")
|
||||
if (_COMPILER_RUNTIME)
|
||||
message(STATUS "CMake-Conan: [settings] compiler.runtime=${_COMPILER_RUNTIME}")
|
||||
endif()
|
||||
if (_COMPILER_RUNTIME_TYPE)
|
||||
message(STATUS "CMake-Conan: [settings] compiler.runtime_type=${_COMPILER_RUNTIME_TYPE}")
|
||||
endif()
|
||||
|
||||
set(${COMPILER} ${_COMPILER} PARENT_SCOPE)
|
||||
set(${COMPILER_VERSION} ${_COMPILER_VERSION} PARENT_SCOPE)
|
||||
set(${COMPILER_RUNTIME} ${_COMPILER_RUNTIME} PARENT_SCOPE)
|
||||
set(${COMPILER_RUNTIME_TYPE} ${_COMPILER_RUNTIME_TYPE} PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
|
||||
function(detect_build_type BUILD_TYPE)
|
||||
get_property(_MULTICONFIG_GENERATOR GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
|
||||
if(NOT _MULTICONFIG_GENERATOR)
|
||||
# Only set when we know we are in a single-configuration generator
|
||||
# Note: we may want to fail early if `CMAKE_BUILD_TYPE` is not defined
|
||||
set(${BUILD_TYPE} ${CMAKE_BUILD_TYPE} PARENT_SCOPE)
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
macro(set_conan_compiler_if_appleclang lang command output_variable)
|
||||
if(CMAKE_${lang}_COMPILER_ID STREQUAL "AppleClang")
|
||||
execute_process(COMMAND xcrun --find ${command}
|
||||
OUTPUT_VARIABLE _xcrun_out OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
cmake_path(GET _xcrun_out PARENT_PATH _xcrun_toolchain_path)
|
||||
cmake_path(GET CMAKE_${lang}_COMPILER PARENT_PATH _compiler_parent_path)
|
||||
if ("${_xcrun_toolchain_path}" STREQUAL "${_compiler_parent_path}")
|
||||
set(${output_variable} "")
|
||||
endif()
|
||||
unset(_xcrun_out)
|
||||
unset(_xcrun_toolchain_path)
|
||||
unset(_compiler_parent_path)
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
|
||||
macro(append_compiler_executables_configuration)
|
||||
set(_conan_c_compiler "")
|
||||
set(_conan_cpp_compiler "")
|
||||
if(CMAKE_C_COMPILER)
|
||||
set(_conan_c_compiler "\"c\":\"${CMAKE_C_COMPILER}\",")
|
||||
set_conan_compiler_if_appleclang(C cc _conan_c_compiler)
|
||||
else()
|
||||
message(WARNING "CMake-Conan: The C compiler is not defined. "
|
||||
"Please define CMAKE_C_COMPILER or enable the C language.")
|
||||
endif()
|
||||
if(CMAKE_CXX_COMPILER)
|
||||
set(_conan_cpp_compiler "\"cpp\":\"${CMAKE_CXX_COMPILER}\"")
|
||||
set_conan_compiler_if_appleclang(CXX c++ _conan_cpp_compiler)
|
||||
else()
|
||||
message(WARNING "CMake-Conan: The C++ compiler is not defined. "
|
||||
"Please define CMAKE_CXX_COMPILER or enable the C++ language.")
|
||||
endif()
|
||||
|
||||
if(NOT "x${_conan_c_compiler}${_conan_cpp_compiler}" STREQUAL "x")
|
||||
string(APPEND PROFILE "tools.build:compiler_executables={${_conan_c_compiler}${_conan_cpp_compiler}}\n")
|
||||
endif()
|
||||
unset(_conan_c_compiler)
|
||||
unset(_conan_cpp_compiler)
|
||||
endmacro()
|
||||
|
||||
|
||||
function(detect_host_profile output_file)
|
||||
detect_os(MYOS MYOS_API_LEVEL MYOS_SDK MYOS_SUBSYSTEM MYOS_VERSION)
|
||||
detect_arch(MYARCH)
|
||||
detect_compiler(MYCOMPILER MYCOMPILER_VERSION MYCOMPILER_RUNTIME MYCOMPILER_RUNTIME_TYPE)
|
||||
detect_cxx_standard(MYCXX_STANDARD)
|
||||
detect_lib_cxx(MYLIB_CXX)
|
||||
detect_build_type(MYBUILD_TYPE)
|
||||
|
||||
set(PROFILE "")
|
||||
string(APPEND PROFILE "[settings]\n")
|
||||
if(MYARCH)
|
||||
string(APPEND PROFILE arch=${MYARCH} "\n")
|
||||
endif()
|
||||
if(MYOS)
|
||||
string(APPEND PROFILE os=${MYOS} "\n")
|
||||
endif()
|
||||
if(MYOS_API_LEVEL)
|
||||
string(APPEND PROFILE os.api_level=${MYOS_API_LEVEL} "\n")
|
||||
endif()
|
||||
if(MYOS_VERSION)
|
||||
string(APPEND PROFILE os.version=${MYOS_VERSION} "\n")
|
||||
endif()
|
||||
if(MYOS_SDK)
|
||||
string(APPEND PROFILE os.sdk=${MYOS_SDK} "\n")
|
||||
endif()
|
||||
if(MYOS_SUBSYSTEM)
|
||||
string(APPEND PROFILE os.subsystem=${MYOS_SUBSYSTEM} "\n")
|
||||
endif()
|
||||
if(MYCOMPILER)
|
||||
string(APPEND PROFILE compiler=${MYCOMPILER} "\n")
|
||||
endif()
|
||||
if(MYCOMPILER_VERSION)
|
||||
string(APPEND PROFILE compiler.version=${MYCOMPILER_VERSION} "\n")
|
||||
endif()
|
||||
if(MYCOMPILER_RUNTIME)
|
||||
string(APPEND PROFILE compiler.runtime=${MYCOMPILER_RUNTIME} "\n")
|
||||
endif()
|
||||
if(MYCOMPILER_RUNTIME_TYPE)
|
||||
string(APPEND PROFILE compiler.runtime_type=${MYCOMPILER_RUNTIME_TYPE} "\n")
|
||||
endif()
|
||||
if(MYCXX_STANDARD)
|
||||
string(APPEND PROFILE compiler.cppstd=${MYCXX_STANDARD} "\n")
|
||||
endif()
|
||||
if(MYLIB_CXX)
|
||||
string(APPEND PROFILE compiler.libcxx=${MYLIB_CXX} "\n")
|
||||
endif()
|
||||
if(MYBUILD_TYPE)
|
||||
string(APPEND PROFILE "build_type=${MYBUILD_TYPE}\n")
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED output_file)
|
||||
set(_FN "${CMAKE_BINARY_DIR}/profile")
|
||||
else()
|
||||
set(_FN ${output_file})
|
||||
endif()
|
||||
|
||||
string(APPEND PROFILE "[conf]\n")
|
||||
string(APPEND PROFILE "tools.cmake.cmaketoolchain:generator=${CMAKE_GENERATOR}\n")
|
||||
|
||||
# propagate compilers via profile
|
||||
append_compiler_executables_configuration()
|
||||
|
||||
if(MYOS STREQUAL "Android")
|
||||
string(APPEND PROFILE "tools.android:ndk_path=${CMAKE_ANDROID_NDK}\n")
|
||||
endif()
|
||||
|
||||
message(STATUS "CMake-Conan: Creating profile ${_FN}")
|
||||
file(WRITE ${_FN} ${PROFILE})
|
||||
message(STATUS "CMake-Conan: Profile: \n${PROFILE}")
|
||||
endfunction()
|
||||
|
||||
|
||||
function(conan_profile_detect_default)
|
||||
message(STATUS "CMake-Conan: Checking if a default profile exists")
|
||||
execute_process(COMMAND ${CONAN_COMMAND} profile path default
|
||||
RESULT_VARIABLE return_code
|
||||
OUTPUT_VARIABLE conan_stdout
|
||||
ERROR_VARIABLE conan_stderr
|
||||
ECHO_ERROR_VARIABLE # show the text output regardless
|
||||
ECHO_OUTPUT_VARIABLE
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
|
||||
if(NOT ${return_code} EQUAL "0")
|
||||
message(STATUS "CMake-Conan: The default profile doesn't exist, detecting it.")
|
||||
execute_process(COMMAND ${CONAN_COMMAND} profile detect
|
||||
RESULT_VARIABLE return_code
|
||||
OUTPUT_VARIABLE conan_stdout
|
||||
ERROR_VARIABLE conan_stderr
|
||||
ECHO_ERROR_VARIABLE # show the text output regardless
|
||||
ECHO_OUTPUT_VARIABLE
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
|
||||
function(conan_install)
|
||||
cmake_parse_arguments(ARGS CONAN_ARGS ${ARGN})
|
||||
set(CONAN_OUTPUT_FOLDER ${CMAKE_BINARY_DIR}/conan)
|
||||
# Invoke "conan install" with the provided arguments
|
||||
set(CONAN_ARGS ${CONAN_ARGS} -of=${CONAN_OUTPUT_FOLDER})
|
||||
message(STATUS "CMake-Conan: conan install ${CMAKE_SOURCE_DIR} ${CONAN_ARGS} ${ARGN}")
|
||||
|
||||
|
||||
# In case there was not a valid cmake executable in the PATH, we inject the
|
||||
# same we used to invoke the provider to the PATH
|
||||
if(DEFINED PATH_TO_CMAKE_BIN)
|
||||
set(_OLD_PATH $ENV{PATH})
|
||||
set(ENV{PATH} "$ENV{PATH}:${PATH_TO_CMAKE_BIN}")
|
||||
endif()
|
||||
|
||||
execute_process(COMMAND ${CONAN_COMMAND} install ${CMAKE_SOURCE_DIR} ${CONAN_ARGS} ${ARGN} --format=json
|
||||
RESULT_VARIABLE return_code
|
||||
OUTPUT_VARIABLE conan_stdout
|
||||
ERROR_VARIABLE conan_stderr
|
||||
ECHO_ERROR_VARIABLE # show the text output regardless
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
|
||||
|
||||
if(DEFINED PATH_TO_CMAKE_BIN)
|
||||
set(ENV{PATH} "${_OLD_PATH}")
|
||||
endif()
|
||||
|
||||
if(NOT "${return_code}" STREQUAL "0")
|
||||
message(FATAL_ERROR "Conan install failed='${return_code}'")
|
||||
else()
|
||||
# the files are generated in a folder that depends on the layout used, if
|
||||
# one is specified, but we don't know a priori where this is.
|
||||
# TODO: this can be made more robust if Conan can provide this in the json output
|
||||
string(JSON CONAN_GENERATORS_FOLDER GET ${conan_stdout} graph nodes 0 generators_folder)
|
||||
cmake_path(CONVERT ${CONAN_GENERATORS_FOLDER} TO_CMAKE_PATH_LIST CONAN_GENERATORS_FOLDER)
|
||||
# message("conan stdout: ${conan_stdout}")
|
||||
message(STATUS "CMake-Conan: CONAN_GENERATORS_FOLDER=${CONAN_GENERATORS_FOLDER}")
|
||||
set_property(GLOBAL PROPERTY CONAN_GENERATORS_FOLDER "${CONAN_GENERATORS_FOLDER}")
|
||||
# reconfigure on conanfile changes
|
||||
string(JSON CONANFILE GET ${conan_stdout} graph nodes 0 label)
|
||||
message(STATUS "CMake-Conan: CONANFILE=${CMAKE_SOURCE_DIR}/${CONANFILE}")
|
||||
set_property(DIRECTORY ${CMAKE_SOURCE_DIR} APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS "${CMAKE_SOURCE_DIR}/${CONANFILE}")
|
||||
# success
|
||||
set_property(GLOBAL PROPERTY CONAN_INSTALL_SUCCESS TRUE)
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
|
||||
function(conan_get_version conan_command conan_current_version)
|
||||
execute_process(
|
||||
COMMAND ${conan_command} --version
|
||||
OUTPUT_VARIABLE conan_output
|
||||
RESULT_VARIABLE conan_result
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
if(conan_result)
|
||||
message(FATAL_ERROR "CMake-Conan: Error when trying to run Conan")
|
||||
endif()
|
||||
|
||||
string(REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]+" conan_version ${conan_output})
|
||||
set(${conan_current_version} ${conan_version} PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
|
||||
function(conan_version_check)
|
||||
set(options )
|
||||
set(oneValueArgs MINIMUM CURRENT)
|
||||
set(multiValueArgs )
|
||||
cmake_parse_arguments(CONAN_VERSION_CHECK
|
||||
"${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
|
||||
|
||||
if(NOT CONAN_VERSION_CHECK_MINIMUM)
|
||||
message(FATAL_ERROR "CMake-Conan: Required parameter MINIMUM not set!")
|
||||
endif()
|
||||
if(NOT CONAN_VERSION_CHECK_CURRENT)
|
||||
message(FATAL_ERROR "CMake-Conan: Required parameter CURRENT not set!")
|
||||
endif()
|
||||
|
||||
if(CONAN_VERSION_CHECK_CURRENT VERSION_LESS CONAN_VERSION_CHECK_MINIMUM)
|
||||
message(FATAL_ERROR "CMake-Conan: Conan version must be ${CONAN_VERSION_CHECK_MINIMUM} or later")
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
|
||||
macro(construct_profile_argument argument_variable profile_list)
|
||||
set(${argument_variable} "")
|
||||
if("${profile_list}" STREQUAL "CONAN_HOST_PROFILE")
|
||||
set(_arg_flag "--profile:host=")
|
||||
elseif("${profile_list}" STREQUAL "CONAN_BUILD_PROFILE")
|
||||
set(_arg_flag "--profile:build=")
|
||||
endif()
|
||||
|
||||
set(_profile_list "${${profile_list}}")
|
||||
list(TRANSFORM _profile_list REPLACE "auto-cmake" "${CMAKE_BINARY_DIR}/conan_host_profile")
|
||||
list(TRANSFORM _profile_list PREPEND ${_arg_flag})
|
||||
set(${argument_variable} ${_profile_list})
|
||||
|
||||
unset(_arg_flag)
|
||||
unset(_profile_list)
|
||||
endmacro()
|
||||
|
||||
|
||||
macro(conan_provide_dependency method package_name)
|
||||
set_property(GLOBAL PROPERTY CONAN_PROVIDE_DEPENDENCY_INVOKED TRUE)
|
||||
get_property(_conan_install_success GLOBAL PROPERTY CONAN_INSTALL_SUCCESS)
|
||||
if(NOT _conan_install_success)
|
||||
find_program(CONAN_COMMAND "conan" REQUIRED)
|
||||
conan_get_version(${CONAN_COMMAND} CONAN_CURRENT_VERSION)
|
||||
conan_version_check(MINIMUM ${CONAN_MINIMUM_VERSION} CURRENT ${CONAN_CURRENT_VERSION})
|
||||
message(STATUS "CMake-Conan: first find_package() found. Installing dependencies with Conan")
|
||||
if("default" IN_LIST CONAN_HOST_PROFILE OR "default" IN_LIST CONAN_BUILD_PROFILE)
|
||||
conan_profile_detect_default()
|
||||
endif()
|
||||
if("auto-cmake" IN_LIST CONAN_HOST_PROFILE)
|
||||
detect_host_profile(${CMAKE_BINARY_DIR}/conan_host_profile)
|
||||
endif()
|
||||
construct_profile_argument(_host_profile_flags CONAN_HOST_PROFILE)
|
||||
construct_profile_argument(_build_profile_flags CONAN_BUILD_PROFILE)
|
||||
if(EXISTS "${CMAKE_SOURCE_DIR}/conanfile.py")
|
||||
file(READ "${CMAKE_SOURCE_DIR}/conanfile.py" outfile)
|
||||
if(NOT "${outfile}" MATCHES ".*CMakeDeps.*")
|
||||
message(WARNING "Cmake-conan: CMakeDeps generator was not defined in the conanfile")
|
||||
endif()
|
||||
set(generator "")
|
||||
elseif (EXISTS "${CMAKE_SOURCE_DIR}/conanfile.txt")
|
||||
file(READ "${CMAKE_SOURCE_DIR}/conanfile.txt" outfile)
|
||||
if(NOT "${outfile}" MATCHES ".*CMakeDeps.*")
|
||||
message(WARNING "Cmake-conan: CMakeDeps generator was not defined in the conanfile. "
|
||||
"Please define the generator as it will be mandatory in the future")
|
||||
endif()
|
||||
set(generator "-g;CMakeDeps")
|
||||
endif()
|
||||
get_property(_multiconfig_generator GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
|
||||
if(NOT _multiconfig_generator)
|
||||
message(STATUS "CMake-Conan: Installing single configuration ${CMAKE_BUILD_TYPE}")
|
||||
conan_install(${_host_profile_flags} ${_build_profile_flags} ${CONAN_INSTALL_ARGS} ${generator})
|
||||
else()
|
||||
message(STATUS "CMake-Conan: Installing both Debug and Release")
|
||||
conan_install(${_host_profile_flags} ${_build_profile_flags} -s build_type=Release ${CONAN_INSTALL_ARGS} ${generator})
|
||||
conan_install(${_host_profile_flags} ${_build_profile_flags} -s build_type=Debug ${CONAN_INSTALL_ARGS} ${generator})
|
||||
endif()
|
||||
unset(_host_profile_flags)
|
||||
unset(_build_profile_flags)
|
||||
unset(_multiconfig_generator)
|
||||
unset(_conan_install_success)
|
||||
else()
|
||||
message(STATUS "CMake-Conan: find_package(${ARGV1}) found, 'conan install' already ran")
|
||||
unset(_conan_install_success)
|
||||
endif()
|
||||
|
||||
get_property(_conan_generators_folder GLOBAL PROPERTY CONAN_GENERATORS_FOLDER)
|
||||
|
||||
# Ensure that we consider Conan-provided packages ahead of any other,
|
||||
# irrespective of other settings that modify the search order or search paths
|
||||
# This follows the guidelines from the find_package documentation
|
||||
# (https://cmake.org/cmake/help/latest/command/find_package.html):
|
||||
# find_package (<PackageName> PATHS paths... NO_DEFAULT_PATH)
|
||||
# find_package (<PackageName>)
|
||||
|
||||
# Filter out `REQUIRED` from the argument list, as the first call may fail
|
||||
set(_find_args_${package_name} "${ARGN}")
|
||||
list(REMOVE_ITEM _find_args_${package_name} "REQUIRED")
|
||||
if(NOT "MODULE" IN_LIST _find_args_${package_name})
|
||||
find_package(${package_name} ${_find_args_${package_name}} BYPASS_PROVIDER PATHS "${_conan_generators_folder}" NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
|
||||
unset(_find_args_${package_name})
|
||||
endif()
|
||||
|
||||
# Invoke find_package a second time - if the first call succeeded,
|
||||
# this will simply reuse the result. If not, fall back to CMake default search
|
||||
# behaviour, also allowing modules to be searched.
|
||||
if(NOT ${package_name}_FOUND)
|
||||
list(FIND CMAKE_MODULE_PATH "${_conan_generators_folder}" _index)
|
||||
if(_index EQUAL -1)
|
||||
list(PREPEND CMAKE_MODULE_PATH "${_conan_generators_folder}")
|
||||
endif()
|
||||
unset(_index)
|
||||
find_package(${package_name} ${ARGN} BYPASS_PROVIDER)
|
||||
list(REMOVE_ITEM CMAKE_MODULE_PATH "${_conan_generators_folder}")
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
#[=[ not needed by Qt Creator, and if not commented it would break the auto-setup feature
|
||||
|
||||
cmake_language(
|
||||
SET_DEPENDENCY_PROVIDER conan_provide_dependency
|
||||
SUPPORTED_METHODS FIND_PACKAGE
|
||||
)
|
||||
|
||||
|
||||
macro(conan_provide_dependency_check)
|
||||
set(_CONAN_PROVIDE_DEPENDENCY_INVOKED FALSE)
|
||||
get_property(_CONAN_PROVIDE_DEPENDENCY_INVOKED GLOBAL PROPERTY CONAN_PROVIDE_DEPENDENCY_INVOKED)
|
||||
if(NOT _CONAN_PROVIDE_DEPENDENCY_INVOKED)
|
||||
message(WARNING "Conan is correctly configured as dependency provider, "
|
||||
"but Conan has not been invoked. Please add at least one "
|
||||
"call to `find_package()`.")
|
||||
if(DEFINED CONAN_COMMAND)
|
||||
# supress warning in case `CONAN_COMMAND` was specified but unused.
|
||||
set(_CONAN_COMMAND ${CONAN_COMMAND})
|
||||
unset(_CONAN_COMMAND)
|
||||
endif()
|
||||
endif()
|
||||
unset(_CONAN_PROVIDE_DEPENDENCY_INVOKED)
|
||||
endmacro()
|
||||
|
||||
|
||||
# Add a deferred call at the end of processing the top-level directory
|
||||
# to check if the dependency provider was invoked at all.
|
||||
cmake_language(DEFER DIRECTORY "${CMAKE_SOURCE_DIR}" CALL conan_provide_dependency_check)
|
||||
|
||||
]=]
|
||||
|
||||
# Configurable variables for Conan profiles
|
||||
set(CONAN_HOST_PROFILE "default;auto-cmake" CACHE STRING "Conan host profile")
|
||||
set(CONAN_BUILD_PROFILE "default" CACHE STRING "Conan build profile")
|
||||
set(CONAN_INSTALL_ARGS "--build=missing" CACHE STRING "Command line arguments for conan install")
|
||||
|
||||
find_program(_cmake_program NAMES cmake NO_PACKAGE_ROOT_PATH NO_CMAKE_PATH NO_CMAKE_ENVIRONMENT_PATH NO_CMAKE_SYSTEM_PATH NO_CMAKE_FIND_ROOT_PATH)
|
||||
if(NOT _cmake_program)
|
||||
get_filename_component(PATH_TO_CMAKE_BIN "${CMAKE_COMMAND}" DIRECTORY)
|
||||
set(PATH_TO_CMAKE_BIN "${PATH_TO_CMAKE_BIN}" CACHE INTERNAL "Path where the CMake executable is")
|
||||
endif()
|
||||
|
|
@ -1,329 +0,0 @@
|
|||
function(qt_maintenance_tool_get_component_platform platform_dir component_platform)
|
||||
# Mapping between platform file directory and component platform
|
||||
set(map_llvm-mingw_64 win64_llvm_mingw)
|
||||
set(map_mingw_64 win64_mingw)
|
||||
set(map_msvc2019_64 win64_msvc2019_64)
|
||||
set(map_msvc2022_64 win64_msvc2022_64)
|
||||
set(map_msvc2022_arm64 win64_msvc2022_arm64)
|
||||
set(map_gcc_64 linux_gcc_64)
|
||||
set(map_gcc_arm64 linux_gcc_arm64)
|
||||
set(map_ios ios)
|
||||
set(map_macos clang_64)
|
||||
set(map_android_arm64_v8a android)
|
||||
set(map_android_armv7 android)
|
||||
set(map_android_x86 android)
|
||||
set(map_android_x86_64 android)
|
||||
set(map_wasm_multithread wasm_multithread)
|
||||
set(map_wasm_singlethread wasm_singlethread)
|
||||
|
||||
if (platform_dir STREQUAL "msvc2022_arm64" AND QT_HOST_PATH)
|
||||
set(${component_platform} "win64_msvc2022_arm64_cross_compiled" PARENT_SCOPE)
|
||||
return()
|
||||
endif()
|
||||
|
||||
set(${component_platform} ${map_${platform_dir}} PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
function(qt_maintenance_tool_get_addons addon_list)
|
||||
set(${addon_list}
|
||||
qt3d
|
||||
qt5compat
|
||||
qtcharts
|
||||
qtconnectivity
|
||||
qtdatavis3d
|
||||
qtgraphs
|
||||
qtgrpc
|
||||
qthttpserver
|
||||
qtimageformats
|
||||
qtlocation
|
||||
qtlottie
|
||||
qtmultimedia
|
||||
qtnetworkauth
|
||||
qtpositioning
|
||||
qtquick3d
|
||||
qtquick3dphysics
|
||||
qtquickeffectmaker
|
||||
qtquicktimeline
|
||||
qtremoteobjects
|
||||
qtscxml
|
||||
qtsensors
|
||||
qtserialbus
|
||||
qtserialport
|
||||
qtshadertools
|
||||
qtspeech
|
||||
qtvirtualkeyboard
|
||||
qtwebchannel
|
||||
qtwebsockets
|
||||
qtwebview
|
||||
|
||||
# found in commercial version
|
||||
qtapplicationmanager
|
||||
qtinterfraceframework
|
||||
qtlanguageserver
|
||||
qtmqtt
|
||||
qtstatemachine
|
||||
qtopcua
|
||||
tqtc-qtvncserver
|
||||
|
||||
PARENT_SCOPE
|
||||
)
|
||||
endfunction()
|
||||
|
||||
function(qt_maintenance_tool_get_extensions extensions)
|
||||
set(${extensions}
|
||||
qtinsighttracker
|
||||
qtpdf
|
||||
qtwebengine
|
||||
|
||||
PARENT_SCOPE
|
||||
)
|
||||
endfunction()
|
||||
|
||||
function(qt_maintenance_tool_get_standalone_addons standalone_addons_list)
|
||||
set(${standalone_addons_list}
|
||||
qtquick3d
|
||||
qt5compat
|
||||
qtshadertools
|
||||
qtquicktimeline
|
||||
|
||||
PARENT_SCOPE
|
||||
)
|
||||
endfunction()
|
||||
|
||||
function(qt_maintenance_tool_remove_installed_components components_list)
|
||||
set(actual_components_list ${${components_list}})
|
||||
execute_process(
|
||||
COMMAND "${QT_MAINTENANCE_TOOL}" list
|
||||
RESULT_VARIABLE result
|
||||
OUTPUT_VARIABLE output
|
||||
ERROR_VARIABLE output
|
||||
TIMEOUT 600
|
||||
)
|
||||
if (NOT result EQUAL 0)
|
||||
message(WARNING "Qt MaintenanceTool returned an error.\n${output}")
|
||||
set(${components_list} "" PARENT_SCOPE)
|
||||
return()
|
||||
endif()
|
||||
|
||||
foreach(component_name IN LISTS actual_components_list)
|
||||
string(FIND "${output}" "<package name=\"${component_name}\"" found_component)
|
||||
if (NOT found_component EQUAL -1)
|
||||
list(REMOVE_ITEM ${components_list} ${component_name})
|
||||
endif()
|
||||
endforeach()
|
||||
set(${components_list} ${${components_list}} PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
function(qt_maintenance_tool_install qt_major_version qt_package_list)
|
||||
if (QT_QMAKE_EXECUTABLE MATCHES ".*/(.*)/(.*)/bin/qmake")
|
||||
set(qt_version_number ${CMAKE_MATCH_1})
|
||||
string(REPLACE "." "" qt_version_number_dotless ${qt_version_number})
|
||||
set(qt_build_flavor ${CMAKE_MATCH_2})
|
||||
|
||||
set(additional_addons "")
|
||||
qt_maintenance_tool_get_extensions(__qt_extensions)
|
||||
if (qt_version_number VERSION_LESS 6.8.0)
|
||||
set(additional_addons ${__qt_extensions})
|
||||
endif()
|
||||
if (WIN32)
|
||||
list(APPEND additional_addons qtactiveqt)
|
||||
endif()
|
||||
if (UNIX AND NOT APPLE)
|
||||
list(APPEND additional_addons qtwayland)
|
||||
endif()
|
||||
|
||||
qt_maintenance_tool_get_component_platform(${qt_build_flavor} component_platform)
|
||||
if (NOT component_platform)
|
||||
message(STATUS
|
||||
"Qt Creator: Could not find the component platform for '${qt_build_flavor}' "
|
||||
"required by the MaintenanceTool. This can happen with a non Qt SDK installation "
|
||||
"(e.g. system Linux or macOS homebrew).")
|
||||
return()
|
||||
endif()
|
||||
|
||||
set(installer_component_list "")
|
||||
foreach (qt_package_name IN LISTS qt_package_list)
|
||||
string(TOLOWER "${qt_package_name}" qt_package_name_lowercase)
|
||||
|
||||
qt_maintenance_tool_get_addons(__qt_addons)
|
||||
if (qt_version_number VERSION_LESS 6.8.0)
|
||||
qt_maintenance_tool_get_standalone_addons(__standalone_addons)
|
||||
foreach(standalone_addon IN LISTS __standalone_addons)
|
||||
list(REMOVE_ITEM __qt_addons ${standalone_addon})
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
# Is the package an addon?
|
||||
set(install_addon FALSE)
|
||||
foreach(addon IN LISTS __qt_addons additional_addons)
|
||||
string(REGEX MATCH "${addon}" is_addon "qt${qt_package_name_lowercase}")
|
||||
if (is_addon)
|
||||
list(
|
||||
APPEND installer_component_list
|
||||
"qt.qt${qt_major_version}.${qt_version_number_dotless}.addons.${addon}"
|
||||
)
|
||||
set(install_addon TRUE)
|
||||
break()
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
if (NOT install_addon)
|
||||
set(install_extension FALSE)
|
||||
foreach(extension IN LISTS __qt_extensions)
|
||||
string(REGEX MATCH "${extension}" is_extension "qt${qt_package_name_lowercase}")
|
||||
if (is_extension)
|
||||
list(
|
||||
APPEND installer_component_list
|
||||
"extensions.${extension}.${qt_version_number_dotless}.${component_platform}"
|
||||
)
|
||||
set(install_extension TRUE)
|
||||
break()
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
if (NOT install_extension)
|
||||
set(install_standalone_addon FALSE)
|
||||
foreach(standalone_addon IN LISTS __standalone_addons)
|
||||
string(REGEX MATCH "${standalone_addon}" is_standalone_addon "qt${qt_package_name_lowercase}")
|
||||
if (is_standalone_addon)
|
||||
list(
|
||||
APPEND installer_component_list
|
||||
"qt.qt${qt_major_version}.${qt_version_number_dotless}.${standalone_addon}"
|
||||
)
|
||||
set(install_standalone_addon TRUE)
|
||||
break()
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
if(NOT install_standalone_addon)
|
||||
# Install the Desktop package
|
||||
list(
|
||||
APPEND installer_component_list
|
||||
"qt.qt${qt_major_version}.${qt_version_number_dotless}.${component_platform}"
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
qt_maintenance_tool_remove_installed_components(installer_component_list)
|
||||
list(LENGTH installer_component_list installer_component_list_size)
|
||||
if (installer_component_list_size EQUAL 0)
|
||||
return()
|
||||
endif()
|
||||
|
||||
list(TRANSFORM qt_package_list PREPEND "Qt${qt_major_version}")
|
||||
list(JOIN qt_package_list " " qt_packages_as_string)
|
||||
list(JOIN installer_component_list " " installer_components_as_string)
|
||||
|
||||
message(STATUS "Qt Creator: CMake could not find: ${qt_packages_as_string}. "
|
||||
"Now installing: ${installer_components_as_string} "
|
||||
"with the MaintenanceTool ...")
|
||||
|
||||
if (QT_CREATOR_MAINTENANCE_TOOL_PROVIDER_USE_CLI)
|
||||
message(STATUS "Qt Creator: Using MaintenanceTool in CLI Mode. "
|
||||
"Set QT_CREATOR_MAINTENANCE_TOOL_PROVIDER_USE_CLI to OFF for GUI mode.")
|
||||
execute_process(
|
||||
COMMAND
|
||||
"${QT_MAINTENANCE_TOOL}"
|
||||
--accept-licenses
|
||||
--default-answer
|
||||
--confirm-command
|
||||
install ${installer_component_list}
|
||||
RESULT_VARIABLE result
|
||||
OUTPUT_VARIABLE output
|
||||
ERROR_VARIABLE output
|
||||
ECHO_OUTPUT_VARIABLE ECHO_ERROR_VARIABLE
|
||||
TIMEOUT 600
|
||||
)
|
||||
if (NOT result EQUAL 0)
|
||||
message(WARNING "Qt MaintenanceTool returned an error.\n${output}")
|
||||
endif()
|
||||
else()
|
||||
message(STATUS "Qt Creator: Using MaintenanceTool in GUI Mode. "
|
||||
"Set QT_CREATOR_MAINTENANCE_TOOL_PROVIDER_USE_CLI to ON for CLI mode.")
|
||||
set(ENV{QTC_MAINTENANCE_TOOL_COMPONENTS} "${installer_component_list}")
|
||||
set(ENV{QTC_MAINTENANCE_TOOL_QT_PACKAGES} "${qt_package_list}")
|
||||
|
||||
if(CMAKE_HOST_WIN32)
|
||||
# It's necessary to call actual test inside 'cmd.exe', because 'execute_process' uses
|
||||
# SW_HIDE to avoid showing a console window, it affects other GUI as well.
|
||||
# See https://gitlab.kitware.com/cmake/cmake/-/issues/17690 for details.
|
||||
#
|
||||
# Run the command using the proxy 'call' command to avoid issues related to invalid
|
||||
# processing of quotes and spaces in cmd.exe arguments.
|
||||
set(extra_runner cmd /d /c call)
|
||||
endif()
|
||||
|
||||
execute_process(
|
||||
COMMAND ${extra_runner}
|
||||
"${QT_MAINTENANCE_TOOL}"
|
||||
--script "${CMAKE_CURRENT_FUNCTION_LIST_DIR}/maintenance_tool_provider.qs"
|
||||
--verbose
|
||||
RESULT_VARIABLE result
|
||||
OUTPUT_VARIABLE output
|
||||
ERROR_VARIABLE output
|
||||
ECHO_OUTPUT_VARIABLE ECHO_ERROR_VARIABLE
|
||||
TIMEOUT 600
|
||||
)
|
||||
if (NOT result EQUAL 0)
|
||||
message(WARNING "Qt MaintenanceTool returned an error.\n${output}")
|
||||
endif()
|
||||
|
||||
endif()
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
macro(qt_maintenance_tool_dependency method package_name)
|
||||
if (${package_name} MATCHES "^Qt([0-9])(.*)$")
|
||||
set(__qt_dependency_qt_major_version ${CMAKE_MATCH_1})
|
||||
set(__qt_dependency_qt_package_name ${CMAKE_MATCH_2})
|
||||
|
||||
# https://cmake.org/cmake/help/latest/command/find_package.html
|
||||
set(__qt_dependency_options
|
||||
CONFIG NO_MODULE MODULE REQUIRED EXACT QUIET GLOBAL NO_POLICY_SCOPE NO_DEFAULT_PATH NO_PACKAGE_ROOT_PATH
|
||||
NO_CMAKE_PATH NO_CMAKE_ENVIRONMENT_PATH NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_PACKAGE_REGISTRY
|
||||
NO_CMAKE_SYSTEM_PATH NO_CMAKE_INSTALL_PREFIX NO_CMAKE_SYSTEM_PACKAGE_REGISTRY CMAKE_FIND_ROOT_PATH_BOTH
|
||||
ONLY_CMAKE_FIND_ROOT_PATH NO_CMAKE_FIND_ROOT_PATH
|
||||
)
|
||||
set(__qt_dependency_oneValueArgs REGISTRY_VIEW)
|
||||
set(__qt_dependency_multiValueArgs COMPONENTS OPTIONAL_COMPONENTS NAMES CONFIGS HINTS PATHS PATH_SUFFIXES)
|
||||
cmake_parse_arguments(__qt_dependency_arg "${__qt_dependency_options}" "${__qt_dependency_oneValueArgs}" "${__qt_dependency_multiValueArgs}" ${ARGN})
|
||||
|
||||
if (__qt_dependency_arg_REQUIRED AND __qt_dependency_arg_COMPONENTS)
|
||||
# Install missing COMPONENTS.
|
||||
set(__qt_dependency_pkgs_to_install "")
|
||||
foreach(pkg IN LISTS __qt_dependency_arg_COMPONENTS)
|
||||
find_package(Qt${__qt_dependency_qt_major_version}${pkg}
|
||||
PATHS ${CMAKE_PREFIX_PATH} ${CMAKE_MODULE_PATH} NO_DEFAULT_PATH BYPASS_PROVIDER QUIET)
|
||||
if (NOT Qt${__qt_dependency_qt_major_version}${pkg}_FOUND)
|
||||
list(APPEND __qt_dependency_pkgs_to_install ${pkg})
|
||||
endif()
|
||||
endforeach()
|
||||
if (__qt_dependency_pkgs_to_install)
|
||||
qt_maintenance_tool_install("${__qt_dependency_qt_major_version}" "${__qt_dependency_pkgs_to_install}")
|
||||
endif()
|
||||
elseif(__qt_dependency_arg_REQUIRED AND NOT __qt_dependency_qt_package_name)
|
||||
# Install the Desktop package if Qt::Core is missing
|
||||
find_package(Qt${__qt_dependency_qt_major_version}Core
|
||||
PATHS ${CMAKE_PREFIX_PATH} ${CMAKE_MODULE_PATH} NO_DEFAULT_PATH BYPASS_PROVIDER QUIET)
|
||||
if (NOT Qt${__qt_dependency_qt_major_version}$Core_FOUND)
|
||||
qt_maintenance_tool_install("${__qt_dependency_qt_major_version}" Core)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
find_package(${package_name} ${ARGN}
|
||||
PATHS ${CMAKE_PREFIX_PATH} ${CMAKE_MODULE_PATH} NO_DEFAULT_PATH BYPASS_PROVIDER QUIET)
|
||||
if (NOT ${package_name}_FOUND AND __qt_dependency_arg_REQUIRED)
|
||||
qt_maintenance_tool_install("${__qt_dependency_qt_major_version}" "${__qt_dependency_qt_package_name}")
|
||||
find_package(${package_name} ${ARGN} BYPASS_PROVIDER)
|
||||
endif()
|
||||
else()
|
||||
find_package(${package_name} ${ARGN} BYPASS_PROVIDER)
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
cmake_language(
|
||||
SET_DEPENDENCY_PROVIDER qt_maintenance_tool_dependency
|
||||
SUPPORTED_METHODS FIND_PACKAGE
|
||||
)
|
|
@ -1,60 +0,0 @@
|
|||
accountFieldsVisible = function()
|
||||
{
|
||||
var qtPackagesString = installer.environmentVariable("QTC_MAINTENANCE_TOOL_QT_PACKAGES").toString();
|
||||
qtPackagesString = qtPackagesString.split(";").join(" ");
|
||||
|
||||
var result = QMessageBox.question("qtcreator.install.packages", "Qt Creator",
|
||||
"CMake could not find: " + qtPackagesString + "<br><br>" +
|
||||
"Do you want to install the missing packages?",
|
||||
QMessageBox.Yes | QMessageBox.No, QMessageBox.Yes);
|
||||
if (result == QMessageBox.No) {
|
||||
gui.rejectWithoutPrompt();
|
||||
} else {
|
||||
var ifwVersion = installer.value("FrameworkVersion");
|
||||
if (installer.versionMatches(ifwVersion, "=4.9.0"))
|
||||
gui.clickButton("submitButtonLogin");
|
||||
else
|
||||
gui.clickButton(buttons.NextButton);
|
||||
}
|
||||
}
|
||||
|
||||
usageStatisticVisible = function()
|
||||
{
|
||||
gui.clickButton(buttons.NextButton);
|
||||
}
|
||||
|
||||
Controller.prototype.CredentialsPageCallback = function()
|
||||
{
|
||||
var page = gui.currentPageWidget();
|
||||
page.accountFieldsVisible.connect(accountFieldsVisible)
|
||||
var ifwVersion = installer.value("FrameworkVersion");
|
||||
if (installer.versionMatches(ifwVersion, "=4.9.0"))
|
||||
page.usageStatisticVisible.connect(usageStatisticVisible);
|
||||
}
|
||||
|
||||
Controller.prototype.IntroductionPageCallback = function()
|
||||
{
|
||||
gui.clickButton(buttons.NextButton);
|
||||
}
|
||||
|
||||
Controller.prototype.ComponentSelectionPageCallback = function()
|
||||
{
|
||||
var componentsString = installer.environmentVariable("QTC_MAINTENANCE_TOOL_COMPONENTS");
|
||||
var componentsList = componentsString.split(";");
|
||||
for (var idx = 0; idx < componentsList.length; idx++) {
|
||||
installer.selectComponent(componentsList[idx]);
|
||||
}
|
||||
gui.clickButton(buttons.NextButton);
|
||||
}
|
||||
|
||||
Controller.prototype.FinishedPageCallback = function()
|
||||
{
|
||||
gui.clickButton(buttons.FinishButton);
|
||||
}
|
||||
|
||||
function Controller()
|
||||
{
|
||||
installer.installationFinished.connect(function() {
|
||||
gui.clickButton(buttons.NextButton);
|
||||
})
|
||||
}
|
|
@ -1,409 +0,0 @@
|
|||
# This is the CMakeCache file.
|
||||
# For build in directory: /data/code/eden/src/dynarmic/tests/build/Desktop-Debug
|
||||
# It was generated by CMake: /usr/bin/cmake
|
||||
# You can edit this file to change values found and used by cmake.
|
||||
# If you do not want to change any of the values, simply exit the editor.
|
||||
# If you do want to change a value, simply edit, save, and exit the editor.
|
||||
# The syntax for the file is as follows:
|
||||
# KEY:TYPE=VALUE
|
||||
# KEY is the name of a variable in the cache.
|
||||
# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!.
|
||||
# VALUE is the current value for the KEY.
|
||||
|
||||
########################
|
||||
# EXTERNAL cache entries
|
||||
########################
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_AR:FILEPATH=/usr/bin/ar
|
||||
|
||||
//No help, variable specified on the command line.
|
||||
CMAKE_BUILD_TYPE:STRING=Debug
|
||||
|
||||
//No help, variable specified on the command line.
|
||||
CMAKE_COLOR_DIAGNOSTICS:BOOL=ON
|
||||
|
||||
//CXX compiler
|
||||
CMAKE_CXX_COMPILER:STRING=/usr/lib/ccache/bin/g++-14
|
||||
|
||||
//A wrapper around 'ar' adding the appropriate '--plugin' option
|
||||
// for the GCC compiler
|
||||
CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar
|
||||
|
||||
//A wrapper around 'ranlib' adding the appropriate '--plugin' option
|
||||
// for the GCC compiler
|
||||
CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib
|
||||
|
||||
//Flags used by the CXX compiler during all build types.
|
||||
CMAKE_CXX_FLAGS:STRING=-DQT_QML_DEBUG
|
||||
|
||||
//Flags used by the CXX compiler during DEBUG builds.
|
||||
CMAKE_CXX_FLAGS_DEBUG:STRING=-g
|
||||
|
||||
//No help, variable specified on the command line.
|
||||
CMAKE_CXX_FLAGS_INIT:STRING=-DQT_QML_DEBUG
|
||||
|
||||
//Flags used by the CXX compiler during MINSIZEREL builds.
|
||||
CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
|
||||
|
||||
//Flags used by the CXX compiler during RELEASE builds.
|
||||
CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
|
||||
|
||||
//Flags used by the CXX compiler during RELWITHDEBINFO builds.
|
||||
CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
|
||||
|
||||
//C compiler
|
||||
CMAKE_C_COMPILER:STRING=/usr/lib/ccache/bin/gcc-14
|
||||
|
||||
//A wrapper around 'ar' adding the appropriate '--plugin' option
|
||||
// for the GCC compiler
|
||||
CMAKE_C_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar
|
||||
|
||||
//A wrapper around 'ranlib' adding the appropriate '--plugin' option
|
||||
// for the GCC compiler
|
||||
CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib
|
||||
|
||||
//Flags used by the C compiler during all build types.
|
||||
CMAKE_C_FLAGS:STRING=
|
||||
|
||||
//Flags used by the C compiler during DEBUG builds.
|
||||
CMAKE_C_FLAGS_DEBUG:STRING=-g
|
||||
|
||||
//Flags used by the C compiler during MINSIZEREL builds.
|
||||
CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
|
||||
|
||||
//Flags used by the C compiler during RELEASE builds.
|
||||
CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
|
||||
|
||||
//Flags used by the C compiler during RELWITHDEBINFO builds.
|
||||
CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_DLLTOOL:FILEPATH=/usr/lib/llvm/20/bin/dlltool
|
||||
|
||||
//Flags used by the linker during all build types.
|
||||
CMAKE_EXE_LINKER_FLAGS:STRING=
|
||||
|
||||
//Flags used by the linker during DEBUG builds.
|
||||
CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=
|
||||
|
||||
//Flags used by the linker during MINSIZEREL builds.
|
||||
CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING=
|
||||
|
||||
//Flags used by the linker during RELEASE builds.
|
||||
CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING=
|
||||
|
||||
//Flags used by the linker during RELWITHDEBINFO builds.
|
||||
CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
|
||||
|
||||
//Enable/Disable output of build database during the build.
|
||||
CMAKE_EXPORT_BUILD_DATABASE:BOOL=
|
||||
|
||||
//Enable/Disable output of compile commands during generation.
|
||||
CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=
|
||||
|
||||
//Value Computed by CMake.
|
||||
CMAKE_FIND_PACKAGE_REDIRECTS_DIR:STATIC=/data/code/eden/src/dynarmic/tests/build/Desktop-Debug/CMakeFiles/pkgRedirects
|
||||
|
||||
//No help, variable specified on the command line.
|
||||
CMAKE_GENERATOR:STRING=Ninja
|
||||
|
||||
//Install path prefix, prepended onto install directories.
|
||||
CMAKE_INSTALL_PREFIX:PATH=/usr/local
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_LINKER:FILEPATH=/usr/bin/ld
|
||||
|
||||
//Program used to build from build.ninja files.
|
||||
CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/ninja
|
||||
|
||||
//Flags used by the linker during the creation of modules during
|
||||
// all build types.
|
||||
CMAKE_MODULE_LINKER_FLAGS:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of modules during
|
||||
// DEBUG builds.
|
||||
CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of modules during
|
||||
// MINSIZEREL builds.
|
||||
CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of modules during
|
||||
// RELEASE builds.
|
||||
CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of modules during
|
||||
// RELWITHDEBINFO builds.
|
||||
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_NM:FILEPATH=/usr/bin/nm
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump
|
||||
|
||||
//No help, variable specified on the command line.
|
||||
CMAKE_PREFIX_PATH:PATH=/usr
|
||||
|
||||
//Value Computed by CMake
|
||||
CMAKE_PROJECT_DESCRIPTION:STATIC=
|
||||
|
||||
//Value Computed by CMake
|
||||
CMAKE_PROJECT_HOMEPAGE_URL:STATIC=
|
||||
|
||||
//No help, variable specified on the command line.
|
||||
CMAKE_PROJECT_INCLUDE_BEFORE:FILEPATH=/data/code/eden/src/dynarmic/tests/build/Desktop-Debug/.qtc/package-manager/auto-setup.cmake
|
||||
|
||||
//Value Computed by CMake
|
||||
CMAKE_PROJECT_NAME:STATIC=Project
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_READELF:FILEPATH=/usr/bin/readelf
|
||||
|
||||
//Flags used by the linker during the creation of shared libraries
|
||||
// during all build types.
|
||||
CMAKE_SHARED_LINKER_FLAGS:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of shared libraries
|
||||
// during DEBUG builds.
|
||||
CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of shared libraries
|
||||
// during MINSIZEREL builds.
|
||||
CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of shared libraries
|
||||
// during RELEASE builds.
|
||||
CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of shared libraries
|
||||
// during RELWITHDEBINFO builds.
|
||||
CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING=
|
||||
|
||||
//If set, runtime paths are not added when installing shared libraries,
|
||||
// but are added when building.
|
||||
CMAKE_SKIP_INSTALL_RPATH:BOOL=NO
|
||||
|
||||
//If set, runtime paths are not added when using shared libraries.
|
||||
CMAKE_SKIP_RPATH:BOOL=NO
|
||||
|
||||
//Flags used by the linker during the creation of static libraries
|
||||
// during all build types.
|
||||
CMAKE_STATIC_LINKER_FLAGS:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of static libraries
|
||||
// during DEBUG builds.
|
||||
CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of static libraries
|
||||
// during MINSIZEREL builds.
|
||||
CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of static libraries
|
||||
// during RELEASE builds.
|
||||
CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING=
|
||||
|
||||
//Flags used by the linker during the creation of static libraries
|
||||
// during RELWITHDEBINFO builds.
|
||||
CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING=
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_STRIP:FILEPATH=/usr/bin/strip
|
||||
|
||||
//Path to a program.
|
||||
CMAKE_TAPI:FILEPATH=CMAKE_TAPI-NOTFOUND
|
||||
|
||||
//If this value is on, makefiles will be generated without the
|
||||
// .SILENT directive, and all commands will be echoed to the console
|
||||
// during the make. This is useful for debugging only. With Visual
|
||||
// Studio IDE projects all commands are done without /nologo.
|
||||
CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE
|
||||
|
||||
//Value Computed by CMake
|
||||
Project_BINARY_DIR:STATIC=/data/code/eden/src/dynarmic/tests/build/Desktop-Debug
|
||||
|
||||
//Value Computed by CMake
|
||||
Project_IS_TOP_LEVEL:STATIC=ON
|
||||
|
||||
//Value Computed by CMake
|
||||
Project_SOURCE_DIR:STATIC=/data/code/eden/src/dynarmic/tests
|
||||
|
||||
//Use CLI mode for Qt Creator's MaintenanceTool find_package provider
|
||||
QT_CREATOR_MAINTENANCE_TOOL_PROVIDER_USE_CLI:BOOL=OFF
|
||||
|
||||
//Skip Qt Creator's MaintenanceTool find_package provider
|
||||
QT_CREATOR_SKIP_MAINTENANCE_TOOL_PROVIDER:BOOL=OFF
|
||||
|
||||
//Skip Qt Creator's package manager auto-setup
|
||||
QT_CREATOR_SKIP_PACKAGE_MANAGER_SETUP:BOOL=OFF
|
||||
|
||||
//Qt Creator source groups extensions
|
||||
QT_CREATOR_SOURCE_GROUPS:BOOL=ON
|
||||
|
||||
//No help, variable specified on the command line.
|
||||
QT_MAINTENANCE_TOOL:FILEPATH=/data/Qt/MaintenanceTool
|
||||
|
||||
//No help, variable specified on the command line.
|
||||
QT_QMAKE_EXECUTABLE:FILEPATH=/usr/bin/qmake6
|
||||
|
||||
|
||||
########################
|
||||
# INTERNAL cache entries
|
||||
########################
|
||||
|
||||
//ADVANCED property for variable: CMAKE_ADDR2LINE
|
||||
CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_AR
|
||||
CMAKE_AR-ADVANCED:INTERNAL=1
|
||||
//This is the directory where this CMakeCache.txt was created
|
||||
CMAKE_CACHEFILE_DIR:INTERNAL=/data/code/eden/src/dynarmic/tests/build/Desktop-Debug
|
||||
//Major version of cmake used to create the current loaded cache
|
||||
CMAKE_CACHE_MAJOR_VERSION:INTERNAL=4
|
||||
//Minor version of cmake used to create the current loaded cache
|
||||
CMAKE_CACHE_MINOR_VERSION:INTERNAL=0
|
||||
//Patch version of cmake used to create the current loaded cache
|
||||
CMAKE_CACHE_PATCH_VERSION:INTERNAL=3
|
||||
//Path to CMake executable.
|
||||
CMAKE_COMMAND:INTERNAL=/usr/bin/cmake
|
||||
//Path to cpack program executable.
|
||||
CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack
|
||||
//Path to ctest program executable.
|
||||
CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest
|
||||
//ADVANCED property for variable: CMAKE_CXX_COMPILER
|
||||
CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR
|
||||
CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB
|
||||
CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_FLAGS
|
||||
CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG
|
||||
CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL
|
||||
CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE
|
||||
CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_C_COMPILER
|
||||
CMAKE_C_COMPILER-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_C_COMPILER_AR
|
||||
CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB
|
||||
CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_C_FLAGS
|
||||
CMAKE_C_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG
|
||||
CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL
|
||||
CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE
|
||||
CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_DLLTOOL
|
||||
CMAKE_DLLTOOL-ADVANCED:INTERNAL=1
|
||||
//Path to cache edit program executable.
|
||||
CMAKE_EDIT_COMMAND:INTERNAL=/usr/bin/ccmake
|
||||
//Executable file format
|
||||
CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF
|
||||
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS
|
||||
CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG
|
||||
CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL
|
||||
CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE
|
||||
CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_EXPORT_BUILD_DATABASE
|
||||
CMAKE_EXPORT_BUILD_DATABASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS
|
||||
CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1
|
||||
//Generator instance identifier.
|
||||
CMAKE_GENERATOR_INSTANCE:INTERNAL=
|
||||
//Name of generator platform.
|
||||
CMAKE_GENERATOR_PLATFORM:INTERNAL=
|
||||
//Name of generator toolset.
|
||||
CMAKE_GENERATOR_TOOLSET:INTERNAL=
|
||||
//Source directory with the top level CMakeLists.txt file for this
|
||||
// project
|
||||
CMAKE_HOME_DIRECTORY:INTERNAL=/data/code/eden/src/dynarmic/tests
|
||||
//Install .so files without execute permission.
|
||||
CMAKE_INSTALL_SO_NO_EXE:INTERNAL=0
|
||||
//ADVANCED property for variable: CMAKE_LINKER
|
||||
CMAKE_LINKER-ADVANCED:INTERNAL=1
|
||||
//Name of CMakeLists files to read
|
||||
CMAKE_LIST_FILE_NAME:INTERNAL=CMakeLists.txt
|
||||
//ADVANCED property for variable: CMAKE_MAKE_PROGRAM
|
||||
CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS
|
||||
CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG
|
||||
CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL
|
||||
CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE
|
||||
CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_NM
|
||||
CMAKE_NM-ADVANCED:INTERNAL=1
|
||||
//number of local generators
|
||||
CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_OBJCOPY
|
||||
CMAKE_OBJCOPY-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_OBJDUMP
|
||||
CMAKE_OBJDUMP-ADVANCED:INTERNAL=1
|
||||
//Platform information initialized
|
||||
CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_RANLIB
|
||||
CMAKE_RANLIB-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_READELF
|
||||
CMAKE_READELF-ADVANCED:INTERNAL=1
|
||||
//Path to CMake installation.
|
||||
CMAKE_ROOT:INTERNAL=/usr/share/cmake
|
||||
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS
|
||||
CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG
|
||||
CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL
|
||||
CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE
|
||||
CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH
|
||||
CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_SKIP_RPATH
|
||||
CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS
|
||||
CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG
|
||||
CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL
|
||||
CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE
|
||||
CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_STRIP
|
||||
CMAKE_STRIP-ADVANCED:INTERNAL=1
|
||||
//ADVANCED property for variable: CMAKE_TAPI
|
||||
CMAKE_TAPI-ADVANCED:INTERNAL=1
|
||||
//uname command
|
||||
CMAKE_UNAME:INTERNAL=/usr/bin/uname
|
||||
//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE
|
||||
CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1
|
||||
|
|
@ -1,84 +0,0 @@
|
|||
set(CMAKE_C_COMPILER "/usr/lib/ccache/bin/gcc-14")
|
||||
set(CMAKE_C_COMPILER_ARG1 "")
|
||||
set(CMAKE_C_COMPILER_ID "GNU")
|
||||
set(CMAKE_C_COMPILER_VERSION "14.2.1")
|
||||
set(CMAKE_C_COMPILER_VERSION_INTERNAL "")
|
||||
set(CMAKE_C_COMPILER_WRAPPER "")
|
||||
set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "17")
|
||||
set(CMAKE_C_EXTENSIONS_COMPUTED_DEFAULT "ON")
|
||||
set(CMAKE_C_STANDARD_LATEST "23")
|
||||
set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert;c_std_17;c_std_23")
|
||||
set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes")
|
||||
set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros")
|
||||
set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert")
|
||||
set(CMAKE_C17_COMPILE_FEATURES "c_std_17")
|
||||
set(CMAKE_C23_COMPILE_FEATURES "c_std_23")
|
||||
|
||||
set(CMAKE_C_PLATFORM_ID "Linux")
|
||||
set(CMAKE_C_SIMULATE_ID "")
|
||||
set(CMAKE_C_COMPILER_FRONTEND_VARIANT "GNU")
|
||||
set(CMAKE_C_COMPILER_APPLE_SYSROOT "")
|
||||
set(CMAKE_C_SIMULATE_VERSION "")
|
||||
|
||||
|
||||
|
||||
|
||||
set(CMAKE_AR "/usr/bin/ar")
|
||||
set(CMAKE_C_COMPILER_AR "/usr/bin/gcc-ar")
|
||||
set(CMAKE_RANLIB "/usr/bin/ranlib")
|
||||
set(CMAKE_C_COMPILER_RANLIB "/usr/bin/gcc-ranlib")
|
||||
set(CMAKE_LINKER "/usr/bin/ld")
|
||||
set(CMAKE_LINKER_LINK "")
|
||||
set(CMAKE_LINKER_LLD "")
|
||||
set(CMAKE_C_COMPILER_LINKER "/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/ld")
|
||||
set(CMAKE_C_COMPILER_LINKER_ID "GNU")
|
||||
set(CMAKE_C_COMPILER_LINKER_VERSION 2.44.0)
|
||||
set(CMAKE_C_COMPILER_LINKER_FRONTEND_VARIANT GNU)
|
||||
set(CMAKE_MT "")
|
||||
set(CMAKE_TAPI "CMAKE_TAPI-NOTFOUND")
|
||||
set(CMAKE_COMPILER_IS_GNUCC 1)
|
||||
set(CMAKE_C_COMPILER_LOADED 1)
|
||||
set(CMAKE_C_COMPILER_WORKS TRUE)
|
||||
set(CMAKE_C_ABI_COMPILED TRUE)
|
||||
|
||||
set(CMAKE_C_COMPILER_ENV_VAR "CC")
|
||||
|
||||
set(CMAKE_C_COMPILER_ID_RUN 1)
|
||||
set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m)
|
||||
set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
|
||||
set(CMAKE_C_LINKER_PREFERENCE 10)
|
||||
set(CMAKE_C_LINKER_DEPFILE_SUPPORTED TRUE)
|
||||
set(CMAKE_LINKER_PUSHPOP_STATE_SUPPORTED TRUE)
|
||||
set(CMAKE_C_LINKER_PUSHPOP_STATE_SUPPORTED TRUE)
|
||||
|
||||
# Save compiler ABI information.
|
||||
set(CMAKE_C_SIZEOF_DATA_PTR "8")
|
||||
set(CMAKE_C_COMPILER_ABI "ELF")
|
||||
set(CMAKE_C_BYTE_ORDER "LITTLE_ENDIAN")
|
||||
set(CMAKE_C_LIBRARY_ARCHITECTURE "")
|
||||
|
||||
if(CMAKE_C_SIZEOF_DATA_PTR)
|
||||
set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}")
|
||||
endif()
|
||||
|
||||
if(CMAKE_C_COMPILER_ABI)
|
||||
set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}")
|
||||
endif()
|
||||
|
||||
if(CMAKE_C_LIBRARY_ARCHITECTURE)
|
||||
set(CMAKE_LIBRARY_ARCHITECTURE "")
|
||||
endif()
|
||||
|
||||
set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "")
|
||||
if(CMAKE_C_CL_SHOWINCLUDES_PREFIX)
|
||||
set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}")
|
||||
endif()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/usr/lib/gcc/x86_64-pc-linux-gnu/14/include;/usr/local/include;/usr/include")
|
||||
set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "gcc;gcc_s;c;gcc;gcc_s")
|
||||
set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-pc-linux-gnu/14;/usr/lib64;/lib64;/usr/x86_64-pc-linux-gnu/lib;/usr/lib")
|
||||
set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
|
|
@ -1,108 +0,0 @@
|
|||
set(CMAKE_CXX_COMPILER "/usr/lib/ccache/bin/g++-14")
|
||||
set(CMAKE_CXX_COMPILER_ARG1 "")
|
||||
set(CMAKE_CXX_COMPILER_ID "GNU")
|
||||
set(CMAKE_CXX_COMPILER_VERSION "14.2.1")
|
||||
set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "")
|
||||
set(CMAKE_CXX_COMPILER_WRAPPER "")
|
||||
set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "17")
|
||||
set(CMAKE_CXX_EXTENSIONS_COMPUTED_DEFAULT "ON")
|
||||
set(CMAKE_CXX_STANDARD_LATEST "26")
|
||||
set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20;cxx_std_23;cxx_std_26")
|
||||
set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters")
|
||||
set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates")
|
||||
set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates")
|
||||
set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17")
|
||||
set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20")
|
||||
set(CMAKE_CXX23_COMPILE_FEATURES "cxx_std_23")
|
||||
set(CMAKE_CXX26_COMPILE_FEATURES "cxx_std_26")
|
||||
|
||||
set(CMAKE_CXX_PLATFORM_ID "Linux")
|
||||
set(CMAKE_CXX_SIMULATE_ID "")
|
||||
set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "GNU")
|
||||
set(CMAKE_CXX_COMPILER_APPLE_SYSROOT "")
|
||||
set(CMAKE_CXX_SIMULATE_VERSION "")
|
||||
|
||||
|
||||
|
||||
|
||||
set(CMAKE_AR "/usr/bin/ar")
|
||||
set(CMAKE_CXX_COMPILER_AR "/usr/bin/gcc-ar")
|
||||
set(CMAKE_RANLIB "/usr/bin/ranlib")
|
||||
set(CMAKE_CXX_COMPILER_RANLIB "/usr/bin/gcc-ranlib")
|
||||
set(CMAKE_LINKER "/usr/bin/ld")
|
||||
set(CMAKE_LINKER_LINK "")
|
||||
set(CMAKE_LINKER_LLD "")
|
||||
set(CMAKE_CXX_COMPILER_LINKER "/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/ld")
|
||||
set(CMAKE_CXX_COMPILER_LINKER_ID "GNU")
|
||||
set(CMAKE_CXX_COMPILER_LINKER_VERSION 2.44.0)
|
||||
set(CMAKE_CXX_COMPILER_LINKER_FRONTEND_VARIANT GNU)
|
||||
set(CMAKE_MT "")
|
||||
set(CMAKE_TAPI "CMAKE_TAPI-NOTFOUND")
|
||||
set(CMAKE_COMPILER_IS_GNUCXX 1)
|
||||
set(CMAKE_CXX_COMPILER_LOADED 1)
|
||||
set(CMAKE_CXX_COMPILER_WORKS TRUE)
|
||||
set(CMAKE_CXX_ABI_COMPILED TRUE)
|
||||
|
||||
set(CMAKE_CXX_COMPILER_ENV_VAR "CXX")
|
||||
|
||||
set(CMAKE_CXX_COMPILER_ID_RUN 1)
|
||||
set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;mpp;CPP;ixx;cppm;ccm;cxxm;c++m)
|
||||
set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC)
|
||||
|
||||
foreach (lang IN ITEMS C OBJC OBJCXX)
|
||||
if (CMAKE_${lang}_COMPILER_ID_RUN)
|
||||
foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS)
|
||||
list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension})
|
||||
endforeach()
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
set(CMAKE_CXX_LINKER_PREFERENCE 30)
|
||||
set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1)
|
||||
set(CMAKE_CXX_LINKER_DEPFILE_SUPPORTED TRUE)
|
||||
set(CMAKE_LINKER_PUSHPOP_STATE_SUPPORTED TRUE)
|
||||
set(CMAKE_CXX_LINKER_PUSHPOP_STATE_SUPPORTED TRUE)
|
||||
|
||||
# Save compiler ABI information.
|
||||
set(CMAKE_CXX_SIZEOF_DATA_PTR "8")
|
||||
set(CMAKE_CXX_COMPILER_ABI "ELF")
|
||||
set(CMAKE_CXX_BYTE_ORDER "LITTLE_ENDIAN")
|
||||
set(CMAKE_CXX_LIBRARY_ARCHITECTURE "")
|
||||
|
||||
if(CMAKE_CXX_SIZEOF_DATA_PTR)
|
||||
set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}")
|
||||
endif()
|
||||
|
||||
if(CMAKE_CXX_COMPILER_ABI)
|
||||
set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}")
|
||||
endif()
|
||||
|
||||
if(CMAKE_CXX_LIBRARY_ARCHITECTURE)
|
||||
set(CMAKE_LIBRARY_ARCHITECTURE "")
|
||||
endif()
|
||||
|
||||
set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "")
|
||||
if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX)
|
||||
set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}")
|
||||
endif()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14;/usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14/x86_64-pc-linux-gnu;/usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14/backward;/usr/lib/gcc/x86_64-pc-linux-gnu/14/include;/usr/local/include;/usr/include")
|
||||
set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;gcc_s;gcc;c;gcc_s;gcc")
|
||||
set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-pc-linux-gnu/14;/usr/lib64;/lib64;/usr/x86_64-pc-linux-gnu/lib;/usr/lib")
|
||||
set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
|
||||
set(CMAKE_CXX_COMPILER_CLANG_RESOURCE_DIR "")
|
||||
|
||||
set(CMAKE_CXX_COMPILER_IMPORT_STD "")
|
||||
### Imported target for C++23 standard library
|
||||
set(CMAKE_CXX23_COMPILER_IMPORT_STD_NOT_FOUND_MESSAGE "Experimental `import std` support not enabled when detecting toolchain; it must be set before `CXX` is enabled (usually a `project()` call)")
|
||||
|
||||
|
||||
### Imported target for C++26 standard library
|
||||
set(CMAKE_CXX26_COMPILER_IMPORT_STD_NOT_FOUND_MESSAGE "Experimental `import std` support not enabled when detecting toolchain; it must be set before `CXX` is enabled (usually a `project()` call)")
|
||||
|
||||
|
||||
|
Binary file not shown.
Binary file not shown.
|
@ -1,15 +0,0 @@
|
|||
set(CMAKE_HOST_SYSTEM "Linux-6.15.5-gentoo-dist")
|
||||
set(CMAKE_HOST_SYSTEM_NAME "Linux")
|
||||
set(CMAKE_HOST_SYSTEM_VERSION "6.15.5-gentoo-dist")
|
||||
set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64")
|
||||
|
||||
|
||||
|
||||
set(CMAKE_SYSTEM "Linux-6.15.5-gentoo-dist")
|
||||
set(CMAKE_SYSTEM_NAME "Linux")
|
||||
set(CMAKE_SYSTEM_VERSION "6.15.5-gentoo-dist")
|
||||
set(CMAKE_SYSTEM_PROCESSOR "x86_64")
|
||||
|
||||
set(CMAKE_CROSSCOMPILING "FALSE")
|
||||
|
||||
set(CMAKE_SYSTEM_LOADED 1)
|
|
@ -1,905 +0,0 @@
|
|||
#ifdef __cplusplus
|
||||
# error "A C++ compiler has been selected for C."
|
||||
#endif
|
||||
|
||||
#if defined(__18CXX)
|
||||
# define ID_VOID_MAIN
|
||||
#endif
|
||||
#if defined(__CLASSIC_C__)
|
||||
/* cv-qualifiers did not exist in K&R C */
|
||||
# define const
|
||||
# define volatile
|
||||
#endif
|
||||
|
||||
#if !defined(__has_include)
|
||||
/* If the compiler does not have __has_include, pretend the answer is
|
||||
always no. */
|
||||
# define __has_include(x) 0
|
||||
#endif
|
||||
|
||||
|
||||
/* Version number components: V=Version, R=Revision, P=Patch
|
||||
Version date components: YYYY=Year, MM=Month, DD=Day */
|
||||
|
||||
#if defined(__INTEL_COMPILER) || defined(__ICC)
|
||||
# define COMPILER_ID "Intel"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# if defined(__GNUC__)
|
||||
# define SIMULATE_ID "GNU"
|
||||
# endif
|
||||
/* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later,
|
||||
except that a few beta releases use the old format with V=2021. */
|
||||
# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111
|
||||
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
|
||||
# if defined(__INTEL_COMPILER_UPDATE)
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
|
||||
# else
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10)
|
||||
# endif
|
||||
# else
|
||||
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER)
|
||||
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE)
|
||||
/* The third version component from --version is an update index,
|
||||
but no macro is provided for it. */
|
||||
# define COMPILER_VERSION_PATCH DEC(0)
|
||||
# endif
|
||||
# if defined(__INTEL_COMPILER_BUILD_DATE)
|
||||
/* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
|
||||
# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
|
||||
# endif
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
# if defined(__GNUC__)
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
|
||||
# elif defined(__GNUG__)
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
|
||||
# endif
|
||||
# if defined(__GNUC_MINOR__)
|
||||
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
# endif
|
||||
# if defined(__GNUC_PATCHLEVEL__)
|
||||
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER)
|
||||
# define COMPILER_ID "IntelLLVM"
|
||||
#if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
#endif
|
||||
#if defined(__GNUC__)
|
||||
# define SIMULATE_ID "GNU"
|
||||
#endif
|
||||
/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and
|
||||
* later. Look for 6 digit vs. 8 digit version number to decide encoding.
|
||||
* VVVV is no smaller than the current year when a version is released.
|
||||
*/
|
||||
#if __INTEL_LLVM_COMPILER < 1000000L
|
||||
# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10)
|
||||
#else
|
||||
# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100)
|
||||
#endif
|
||||
#if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
#endif
|
||||
#if defined(__GNUC__)
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
|
||||
#elif defined(__GNUG__)
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
|
||||
#endif
|
||||
#if defined(__GNUC_MINOR__)
|
||||
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
#endif
|
||||
#if defined(__GNUC_PATCHLEVEL__)
|
||||
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
#endif
|
||||
|
||||
#elif defined(__PATHCC__)
|
||||
# define COMPILER_ID "PathScale"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
|
||||
# if defined(__PATHCC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
|
||||
# define COMPILER_ID "Embarcadero"
|
||||
# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
|
||||
# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
|
||||
# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF)
|
||||
|
||||
#elif defined(__BORLANDC__)
|
||||
# define COMPILER_ID "Borland"
|
||||
/* __BORLANDC__ = 0xVRR */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
|
||||
# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
|
||||
|
||||
#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
|
||||
# define COMPILER_ID "Watcom"
|
||||
/* __WATCOMC__ = VVRR */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
|
||||
# if (__WATCOMC__ % 10) > 0
|
||||
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# define COMPILER_ID "OpenWatcom"
|
||||
/* __WATCOMC__ = VVRP + 1100 */
|
||||
# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
|
||||
# if (__WATCOMC__ % 10) > 0
|
||||
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__SUNPRO_C)
|
||||
# define COMPILER_ID "SunPro"
|
||||
# if __SUNPRO_C >= 0x5100
|
||||
/* __SUNPRO_C = 0xVRRP */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12)
|
||||
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF)
|
||||
# else
|
||||
/* __SUNPRO_CC = 0xVRP */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8)
|
||||
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF)
|
||||
# endif
|
||||
|
||||
#elif defined(__HP_cc)
|
||||
# define COMPILER_ID "HP"
|
||||
/* __HP_cc = VVRRPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100)
|
||||
|
||||
#elif defined(__DECC)
|
||||
# define COMPILER_ID "Compaq"
|
||||
/* __DECC_VER = VVRRTPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000)
|
||||
|
||||
#elif defined(__IBMC__) && defined(__COMPILER_VER__)
|
||||
# define COMPILER_ID "zOS"
|
||||
/* __IBMC__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
|
||||
|
||||
#elif defined(__open_xl__) && defined(__clang__)
|
||||
# define COMPILER_ID "IBMClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__open_xl_version__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__open_xl_release__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__open_xl_modification__)
|
||||
# define COMPILER_VERSION_TWEAK DEC(__open_xl_ptf_fix_level__)
|
||||
# define COMPILER_VERSION_INTERNAL_STR __clang_version__
|
||||
|
||||
|
||||
#elif defined(__ibmxl__) && defined(__clang__)
|
||||
# define COMPILER_ID "XLClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__)
|
||||
# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__)
|
||||
|
||||
|
||||
#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800
|
||||
# define COMPILER_ID "XL"
|
||||
/* __IBMC__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
|
||||
|
||||
#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800
|
||||
# define COMPILER_ID "VisualAge"
|
||||
/* __IBMC__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
|
||||
|
||||
#elif defined(__NVCOMPILER)
|
||||
# define COMPILER_ID "NVHPC"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__)
|
||||
# if defined(__NVCOMPILER_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(__PGI)
|
||||
# define COMPILER_ID "PGI"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
|
||||
# if defined(__PGIC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(__clang__) && defined(__cray__)
|
||||
# define COMPILER_ID "CrayClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__cray_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__cray_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__cray_patchlevel__)
|
||||
# define COMPILER_VERSION_INTERNAL_STR __clang_version__
|
||||
|
||||
|
||||
#elif defined(_CRAYC)
|
||||
# define COMPILER_ID "Cray"
|
||||
# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
|
||||
# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
|
||||
|
||||
#elif defined(__TI_COMPILER_VERSION__)
|
||||
# define COMPILER_ID "TI"
|
||||
/* __TI_COMPILER_VERSION__ = VVVRRRPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
|
||||
# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
|
||||
|
||||
#elif defined(__CLANG_FUJITSU)
|
||||
# define COMPILER_ID "FujitsuClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__FCC_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__FCC_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__)
|
||||
# define COMPILER_VERSION_INTERNAL_STR __clang_version__
|
||||
|
||||
|
||||
#elif defined(__FUJITSU)
|
||||
# define COMPILER_ID "Fujitsu"
|
||||
# if defined(__FCC_version__)
|
||||
# define COMPILER_VERSION __FCC_version__
|
||||
# elif defined(__FCC_major__)
|
||||
# define COMPILER_VERSION_MAJOR DEC(__FCC_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__FCC_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__)
|
||||
# endif
|
||||
# if defined(__fcc_version)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__fcc_version)
|
||||
# elif defined(__FCC_VERSION)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION)
|
||||
# endif
|
||||
|
||||
|
||||
#elif defined(__ghs__)
|
||||
# define COMPILER_ID "GHS"
|
||||
/* __GHS_VERSION_NUMBER = VVVVRP */
|
||||
# ifdef __GHS_VERSION_NUMBER
|
||||
# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__TASKING__)
|
||||
# define COMPILER_ID "Tasking"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__VERSION__/1000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__VERSION__ % 100)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__VERSION__)
|
||||
|
||||
#elif defined(__ORANGEC__)
|
||||
# define COMPILER_ID "OrangeC"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ORANGEC_MAJOR__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ORANGEC_MINOR__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ORANGEC_PATCHLEVEL__)
|
||||
|
||||
#elif defined(__TINYC__)
|
||||
# define COMPILER_ID "TinyCC"
|
||||
|
||||
#elif defined(__BCC__)
|
||||
# define COMPILER_ID "Bruce"
|
||||
|
||||
#elif defined(__SCO_VERSION__)
|
||||
# define COMPILER_ID "SCO"
|
||||
|
||||
#elif defined(__ARMCC_VERSION) && !defined(__clang__)
|
||||
# define COMPILER_ID "ARMCC"
|
||||
#if __ARMCC_VERSION >= 1000000
|
||||
/* __ARMCC_VERSION = VRRPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
|
||||
#else
|
||||
/* __ARMCC_VERSION = VRPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
|
||||
#endif
|
||||
|
||||
|
||||
#elif defined(__clang__) && defined(__apple_build_version__)
|
||||
# define COMPILER_ID "AppleClang"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
|
||||
|
||||
#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION)
|
||||
# define COMPILER_ID "ARMClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION/100 % 100)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION)
|
||||
|
||||
#elif defined(__clang__) && defined(__ti__)
|
||||
# define COMPILER_ID "TIClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ti_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ti_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ti_patchlevel__)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__ti_version__)
|
||||
|
||||
#elif defined(__clang__)
|
||||
# define COMPILER_ID "Clang"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
|
||||
#elif defined(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__))
|
||||
# define COMPILER_ID "LCC"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__LCC__ / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__LCC__ % 100)
|
||||
# if defined(__LCC_MINOR__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__LCC_MINOR__)
|
||||
# endif
|
||||
# if defined(__GNUC__) && defined(__GNUC_MINOR__)
|
||||
# define SIMULATE_ID "GNU"
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
|
||||
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
# if defined(__GNUC_PATCHLEVEL__)
|
||||
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
# endif
|
||||
# endif
|
||||
|
||||
#elif defined(__GNUC__)
|
||||
# define COMPILER_ID "GNU"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
|
||||
# if defined(__GNUC_MINOR__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
# endif
|
||||
# if defined(__GNUC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(_MSC_VER)
|
||||
# define COMPILER_ID "MSVC"
|
||||
/* _MSC_VER = VVRR */
|
||||
# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# if defined(_MSC_FULL_VER)
|
||||
# if _MSC_VER >= 1400
|
||||
/* _MSC_FULL_VER = VVRRPPPPP */
|
||||
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
|
||||
# else
|
||||
/* _MSC_FULL_VER = VVRRPPPP */
|
||||
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
|
||||
# endif
|
||||
# endif
|
||||
# if defined(_MSC_BUILD)
|
||||
# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
|
||||
# endif
|
||||
|
||||
#elif defined(_ADI_COMPILER)
|
||||
# define COMPILER_ID "ADSP"
|
||||
#if defined(__VERSIONNUM__)
|
||||
/* __VERSIONNUM__ = 0xVVRRPPTT */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__VERSIONNUM__ >> 24 & 0xFF)
|
||||
# define COMPILER_VERSION_MINOR DEC(__VERSIONNUM__ >> 16 & 0xFF)
|
||||
# define COMPILER_VERSION_PATCH DEC(__VERSIONNUM__ >> 8 & 0xFF)
|
||||
# define COMPILER_VERSION_TWEAK DEC(__VERSIONNUM__ & 0xFF)
|
||||
#endif
|
||||
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
|
||||
# define COMPILER_ID "IAR"
|
||||
# if defined(__VER__) && defined(__ICCARM__)
|
||||
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000)
|
||||
# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
|
||||
# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__))
|
||||
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100))
|
||||
# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
|
||||
# endif
|
||||
|
||||
#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC)
|
||||
# define COMPILER_ID "SDCC"
|
||||
# if defined(__SDCC_VERSION_MAJOR)
|
||||
# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR)
|
||||
# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR)
|
||||
# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH)
|
||||
# else
|
||||
/* SDCC = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(SDCC/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(SDCC % 10)
|
||||
# endif
|
||||
|
||||
|
||||
/* These compilers are either not known or too old to define an
|
||||
identification macro. Try to identify the platform and guess that
|
||||
it is the native compiler. */
|
||||
#elif defined(__hpux) || defined(__hpua)
|
||||
# define COMPILER_ID "HP"
|
||||
|
||||
#else /* unknown compiler */
|
||||
# define COMPILER_ID ""
|
||||
#endif
|
||||
|
||||
/* Construct the string literal in pieces to prevent the source from
|
||||
getting matched. Store it in a pointer rather than an array
|
||||
because some compilers will just produce instructions to fill the
|
||||
array rather than assigning a pointer to a static array. */
|
||||
char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
|
||||
#ifdef SIMULATE_ID
|
||||
char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
|
||||
#endif
|
||||
|
||||
#ifdef __QNXNTO__
|
||||
char const* qnxnto = "INFO" ":" "qnxnto[]";
|
||||
#endif
|
||||
|
||||
#if defined(__CRAYXT_COMPUTE_LINUX_TARGET)
|
||||
char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
|
||||
#endif
|
||||
|
||||
#define STRINGIFY_HELPER(X) #X
|
||||
#define STRINGIFY(X) STRINGIFY_HELPER(X)
|
||||
|
||||
/* Identify known platforms by name. */
|
||||
#if defined(__linux) || defined(__linux__) || defined(linux)
|
||||
# define PLATFORM_ID "Linux"
|
||||
|
||||
#elif defined(__MSYS__)
|
||||
# define PLATFORM_ID "MSYS"
|
||||
|
||||
#elif defined(__CYGWIN__)
|
||||
# define PLATFORM_ID "Cygwin"
|
||||
|
||||
#elif defined(__MINGW32__)
|
||||
# define PLATFORM_ID "MinGW"
|
||||
|
||||
#elif defined(__APPLE__)
|
||||
# define PLATFORM_ID "Darwin"
|
||||
|
||||
#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
|
||||
# define PLATFORM_ID "Windows"
|
||||
|
||||
#elif defined(__FreeBSD__) || defined(__FreeBSD)
|
||||
# define PLATFORM_ID "FreeBSD"
|
||||
|
||||
#elif defined(__NetBSD__) || defined(__NetBSD)
|
||||
# define PLATFORM_ID "NetBSD"
|
||||
|
||||
#elif defined(__OpenBSD__) || defined(__OPENBSD)
|
||||
# define PLATFORM_ID "OpenBSD"
|
||||
|
||||
#elif defined(__sun) || defined(sun)
|
||||
# define PLATFORM_ID "SunOS"
|
||||
|
||||
#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
|
||||
# define PLATFORM_ID "AIX"
|
||||
|
||||
#elif defined(__hpux) || defined(__hpux__)
|
||||
# define PLATFORM_ID "HP-UX"
|
||||
|
||||
#elif defined(__HAIKU__)
|
||||
# define PLATFORM_ID "Haiku"
|
||||
|
||||
#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
|
||||
# define PLATFORM_ID "BeOS"
|
||||
|
||||
#elif defined(__QNX__) || defined(__QNXNTO__)
|
||||
# define PLATFORM_ID "QNX"
|
||||
|
||||
#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
|
||||
# define PLATFORM_ID "Tru64"
|
||||
|
||||
#elif defined(__riscos) || defined(__riscos__)
|
||||
# define PLATFORM_ID "RISCos"
|
||||
|
||||
#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
|
||||
# define PLATFORM_ID "SINIX"
|
||||
|
||||
#elif defined(__UNIX_SV__)
|
||||
# define PLATFORM_ID "UNIX_SV"
|
||||
|
||||
#elif defined(__bsdos__)
|
||||
# define PLATFORM_ID "BSDOS"
|
||||
|
||||
#elif defined(_MPRAS) || defined(MPRAS)
|
||||
# define PLATFORM_ID "MP-RAS"
|
||||
|
||||
#elif defined(__osf) || defined(__osf__)
|
||||
# define PLATFORM_ID "OSF1"
|
||||
|
||||
#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
|
||||
# define PLATFORM_ID "SCO_SV"
|
||||
|
||||
#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
|
||||
# define PLATFORM_ID "ULTRIX"
|
||||
|
||||
#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
|
||||
# define PLATFORM_ID "Xenix"
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# if defined(__LINUX__)
|
||||
# define PLATFORM_ID "Linux"
|
||||
|
||||
# elif defined(__DOS__)
|
||||
# define PLATFORM_ID "DOS"
|
||||
|
||||
# elif defined(__OS2__)
|
||||
# define PLATFORM_ID "OS2"
|
||||
|
||||
# elif defined(__WINDOWS__)
|
||||
# define PLATFORM_ID "Windows3x"
|
||||
|
||||
# elif defined(__VXWORKS__)
|
||||
# define PLATFORM_ID "VxWorks"
|
||||
|
||||
# else /* unknown platform */
|
||||
# define PLATFORM_ID
|
||||
# endif
|
||||
|
||||
#elif defined(__INTEGRITY)
|
||||
# if defined(INT_178B)
|
||||
# define PLATFORM_ID "Integrity178"
|
||||
|
||||
# else /* regular Integrity */
|
||||
# define PLATFORM_ID "Integrity"
|
||||
# endif
|
||||
|
||||
# elif defined(_ADI_COMPILER)
|
||||
# define PLATFORM_ID "ADSP"
|
||||
|
||||
#else /* unknown platform */
|
||||
# define PLATFORM_ID
|
||||
|
||||
#endif
|
||||
|
||||
/* For windows compilers MSVC and Intel we can determine
|
||||
the architecture of the compiler being used. This is because
|
||||
the compilers do not have flags that can change the architecture,
|
||||
but rather depend on which compiler is being used
|
||||
*/
|
||||
#if defined(_WIN32) && defined(_MSC_VER)
|
||||
# if defined(_M_IA64)
|
||||
# define ARCHITECTURE_ID "IA64"
|
||||
|
||||
# elif defined(_M_ARM64EC)
|
||||
# define ARCHITECTURE_ID "ARM64EC"
|
||||
|
||||
# elif defined(_M_X64) || defined(_M_AMD64)
|
||||
# define ARCHITECTURE_ID "x64"
|
||||
|
||||
# elif defined(_M_IX86)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# elif defined(_M_ARM64)
|
||||
# define ARCHITECTURE_ID "ARM64"
|
||||
|
||||
# elif defined(_M_ARM)
|
||||
# if _M_ARM == 4
|
||||
# define ARCHITECTURE_ID "ARMV4I"
|
||||
# elif _M_ARM == 5
|
||||
# define ARCHITECTURE_ID "ARMV5I"
|
||||
# else
|
||||
# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
|
||||
# endif
|
||||
|
||||
# elif defined(_M_MIPS)
|
||||
# define ARCHITECTURE_ID "MIPS"
|
||||
|
||||
# elif defined(_M_SH)
|
||||
# define ARCHITECTURE_ID "SHx"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# if defined(_M_I86)
|
||||
# define ARCHITECTURE_ID "I86"
|
||||
|
||||
# elif defined(_M_IX86)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
|
||||
# if defined(__ICCARM__)
|
||||
# define ARCHITECTURE_ID "ARM"
|
||||
|
||||
# elif defined(__ICCRX__)
|
||||
# define ARCHITECTURE_ID "RX"
|
||||
|
||||
# elif defined(__ICCRH850__)
|
||||
# define ARCHITECTURE_ID "RH850"
|
||||
|
||||
# elif defined(__ICCRL78__)
|
||||
# define ARCHITECTURE_ID "RL78"
|
||||
|
||||
# elif defined(__ICCRISCV__)
|
||||
# define ARCHITECTURE_ID "RISCV"
|
||||
|
||||
# elif defined(__ICCAVR__)
|
||||
# define ARCHITECTURE_ID "AVR"
|
||||
|
||||
# elif defined(__ICC430__)
|
||||
# define ARCHITECTURE_ID "MSP430"
|
||||
|
||||
# elif defined(__ICCV850__)
|
||||
# define ARCHITECTURE_ID "V850"
|
||||
|
||||
# elif defined(__ICC8051__)
|
||||
# define ARCHITECTURE_ID "8051"
|
||||
|
||||
# elif defined(__ICCSTM8__)
|
||||
# define ARCHITECTURE_ID "STM8"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__ghs__)
|
||||
# if defined(__PPC64__)
|
||||
# define ARCHITECTURE_ID "PPC64"
|
||||
|
||||
# elif defined(__ppc__)
|
||||
# define ARCHITECTURE_ID "PPC"
|
||||
|
||||
# elif defined(__ARM__)
|
||||
# define ARCHITECTURE_ID "ARM"
|
||||
|
||||
# elif defined(__x86_64__)
|
||||
# define ARCHITECTURE_ID "x64"
|
||||
|
||||
# elif defined(__i386__)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__clang__) && defined(__ti__)
|
||||
# if defined(__ARM_ARCH)
|
||||
# define ARCHITECTURE_ID "ARM"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__TI_COMPILER_VERSION__)
|
||||
# if defined(__TI_ARM__)
|
||||
# define ARCHITECTURE_ID "ARM"
|
||||
|
||||
# elif defined(__MSP430__)
|
||||
# define ARCHITECTURE_ID "MSP430"
|
||||
|
||||
# elif defined(__TMS320C28XX__)
|
||||
# define ARCHITECTURE_ID "TMS320C28x"
|
||||
|
||||
# elif defined(__TMS320C6X__) || defined(_TMS320C6X)
|
||||
# define ARCHITECTURE_ID "TMS320C6x"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
# elif defined(__ADSPSHARC__)
|
||||
# define ARCHITECTURE_ID "SHARC"
|
||||
|
||||
# elif defined(__ADSPBLACKFIN__)
|
||||
# define ARCHITECTURE_ID "Blackfin"
|
||||
|
||||
#elif defined(__TASKING__)
|
||||
|
||||
# if defined(__CTC__) || defined(__CPTC__)
|
||||
# define ARCHITECTURE_ID "TriCore"
|
||||
|
||||
# elif defined(__CMCS__)
|
||||
# define ARCHITECTURE_ID "MCS"
|
||||
|
||||
# elif defined(__CARM__) || defined(__CPARM__)
|
||||
# define ARCHITECTURE_ID "ARM"
|
||||
|
||||
# elif defined(__CARC__)
|
||||
# define ARCHITECTURE_ID "ARC"
|
||||
|
||||
# elif defined(__C51__)
|
||||
# define ARCHITECTURE_ID "8051"
|
||||
|
||||
# elif defined(__CPCP__)
|
||||
# define ARCHITECTURE_ID "PCP"
|
||||
|
||||
# else
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#else
|
||||
# define ARCHITECTURE_ID
|
||||
#endif
|
||||
|
||||
/* Convert integer to decimal digit literals. */
|
||||
#define DEC(n) \
|
||||
('0' + (((n) / 10000000)%10)), \
|
||||
('0' + (((n) / 1000000)%10)), \
|
||||
('0' + (((n) / 100000)%10)), \
|
||||
('0' + (((n) / 10000)%10)), \
|
||||
('0' + (((n) / 1000)%10)), \
|
||||
('0' + (((n) / 100)%10)), \
|
||||
('0' + (((n) / 10)%10)), \
|
||||
('0' + ((n) % 10))
|
||||
|
||||
/* Convert integer to hex digit literals. */
|
||||
#define HEX(n) \
|
||||
('0' + ((n)>>28 & 0xF)), \
|
||||
('0' + ((n)>>24 & 0xF)), \
|
||||
('0' + ((n)>>20 & 0xF)), \
|
||||
('0' + ((n)>>16 & 0xF)), \
|
||||
('0' + ((n)>>12 & 0xF)), \
|
||||
('0' + ((n)>>8 & 0xF)), \
|
||||
('0' + ((n)>>4 & 0xF)), \
|
||||
('0' + ((n) & 0xF))
|
||||
|
||||
/* Construct a string literal encoding the version number. */
|
||||
#ifdef COMPILER_VERSION
|
||||
char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]";
|
||||
|
||||
/* Construct a string literal encoding the version number components. */
|
||||
#elif defined(COMPILER_VERSION_MAJOR)
|
||||
char const info_version[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
|
||||
COMPILER_VERSION_MAJOR,
|
||||
# ifdef COMPILER_VERSION_MINOR
|
||||
'.', COMPILER_VERSION_MINOR,
|
||||
# ifdef COMPILER_VERSION_PATCH
|
||||
'.', COMPILER_VERSION_PATCH,
|
||||
# ifdef COMPILER_VERSION_TWEAK
|
||||
'.', COMPILER_VERSION_TWEAK,
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
']','\0'};
|
||||
#endif
|
||||
|
||||
/* Construct a string literal encoding the internal version number. */
|
||||
#ifdef COMPILER_VERSION_INTERNAL
|
||||
char const info_version_internal[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_',
|
||||
'i','n','t','e','r','n','a','l','[',
|
||||
COMPILER_VERSION_INTERNAL,']','\0'};
|
||||
#elif defined(COMPILER_VERSION_INTERNAL_STR)
|
||||
char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]";
|
||||
#endif
|
||||
|
||||
/* Construct a string literal encoding the version number components. */
|
||||
#ifdef SIMULATE_VERSION_MAJOR
|
||||
char const info_simulate_version[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
|
||||
SIMULATE_VERSION_MAJOR,
|
||||
# ifdef SIMULATE_VERSION_MINOR
|
||||
'.', SIMULATE_VERSION_MINOR,
|
||||
# ifdef SIMULATE_VERSION_PATCH
|
||||
'.', SIMULATE_VERSION_PATCH,
|
||||
# ifdef SIMULATE_VERSION_TWEAK
|
||||
'.', SIMULATE_VERSION_TWEAK,
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
']','\0'};
|
||||
#endif
|
||||
|
||||
/* Construct the string literal in pieces to prevent the source from
|
||||
getting matched. Store it in a pointer rather than an array
|
||||
because some compilers will just produce instructions to fill the
|
||||
array rather than assigning a pointer to a static array. */
|
||||
char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
|
||||
char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
|
||||
|
||||
|
||||
|
||||
#define C_STD_99 199901L
|
||||
#define C_STD_11 201112L
|
||||
#define C_STD_17 201710L
|
||||
#define C_STD_23 202311L
|
||||
|
||||
#ifdef __STDC_VERSION__
|
||||
# define C_STD __STDC_VERSION__
|
||||
#endif
|
||||
|
||||
#if !defined(__STDC__) && !defined(__clang__)
|
||||
# if defined(_MSC_VER) || defined(__ibmxl__) || defined(__IBMC__)
|
||||
# define C_VERSION "90"
|
||||
# else
|
||||
# define C_VERSION
|
||||
# endif
|
||||
#elif C_STD > C_STD_17
|
||||
# define C_VERSION "23"
|
||||
#elif C_STD > C_STD_11
|
||||
# define C_VERSION "17"
|
||||
#elif C_STD > C_STD_99
|
||||
# define C_VERSION "11"
|
||||
#elif C_STD >= C_STD_99
|
||||
# define C_VERSION "99"
|
||||
#else
|
||||
# define C_VERSION "90"
|
||||
#endif
|
||||
const char* info_language_standard_default =
|
||||
"INFO" ":" "standard_default[" C_VERSION "]";
|
||||
|
||||
const char* info_language_extensions_default = "INFO" ":" "extensions_default["
|
||||
#if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) || \
|
||||
defined(__TI_COMPILER_VERSION__)) && \
|
||||
!defined(__STRICT_ANSI__)
|
||||
"ON"
|
||||
#else
|
||||
"OFF"
|
||||
#endif
|
||||
"]";
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
#ifdef ID_VOID_MAIN
|
||||
void main() {}
|
||||
#else
|
||||
# if defined(__CLASSIC_C__)
|
||||
int main(argc, argv) int argc; char *argv[];
|
||||
# else
|
||||
int main(int argc, char* argv[])
|
||||
# endif
|
||||
{
|
||||
int require = 0;
|
||||
require += info_compiler[argc];
|
||||
require += info_platform[argc];
|
||||
require += info_arch[argc];
|
||||
#ifdef COMPILER_VERSION_MAJOR
|
||||
require += info_version[argc];
|
||||
#endif
|
||||
#if defined(COMPILER_VERSION_INTERNAL) || defined(COMPILER_VERSION_INTERNAL_STR)
|
||||
require += info_version_internal[argc];
|
||||
#endif
|
||||
#ifdef SIMULATE_ID
|
||||
require += info_simulate[argc];
|
||||
#endif
|
||||
#ifdef SIMULATE_VERSION_MAJOR
|
||||
require += info_simulate_version[argc];
|
||||
#endif
|
||||
#if defined(__CRAYXT_COMPUTE_LINUX_TARGET)
|
||||
require += info_cray[argc];
|
||||
#endif
|
||||
require += info_language_standard_default[argc];
|
||||
require += info_language_extensions_default[argc];
|
||||
(void)argv;
|
||||
return require;
|
||||
}
|
||||
#endif
|
Binary file not shown.
|
@ -1,923 +0,0 @@
|
|||
// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
/* This source file must have a .cpp extension so that all C++ compilers
|
||||
recognize the extension without flags. Borland does not know .cxx for
|
||||
example. */
|
||||
#ifndef __cplusplus
|
||||
# error "A C compiler has been selected for C++."
|
||||
#endif
|
||||
|
||||
#if !defined(__has_include)
|
||||
/* If the compiler does not have __has_include, pretend the answer is
|
||||
always no. */
|
||||
# define __has_include(x) 0
|
||||
#endif
|
||||
|
||||
|
||||
/* Version number components: V=Version, R=Revision, P=Patch
|
||||
Version date components: YYYY=Year, MM=Month, DD=Day */
|
||||
|
||||
#if defined(__INTEL_COMPILER) || defined(__ICC)
|
||||
# define COMPILER_ID "Intel"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# if defined(__GNUC__)
|
||||
# define SIMULATE_ID "GNU"
|
||||
# endif
|
||||
/* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later,
|
||||
except that a few beta releases use the old format with V=2021. */
|
||||
# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111
|
||||
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
|
||||
# if defined(__INTEL_COMPILER_UPDATE)
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
|
||||
# else
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10)
|
||||
# endif
|
||||
# else
|
||||
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER)
|
||||
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE)
|
||||
/* The third version component from --version is an update index,
|
||||
but no macro is provided for it. */
|
||||
# define COMPILER_VERSION_PATCH DEC(0)
|
||||
# endif
|
||||
# if defined(__INTEL_COMPILER_BUILD_DATE)
|
||||
/* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
|
||||
# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
|
||||
# endif
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
# if defined(__GNUC__)
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
|
||||
# elif defined(__GNUG__)
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
|
||||
# endif
|
||||
# if defined(__GNUC_MINOR__)
|
||||
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
# endif
|
||||
# if defined(__GNUC_PATCHLEVEL__)
|
||||
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER)
|
||||
# define COMPILER_ID "IntelLLVM"
|
||||
#if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
#endif
|
||||
#if defined(__GNUC__)
|
||||
# define SIMULATE_ID "GNU"
|
||||
#endif
|
||||
/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and
|
||||
* later. Look for 6 digit vs. 8 digit version number to decide encoding.
|
||||
* VVVV is no smaller than the current year when a version is released.
|
||||
*/
|
||||
#if __INTEL_LLVM_COMPILER < 1000000L
|
||||
# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10)
|
||||
#else
|
||||
# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100)
|
||||
#endif
|
||||
#if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
#endif
|
||||
#if defined(__GNUC__)
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
|
||||
#elif defined(__GNUG__)
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
|
||||
#endif
|
||||
#if defined(__GNUC_MINOR__)
|
||||
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
#endif
|
||||
#if defined(__GNUC_PATCHLEVEL__)
|
||||
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
#endif
|
||||
|
||||
#elif defined(__PATHCC__)
|
||||
# define COMPILER_ID "PathScale"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
|
||||
# if defined(__PATHCC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
|
||||
# define COMPILER_ID "Embarcadero"
|
||||
# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
|
||||
# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
|
||||
# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF)
|
||||
|
||||
#elif defined(__BORLANDC__)
|
||||
# define COMPILER_ID "Borland"
|
||||
/* __BORLANDC__ = 0xVRR */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
|
||||
# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
|
||||
|
||||
#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
|
||||
# define COMPILER_ID "Watcom"
|
||||
/* __WATCOMC__ = VVRR */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
|
||||
# if (__WATCOMC__ % 10) > 0
|
||||
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# define COMPILER_ID "OpenWatcom"
|
||||
/* __WATCOMC__ = VVRP + 1100 */
|
||||
# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
|
||||
# if (__WATCOMC__ % 10) > 0
|
||||
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__SUNPRO_CC)
|
||||
# define COMPILER_ID "SunPro"
|
||||
# if __SUNPRO_CC >= 0x5100
|
||||
/* __SUNPRO_CC = 0xVRRP */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12)
|
||||
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
|
||||
# else
|
||||
/* __SUNPRO_CC = 0xVRP */
|
||||
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8)
|
||||
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF)
|
||||
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
|
||||
# endif
|
||||
|
||||
#elif defined(__HP_aCC)
|
||||
# define COMPILER_ID "HP"
|
||||
/* __HP_aCC = VVRRPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100)
|
||||
|
||||
#elif defined(__DECCXX)
|
||||
# define COMPILER_ID "Compaq"
|
||||
/* __DECCXX_VER = VVRRTPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000)
|
||||
|
||||
#elif defined(__IBMCPP__) && defined(__COMPILER_VER__)
|
||||
# define COMPILER_ID "zOS"
|
||||
/* __IBMCPP__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
|
||||
|
||||
#elif defined(__open_xl__) && defined(__clang__)
|
||||
# define COMPILER_ID "IBMClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__open_xl_version__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__open_xl_release__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__open_xl_modification__)
|
||||
# define COMPILER_VERSION_TWEAK DEC(__open_xl_ptf_fix_level__)
|
||||
# define COMPILER_VERSION_INTERNAL_STR __clang_version__
|
||||
|
||||
|
||||
#elif defined(__ibmxl__) && defined(__clang__)
|
||||
# define COMPILER_ID "XLClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__)
|
||||
# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__)
|
||||
|
||||
|
||||
#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800
|
||||
# define COMPILER_ID "XL"
|
||||
/* __IBMCPP__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
|
||||
|
||||
#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800
|
||||
# define COMPILER_ID "VisualAge"
|
||||
/* __IBMCPP__ = VRP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
|
||||
|
||||
#elif defined(__NVCOMPILER)
|
||||
# define COMPILER_ID "NVHPC"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__)
|
||||
# if defined(__NVCOMPILER_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(__PGI)
|
||||
# define COMPILER_ID "PGI"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
|
||||
# if defined(__PGIC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(__clang__) && defined(__cray__)
|
||||
# define COMPILER_ID "CrayClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__cray_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__cray_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__cray_patchlevel__)
|
||||
# define COMPILER_VERSION_INTERNAL_STR __clang_version__
|
||||
|
||||
|
||||
#elif defined(_CRAYC)
|
||||
# define COMPILER_ID "Cray"
|
||||
# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
|
||||
# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
|
||||
|
||||
#elif defined(__TI_COMPILER_VERSION__)
|
||||
# define COMPILER_ID "TI"
|
||||
/* __TI_COMPILER_VERSION__ = VVVRRRPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
|
||||
# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
|
||||
|
||||
#elif defined(__CLANG_FUJITSU)
|
||||
# define COMPILER_ID "FujitsuClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__FCC_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__FCC_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__)
|
||||
# define COMPILER_VERSION_INTERNAL_STR __clang_version__
|
||||
|
||||
|
||||
#elif defined(__FUJITSU)
|
||||
# define COMPILER_ID "Fujitsu"
|
||||
# if defined(__FCC_version__)
|
||||
# define COMPILER_VERSION __FCC_version__
|
||||
# elif defined(__FCC_major__)
|
||||
# define COMPILER_VERSION_MAJOR DEC(__FCC_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__FCC_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__)
|
||||
# endif
|
||||
# if defined(__fcc_version)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__fcc_version)
|
||||
# elif defined(__FCC_VERSION)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION)
|
||||
# endif
|
||||
|
||||
|
||||
#elif defined(__ghs__)
|
||||
# define COMPILER_ID "GHS"
|
||||
/* __GHS_VERSION_NUMBER = VVVVRP */
|
||||
# ifdef __GHS_VERSION_NUMBER
|
||||
# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10)
|
||||
# endif
|
||||
|
||||
#elif defined(__TASKING__)
|
||||
# define COMPILER_ID "Tasking"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__VERSION__/1000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__VERSION__ % 100)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__VERSION__)
|
||||
|
||||
#elif defined(__ORANGEC__)
|
||||
# define COMPILER_ID "OrangeC"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ORANGEC_MAJOR__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ORANGEC_MINOR__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ORANGEC_PATCHLEVEL__)
|
||||
|
||||
#elif defined(__SCO_VERSION__)
|
||||
# define COMPILER_ID "SCO"
|
||||
|
||||
#elif defined(__ARMCC_VERSION) && !defined(__clang__)
|
||||
# define COMPILER_ID "ARMCC"
|
||||
#if __ARMCC_VERSION >= 1000000
|
||||
/* __ARMCC_VERSION = VRRPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
|
||||
#else
|
||||
/* __ARMCC_VERSION = VRPPPP */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
|
||||
#endif
|
||||
|
||||
|
||||
#elif defined(__clang__) && defined(__apple_build_version__)
|
||||
# define COMPILER_ID "AppleClang"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
|
||||
|
||||
#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION)
|
||||
# define COMPILER_ID "ARMClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION/100 % 100)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION)
|
||||
|
||||
#elif defined(__clang__) && defined(__ti__)
|
||||
# define COMPILER_ID "TIClang"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__ti_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__ti_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__ti_patchlevel__)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__ti_version__)
|
||||
|
||||
#elif defined(__clang__)
|
||||
# define COMPILER_ID "Clang"
|
||||
# if defined(_MSC_VER)
|
||||
# define SIMULATE_ID "MSVC"
|
||||
# endif
|
||||
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
|
||||
# if defined(_MSC_VER)
|
||||
/* _MSC_VER = VVRR */
|
||||
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# endif
|
||||
|
||||
#elif defined(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__))
|
||||
# define COMPILER_ID "LCC"
|
||||
# define COMPILER_VERSION_MAJOR DEC(__LCC__ / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC(__LCC__ % 100)
|
||||
# if defined(__LCC_MINOR__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__LCC_MINOR__)
|
||||
# endif
|
||||
# if defined(__GNUC__) && defined(__GNUC_MINOR__)
|
||||
# define SIMULATE_ID "GNU"
|
||||
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
|
||||
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
# if defined(__GNUC_PATCHLEVEL__)
|
||||
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
# endif
|
||||
# endif
|
||||
|
||||
#elif defined(__GNUC__) || defined(__GNUG__)
|
||||
# define COMPILER_ID "GNU"
|
||||
# if defined(__GNUC__)
|
||||
# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
|
||||
# else
|
||||
# define COMPILER_VERSION_MAJOR DEC(__GNUG__)
|
||||
# endif
|
||||
# if defined(__GNUC_MINOR__)
|
||||
# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
|
||||
# endif
|
||||
# if defined(__GNUC_PATCHLEVEL__)
|
||||
# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
|
||||
# endif
|
||||
|
||||
#elif defined(_MSC_VER)
|
||||
# define COMPILER_ID "MSVC"
|
||||
/* _MSC_VER = VVRR */
|
||||
# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
|
||||
# if defined(_MSC_FULL_VER)
|
||||
# if _MSC_VER >= 1400
|
||||
/* _MSC_FULL_VER = VVRRPPPPP */
|
||||
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
|
||||
# else
|
||||
/* _MSC_FULL_VER = VVRRPPPP */
|
||||
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
|
||||
# endif
|
||||
# endif
|
||||
# if defined(_MSC_BUILD)
|
||||
# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
|
||||
# endif
|
||||
|
||||
#elif defined(_ADI_COMPILER)
|
||||
# define COMPILER_ID "ADSP"
|
||||
#if defined(__VERSIONNUM__)
|
||||
/* __VERSIONNUM__ = 0xVVRRPPTT */
|
||||
# define COMPILER_VERSION_MAJOR DEC(__VERSIONNUM__ >> 24 & 0xFF)
|
||||
# define COMPILER_VERSION_MINOR DEC(__VERSIONNUM__ >> 16 & 0xFF)
|
||||
# define COMPILER_VERSION_PATCH DEC(__VERSIONNUM__ >> 8 & 0xFF)
|
||||
# define COMPILER_VERSION_TWEAK DEC(__VERSIONNUM__ & 0xFF)
|
||||
#endif
|
||||
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
|
||||
# define COMPILER_ID "IAR"
|
||||
# if defined(__VER__) && defined(__ICCARM__)
|
||||
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000)
|
||||
# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000)
|
||||
# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
|
||||
# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__))
|
||||
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100)
|
||||
# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100))
|
||||
# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__)
|
||||
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
|
||||
# endif
|
||||
|
||||
|
||||
/* These compilers are either not known or too old to define an
|
||||
identification macro. Try to identify the platform and guess that
|
||||
it is the native compiler. */
|
||||
#elif defined(__hpux) || defined(__hpua)
|
||||
# define COMPILER_ID "HP"
|
||||
|
||||
#else /* unknown compiler */
|
||||
# define COMPILER_ID ""
|
||||
#endif
|
||||
|
||||
/* Construct the string literal in pieces to prevent the source from
|
||||
getting matched. Store it in a pointer rather than an array
|
||||
because some compilers will just produce instructions to fill the
|
||||
array rather than assigning a pointer to a static array. */
|
||||
char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
|
||||
#ifdef SIMULATE_ID
|
||||
char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
|
||||
#endif
|
||||
|
||||
#ifdef __QNXNTO__
|
||||
char const* qnxnto = "INFO" ":" "qnxnto[]";
|
||||
#endif
|
||||
|
||||
#if defined(__CRAYXT_COMPUTE_LINUX_TARGET)
|
||||
char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
|
||||
#endif
|
||||
|
||||
#define STRINGIFY_HELPER(X) #X
|
||||
#define STRINGIFY(X) STRINGIFY_HELPER(X)
|
||||
|
||||
/* Identify known platforms by name. */
|
||||
#if defined(__linux) || defined(__linux__) || defined(linux)
|
||||
# define PLATFORM_ID "Linux"
|
||||
|
||||
#elif defined(__MSYS__)
|
||||
# define PLATFORM_ID "MSYS"
|
||||
|
||||
#elif defined(__CYGWIN__)
|
||||
# define PLATFORM_ID "Cygwin"
|
||||
|
||||
#elif defined(__MINGW32__)
|
||||
# define PLATFORM_ID "MinGW"
|
||||
|
||||
#elif defined(__APPLE__)
|
||||
# define PLATFORM_ID "Darwin"
|
||||
|
||||
#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
|
||||
# define PLATFORM_ID "Windows"
|
||||
|
||||
#elif defined(__FreeBSD__) || defined(__FreeBSD)
|
||||
# define PLATFORM_ID "FreeBSD"
|
||||
|
||||
#elif defined(__NetBSD__) || defined(__NetBSD)
|
||||
# define PLATFORM_ID "NetBSD"
|
||||
|
||||
#elif defined(__OpenBSD__) || defined(__OPENBSD)
|
||||
# define PLATFORM_ID "OpenBSD"
|
||||
|
||||
#elif defined(__sun) || defined(sun)
|
||||
# define PLATFORM_ID "SunOS"
|
||||
|
||||
#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
|
||||
# define PLATFORM_ID "AIX"
|
||||
|
||||
#elif defined(__hpux) || defined(__hpux__)
|
||||
# define PLATFORM_ID "HP-UX"
|
||||
|
||||
#elif defined(__HAIKU__)
|
||||
# define PLATFORM_ID "Haiku"
|
||||
|
||||
#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
|
||||
# define PLATFORM_ID "BeOS"
|
||||
|
||||
#elif defined(__QNX__) || defined(__QNXNTO__)
|
||||
# define PLATFORM_ID "QNX"
|
||||
|
||||
#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
|
||||
# define PLATFORM_ID "Tru64"
|
||||
|
||||
#elif defined(__riscos) || defined(__riscos__)
|
||||
# define PLATFORM_ID "RISCos"
|
||||
|
||||
#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
|
||||
# define PLATFORM_ID "SINIX"
|
||||
|
||||
#elif defined(__UNIX_SV__)
|
||||
# define PLATFORM_ID "UNIX_SV"
|
||||
|
||||
#elif defined(__bsdos__)
|
||||
# define PLATFORM_ID "BSDOS"
|
||||
|
||||
#elif defined(_MPRAS) || defined(MPRAS)
|
||||
# define PLATFORM_ID "MP-RAS"
|
||||
|
||||
#elif defined(__osf) || defined(__osf__)
|
||||
# define PLATFORM_ID "OSF1"
|
||||
|
||||
#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
|
||||
# define PLATFORM_ID "SCO_SV"
|
||||
|
||||
#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
|
||||
# define PLATFORM_ID "ULTRIX"
|
||||
|
||||
#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
|
||||
# define PLATFORM_ID "Xenix"
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# if defined(__LINUX__)
|
||||
# define PLATFORM_ID "Linux"
|
||||
|
||||
# elif defined(__DOS__)
|
||||
# define PLATFORM_ID "DOS"
|
||||
|
||||
# elif defined(__OS2__)
|
||||
# define PLATFORM_ID "OS2"
|
||||
|
||||
# elif defined(__WINDOWS__)
|
||||
# define PLATFORM_ID "Windows3x"
|
||||
|
||||
# elif defined(__VXWORKS__)
|
||||
# define PLATFORM_ID "VxWorks"
|
||||
|
||||
# else /* unknown platform */
|
||||
# define PLATFORM_ID
|
||||
# endif
|
||||
|
||||
#elif defined(__INTEGRITY)
|
||||
# if defined(INT_178B)
|
||||
# define PLATFORM_ID "Integrity178"
|
||||
|
||||
# else /* regular Integrity */
|
||||
# define PLATFORM_ID "Integrity"
|
||||
# endif
|
||||
|
||||
# elif defined(_ADI_COMPILER)
|
||||
# define PLATFORM_ID "ADSP"
|
||||
|
||||
#else /* unknown platform */
|
||||
# define PLATFORM_ID
|
||||
|
||||
#endif
|
||||
|
||||
/* For windows compilers MSVC and Intel we can determine
|
||||
the architecture of the compiler being used. This is because
|
||||
the compilers do not have flags that can change the architecture,
|
||||
but rather depend on which compiler is being used
|
||||
*/
|
||||
#if defined(_WIN32) && defined(_MSC_VER)
|
||||
# if defined(_M_IA64)
|
||||
# define ARCHITECTURE_ID "IA64"
|
||||
|
||||
# elif defined(_M_ARM64EC)
|
||||
# define ARCHITECTURE_ID "ARM64EC"
|
||||
|
||||
# elif defined(_M_X64) || defined(_M_AMD64)
|
||||
# define ARCHITECTURE_ID "x64"
|
||||
|
||||
# elif defined(_M_IX86)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# elif defined(_M_ARM64)
|
||||
# define ARCHITECTURE_ID "ARM64"
|
||||
|
||||
# elif defined(_M_ARM)
|
||||
# if _M_ARM == 4
|
||||
# define ARCHITECTURE_ID "ARMV4I"
|
||||
# elif _M_ARM == 5
|
||||
# define ARCHITECTURE_ID "ARMV5I"
|
||||
# else
|
||||
# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
|
||||
# endif
|
||||
|
||||
# elif defined(_M_MIPS)
|
||||
# define ARCHITECTURE_ID "MIPS"
|
||||
|
||||
# elif defined(_M_SH)
|
||||
# define ARCHITECTURE_ID "SHx"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__WATCOMC__)
|
||||
# if defined(_M_I86)
|
||||
# define ARCHITECTURE_ID "I86"
|
||||
|
||||
# elif defined(_M_IX86)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
|
||||
# if defined(__ICCARM__)
|
||||
# define ARCHITECTURE_ID "ARM"
|
||||
|
||||
# elif defined(__ICCRX__)
|
||||
# define ARCHITECTURE_ID "RX"
|
||||
|
||||
# elif defined(__ICCRH850__)
|
||||
# define ARCHITECTURE_ID "RH850"
|
||||
|
||||
# elif defined(__ICCRL78__)
|
||||
# define ARCHITECTURE_ID "RL78"
|
||||
|
||||
# elif defined(__ICCRISCV__)
|
||||
# define ARCHITECTURE_ID "RISCV"
|
||||
|
||||
# elif defined(__ICCAVR__)
|
||||
# define ARCHITECTURE_ID "AVR"
|
||||
|
||||
# elif defined(__ICC430__)
|
||||
# define ARCHITECTURE_ID "MSP430"
|
||||
|
||||
# elif defined(__ICCV850__)
|
||||
# define ARCHITECTURE_ID "V850"
|
||||
|
||||
# elif defined(__ICC8051__)
|
||||
# define ARCHITECTURE_ID "8051"
|
||||
|
||||
# elif defined(__ICCSTM8__)
|
||||
# define ARCHITECTURE_ID "STM8"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__ghs__)
|
||||
# if defined(__PPC64__)
|
||||
# define ARCHITECTURE_ID "PPC64"
|
||||
|
||||
# elif defined(__ppc__)
|
||||
# define ARCHITECTURE_ID "PPC"
|
||||
|
||||
# elif defined(__ARM__)
|
||||
# define ARCHITECTURE_ID "ARM"
|
||||
|
||||
# elif defined(__x86_64__)
|
||||
# define ARCHITECTURE_ID "x64"
|
||||
|
||||
# elif defined(__i386__)
|
||||
# define ARCHITECTURE_ID "X86"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__clang__) && defined(__ti__)
|
||||
# if defined(__ARM_ARCH)
|
||||
# define ARCHITECTURE_ID "ARM"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#elif defined(__TI_COMPILER_VERSION__)
|
||||
# if defined(__TI_ARM__)
|
||||
# define ARCHITECTURE_ID "ARM"
|
||||
|
||||
# elif defined(__MSP430__)
|
||||
# define ARCHITECTURE_ID "MSP430"
|
||||
|
||||
# elif defined(__TMS320C28XX__)
|
||||
# define ARCHITECTURE_ID "TMS320C28x"
|
||||
|
||||
# elif defined(__TMS320C6X__) || defined(_TMS320C6X)
|
||||
# define ARCHITECTURE_ID "TMS320C6x"
|
||||
|
||||
# else /* unknown architecture */
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
# elif defined(__ADSPSHARC__)
|
||||
# define ARCHITECTURE_ID "SHARC"
|
||||
|
||||
# elif defined(__ADSPBLACKFIN__)
|
||||
# define ARCHITECTURE_ID "Blackfin"
|
||||
|
||||
#elif defined(__TASKING__)
|
||||
|
||||
# if defined(__CTC__) || defined(__CPTC__)
|
||||
# define ARCHITECTURE_ID "TriCore"
|
||||
|
||||
# elif defined(__CMCS__)
|
||||
# define ARCHITECTURE_ID "MCS"
|
||||
|
||||
# elif defined(__CARM__) || defined(__CPARM__)
|
||||
# define ARCHITECTURE_ID "ARM"
|
||||
|
||||
# elif defined(__CARC__)
|
||||
# define ARCHITECTURE_ID "ARC"
|
||||
|
||||
# elif defined(__C51__)
|
||||
# define ARCHITECTURE_ID "8051"
|
||||
|
||||
# elif defined(__CPCP__)
|
||||
# define ARCHITECTURE_ID "PCP"
|
||||
|
||||
# else
|
||||
# define ARCHITECTURE_ID ""
|
||||
# endif
|
||||
|
||||
#else
|
||||
# define ARCHITECTURE_ID
|
||||
#endif
|
||||
|
||||
/* Convert integer to decimal digit literals. */
|
||||
#define DEC(n) \
|
||||
('0' + (((n) / 10000000)%10)), \
|
||||
('0' + (((n) / 1000000)%10)), \
|
||||
('0' + (((n) / 100000)%10)), \
|
||||
('0' + (((n) / 10000)%10)), \
|
||||
('0' + (((n) / 1000)%10)), \
|
||||
('0' + (((n) / 100)%10)), \
|
||||
('0' + (((n) / 10)%10)), \
|
||||
('0' + ((n) % 10))
|
||||
|
||||
/* Convert integer to hex digit literals. */
|
||||
#define HEX(n) \
|
||||
('0' + ((n)>>28 & 0xF)), \
|
||||
('0' + ((n)>>24 & 0xF)), \
|
||||
('0' + ((n)>>20 & 0xF)), \
|
||||
('0' + ((n)>>16 & 0xF)), \
|
||||
('0' + ((n)>>12 & 0xF)), \
|
||||
('0' + ((n)>>8 & 0xF)), \
|
||||
('0' + ((n)>>4 & 0xF)), \
|
||||
('0' + ((n) & 0xF))
|
||||
|
||||
/* Construct a string literal encoding the version number. */
|
||||
#ifdef COMPILER_VERSION
|
||||
char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]";
|
||||
|
||||
/* Construct a string literal encoding the version number components. */
|
||||
#elif defined(COMPILER_VERSION_MAJOR)
|
||||
char const info_version[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
|
||||
COMPILER_VERSION_MAJOR,
|
||||
# ifdef COMPILER_VERSION_MINOR
|
||||
'.', COMPILER_VERSION_MINOR,
|
||||
# ifdef COMPILER_VERSION_PATCH
|
||||
'.', COMPILER_VERSION_PATCH,
|
||||
# ifdef COMPILER_VERSION_TWEAK
|
||||
'.', COMPILER_VERSION_TWEAK,
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
']','\0'};
|
||||
#endif
|
||||
|
||||
/* Construct a string literal encoding the internal version number. */
|
||||
#ifdef COMPILER_VERSION_INTERNAL
|
||||
char const info_version_internal[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_',
|
||||
'i','n','t','e','r','n','a','l','[',
|
||||
COMPILER_VERSION_INTERNAL,']','\0'};
|
||||
#elif defined(COMPILER_VERSION_INTERNAL_STR)
|
||||
char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]";
|
||||
#endif
|
||||
|
||||
/* Construct a string literal encoding the version number components. */
|
||||
#ifdef SIMULATE_VERSION_MAJOR
|
||||
char const info_simulate_version[] = {
|
||||
'I', 'N', 'F', 'O', ':',
|
||||
's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
|
||||
SIMULATE_VERSION_MAJOR,
|
||||
# ifdef SIMULATE_VERSION_MINOR
|
||||
'.', SIMULATE_VERSION_MINOR,
|
||||
# ifdef SIMULATE_VERSION_PATCH
|
||||
'.', SIMULATE_VERSION_PATCH,
|
||||
# ifdef SIMULATE_VERSION_TWEAK
|
||||
'.', SIMULATE_VERSION_TWEAK,
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
']','\0'};
|
||||
#endif
|
||||
|
||||
/* Construct the string literal in pieces to prevent the source from
|
||||
getting matched. Store it in a pointer rather than an array
|
||||
because some compilers will just produce instructions to fill the
|
||||
array rather than assigning a pointer to a static array. */
|
||||
char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
|
||||
char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
|
||||
|
||||
|
||||
|
||||
#define CXX_STD_98 199711L
|
||||
#define CXX_STD_11 201103L
|
||||
#define CXX_STD_14 201402L
|
||||
#define CXX_STD_17 201703L
|
||||
#define CXX_STD_20 202002L
|
||||
#define CXX_STD_23 202302L
|
||||
|
||||
#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG)
|
||||
# if _MSVC_LANG > CXX_STD_17
|
||||
# define CXX_STD _MSVC_LANG
|
||||
# elif _MSVC_LANG == CXX_STD_17 && defined(__cpp_aggregate_paren_init)
|
||||
# define CXX_STD CXX_STD_20
|
||||
# elif _MSVC_LANG > CXX_STD_14 && __cplusplus > CXX_STD_17
|
||||
# define CXX_STD CXX_STD_20
|
||||
# elif _MSVC_LANG > CXX_STD_14
|
||||
# define CXX_STD CXX_STD_17
|
||||
# elif defined(__INTEL_CXX11_MODE__) && defined(__cpp_aggregate_nsdmi)
|
||||
# define CXX_STD CXX_STD_14
|
||||
# elif defined(__INTEL_CXX11_MODE__)
|
||||
# define CXX_STD CXX_STD_11
|
||||
# else
|
||||
# define CXX_STD CXX_STD_98
|
||||
# endif
|
||||
#elif defined(_MSC_VER) && defined(_MSVC_LANG)
|
||||
# if _MSVC_LANG > __cplusplus
|
||||
# define CXX_STD _MSVC_LANG
|
||||
# else
|
||||
# define CXX_STD __cplusplus
|
||||
# endif
|
||||
#elif defined(__NVCOMPILER)
|
||||
# if __cplusplus == CXX_STD_17 && defined(__cpp_aggregate_paren_init)
|
||||
# define CXX_STD CXX_STD_20
|
||||
# else
|
||||
# define CXX_STD __cplusplus
|
||||
# endif
|
||||
#elif defined(__INTEL_COMPILER) || defined(__PGI)
|
||||
# if __cplusplus == CXX_STD_11 && defined(__cpp_namespace_attributes)
|
||||
# define CXX_STD CXX_STD_17
|
||||
# elif __cplusplus == CXX_STD_11 && defined(__cpp_aggregate_nsdmi)
|
||||
# define CXX_STD CXX_STD_14
|
||||
# else
|
||||
# define CXX_STD __cplusplus
|
||||
# endif
|
||||
#elif (defined(__IBMCPP__) || defined(__ibmxl__)) && defined(__linux__)
|
||||
# if __cplusplus == CXX_STD_11 && defined(__cpp_aggregate_nsdmi)
|
||||
# define CXX_STD CXX_STD_14
|
||||
# else
|
||||
# define CXX_STD __cplusplus
|
||||
# endif
|
||||
#elif __cplusplus == 1 && defined(__GXX_EXPERIMENTAL_CXX0X__)
|
||||
# define CXX_STD CXX_STD_11
|
||||
#else
|
||||
# define CXX_STD __cplusplus
|
||||
#endif
|
||||
|
||||
const char* info_language_standard_default = "INFO" ":" "standard_default["
|
||||
#if CXX_STD > CXX_STD_23
|
||||
"26"
|
||||
#elif CXX_STD > CXX_STD_20
|
||||
"23"
|
||||
#elif CXX_STD > CXX_STD_17
|
||||
"20"
|
||||
#elif CXX_STD > CXX_STD_14
|
||||
"17"
|
||||
#elif CXX_STD > CXX_STD_11
|
||||
"14"
|
||||
#elif CXX_STD >= CXX_STD_11
|
||||
"11"
|
||||
#else
|
||||
"98"
|
||||
#endif
|
||||
"]";
|
||||
|
||||
const char* info_language_extensions_default = "INFO" ":" "extensions_default["
|
||||
#if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) || \
|
||||
defined(__TI_COMPILER_VERSION__)) && \
|
||||
!defined(__STRICT_ANSI__)
|
||||
"ON"
|
||||
#else
|
||||
"OFF"
|
||||
#endif
|
||||
"]";
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
int require = 0;
|
||||
require += info_compiler[argc];
|
||||
require += info_platform[argc];
|
||||
require += info_arch[argc];
|
||||
#ifdef COMPILER_VERSION_MAJOR
|
||||
require += info_version[argc];
|
||||
#endif
|
||||
#if defined(COMPILER_VERSION_INTERNAL) || defined(COMPILER_VERSION_INTERNAL_STR)
|
||||
require += info_version_internal[argc];
|
||||
#endif
|
||||
#ifdef SIMULATE_ID
|
||||
require += info_simulate[argc];
|
||||
#endif
|
||||
#ifdef SIMULATE_VERSION_MAJOR
|
||||
require += info_simulate_version[argc];
|
||||
#endif
|
||||
#if defined(__CRAYXT_COMPUTE_LINUX_TARGET)
|
||||
require += info_cray[argc];
|
||||
#endif
|
||||
require += info_language_standard_default[argc];
|
||||
require += info_language_extensions_default[argc];
|
||||
(void)argv;
|
||||
return require;
|
||||
}
|
Binary file not shown.
|
@ -1,510 +0,0 @@
|
|||
|
||||
---
|
||||
events:
|
||||
-
|
||||
kind: "message-v1"
|
||||
backtrace:
|
||||
- "/usr/share/cmake/Modules/CMakeDetermineSystem.cmake:205 (message)"
|
||||
- "CMakeLists.txt"
|
||||
message: |
|
||||
The system is: Linux - 6.15.5-gentoo-dist - x86_64
|
||||
-
|
||||
kind: "message-v1"
|
||||
backtrace:
|
||||
- "/usr/share/cmake/Modules/CMakeDetermineCompilerId.cmake:17 (message)"
|
||||
- "/usr/share/cmake/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)"
|
||||
- "/usr/share/cmake/Modules/CMakeDetermineCCompiler.cmake:123 (CMAKE_DETERMINE_COMPILER_ID)"
|
||||
- "CMakeLists.txt"
|
||||
message: |
|
||||
Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded.
|
||||
Compiler: /usr/lib/ccache/bin/gcc-14
|
||||
Build flags:
|
||||
Id flags:
|
||||
|
||||
The output was:
|
||||
0
|
||||
|
||||
|
||||
Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out"
|
||||
|
||||
The C compiler identification is GNU, found in:
|
||||
/data/code/eden/src/dynarmic/tests/build/Desktop-Debug/CMakeFiles/4.0.3/CompilerIdC/a.out
|
||||
|
||||
-
|
||||
kind: "message-v1"
|
||||
backtrace:
|
||||
- "/usr/share/cmake/Modules/CMakeDetermineCompilerId.cmake:17 (message)"
|
||||
- "/usr/share/cmake/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)"
|
||||
- "/usr/share/cmake/Modules/CMakeDetermineCXXCompiler.cmake:126 (CMAKE_DETERMINE_COMPILER_ID)"
|
||||
- "CMakeLists.txt"
|
||||
message: |
|
||||
Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded.
|
||||
Compiler: /usr/lib/ccache/bin/g++-14
|
||||
Build flags: -DQT_QML_DEBUG
|
||||
Id flags:
|
||||
|
||||
The output was:
|
||||
0
|
||||
|
||||
|
||||
Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out"
|
||||
|
||||
The CXX compiler identification is GNU, found in:
|
||||
/data/code/eden/src/dynarmic/tests/build/Desktop-Debug/CMakeFiles/4.0.3/CompilerIdCXX/a.out
|
||||
|
||||
-
|
||||
kind: "try_compile-v1"
|
||||
backtrace:
|
||||
- "/usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:83 (try_compile)"
|
||||
- "/usr/share/cmake/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
|
||||
- "CMakeLists.txt"
|
||||
checks:
|
||||
- "Detecting C compiler ABI info"
|
||||
directories:
|
||||
source: "/data/code/eden/src/dynarmic/tests/build/Desktop-Debug/CMakeFiles/CMakeScratch/TryCompile-TJTcI4"
|
||||
binary: "/data/code/eden/src/dynarmic/tests/build/Desktop-Debug/CMakeFiles/CMakeScratch/TryCompile-TJTcI4"
|
||||
cmakeVariables:
|
||||
CMAKE_C_FLAGS: ""
|
||||
CMAKE_EXE_LINKER_FLAGS: ""
|
||||
buildResult:
|
||||
variable: "CMAKE_C_ABI_COMPILED"
|
||||
cached: true
|
||||
stdout: |
|
||||
Change Dir: '/data/code/eden/src/dynarmic/tests/build/Desktop-Debug/CMakeFiles/CMakeScratch/TryCompile-TJTcI4'
|
||||
|
||||
Run Build Command(s): /usr/bin/ninja -v cmTC_afe54
|
||||
[1/2] /usr/lib/ccache/bin/gcc-14 -v -o CMakeFiles/cmTC_afe54.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake/Modules/CMakeCCompilerABI.c
|
||||
Using built-in specs.
|
||||
COLLECT_GCC=/usr/bin/gcc-14
|
||||
OFFLOAD_TARGET_NAMES=nvptx-none
|
||||
OFFLOAD_TARGET_DEFAULT=1
|
||||
Target: x86_64-pc-linux-gnu
|
||||
Configured with: /var/tmp/portage/sys-devel/gcc-14.2.1_p20250301/work/gcc-14-20250301/configure --host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/14 --includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/14/include --datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/14 --mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/14/man --infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/14/info --with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14 --disable-silent-rules --disable-dependency-tracking --with-python-dir=/share/gcc-data/x86_64-pc-linux-gnu/14/python --enable-languages=c,c++,fortran --enable-obsolete --enable-secureplt --disable-werror --with-system-zlib --enable-nls --without-included-gettext --disable-libunwind-exceptions --enable-checking=release --with-bugurl=https://bugs.gentoo.org/ --with-pkgversion='Gentoo 14.2.1_p20250301 p8' --with-gcc-major-version-only --enable-libstdcxx-time --enable-lto --disable-libstdcxx-pch --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --enable-multilib --with-multilib-list=m32,m64 --disable-fixed-point --enable-targets=all --enable-offload-defaulted --enable-offload-targets=nvptx-none --enable-libgomp --disable-libssp --disable-libada --enable-cet --disable-systemtap --disable-valgrind-annotations --disable-vtable-verify --disable-libvtv --with-zstd --without-isl --enable-default-pie --enable-host-pie --enable-host-bind-now --enable-default-ssp --disable-fixincludes --with-gxx-libcxx-include-dir=/usr/include/c++/v1 --with-build-config=bootstrap-cet
|
||||
Thread model: posix
|
||||
Supported LTO compression algorithms: zlib zstd
|
||||
gcc version 14.2.1 20250301 (Gentoo 14.2.1_p20250301 p8)
|
||||
COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-c' '-o' 'CMakeFiles/cmTC_936b3.dir/CMakeCCompilerABI.c.o' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_936b3.dir/'
|
||||
/usr/libexec/gcc/x86_64-pc-linux-gnu/14/cc1 -quiet -v /usr/share/cmake/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_936b3.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fdiagnostics-color=always -foffload-options=-fno-stack-protector -fcf-protection -foffload-options=-fcf-protection=none -o /tmp/cc5meg4y.s
|
||||
GNU C17 (Gentoo 14.2.1_p20250301 p8) version 14.2.1 20250301 (x86_64-pc-linux-gnu)
|
||||
compiled by GNU C version 14.2.1 20250301, GMP version 6.3.0, MPFR version 4.2.1, MPC version 1.3.1, isl version none
|
||||
warning: MPFR header version 4.2.1 differs from library version 4.2.2.
|
||||
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
|
||||
ignoring nonexistent directory "/usr/lib/gcc/x86_64-pc-linux-gnu/14/include-fixed"
|
||||
ignoring nonexistent directory "/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/include"
|
||||
#include "..." search starts here:
|
||||
#include <...> search starts here:
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/14/include
|
||||
/usr/local/include
|
||||
/usr/include
|
||||
End of search list.
|
||||
Compiler executable checksum: 692b9f54c8e102112d4f971fe11b8e95
|
||||
COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-c' '-o' 'CMakeFiles/cmTC_936b3.dir/CMakeCCompilerABI.c.o' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_936b3.dir/'
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/as -v --64 -o CMakeFiles/cmTC_936b3.dir/CMakeCCompilerABI.c.o /tmp/cc5meg4y.s
|
||||
GNU assembler version 2.44.0 (x86_64-pc-linux-gnu) using BFD version (Gentoo 2.44 p4) 2.44.0
|
||||
COMPILER_PATH=/usr/libexec/gcc/x86_64-pc-linux-gnu/14/:/usr/libexec/gcc/x86_64-pc-linux-gnu/14/:/usr/libexec/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/14/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/
|
||||
LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/14/:/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../:/lib/:/usr/lib/
|
||||
COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-c' '-o' 'CMakeFiles/cmTC_936b3.dir/CMakeCCompilerABI.c.o' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_936b3.dir/CMakeCCompilerABI.c.'
|
||||
[2/2] : && /usr/lib/ccache/bin/gcc-14 -v -Wl,-v CMakeFiles/cmTC_afe54.dir/CMakeCCompilerABI.c.o -o cmTC_afe54 && :
|
||||
Using built-in specs.
|
||||
COLLECT_GCC=/usr/bin/gcc-14
|
||||
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-pc-linux-gnu/14/lto-wrapper
|
||||
OFFLOAD_TARGET_NAMES=nvptx-none
|
||||
OFFLOAD_TARGET_DEFAULT=1
|
||||
Target: x86_64-pc-linux-gnu
|
||||
Configured with: /var/tmp/portage/sys-devel/gcc-14.2.1_p20250301/work/gcc-14-20250301/configure --host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/14 --includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/14/include --datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/14 --mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/14/man --infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/14/info --with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14 --disable-silent-rules --disable-dependency-tracking --with-python-dir=/share/gcc-data/x86_64-pc-linux-gnu/14/python --enable-languages=c,c++,fortran --enable-obsolete --enable-secureplt --disable-werror --with-system-zlib --enable-nls --without-included-gettext --disable-libunwind-exceptions --enable-checking=release --with-bugurl=https://bugs.gentoo.org/ --with-pkgversion='Gentoo 14.2.1_p20250301 p8' --with-gcc-major-version-only --enable-libstdcxx-time --enable-lto --disable-libstdcxx-pch --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --enable-multilib --with-multilib-list=m32,m64 --disable-fixed-point --enable-targets=all --enable-offload-defaulted --enable-offload-targets=nvptx-none --enable-libgomp --disable-libssp --disable-libada --enable-cet --disable-systemtap --disable-valgrind-annotations --disable-vtable-verify --disable-libvtv --with-zstd --without-isl --enable-default-pie --enable-host-pie --enable-host-bind-now --enable-default-ssp --disable-fixincludes --with-gxx-libcxx-include-dir=/usr/include/c++/v1 --with-build-config=bootstrap-cet
|
||||
Thread model: posix
|
||||
Supported LTO compression algorithms: zlib zstd
|
||||
gcc version 14.2.1 20250301 (Gentoo 14.2.1_p20250301 p8)
|
||||
COMPILER_PATH=/usr/libexec/gcc/x86_64-pc-linux-gnu/14/:/usr/libexec/gcc/x86_64-pc-linux-gnu/14/:/usr/libexec/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/14/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/
|
||||
LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/14/:/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../:/lib/:/usr/lib/
|
||||
COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_afe54' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_afe54.'
|
||||
/usr/libexec/gcc/x86_64-pc-linux-gnu/14/collect2 -plugin /usr/libexec/gcc/x86_64-pc-linux-gnu/14/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-pc-linux-gnu/14/lto-wrapper -plugin-opt=-fresolution=/tmp/cc28VYxI.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --eh-frame-hdr -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -o cmTC_afe54 /usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/14/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/14 -L/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../.. -v CMakeFiles/cmTC_afe54.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-pc-linux-gnu/14/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64/crtn.o
|
||||
collect2 version 14.2.1 20250301
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/ld -plugin /usr/libexec/gcc/x86_64-pc-linux-gnu/14/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-pc-linux-gnu/14/lto-wrapper -plugin-opt=-fresolution=/tmp/cc28VYxI.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --eh-frame-hdr -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -o cmTC_afe54 /usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/14/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/14 -L/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../.. -v CMakeFiles/cmTC_afe54.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-pc-linux-gnu/14/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64/crtn.o
|
||||
GNU ld (Gentoo 2.44 p4) 2.44.0
|
||||
COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_afe54' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_afe54.'
|
||||
|
||||
exitCode: 0
|
||||
-
|
||||
kind: "message-v1"
|
||||
backtrace:
|
||||
- "/usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:191 (message)"
|
||||
- "/usr/share/cmake/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
|
||||
- "CMakeLists.txt"
|
||||
message: |
|
||||
Parsed C implicit include dir info: rv=done
|
||||
found start of include info
|
||||
found start of implicit include info
|
||||
add: [/usr/lib/gcc/x86_64-pc-linux-gnu/14/include]
|
||||
add: [/usr/local/include]
|
||||
add: [/usr/include]
|
||||
end of search list found
|
||||
collapse include dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14/include] ==> [/usr/lib/gcc/x86_64-pc-linux-gnu/14/include]
|
||||
collapse include dir [/usr/local/include] ==> [/usr/local/include]
|
||||
collapse include dir [/usr/include] ==> [/usr/include]
|
||||
implicit include dirs: [/usr/lib/gcc/x86_64-pc-linux-gnu/14/include;/usr/local/include;/usr/include]
|
||||
|
||||
|
||||
-
|
||||
kind: "message-v1"
|
||||
backtrace:
|
||||
- "/usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:227 (message)"
|
||||
- "/usr/share/cmake/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
|
||||
- "CMakeLists.txt"
|
||||
message: |
|
||||
Parsed C implicit link information:
|
||||
link line regex: [^( *|.*[/\\])(ld[0-9]*(|\\.[a-rt-z][a-z]*|\\.s[a-np-z][a-z]*|\\.so[a-z]+)|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)]
|
||||
linker tool regex: [^[ ]*(->|")?[ ]*(([^"]*[/\\])?(ld[0-9]*(|\\.[a-rt-z][a-z]*|\\.s[a-np-z][a-z]*|\\.so[a-z]+)))("|,| |$)]
|
||||
ignore line: [Change Dir: '/data/code/eden/src/dynarmic/tests/build/Desktop-Debug/CMakeFiles/CMakeScratch/TryCompile-TJTcI4']
|
||||
ignore line: []
|
||||
ignore line: [Run Build Command(s): /usr/bin/ninja -v cmTC_afe54]
|
||||
ignore line: [[1/2] /usr/lib/ccache/bin/gcc-14 -v -o CMakeFiles/cmTC_afe54.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake/Modules/CMakeCCompilerABI.c]
|
||||
ignore line: [Using built-in specs.]
|
||||
ignore line: [COLLECT_GCC=/usr/bin/gcc-14]
|
||||
ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none]
|
||||
ignore line: [OFFLOAD_TARGET_DEFAULT=1]
|
||||
ignore line: [Target: x86_64-pc-linux-gnu]
|
||||
ignore line: [Configured with: /var/tmp/portage/sys-devel/gcc-14.2.1_p20250301/work/gcc-14-20250301/configure --host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/14 --includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/14/include --datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/14 --mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/14/man --infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/14/info --with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14 --disable-silent-rules --disable-dependency-tracking --with-python-dir=/share/gcc-data/x86_64-pc-linux-gnu/14/python --enable-languages=c c++ fortran --enable-obsolete --enable-secureplt --disable-werror --with-system-zlib --enable-nls --without-included-gettext --disable-libunwind-exceptions --enable-checking=release --with-bugurl=https://bugs.gentoo.org/ --with-pkgversion='Gentoo 14.2.1_p20250301 p8' --with-gcc-major-version-only --enable-libstdcxx-time --enable-lto --disable-libstdcxx-pch --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --enable-multilib --with-multilib-list=m32 m64 --disable-fixed-point --enable-targets=all --enable-offload-defaulted --enable-offload-targets=nvptx-none --enable-libgomp --disable-libssp --disable-libada --enable-cet --disable-systemtap --disable-valgrind-annotations --disable-vtable-verify --disable-libvtv --with-zstd --without-isl --enable-default-pie --enable-host-pie --enable-host-bind-now --enable-default-ssp --disable-fixincludes --with-gxx-libcxx-include-dir=/usr/include/c++/v1 --with-build-config=bootstrap-cet]
|
||||
ignore line: [Thread model: posix]
|
||||
ignore line: [Supported LTO compression algorithms: zlib zstd]
|
||||
ignore line: [gcc version 14.2.1 20250301 (Gentoo 14.2.1_p20250301 p8) ]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-c' '-o' 'CMakeFiles/cmTC_936b3.dir/CMakeCCompilerABI.c.o' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_936b3.dir/']
|
||||
ignore line: [ /usr/libexec/gcc/x86_64-pc-linux-gnu/14/cc1 -quiet -v /usr/share/cmake/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_936b3.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fdiagnostics-color=always -foffload-options=-fno-stack-protector -fcf-protection -foffload-options=-fcf-protection=none -o /tmp/cc5meg4y.s]
|
||||
ignore line: [GNU C17 (Gentoo 14.2.1_p20250301 p8) version 14.2.1 20250301 (x86_64-pc-linux-gnu)]
|
||||
ignore line: [ compiled by GNU C version 14.2.1 20250301 GMP version 6.3.0 MPFR version 4.2.1 MPC version 1.3.1 isl version none]
|
||||
ignore line: [warning: MPFR header version 4.2.1 differs from library version 4.2.2.]
|
||||
ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
|
||||
ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-pc-linux-gnu/14/include-fixed"]
|
||||
ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/include"]
|
||||
ignore line: [#include "..." search starts here:]
|
||||
ignore line: [#include <...> search starts here:]
|
||||
ignore line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/14/include]
|
||||
ignore line: [ /usr/local/include]
|
||||
ignore line: [ /usr/include]
|
||||
ignore line: [End of search list.]
|
||||
ignore line: [Compiler executable checksum: 692b9f54c8e102112d4f971fe11b8e95]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-c' '-o' 'CMakeFiles/cmTC_936b3.dir/CMakeCCompilerABI.c.o' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_936b3.dir/']
|
||||
ignore line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/as -v --64 -o CMakeFiles/cmTC_936b3.dir/CMakeCCompilerABI.c.o /tmp/cc5meg4y.s]
|
||||
ignore line: [GNU assembler version 2.44.0 (x86_64-pc-linux-gnu) using BFD version (Gentoo 2.44 p4) 2.44.0]
|
||||
ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-pc-linux-gnu/14/:/usr/libexec/gcc/x86_64-pc-linux-gnu/14/:/usr/libexec/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/14/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/]
|
||||
ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/14/:/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../:/lib/:/usr/lib/]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-c' '-o' 'CMakeFiles/cmTC_936b3.dir/CMakeCCompilerABI.c.o' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_936b3.dir/CMakeCCompilerABI.c.']
|
||||
ignore line: [[2/2] : && /usr/lib/ccache/bin/gcc-14 -v -Wl -v CMakeFiles/cmTC_afe54.dir/CMakeCCompilerABI.c.o -o cmTC_afe54 && :]
|
||||
ignore line: [Using built-in specs.]
|
||||
ignore line: [COLLECT_GCC=/usr/bin/gcc-14]
|
||||
ignore line: [COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-pc-linux-gnu/14/lto-wrapper]
|
||||
ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none]
|
||||
ignore line: [OFFLOAD_TARGET_DEFAULT=1]
|
||||
ignore line: [Target: x86_64-pc-linux-gnu]
|
||||
ignore line: [Configured with: /var/tmp/portage/sys-devel/gcc-14.2.1_p20250301/work/gcc-14-20250301/configure --host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/14 --includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/14/include --datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/14 --mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/14/man --infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/14/info --with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14 --disable-silent-rules --disable-dependency-tracking --with-python-dir=/share/gcc-data/x86_64-pc-linux-gnu/14/python --enable-languages=c c++ fortran --enable-obsolete --enable-secureplt --disable-werror --with-system-zlib --enable-nls --without-included-gettext --disable-libunwind-exceptions --enable-checking=release --with-bugurl=https://bugs.gentoo.org/ --with-pkgversion='Gentoo 14.2.1_p20250301 p8' --with-gcc-major-version-only --enable-libstdcxx-time --enable-lto --disable-libstdcxx-pch --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --enable-multilib --with-multilib-list=m32 m64 --disable-fixed-point --enable-targets=all --enable-offload-defaulted --enable-offload-targets=nvptx-none --enable-libgomp --disable-libssp --disable-libada --enable-cet --disable-systemtap --disable-valgrind-annotations --disable-vtable-verify --disable-libvtv --with-zstd --without-isl --enable-default-pie --enable-host-pie --enable-host-bind-now --enable-default-ssp --disable-fixincludes --with-gxx-libcxx-include-dir=/usr/include/c++/v1 --with-build-config=bootstrap-cet]
|
||||
ignore line: [Thread model: posix]
|
||||
ignore line: [Supported LTO compression algorithms: zlib zstd]
|
||||
ignore line: [gcc version 14.2.1 20250301 (Gentoo 14.2.1_p20250301 p8) ]
|
||||
ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-pc-linux-gnu/14/:/usr/libexec/gcc/x86_64-pc-linux-gnu/14/:/usr/libexec/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/14/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/]
|
||||
ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/14/:/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../:/lib/:/usr/lib/]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_afe54' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_afe54.']
|
||||
link line: [ /usr/libexec/gcc/x86_64-pc-linux-gnu/14/collect2 -plugin /usr/libexec/gcc/x86_64-pc-linux-gnu/14/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-pc-linux-gnu/14/lto-wrapper -plugin-opt=-fresolution=/tmp/cc28VYxI.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --eh-frame-hdr -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -o cmTC_afe54 /usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/14/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/14 -L/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../.. -v CMakeFiles/cmTC_afe54.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-pc-linux-gnu/14/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64/crtn.o]
|
||||
arg [/usr/libexec/gcc/x86_64-pc-linux-gnu/14/collect2] ==> ignore
|
||||
arg [-plugin] ==> ignore
|
||||
arg [/usr/libexec/gcc/x86_64-pc-linux-gnu/14/liblto_plugin.so] ==> ignore
|
||||
arg [-plugin-opt=/usr/libexec/gcc/x86_64-pc-linux-gnu/14/lto-wrapper] ==> ignore
|
||||
arg [-plugin-opt=-fresolution=/tmp/cc28VYxI.res] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lc] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
|
||||
arg [--eh-frame-hdr] ==> ignore
|
||||
arg [-m] ==> ignore
|
||||
arg [elf_x86_64] ==> ignore
|
||||
arg [-dynamic-linker] ==> ignore
|
||||
arg [/lib64/ld-linux-x86-64.so.2] ==> ignore
|
||||
arg [-pie] ==> ignore
|
||||
arg [-znow] ==> ignore
|
||||
arg [-o] ==> ignore
|
||||
arg [cmTC_afe54] ==> ignore
|
||||
arg [/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64/Scrt1.o]
|
||||
arg [/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64/crti.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64/crti.o]
|
||||
arg [/usr/lib/gcc/x86_64-pc-linux-gnu/14/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/14/crtbeginS.o]
|
||||
arg [-L/usr/lib/gcc/x86_64-pc-linux-gnu/14] ==> dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14]
|
||||
arg [-L/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64] ==> dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64]
|
||||
arg [-L/lib/../lib64] ==> dir [/lib/../lib64]
|
||||
arg [-L/usr/lib/../lib64] ==> dir [/usr/lib/../lib64]
|
||||
arg [-L/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/lib] ==> dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/lib]
|
||||
arg [-L/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../..] ==> dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../..]
|
||||
arg [-v] ==> ignore
|
||||
arg [CMakeFiles/cmTC_afe54.dir/CMakeCCompilerABI.c.o] ==> ignore
|
||||
arg [-lgcc] ==> lib [gcc]
|
||||
arg [--push-state] ==> ignore
|
||||
arg [--as-needed] ==> ignore
|
||||
arg [-lgcc_s] ==> lib [gcc_s]
|
||||
arg [--pop-state] ==> ignore
|
||||
arg [-lc] ==> lib [c]
|
||||
arg [-lgcc] ==> lib [gcc]
|
||||
arg [--push-state] ==> ignore
|
||||
arg [--as-needed] ==> ignore
|
||||
arg [-lgcc_s] ==> lib [gcc_s]
|
||||
arg [--pop-state] ==> ignore
|
||||
arg [/usr/lib/gcc/x86_64-pc-linux-gnu/14/crtendS.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/14/crtendS.o]
|
||||
arg [/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64/crtn.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64/crtn.o]
|
||||
ignore line: [collect2 version 14.2.1 20250301]
|
||||
ignore line: [/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/ld -plugin /usr/libexec/gcc/x86_64-pc-linux-gnu/14/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-pc-linux-gnu/14/lto-wrapper -plugin-opt=-fresolution=/tmp/cc28VYxI.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --eh-frame-hdr -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -o cmTC_afe54 /usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/14/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/14 -L/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../.. -v CMakeFiles/cmTC_afe54.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-pc-linux-gnu/14/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64/crtn.o]
|
||||
linker tool for 'C': /usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/ld
|
||||
collapse obj [/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64/Scrt1.o] ==> [/usr/lib64/Scrt1.o]
|
||||
collapse obj [/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64/crti.o] ==> [/usr/lib64/crti.o]
|
||||
collapse obj [/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64/crtn.o] ==> [/usr/lib64/crtn.o]
|
||||
collapse library dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14] ==> [/usr/lib/gcc/x86_64-pc-linux-gnu/14]
|
||||
collapse library dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64] ==> [/usr/lib64]
|
||||
collapse library dir [/lib/../lib64] ==> [/lib64]
|
||||
collapse library dir [/usr/lib/../lib64] ==> [/usr/lib64]
|
||||
collapse library dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/lib] ==> [/usr/x86_64-pc-linux-gnu/lib]
|
||||
collapse library dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../..] ==> [/usr/lib]
|
||||
implicit libs: [gcc;gcc_s;c;gcc;gcc_s]
|
||||
implicit objs: [/usr/lib64/Scrt1.o;/usr/lib64/crti.o;/usr/lib/gcc/x86_64-pc-linux-gnu/14/crtbeginS.o;/usr/lib/gcc/x86_64-pc-linux-gnu/14/crtendS.o;/usr/lib64/crtn.o]
|
||||
implicit dirs: [/usr/lib/gcc/x86_64-pc-linux-gnu/14;/usr/lib64;/lib64;/usr/x86_64-pc-linux-gnu/lib;/usr/lib]
|
||||
implicit fwks: []
|
||||
|
||||
|
||||
-
|
||||
kind: "message-v1"
|
||||
backtrace:
|
||||
- "/usr/share/cmake/Modules/Internal/CMakeDetermineLinkerId.cmake:36 (message)"
|
||||
- "/usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:270 (cmake_determine_linker_id)"
|
||||
- "/usr/share/cmake/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
|
||||
- "CMakeLists.txt"
|
||||
message: |
|
||||
Running the C compiler's linker: "/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/ld" "-v"
|
||||
GNU ld (Gentoo 2.44 p4) 2.44.0
|
||||
-
|
||||
kind: "try_compile-v1"
|
||||
backtrace:
|
||||
- "/usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:83 (try_compile)"
|
||||
- "/usr/share/cmake/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
|
||||
- "CMakeLists.txt"
|
||||
checks:
|
||||
- "Detecting CXX compiler ABI info"
|
||||
directories:
|
||||
source: "/data/code/eden/src/dynarmic/tests/build/Desktop-Debug/CMakeFiles/CMakeScratch/TryCompile-7iZSQ0"
|
||||
binary: "/data/code/eden/src/dynarmic/tests/build/Desktop-Debug/CMakeFiles/CMakeScratch/TryCompile-7iZSQ0"
|
||||
cmakeVariables:
|
||||
CMAKE_CXX_FLAGS: "-DQT_QML_DEBUG"
|
||||
CMAKE_CXX_SCAN_FOR_MODULES: "OFF"
|
||||
CMAKE_EXE_LINKER_FLAGS: ""
|
||||
buildResult:
|
||||
variable: "CMAKE_CXX_ABI_COMPILED"
|
||||
cached: true
|
||||
stdout: |
|
||||
Change Dir: '/data/code/eden/src/dynarmic/tests/build/Desktop-Debug/CMakeFiles/CMakeScratch/TryCompile-7iZSQ0'
|
||||
|
||||
Run Build Command(s): /usr/bin/ninja -v cmTC_21184
|
||||
[1/2] /usr/lib/ccache/bin/g++-14 -DQT_QML_DEBUG -v -o CMakeFiles/cmTC_21184.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake/Modules/CMakeCXXCompilerABI.cpp
|
||||
Using built-in specs.
|
||||
COLLECT_GCC=/usr/bin/g++-14
|
||||
OFFLOAD_TARGET_NAMES=nvptx-none
|
||||
OFFLOAD_TARGET_DEFAULT=1
|
||||
Target: x86_64-pc-linux-gnu
|
||||
Configured with: /var/tmp/portage/sys-devel/gcc-14.2.1_p20250301/work/gcc-14-20250301/configure --host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/14 --includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/14/include --datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/14 --mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/14/man --infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/14/info --with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14 --disable-silent-rules --disable-dependency-tracking --with-python-dir=/share/gcc-data/x86_64-pc-linux-gnu/14/python --enable-languages=c,c++,fortran --enable-obsolete --enable-secureplt --disable-werror --with-system-zlib --enable-nls --without-included-gettext --disable-libunwind-exceptions --enable-checking=release --with-bugurl=https://bugs.gentoo.org/ --with-pkgversion='Gentoo 14.2.1_p20250301 p8' --with-gcc-major-version-only --enable-libstdcxx-time --enable-lto --disable-libstdcxx-pch --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --enable-multilib --with-multilib-list=m32,m64 --disable-fixed-point --enable-targets=all --enable-offload-defaulted --enable-offload-targets=nvptx-none --enable-libgomp --disable-libssp --disable-libada --enable-cet --disable-systemtap --disable-valgrind-annotations --disable-vtable-verify --disable-libvtv --with-zstd --without-isl --enable-default-pie --enable-host-pie --enable-host-bind-now --enable-default-ssp --disable-fixincludes --with-gxx-libcxx-include-dir=/usr/include/c++/v1 --with-build-config=bootstrap-cet
|
||||
Thread model: posix
|
||||
Supported LTO compression algorithms: zlib zstd
|
||||
gcc version 14.2.1 20250301 (Gentoo 14.2.1_p20250301 p8)
|
||||
COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-c' '-o' 'CMakeFiles/cmTC_67fc9.dir/CMakeCXXCompilerABI.cpp.o' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_67fc9.dir/'
|
||||
/usr/libexec/gcc/x86_64-pc-linux-gnu/14/cc1plus -quiet -v -D_GNU_SOURCE /usr/share/cmake/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_67fc9.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fdiagnostics-color=always -foffload-options=-fno-stack-protector -fcf-protection -foffload-options=-fcf-protection=none -o /tmp/cct8RPeI.s
|
||||
GNU C++17 (Gentoo 14.2.1_p20250301 p8) version 14.2.1 20250301 (x86_64-pc-linux-gnu)
|
||||
compiled by GNU C version 14.2.1 20250301, GMP version 6.3.0, MPFR version 4.2.1, MPC version 1.3.1, isl version none
|
||||
warning: MPFR header version 4.2.1 differs from library version 4.2.2.
|
||||
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
|
||||
ignoring nonexistent directory "/usr/lib/gcc/x86_64-pc-linux-gnu/14/include-fixed"
|
||||
ignoring nonexistent directory "/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/include"
|
||||
#include "..." search starts here:
|
||||
#include <...> search starts here:
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14/x86_64-pc-linux-gnu
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14/backward
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/14/include
|
||||
/usr/local/include
|
||||
/usr/include
|
||||
End of search list.
|
||||
Compiler executable checksum: b46a38ebc015f9ddd57a5b06b86bc26d
|
||||
COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-c' '-o' 'CMakeFiles/cmTC_67fc9.dir/CMakeCXXCompilerABI.cpp.o' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_67fc9.dir/'
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/as -v --64 -o CMakeFiles/cmTC_67fc9.dir/CMakeCXXCompilerABI.cpp.o /tmp/cct8RPeI.s
|
||||
GNU assembler version 2.44.0 (x86_64-pc-linux-gnu) using BFD version (Gentoo 2.44 p4) 2.44.0
|
||||
COMPILER_PATH=/usr/libexec/gcc/x86_64-pc-linux-gnu/14/:/usr/libexec/gcc/x86_64-pc-linux-gnu/14/:/usr/libexec/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/14/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/
|
||||
LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/14/:/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../:/lib/:/usr/lib/
|
||||
COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-c' '-o' 'CMakeFiles/cmTC_67fc9.dir/CMakeCXXCompilerABI.cpp.o' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_67fc9.dir/CMakeCXXCompilerABI.cpp.'
|
||||
[2/2] : && /usr/lib/ccache/bin/g++-14 -DQT_QML_DEBUG -v -Wl,-v CMakeFiles/cmTC_21184.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_21184 && :
|
||||
Using built-in specs.
|
||||
COLLECT_GCC=/usr/bin/g++-14
|
||||
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-pc-linux-gnu/14/lto-wrapper
|
||||
OFFLOAD_TARGET_NAMES=nvptx-none
|
||||
OFFLOAD_TARGET_DEFAULT=1
|
||||
Target: x86_64-pc-linux-gnu
|
||||
Configured with: /var/tmp/portage/sys-devel/gcc-14.2.1_p20250301/work/gcc-14-20250301/configure --host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/14 --includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/14/include --datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/14 --mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/14/man --infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/14/info --with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14 --disable-silent-rules --disable-dependency-tracking --with-python-dir=/share/gcc-data/x86_64-pc-linux-gnu/14/python --enable-languages=c,c++,fortran --enable-obsolete --enable-secureplt --disable-werror --with-system-zlib --enable-nls --without-included-gettext --disable-libunwind-exceptions --enable-checking=release --with-bugurl=https://bugs.gentoo.org/ --with-pkgversion='Gentoo 14.2.1_p20250301 p8' --with-gcc-major-version-only --enable-libstdcxx-time --enable-lto --disable-libstdcxx-pch --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --enable-multilib --with-multilib-list=m32,m64 --disable-fixed-point --enable-targets=all --enable-offload-defaulted --enable-offload-targets=nvptx-none --enable-libgomp --disable-libssp --disable-libada --enable-cet --disable-systemtap --disable-valgrind-annotations --disable-vtable-verify --disable-libvtv --with-zstd --without-isl --enable-default-pie --enable-host-pie --enable-host-bind-now --enable-default-ssp --disable-fixincludes --with-gxx-libcxx-include-dir=/usr/include/c++/v1 --with-build-config=bootstrap-cet
|
||||
Thread model: posix
|
||||
Supported LTO compression algorithms: zlib zstd
|
||||
gcc version 14.2.1 20250301 (Gentoo 14.2.1_p20250301 p8)
|
||||
COMPILER_PATH=/usr/libexec/gcc/x86_64-pc-linux-gnu/14/:/usr/libexec/gcc/x86_64-pc-linux-gnu/14/:/usr/libexec/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/14/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/
|
||||
LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/14/:/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../:/lib/:/usr/lib/
|
||||
COLLECT_GCC_OPTIONS='-D' 'QT_QML_DEBUG' '-v' '-o' 'cmTC_21184' '-foffload-options=-l_GCC_m' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_21184.'
|
||||
/usr/libexec/gcc/x86_64-pc-linux-gnu/14/collect2 -plugin /usr/libexec/gcc/x86_64-pc-linux-gnu/14/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-pc-linux-gnu/14/lto-wrapper -plugin-opt=-fresolution=/tmp/cctgQUcb.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --eh-frame-hdr -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -o cmTC_21184 /usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/14/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/14 -L/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../.. -v CMakeFiles/cmTC_21184.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-pc-linux-gnu/14/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64/crtn.o
|
||||
collect2 version 14.2.1 20250301
|
||||
/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/ld -plugin /usr/libexec/gcc/x86_64-pc-linux-gnu/14/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-pc-linux-gnu/14/lto-wrapper -plugin-opt=-fresolution=/tmp/cctgQUcb.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --eh-frame-hdr -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -o cmTC_21184 /usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/14/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/14 -L/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../.. -v CMakeFiles/cmTC_21184.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-pc-linux-gnu/14/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64/crtn.o
|
||||
GNU ld (Gentoo 2.44 p4) 2.44.0
|
||||
COLLECT_GCC_OPTIONS='-D' 'QT_QML_DEBUG' '-v' '-o' 'cmTC_21184' '-foffload-options=-l_GCC_m' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_21184.'
|
||||
|
||||
exitCode: 0
|
||||
-
|
||||
kind: "message-v1"
|
||||
backtrace:
|
||||
- "/usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:191 (message)"
|
||||
- "/usr/share/cmake/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
|
||||
- "CMakeLists.txt"
|
||||
message: |
|
||||
Parsed CXX implicit include dir info: rv=done
|
||||
found start of include info
|
||||
found start of implicit include info
|
||||
add: [/usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14]
|
||||
add: [/usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14/x86_64-pc-linux-gnu]
|
||||
add: [/usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14/backward]
|
||||
add: [/usr/lib/gcc/x86_64-pc-linux-gnu/14/include]
|
||||
add: [/usr/local/include]
|
||||
add: [/usr/include]
|
||||
end of search list found
|
||||
collapse include dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14] ==> [/usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14]
|
||||
collapse include dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14/x86_64-pc-linux-gnu] ==> [/usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14/x86_64-pc-linux-gnu]
|
||||
collapse include dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14/backward] ==> [/usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14/backward]
|
||||
collapse include dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14/include] ==> [/usr/lib/gcc/x86_64-pc-linux-gnu/14/include]
|
||||
collapse include dir [/usr/local/include] ==> [/usr/local/include]
|
||||
collapse include dir [/usr/include] ==> [/usr/include]
|
||||
implicit include dirs: [/usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14;/usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14/x86_64-pc-linux-gnu;/usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14/backward;/usr/lib/gcc/x86_64-pc-linux-gnu/14/include;/usr/local/include;/usr/include]
|
||||
|
||||
|
||||
-
|
||||
kind: "message-v1"
|
||||
backtrace:
|
||||
- "/usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:227 (message)"
|
||||
- "/usr/share/cmake/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
|
||||
- "CMakeLists.txt"
|
||||
message: |
|
||||
Parsed CXX implicit link information:
|
||||
link line regex: [^( *|.*[/\\])(ld[0-9]*(|\\.[a-rt-z][a-z]*|\\.s[a-np-z][a-z]*|\\.so[a-z]+)|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)]
|
||||
linker tool regex: [^[ ]*(->|")?[ ]*(([^"]*[/\\])?(ld[0-9]*(|\\.[a-rt-z][a-z]*|\\.s[a-np-z][a-z]*|\\.so[a-z]+)))("|,| |$)]
|
||||
ignore line: [Change Dir: '/data/code/eden/src/dynarmic/tests/build/Desktop-Debug/CMakeFiles/CMakeScratch/TryCompile-7iZSQ0']
|
||||
ignore line: []
|
||||
ignore line: [Run Build Command(s): /usr/bin/ninja -v cmTC_21184]
|
||||
ignore line: [[1/2] /usr/lib/ccache/bin/g++-14 -DQT_QML_DEBUG -v -o CMakeFiles/cmTC_21184.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake/Modules/CMakeCXXCompilerABI.cpp]
|
||||
ignore line: [Using built-in specs.]
|
||||
ignore line: [COLLECT_GCC=/usr/bin/g++-14]
|
||||
ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none]
|
||||
ignore line: [OFFLOAD_TARGET_DEFAULT=1]
|
||||
ignore line: [Target: x86_64-pc-linux-gnu]
|
||||
ignore line: [Configured with: /var/tmp/portage/sys-devel/gcc-14.2.1_p20250301/work/gcc-14-20250301/configure --host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/14 --includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/14/include --datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/14 --mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/14/man --infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/14/info --with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14 --disable-silent-rules --disable-dependency-tracking --with-python-dir=/share/gcc-data/x86_64-pc-linux-gnu/14/python --enable-languages=c c++ fortran --enable-obsolete --enable-secureplt --disable-werror --with-system-zlib --enable-nls --without-included-gettext --disable-libunwind-exceptions --enable-checking=release --with-bugurl=https://bugs.gentoo.org/ --with-pkgversion='Gentoo 14.2.1_p20250301 p8' --with-gcc-major-version-only --enable-libstdcxx-time --enable-lto --disable-libstdcxx-pch --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --enable-multilib --with-multilib-list=m32 m64 --disable-fixed-point --enable-targets=all --enable-offload-defaulted --enable-offload-targets=nvptx-none --enable-libgomp --disable-libssp --disable-libada --enable-cet --disable-systemtap --disable-valgrind-annotations --disable-vtable-verify --disable-libvtv --with-zstd --without-isl --enable-default-pie --enable-host-pie --enable-host-bind-now --enable-default-ssp --disable-fixincludes --with-gxx-libcxx-include-dir=/usr/include/c++/v1 --with-build-config=bootstrap-cet]
|
||||
ignore line: [Thread model: posix]
|
||||
ignore line: [Supported LTO compression algorithms: zlib zstd]
|
||||
ignore line: [gcc version 14.2.1 20250301 (Gentoo 14.2.1_p20250301 p8) ]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-c' '-o' 'CMakeFiles/cmTC_67fc9.dir/CMakeCXXCompilerABI.cpp.o' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_67fc9.dir/']
|
||||
ignore line: [ /usr/libexec/gcc/x86_64-pc-linux-gnu/14/cc1plus -quiet -v -D_GNU_SOURCE /usr/share/cmake/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_67fc9.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fdiagnostics-color=always -foffload-options=-fno-stack-protector -fcf-protection -foffload-options=-fcf-protection=none -o /tmp/cct8RPeI.s]
|
||||
ignore line: [GNU C++17 (Gentoo 14.2.1_p20250301 p8) version 14.2.1 20250301 (x86_64-pc-linux-gnu)]
|
||||
ignore line: [ compiled by GNU C version 14.2.1 20250301 GMP version 6.3.0 MPFR version 4.2.1 MPC version 1.3.1 isl version none]
|
||||
ignore line: [warning: MPFR header version 4.2.1 differs from library version 4.2.2.]
|
||||
ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
|
||||
ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-pc-linux-gnu/14/include-fixed"]
|
||||
ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/include"]
|
||||
ignore line: [#include "..." search starts here:]
|
||||
ignore line: [#include <...> search starts here:]
|
||||
ignore line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14]
|
||||
ignore line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14/x86_64-pc-linux-gnu]
|
||||
ignore line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14/backward]
|
||||
ignore line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/14/include]
|
||||
ignore line: [ /usr/local/include]
|
||||
ignore line: [ /usr/include]
|
||||
ignore line: [End of search list.]
|
||||
ignore line: [Compiler executable checksum: b46a38ebc015f9ddd57a5b06b86bc26d]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-c' '-o' 'CMakeFiles/cmTC_67fc9.dir/CMakeCXXCompilerABI.cpp.o' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_67fc9.dir/']
|
||||
ignore line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/as -v --64 -o CMakeFiles/cmTC_67fc9.dir/CMakeCXXCompilerABI.cpp.o /tmp/cct8RPeI.s]
|
||||
ignore line: [GNU assembler version 2.44.0 (x86_64-pc-linux-gnu) using BFD version (Gentoo 2.44 p4) 2.44.0]
|
||||
ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-pc-linux-gnu/14/:/usr/libexec/gcc/x86_64-pc-linux-gnu/14/:/usr/libexec/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/14/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/]
|
||||
ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/14/:/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../:/lib/:/usr/lib/]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-fdiagnostics-color=always' '-v' '-c' '-o' 'CMakeFiles/cmTC_67fc9.dir/CMakeCXXCompilerABI.cpp.o' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_67fc9.dir/CMakeCXXCompilerABI.cpp.']
|
||||
ignore line: [[2/2] : && /usr/lib/ccache/bin/g++-14 -DQT_QML_DEBUG -v -Wl -v CMakeFiles/cmTC_21184.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_21184 && :]
|
||||
ignore line: [Using built-in specs.]
|
||||
ignore line: [COLLECT_GCC=/usr/bin/g++-14]
|
||||
ignore line: [COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-pc-linux-gnu/14/lto-wrapper]
|
||||
ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none]
|
||||
ignore line: [OFFLOAD_TARGET_DEFAULT=1]
|
||||
ignore line: [Target: x86_64-pc-linux-gnu]
|
||||
ignore line: [Configured with: /var/tmp/portage/sys-devel/gcc-14.2.1_p20250301/work/gcc-14-20250301/configure --host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/14 --includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/14/include --datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/14 --mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/14/man --infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/14/info --with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14 --disable-silent-rules --disable-dependency-tracking --with-python-dir=/share/gcc-data/x86_64-pc-linux-gnu/14/python --enable-languages=c c++ fortran --enable-obsolete --enable-secureplt --disable-werror --with-system-zlib --enable-nls --without-included-gettext --disable-libunwind-exceptions --enable-checking=release --with-bugurl=https://bugs.gentoo.org/ --with-pkgversion='Gentoo 14.2.1_p20250301 p8' --with-gcc-major-version-only --enable-libstdcxx-time --enable-lto --disable-libstdcxx-pch --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --enable-multilib --with-multilib-list=m32 m64 --disable-fixed-point --enable-targets=all --enable-offload-defaulted --enable-offload-targets=nvptx-none --enable-libgomp --disable-libssp --disable-libada --enable-cet --disable-systemtap --disable-valgrind-annotations --disable-vtable-verify --disable-libvtv --with-zstd --without-isl --enable-default-pie --enable-host-pie --enable-host-bind-now --enable-default-ssp --disable-fixincludes --with-gxx-libcxx-include-dir=/usr/include/c++/v1 --with-build-config=bootstrap-cet]
|
||||
ignore line: [Thread model: posix]
|
||||
ignore line: [Supported LTO compression algorithms: zlib zstd]
|
||||
ignore line: [gcc version 14.2.1 20250301 (Gentoo 14.2.1_p20250301 p8) ]
|
||||
ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-pc-linux-gnu/14/:/usr/libexec/gcc/x86_64-pc-linux-gnu/14/:/usr/libexec/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/14/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/]
|
||||
ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/14/:/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../:/lib/:/usr/lib/]
|
||||
ignore line: [COLLECT_GCC_OPTIONS='-D' 'QT_QML_DEBUG' '-v' '-o' 'cmTC_21184' '-foffload-options=-l_GCC_m' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_21184.']
|
||||
link line: [ /usr/libexec/gcc/x86_64-pc-linux-gnu/14/collect2 -plugin /usr/libexec/gcc/x86_64-pc-linux-gnu/14/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-pc-linux-gnu/14/lto-wrapper -plugin-opt=-fresolution=/tmp/cctgQUcb.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --eh-frame-hdr -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -o cmTC_21184 /usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/14/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/14 -L/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../.. -v CMakeFiles/cmTC_21184.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-pc-linux-gnu/14/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64/crtn.o]
|
||||
arg [/usr/libexec/gcc/x86_64-pc-linux-gnu/14/collect2] ==> ignore
|
||||
arg [-plugin] ==> ignore
|
||||
arg [/usr/libexec/gcc/x86_64-pc-linux-gnu/14/liblto_plugin.so] ==> ignore
|
||||
arg [-plugin-opt=/usr/libexec/gcc/x86_64-pc-linux-gnu/14/lto-wrapper] ==> ignore
|
||||
arg [-plugin-opt=-fresolution=/tmp/cctgQUcb.res] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lc] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
|
||||
arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
|
||||
arg [--eh-frame-hdr] ==> ignore
|
||||
arg [-m] ==> ignore
|
||||
arg [elf_x86_64] ==> ignore
|
||||
arg [-dynamic-linker] ==> ignore
|
||||
arg [/lib64/ld-linux-x86-64.so.2] ==> ignore
|
||||
arg [-pie] ==> ignore
|
||||
arg [-znow] ==> ignore
|
||||
arg [-o] ==> ignore
|
||||
arg [cmTC_21184] ==> ignore
|
||||
arg [/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64/Scrt1.o]
|
||||
arg [/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64/crti.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64/crti.o]
|
||||
arg [/usr/lib/gcc/x86_64-pc-linux-gnu/14/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/14/crtbeginS.o]
|
||||
arg [-L/usr/lib/gcc/x86_64-pc-linux-gnu/14] ==> dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14]
|
||||
arg [-L/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64] ==> dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64]
|
||||
arg [-L/lib/../lib64] ==> dir [/lib/../lib64]
|
||||
arg [-L/usr/lib/../lib64] ==> dir [/usr/lib/../lib64]
|
||||
arg [-L/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/lib] ==> dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/lib]
|
||||
arg [-L/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../..] ==> dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../..]
|
||||
arg [-v] ==> ignore
|
||||
arg [CMakeFiles/cmTC_21184.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore
|
||||
arg [-lstdc++] ==> lib [stdc++]
|
||||
arg [-lm] ==> lib [m]
|
||||
arg [-lgcc_s] ==> lib [gcc_s]
|
||||
arg [-lgcc] ==> lib [gcc]
|
||||
arg [-lc] ==> lib [c]
|
||||
arg [-lgcc_s] ==> lib [gcc_s]
|
||||
arg [-lgcc] ==> lib [gcc]
|
||||
arg [/usr/lib/gcc/x86_64-pc-linux-gnu/14/crtendS.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/14/crtendS.o]
|
||||
arg [/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64/crtn.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64/crtn.o]
|
||||
ignore line: [collect2 version 14.2.1 20250301]
|
||||
ignore line: [/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/ld -plugin /usr/libexec/gcc/x86_64-pc-linux-gnu/14/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-pc-linux-gnu/14/lto-wrapper -plugin-opt=-fresolution=/tmp/cctgQUcb.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --eh-frame-hdr -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -o cmTC_21184 /usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/14/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/14 -L/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../.. -v CMakeFiles/cmTC_21184.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-pc-linux-gnu/14/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64/crtn.o]
|
||||
linker tool for 'CXX': /usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/ld
|
||||
collapse obj [/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64/Scrt1.o] ==> [/usr/lib64/Scrt1.o]
|
||||
collapse obj [/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64/crti.o] ==> [/usr/lib64/crti.o]
|
||||
collapse obj [/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64/crtn.o] ==> [/usr/lib64/crtn.o]
|
||||
collapse library dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14] ==> [/usr/lib/gcc/x86_64-pc-linux-gnu/14]
|
||||
collapse library dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../lib64] ==> [/usr/lib64]
|
||||
collapse library dir [/lib/../lib64] ==> [/lib64]
|
||||
collapse library dir [/usr/lib/../lib64] ==> [/usr/lib64]
|
||||
collapse library dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/lib] ==> [/usr/x86_64-pc-linux-gnu/lib]
|
||||
collapse library dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../..] ==> [/usr/lib]
|
||||
implicit libs: [stdc++;m;gcc_s;gcc;c;gcc_s;gcc]
|
||||
implicit objs: [/usr/lib64/Scrt1.o;/usr/lib64/crti.o;/usr/lib/gcc/x86_64-pc-linux-gnu/14/crtbeginS.o;/usr/lib/gcc/x86_64-pc-linux-gnu/14/crtendS.o;/usr/lib64/crtn.o]
|
||||
implicit dirs: [/usr/lib/gcc/x86_64-pc-linux-gnu/14;/usr/lib64;/lib64;/usr/x86_64-pc-linux-gnu/lib;/usr/lib]
|
||||
implicit fwks: []
|
||||
|
||||
|
||||
-
|
||||
kind: "message-v1"
|
||||
backtrace:
|
||||
- "/usr/share/cmake/Modules/Internal/CMakeDetermineLinkerId.cmake:36 (message)"
|
||||
- "/usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:270 (cmake_determine_linker_id)"
|
||||
- "/usr/share/cmake/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)"
|
||||
- "CMakeLists.txt"
|
||||
message: |
|
||||
Running the CXX compiler's linker: "/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/ld" "-v"
|
||||
GNU ld (Gentoo 2.44 p4) 2.44.0
|
||||
...
|
|
@ -1 +0,0 @@
|
|||
# This file is generated by cmake for dependency checking of the CMakeCache.txt file
|
|
@ -1,12 +0,0 @@
|
|||
# This file is managed by Qt Creator, do not edit!
|
||||
|
||||
set("CMAKE_CXX_COMPILER" "/usr/lib/ccache/bin/g++-14" CACHE "FILEPATH" "" FORCE)
|
||||
set("CMAKE_PREFIX_PATH" "/usr" CACHE "PATH" "" FORCE)
|
||||
set("CMAKE_PROJECT_INCLUDE_BEFORE" "/data/code/eden/src/dynarmic/tests/build/Desktop-Debug/.qtc/package-manager/auto-setup.cmake" CACHE "FILEPATH" "" FORCE)
|
||||
set("CMAKE_BUILD_TYPE" "Debug" CACHE "STRING" "" FORCE)
|
||||
set("CMAKE_C_COMPILER" "/usr/lib/ccache/bin/gcc-14" CACHE "FILEPATH" "" FORCE)
|
||||
set("QT_MAINTENANCE_TOOL" "/data/Qt/MaintenanceTool" CACHE "FILEPATH" "" FORCE)
|
||||
set("CMAKE_CXX_FLAGS_INIT" "-DQT_QML_DEBUG" CACHE "STRING" "" FORCE)
|
||||
set("CMAKE_GENERATOR" "Ninja" CACHE "STRING" "" FORCE)
|
||||
set("QT_QMAKE_EXECUTABLE" "/usr/bin/qmake6" CACHE "FILEPATH" "" FORCE)
|
||||
set("CMAKE_COLOR_DIAGNOSTICS" "ON" CACHE "BOOL" "" FORCE)
|
|
@ -23,13 +23,13 @@ namespace Core {
|
|||
static constexpr std::chrono::seconds announce_time_interval(15);
|
||||
|
||||
AnnounceMultiplayerSession::AnnounceMultiplayerSession() {
|
||||
//#ifdef ENABLE_WEB_SERVICE
|
||||
#ifdef ENABLE_WEB_SERVICE
|
||||
backend = std::make_unique<WebService::RoomJson>(Settings::values.web_api_url.GetValue(),
|
||||
Settings::values.eden_username.GetValue(),
|
||||
Settings::values.eden_token.GetValue());
|
||||
//#else
|
||||
// backend = std::make_unique<AnnounceMultiplayerRoom::NullBackend>();
|
||||
//#endif
|
||||
#else
|
||||
backend = std::make_unique<AnnounceMultiplayerRoom::NullBackend>();
|
||||
#endif
|
||||
}
|
||||
|
||||
WebService::WebResult AnnounceMultiplayerSession::Register() {
|
||||
|
@ -156,11 +156,11 @@ bool AnnounceMultiplayerSession::IsRunning() const {
|
|||
void AnnounceMultiplayerSession::UpdateCredentials() {
|
||||
ASSERT_MSG(!IsRunning(), "Credentials can only be updated when session is not running");
|
||||
|
||||
//#ifdef ENABLE_WEB_SERVICE
|
||||
#ifdef ENABLE_WEB_SERVICE
|
||||
backend = std::make_unique<WebService::RoomJson>(Settings::values.web_api_url.GetValue(),
|
||||
Settings::values.eden_username.GetValue(),
|
||||
Settings::values.eden_token.GetValue());
|
||||
//#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
} // namespace Core
|
||||
|
|
|
@ -70,7 +70,7 @@ Id GetMaxThreadId(EmitContext& ctx, Id thread_id, Id clamp, Id segmentation_mask
|
|||
Id SelectValue(EmitContext& ctx, Id in_range, Id value, Id src_thread_id) {
|
||||
return ctx.OpSelect(
|
||||
ctx.U32[1], in_range,
|
||||
ctx.OpGroupNonUniformShuffleXor(ctx.U32[1], SubgroupScope(ctx), value, src_thread_id), value);
|
||||
ctx.OpGroupNonUniformShuffle(ctx.U32[1], SubgroupScope(ctx), value, src_thread_id), value);
|
||||
}
|
||||
|
||||
Id AddPartitionBase(EmitContext& ctx, Id thread_id) {
|
||||
|
|
|
@ -337,6 +337,10 @@ if (VulkanUtilityLibraries_ADDED)
|
|||
target_include_directories(video_core PUBLIC ${VulkanUtilityLibraries_SOURCE_DIR}/include)
|
||||
endif()
|
||||
|
||||
if (VulkanHeaders_ADDED)
|
||||
target_include_directories(video_core PUBLIC ${VulkanHeaders_SOURCE_DIR}/include)
|
||||
endif()
|
||||
|
||||
target_link_libraries(video_core PRIVATE sirit Vulkan::Headers)
|
||||
|
||||
if (ENABLE_NSIGHT_AFTERMATH)
|
||||
|
|
|
@ -270,8 +270,7 @@ void Scheduler::EndPendingOperations() {
|
|||
EndRenderPass();
|
||||
}
|
||||
|
||||
void Scheduler::EndRenderPass()
|
||||
{
|
||||
void Scheduler::EndRenderPass() {
|
||||
if (!state.renderpass) {
|
||||
return;
|
||||
}
|
||||
|
@ -279,64 +278,35 @@ void Scheduler::EndRenderPass()
|
|||
query_cache->CounterEnable(VideoCommon::QueryType::ZPassPixelCount64, false);
|
||||
query_cache->NotifySegment(false);
|
||||
|
||||
Record([num_images = num_renderpass_images,
|
||||
images = renderpass_images,
|
||||
Record([num_images = num_renderpass_images, images = renderpass_images,
|
||||
ranges = renderpass_image_ranges](vk::CommandBuffer cmdbuf) {
|
||||
std::array<VkImageMemoryBarrier, 9> barriers;
|
||||
VkPipelineStageFlags src_stages = 0;
|
||||
|
||||
for (size_t i = 0; i < num_images; ++i) {
|
||||
const VkImageSubresourceRange& range = ranges[i];
|
||||
const bool is_color = range.aspectMask & VK_IMAGE_ASPECT_COLOR_BIT;
|
||||
const bool is_depth_stencil = range.aspectMask
|
||||
& (VK_IMAGE_ASPECT_DEPTH_BIT
|
||||
| VK_IMAGE_ASPECT_STENCIL_BIT);
|
||||
|
||||
VkAccessFlags src_access = 0;
|
||||
VkPipelineStageFlags this_stage = 0;
|
||||
|
||||
if (is_color) {
|
||||
src_access |= VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT;
|
||||
this_stage |= VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT;
|
||||
}
|
||||
|
||||
if (is_depth_stencil) {
|
||||
src_access |= VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT;
|
||||
this_stage |= VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT
|
||||
| VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT;
|
||||
}
|
||||
|
||||
src_stages |= this_stage;
|
||||
|
||||
barriers[i] = VkImageMemoryBarrier{
|
||||
.sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER,
|
||||
.pNext = nullptr,
|
||||
.srcAccessMask = src_access,
|
||||
.dstAccessMask = VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_SHADER_WRITE_BIT
|
||||
| VK_ACCESS_COLOR_ATTACHMENT_READ_BIT
|
||||
| VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT
|
||||
| VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT
|
||||
| VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT,
|
||||
.srcAccessMask = VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT |
|
||||
VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT,
|
||||
.dstAccessMask = VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_SHADER_WRITE_BIT |
|
||||
VK_ACCESS_COLOR_ATTACHMENT_READ_BIT |
|
||||
VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT |
|
||||
VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT |
|
||||
VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT,
|
||||
.oldLayout = VK_IMAGE_LAYOUT_GENERAL,
|
||||
.newLayout = VK_IMAGE_LAYOUT_GENERAL,
|
||||
.srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED,
|
||||
.dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED,
|
||||
.image = images[i],
|
||||
.subresourceRange = range,
|
||||
.subresourceRange = ranges[i],
|
||||
};
|
||||
}
|
||||
|
||||
cmdbuf.EndRenderPass();
|
||||
|
||||
cmdbuf.PipelineBarrier(src_stages,
|
||||
VK_PIPELINE_STAGE_ALL_COMMANDS_BIT,
|
||||
0,
|
||||
{},
|
||||
{},
|
||||
{barriers.data(), num_images} // Batched image barriers
|
||||
);
|
||||
cmdbuf.PipelineBarrier(VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT |
|
||||
VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT |
|
||||
VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT,
|
||||
VK_PIPELINE_STAGE_ALL_COMMANDS_BIT, 0, nullptr, nullptr,
|
||||
vk::Span(barriers.data(), num_images));
|
||||
});
|
||||
|
||||
state.renderpass = nullptr;
|
||||
num_renderpass_images = 0;
|
||||
}
|
||||
|
|
|
@ -974,7 +974,6 @@ bool Device::GetSuitability(bool requires_swapchain) {
|
|||
// Configure properties.
|
||||
VkPhysicalDeviceVulkan12Features features_1_2{};
|
||||
VkPhysicalDeviceVulkan13Features features_1_3{};
|
||||
VkPhysicalDeviceVulkan14Features features_1_4{};
|
||||
|
||||
// Configure properties.
|
||||
properties.properties = physical.GetProperties();
|
||||
|
@ -1053,13 +1052,10 @@ bool Device::GetSuitability(bool requires_swapchain) {
|
|||
if (instance_version >= VK_API_VERSION_1_2) {
|
||||
features_1_2.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES;
|
||||
features_1_3.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES;
|
||||
features_1_4.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_FEATURES;
|
||||
|
||||
features_1_2.pNext = &features_1_3;
|
||||
features_1_3.pNext = &features_1_4;
|
||||
|
||||
*next = &features_1_2;
|
||||
// next = &features_1_4.pNext;
|
||||
}
|
||||
|
||||
// Test all features we know about. If the feature is not available in core at our
|
||||
|
|
|
@ -238,6 +238,10 @@ add_executable(yuzu
|
|||
migration_dialog.h migration_dialog.cpp
|
||||
migration_worker.h
|
||||
migration_worker.cpp
|
||||
|
||||
deps_dialog.cpp
|
||||
deps_dialog.h
|
||||
deps_dialog.ui
|
||||
)
|
||||
|
||||
set_target_properties(yuzu PROPERTIES OUTPUT_NAME "eden")
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>About eden</string>
|
||||
<string>About Eden</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||
<item>
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
|
@ -52,7 +55,7 @@ QtProfileSelectionDialog::QtProfileSelectionDialog(
|
|||
Core::System& system, QWidget* parent,
|
||||
const Core::Frontend::ProfileSelectParameters& parameters)
|
||||
: QDialog(parent), profile_manager{system.GetProfileManager()} {
|
||||
outer_layout = new QVBoxLayout;
|
||||
outer_layout = new QVBoxLayout(this);
|
||||
|
||||
instruction_label = new QLabel();
|
||||
|
||||
|
@ -66,7 +69,7 @@ QtProfileSelectionDialog::QtProfileSelectionDialog(
|
|||
outer_layout->addWidget(scroll_area);
|
||||
outer_layout->addWidget(buttons);
|
||||
|
||||
layout = new QVBoxLayout;
|
||||
layout = new QVBoxLayout(scroll_area);
|
||||
tree_view = new QTreeView;
|
||||
item_model = new QStandardItemModel(tree_view);
|
||||
tree_view->setModel(item_model);
|
||||
|
@ -94,8 +97,6 @@ QtProfileSelectionDialog::QtProfileSelectionDialog(
|
|||
layout->setSpacing(0);
|
||||
layout->addWidget(tree_view);
|
||||
|
||||
scroll_area->setLayout(layout);
|
||||
|
||||
connect(tree_view, &QTreeView::clicked, this, &QtProfileSelectionDialog::SelectUser);
|
||||
connect(tree_view, &QTreeView::doubleClicked, this, &QtProfileSelectionDialog::accept);
|
||||
connect(controller_navigation, &ControllerNavigation::TriggerKeyboardEvent,
|
||||
|
@ -124,7 +125,6 @@ QtProfileSelectionDialog::QtProfileSelectionDialog(
|
|||
for (const auto& item : list_items)
|
||||
item_model->appendRow(item);
|
||||
|
||||
setLayout(outer_layout);
|
||||
SetWindowTitle(parameters);
|
||||
SetDialogPurpose(parameters);
|
||||
resize(550, 400);
|
||||
|
|
|
@ -287,7 +287,6 @@ GRenderWindow::GRenderWindow(GMainWindow* parent, EmuThread* emu_thread_,
|
|||
setAttribute(Qt::WA_AcceptTouchEvents);
|
||||
auto* layout = new QHBoxLayout(this);
|
||||
layout->setContentsMargins(0, 0, 0, 0);
|
||||
setLayout(layout);
|
||||
input_subsystem->Initialize();
|
||||
this->setMouseTracking(true);
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
</size>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>eden Configuration</string>
|
||||
<string>Eden Configuration</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
// SPDX-FileCopyrightText: 2016 Citra Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
|
@ -98,8 +101,8 @@ void ConfigureInput::Initialize(InputCommon::InputSubsystem* input_subsystem,
|
|||
};
|
||||
|
||||
for (std::size_t i = 0; i < player_tabs.size(); ++i) {
|
||||
player_tabs[i]->setLayout(new QHBoxLayout(player_tabs[i]));
|
||||
player_tabs[i]->layout()->addWidget(player_controllers[i]);
|
||||
QHBoxLayout *tab_layout = new QHBoxLayout(player_tabs[i]);
|
||||
tab_layout->addWidget(player_controllers[i]);
|
||||
connect(player_controllers[i], &ConfigureInputPlayer::Connected, [this, i](bool checked) {
|
||||
// Ensures that connecting a controller changes the number of players
|
||||
if (connected_controller_checkboxes[i]->isChecked() != checked) {
|
||||
|
@ -138,8 +141,9 @@ void ConfigureInput::Initialize(InputCommon::InputSubsystem* input_subsystem,
|
|||
[this](bool is_handheld) { UpdateDockedState(is_handheld); });
|
||||
|
||||
advanced = new ConfigureInputAdvanced(hid_core, this);
|
||||
ui->tabAdvanced->setLayout(new QHBoxLayout(ui->tabAdvanced));
|
||||
ui->tabAdvanced->layout()->addWidget(advanced);
|
||||
|
||||
QHBoxLayout* advancedLayout = new QHBoxLayout(ui->tabAdvanced);
|
||||
advancedLayout->addWidget(advanced);
|
||||
|
||||
connect(advanced, &ConfigureInputAdvanced::CallDebugControllerDialog,
|
||||
[this, input_subsystem, &hid_core, is_powered_on] {
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
// SPDX-FileCopyrightText: 2016 Citra Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include <algorithm>
|
||||
#include <memory>
|
||||
#include <utility>
|
||||
#include <QGridLayout>
|
||||
#include <QInputDialog>
|
||||
#include <QMenu>
|
||||
#include <QMessageBox>
|
||||
|
@ -13,7 +15,6 @@
|
|||
#include "common/assert.h"
|
||||
#include "common/param_package.h"
|
||||
#include "configuration/qt_config.h"
|
||||
#include "frontend_common/config.h"
|
||||
#include "hid_core/frontend/emulated_controller.h"
|
||||
#include "hid_core/hid_core.h"
|
||||
#include "hid_core/hid_types.h"
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
// SPDX-FileCopyrightText: 2018 Citra Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
|
@ -19,7 +22,7 @@
|
|||
CalibrationConfigurationDialog::CalibrationConfigurationDialog(QWidget* parent,
|
||||
const std::string& host, u16 port)
|
||||
: QDialog(parent) {
|
||||
layout = new QVBoxLayout;
|
||||
layout = new QVBoxLayout(this);
|
||||
status_label = new QLabel(tr("Communicating with the server..."));
|
||||
cancel_button = new QPushButton(tr("Cancel"));
|
||||
connect(cancel_button, &QPushButton::clicked, this, [this] {
|
||||
|
@ -30,7 +33,6 @@ CalibrationConfigurationDialog::CalibrationConfigurationDialog(QWidget* parent,
|
|||
});
|
||||
layout->addWidget(status_label);
|
||||
layout->addWidget(cancel_button);
|
||||
setLayout(layout);
|
||||
|
||||
using namespace InputCommon::CemuhookUDP;
|
||||
job = std::make_unique<CalibrationConfigurationJob>(
|
||||
|
|
|
@ -418,7 +418,7 @@ bool ConfigureProfileManager::LoadAvatarData() {
|
|||
ConfigureProfileManagerAvatarDialog::ConfigureProfileManagerAvatarDialog(QWidget* parent)
|
||||
: QDialog{parent}, avatar_list{new QListWidget(this)}, bg_color_button{new QPushButton(this)} {
|
||||
auto* main_layout = new QVBoxLayout(this);
|
||||
auto* button_layout = new QHBoxLayout(this);
|
||||
auto* button_layout = new QHBoxLayout();
|
||||
auto* select_button = new QPushButton(tr("Select"), this);
|
||||
auto* cancel_button = new QPushButton(tr("Cancel"), this);
|
||||
auto* bg_color_label = new QLabel(tr("Background Color"), this);
|
||||
|
@ -442,7 +442,6 @@ ConfigureProfileManagerAvatarDialog::ConfigureProfileManagerAvatarDialog(QWidget
|
|||
button_layout->addWidget(select_button);
|
||||
button_layout->addWidget(cancel_button);
|
||||
|
||||
this->setLayout(main_layout);
|
||||
this->setWindowTitle(tr("Select Firmware Avatar"));
|
||||
main_layout->addWidget(avatar_list);
|
||||
main_layout->addLayout(button_layout);
|
||||
|
@ -654,4 +653,4 @@ std::vector<uint8_t> ConfigureProfileManager::DecompressYaz0(const FileSys::Virt
|
|||
}
|
||||
|
||||
return output;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
#include <QDialog>
|
||||
#include <QList>
|
||||
#include <QWidget>
|
||||
#include "core/file_sys/vfs/vfs_types.h"
|
||||
|
||||
namespace Common {
|
||||
struct UUID;
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
// SPDX-FileCopyrightText: 2015 Citra Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
|
@ -28,7 +31,6 @@ ControllerDialog::ControllerDialog(Core::HID::HIDCore& hid_core_,
|
|||
QLayout* layout = new QVBoxLayout(this);
|
||||
layout->setContentsMargins(0, 0, 0, 0);
|
||||
layout->addWidget(widget);
|
||||
setLayout(layout);
|
||||
|
||||
// Configure focus so that widget is focusable and the dialog automatically forwards focus to
|
||||
// it.
|
||||
|
|
121
src/yuzu/deps_dialog.cpp
Normal file
121
src/yuzu/deps_dialog.cpp
Normal file
|
@ -0,0 +1,121 @@
|
|||
// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
#include "yuzu/deps_dialog.h"
|
||||
#include <QAbstractTextDocumentLayout>
|
||||
#include <QDesktopServices>
|
||||
#include <QIcon>
|
||||
#include <QPainter>
|
||||
#include <QTableWidget>
|
||||
#include <QTextEdit>
|
||||
#include "dep_hashes.h"
|
||||
#include "ui_deps_dialog.h"
|
||||
#include <fmt/ranges.h>
|
||||
|
||||
DepsDialog::DepsDialog(QWidget* parent)
|
||||
: QDialog(parent)
|
||||
, ui{std::make_unique<Ui::DepsDialog>()}
|
||||
{
|
||||
ui->setupUi(this);
|
||||
|
||||
constexpr size_t rows = Common::dep_hashes.size();
|
||||
ui->tableDeps->setRowCount(rows);
|
||||
|
||||
QStringList labels;
|
||||
labels << tr("Dependency") << tr("Version");
|
||||
|
||||
ui->tableDeps->setHorizontalHeaderLabels(labels);
|
||||
ui->tableDeps->horizontalHeader()->setSectionResizeMode(0, QHeaderView::ResizeMode::Stretch);
|
||||
ui->tableDeps->horizontalHeader()->setSectionResizeMode(1, QHeaderView::ResizeMode::Fixed);
|
||||
ui->tableDeps->horizontalHeader()->setMinimumSectionSize(200);
|
||||
|
||||
for (size_t i = 0; i < rows; ++i) {
|
||||
const std::string name = Common::dep_names.at(i);
|
||||
const std::string sha = Common::dep_hashes.at(i);
|
||||
const std::string url = Common::dep_urls.at(i);
|
||||
|
||||
std::string dependency = fmt::format("<a href=\"{}\">{}</a>", url, name);
|
||||
|
||||
QTableWidgetItem *nameItem = new QTableWidgetItem(QString::fromStdString(dependency));
|
||||
QTableWidgetItem *shaItem = new QTableWidgetItem(QString::fromStdString(sha));
|
||||
|
||||
ui->tableDeps->setItem(i, 0, nameItem);
|
||||
ui->tableDeps->setItem(i, 1, shaItem);
|
||||
}
|
||||
|
||||
ui->tableDeps->setItemDelegateForColumn(0, new LinkItemDelegate(this));
|
||||
}
|
||||
|
||||
DepsDialog::~DepsDialog() = default;
|
||||
|
||||
LinkItemDelegate::LinkItemDelegate(QObject *parent)
|
||||
: QStyledItemDelegate(parent)
|
||||
{}
|
||||
|
||||
void LinkItemDelegate::paint(QPainter *painter,
|
||||
const QStyleOptionViewItem &option,
|
||||
const QModelIndex &index) const
|
||||
{
|
||||
auto options = option;
|
||||
initStyleOption(&options, index);
|
||||
|
||||
QTextDocument doc;
|
||||
QString html = index.data(Qt::DisplayRole).toString();
|
||||
doc.setHtml(html);
|
||||
|
||||
options.text.clear();
|
||||
|
||||
painter->save();
|
||||
painter->translate(options.rect.topLeft());
|
||||
doc.drawContents(painter, QRectF(0, 0, options.rect.width(), options.rect.height()));
|
||||
painter->restore();
|
||||
}
|
||||
|
||||
QSize LinkItemDelegate::sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const
|
||||
{
|
||||
QStyleOptionViewItem options = option;
|
||||
initStyleOption(&options, index);
|
||||
|
||||
QTextDocument doc;
|
||||
doc.setHtml(options.text);
|
||||
doc.setTextWidth(options.rect.width());
|
||||
return QSize(doc.idealWidth(), doc.size().height());
|
||||
}
|
||||
|
||||
bool LinkItemDelegate::editorEvent(QEvent *event,
|
||||
QAbstractItemModel *model,
|
||||
const QStyleOptionViewItem &option,
|
||||
const QModelIndex &index)
|
||||
{
|
||||
if (event->type() == QEvent::MouseButtonRelease) {
|
||||
QMouseEvent *mouseEvent = static_cast<QMouseEvent *>(event);
|
||||
if (mouseEvent->button() == Qt::LeftButton) {
|
||||
QString html = index.data(Qt::DisplayRole).toString();
|
||||
QTextDocument doc;
|
||||
doc.setHtml(html);
|
||||
doc.setTextWidth(option.rect.width());
|
||||
|
||||
// this is kinda silly but it werks
|
||||
QAbstractTextDocumentLayout *layout = doc.documentLayout();
|
||||
|
||||
QPoint pos = mouseEvent->pos() - option.rect.topLeft();
|
||||
int charPos = layout->hitTest(pos, Qt::ExactHit);
|
||||
|
||||
if (charPos >= 0) {
|
||||
QTextCursor cursor(&doc);
|
||||
cursor.setPosition(charPos);
|
||||
|
||||
QTextCharFormat format = cursor.charFormat();
|
||||
|
||||
if (format.isAnchor()) {
|
||||
QString href = format.anchorHref();
|
||||
if (!href.isEmpty()) {
|
||||
QDesktopServices::openUrl(QUrl(href));
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return QStyledItemDelegate::editorEvent(event, model, option, index);
|
||||
}
|
41
src/yuzu/deps_dialog.h
Normal file
41
src/yuzu/deps_dialog.h
Normal file
|
@ -0,0 +1,41 @@
|
|||
// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <QDialog>
|
||||
#include <QStyledItemDelegate>
|
||||
#include <QTableView>
|
||||
#include <memory>
|
||||
|
||||
namespace Ui { class DepsDialog; }
|
||||
|
||||
class DepsDialog : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit DepsDialog(QWidget *parent);
|
||||
~DepsDialog() override;
|
||||
|
||||
private:
|
||||
std::unique_ptr<Ui::DepsDialog> ui;
|
||||
};
|
||||
|
||||
class LinkItemDelegate : public QStyledItemDelegate
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit LinkItemDelegate(QObject *parent = 0);
|
||||
|
||||
protected:
|
||||
void paint(QPainter *painter,
|
||||
const QStyleOptionViewItem &option,
|
||||
const QModelIndex &index) const override;
|
||||
QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const override;
|
||||
bool editorEvent(QEvent *event,
|
||||
QAbstractItemModel *model,
|
||||
const QStyleOptionViewItem &option,
|
||||
const QModelIndex &index) override;
|
||||
};
|
166
src/yuzu/deps_dialog.ui
Normal file
166
src/yuzu/deps_dialog.ui
Normal file
|
@ -0,0 +1,166 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>DepsDialog</class>
|
||||
<widget class="QDialog" name="DepsDialog">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>701</width>
|
||||
<height>500</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Eden Dependencies</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout" stretch="0,1">
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
<widget class="QLabel" name="labelLogo">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>200</width>
|
||||
<height>200</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="pixmap">
|
||||
<pixmap resource="../../dist/qt_themes/default/default.qrc">:/icons/default/256x256/eden.png</pixmap>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QLabel" name="labelEden">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string><html><head/><body><p><span style=" font-size:28pt;">Eden Dependencies</span></p></body></html></string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="labelInfo">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string><html><head/><body><p>The projects that make Eden possible</p></body></html></string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QTableWidget" name="tableDeps">
|
||||
<property name="editTriggers">
|
||||
<set>QAbstractItemView::EditTrigger::NoEditTriggers</set>
|
||||
</property>
|
||||
<property name="alternatingRowColors">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="selectionMode">
|
||||
<enum>QAbstractItemView::SelectionMode::NoSelection</enum>
|
||||
</property>
|
||||
<property name="columnCount">
|
||||
<number>2</number>
|
||||
</property>
|
||||
<attribute name="horizontalHeaderShowSortIndicator" stdset="0">
|
||||
<bool>false</bool>
|
||||
</attribute>
|
||||
<attribute name="verticalHeaderVisible">
|
||||
<bool>false</bool>
|
||||
</attribute>
|
||||
<column/>
|
||||
<column/>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QDialogButtonBox" name="buttonBox">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::StandardButton::Ok</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources>
|
||||
<include location="../../dist/qt_themes/default/default.qrc"/>
|
||||
</resources>
|
||||
<connections>
|
||||
<connection>
|
||||
<sender>buttonBox</sender>
|
||||
<signal>accepted()</signal>
|
||||
<receiver>DepsDialog</receiver>
|
||||
<slot>accept()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>20</x>
|
||||
<y>20</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>20</x>
|
||||
<y>20</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>buttonBox</sender>
|
||||
<signal>rejected()</signal>
|
||||
<receiver>DepsDialog</receiver>
|
||||
<slot>reject()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>20</x>
|
||||
<y>20</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>20</x>
|
||||
<y>20</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
</connections>
|
||||
</ui>
|
12
src/yuzu/externals/CMakeLists.txt
vendored
12
src/yuzu/externals/CMakeLists.txt
vendored
|
@ -2,7 +2,7 @@
|
|||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
# cpm
|
||||
include(CPM)
|
||||
include(CPMUtil)
|
||||
|
||||
# Disable tests/tools in all externals supporting the standard option name
|
||||
set(BUILD_TESTING OFF)
|
||||
|
@ -14,11 +14,11 @@ set(BUILD_SHARED_LIBS OFF)
|
|||
set_directory_properties(PROPERTIES EXCLUDE_FROM_ALL ON)
|
||||
|
||||
# QuaZip
|
||||
set(CPM_USE_LOCAL_PACKAGES ON)
|
||||
|
||||
CPMAddPackage(
|
||||
AddPackage(
|
||||
NAME QuaZip-Qt6
|
||||
VERSION 1.3
|
||||
URL "https://github.com/crueter/quazip-qt6/archive/f838774d63.zip"
|
||||
CUSTOM_CACHE_KEY "f838"
|
||||
REPO "crueter/quazip-qt6"
|
||||
SHA f838774d63
|
||||
HASH 9f629a438699801244a106c8df6d5f8f8d19e80df54f530a89403a10c8c4e37a6e95606bbdd307f23636961e8ce34eb37a2186d589a1f227ac9c8e2c678e326e
|
||||
SYSTEM_PACKAGE ON
|
||||
)
|
||||
|
|
|
@ -96,6 +96,7 @@ static FileSys::VirtualFile VfsDirectoryCreateFileWrapper(const FileSys::Virtual
|
|||
#include <QStandardPaths>
|
||||
#include <QStatusBar>
|
||||
#include <QString>
|
||||
#include <QStyleHints>
|
||||
#include <QSysInfo>
|
||||
#include <QUrl>
|
||||
#include <QtConcurrent/QtConcurrent>
|
||||
|
@ -159,6 +160,7 @@ static FileSys::VirtualFile VfsDirectoryCreateFileWrapper(const FileSys::Virtual
|
|||
#include "yuzu/debugger/console.h"
|
||||
#include "yuzu/debugger/controller.h"
|
||||
#include "yuzu/debugger/wait_tree.h"
|
||||
#include "yuzu/deps_dialog.h"
|
||||
#include "yuzu/discord.h"
|
||||
#include "yuzu/game_list.h"
|
||||
#include "yuzu/game_list_p.h"
|
||||
|
@ -172,6 +174,91 @@ static FileSys::VirtualFile VfsDirectoryCreateFileWrapper(const FileSys::Virtual
|
|||
#include "yuzu/util/clickable_label.h"
|
||||
#include "yuzu/vk_device_info.h"
|
||||
|
||||
#ifdef _WIN32
|
||||
#include <QPlatformSurfaceEvent>
|
||||
#include <dwmapi.h>
|
||||
#include <windows.h>
|
||||
#pragma comment(lib, "Dwmapi.lib")
|
||||
|
||||
static inline void ApplyWindowsTitleBarDarkMode(HWND hwnd, bool enabled) {
|
||||
if (!hwnd)
|
||||
return;
|
||||
BOOL val = enabled ? TRUE : FALSE;
|
||||
// 20 = Win11/21H2+
|
||||
if (SUCCEEDED(DwmSetWindowAttribute(hwnd, 20, &val, sizeof(val))))
|
||||
return;
|
||||
// 19 = pre-21H2
|
||||
DwmSetWindowAttribute(hwnd, 19, &val, sizeof(val));
|
||||
}
|
||||
|
||||
static inline void ApplyDarkToTopLevel(QWidget* w, bool on) {
|
||||
if (!w || !w->isWindow())
|
||||
return;
|
||||
ApplyWindowsTitleBarDarkMode(reinterpret_cast<HWND>(w->winId()), on);
|
||||
}
|
||||
|
||||
namespace {
|
||||
struct TitlebarFilter final : QObject {
|
||||
bool dark;
|
||||
explicit TitlebarFilter(bool is_dark) : QObject(qApp), dark(is_dark) {}
|
||||
|
||||
void setDark(bool is_dark) {
|
||||
dark = is_dark;
|
||||
}
|
||||
|
||||
void onFocusChanged(QWidget*, QWidget* now) {
|
||||
if (now)
|
||||
ApplyDarkToTopLevel(now->window(), dark);
|
||||
}
|
||||
|
||||
bool eventFilter(QObject* obj, QEvent* ev) override {
|
||||
if (auto* w = qobject_cast<QWidget*>(obj)) {
|
||||
switch (ev->type()) {
|
||||
case QEvent::WinIdChange:
|
||||
case QEvent::Show:
|
||||
case QEvent::ShowToParent:
|
||||
case QEvent::Polish:
|
||||
case QEvent::WindowStateChange:
|
||||
case QEvent::ZOrderChange:
|
||||
ApplyDarkToTopLevel(w, dark);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
return QObject::eventFilter(obj, ev);
|
||||
}
|
||||
};
|
||||
|
||||
static TitlebarFilter* g_filter = nullptr;
|
||||
static QMetaObject::Connection g_focusConn;
|
||||
|
||||
} // namespace
|
||||
|
||||
static void ApplyGlobalDarkTitlebar(bool is_dark) {
|
||||
if (!g_filter) {
|
||||
g_filter = new TitlebarFilter(is_dark);
|
||||
qApp->installEventFilter(g_filter);
|
||||
g_focusConn = QObject::connect(qApp, &QApplication::focusChanged, g_filter,
|
||||
&TitlebarFilter::onFocusChanged);
|
||||
} else {
|
||||
g_filter->setDark(is_dark);
|
||||
}
|
||||
for (QWidget* w : QApplication::topLevelWidgets())
|
||||
ApplyDarkToTopLevel(w, is_dark);
|
||||
}
|
||||
|
||||
static void RemoveTitlebarFilter() {
|
||||
if (!g_filter)
|
||||
return;
|
||||
qApp->removeEventFilter(g_filter);
|
||||
QObject::disconnect(g_focusConn);
|
||||
g_filter->deleteLater();
|
||||
g_filter = nullptr;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef YUZU_CRASH_DUMPS
|
||||
#include "yuzu/breakpad.h"
|
||||
#endif
|
||||
|
@ -299,16 +386,16 @@ static void OverrideWindowsFont() {
|
|||
}
|
||||
#endif
|
||||
|
||||
bool GMainWindow::CheckDarkMode() {
|
||||
#ifdef __unix__
|
||||
const QPalette test_palette(qApp->palette());
|
||||
const QColor text_color = test_palette.color(QPalette::Active, QPalette::Text);
|
||||
const QColor window_color = test_palette.color(QPalette::Active, QPalette::Window);
|
||||
return (text_color.value() > window_color.value());
|
||||
inline static bool isDarkMode() {
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(6, 5, 0)
|
||||
const auto scheme = QGuiApplication::styleHints()->colorScheme();
|
||||
return scheme == Qt::ColorScheme::Dark;
|
||||
#else
|
||||
// TODO: Windows
|
||||
return false;
|
||||
#endif // __unix__
|
||||
const QPalette defaultPalette;
|
||||
const auto text = defaultPalette.color(QPalette::WindowText);
|
||||
const auto window = defaultPalette.color(QPalette::Window);
|
||||
return text.lightness() > window.lightness();
|
||||
#endif // QT_VERSION
|
||||
}
|
||||
|
||||
GMainWindow::GMainWindow(bool has_broken_vulkan)
|
||||
|
@ -358,7 +445,6 @@ GMainWindow::GMainWindow(bool has_broken_vulkan)
|
|||
statusBar()->hide();
|
||||
|
||||
// Check dark mode before a theme is loaded
|
||||
os_dark_mode = CheckDarkMode();
|
||||
startup_icon_theme = QIcon::themeName();
|
||||
// fallback can only be set once, colorful theme icons are okay on both light/dark
|
||||
QIcon::setFallbackThemeName(QStringLiteral("colorful"));
|
||||
|
@ -1678,11 +1764,13 @@ void GMainWindow::ConnectMenuEvents() {
|
|||
connect_menu(ui->action_Log_Folder, &GMainWindow::OnOpenLogFolder);
|
||||
|
||||
connect_menu(ui->action_Discord, &GMainWindow::OnOpenDiscord);
|
||||
connect_menu(ui->action_Revolt, &GMainWindow::OnOpenRevolt);
|
||||
connect_menu(ui->action_Verify_installed_contents, &GMainWindow::OnVerifyInstalledContents);
|
||||
connect_menu(ui->action_Firmware_From_Folder, &GMainWindow::OnInstallFirmware);
|
||||
connect_menu(ui->action_Firmware_From_ZIP, &GMainWindow::OnInstallFirmwareFromZIP);
|
||||
connect_menu(ui->action_Install_Keys, &GMainWindow::OnInstallDecryptionKeys);
|
||||
connect_menu(ui->action_About, &GMainWindow::OnAbout);
|
||||
connect_menu(ui->action_Eden_Dependencies, &GMainWindow::OnEdenDependencies);
|
||||
}
|
||||
|
||||
void GMainWindow::UpdateMenuState() {
|
||||
|
@ -2002,7 +2090,7 @@ bool GMainWindow::LoadROM(const QString& filename, Service::AM::FrontendAppletPa
|
|||
tr("Error while loading ROM! %1", "%1 signifies a numeric error code.")
|
||||
.arg(QString::fromStdString(error_code));
|
||||
const auto description =
|
||||
tr("%1<br>Please redump your files or ask on Discord for help.",
|
||||
tr("%1<br>Please redump your files or ask on Discord/Revolt for help.",
|
||||
"%1 signifies an error string.")
|
||||
.arg(QString::fromStdString(
|
||||
GetResultStatusString(static_cast<Loader::ResultStatus>(error_id))));
|
||||
|
@ -3656,7 +3744,11 @@ void GMainWindow::OnOpenFAQ() {
|
|||
}
|
||||
|
||||
void GMainWindow::OnOpenDiscord() {
|
||||
OpenURL(QUrl(QStringLiteral("https://discord.gg/edenemu")));
|
||||
OpenURL(QUrl(QStringLiteral("https://discord.gg/HstXbPch7X")));
|
||||
}
|
||||
|
||||
void GMainWindow::OnOpenRevolt() {
|
||||
OpenURL(QUrl(QStringLiteral("https://rvlt.gg/qKgFEAbH")));
|
||||
}
|
||||
|
||||
void GMainWindow::ToggleFullscreen() {
|
||||
|
@ -4492,6 +4584,11 @@ void GMainWindow::OnAbout() {
|
|||
aboutDialog.exec();
|
||||
}
|
||||
|
||||
void GMainWindow::OnEdenDependencies() {
|
||||
DepsDialog depsDialog(this);
|
||||
depsDialog.exec();
|
||||
}
|
||||
|
||||
void GMainWindow::OnToggleFilterBar() {
|
||||
game_list->SetFilterVisible(ui->action_Show_Filter_Bar->isChecked());
|
||||
if (ui->action_Show_Filter_Bar->isChecked()) {
|
||||
|
@ -5378,15 +5475,11 @@ void GMainWindow::UpdateUITheme() {
|
|||
current_theme = default_theme;
|
||||
}
|
||||
|
||||
#ifdef _WIN32
|
||||
QIcon::setThemeName(current_theme);
|
||||
AdjustLinkColor();
|
||||
#else
|
||||
if (current_theme == QStringLiteral("default") || current_theme == QStringLiteral("colorful")) {
|
||||
QIcon::setThemeName(current_theme == QStringLiteral("colorful") ? current_theme
|
||||
: startup_icon_theme);
|
||||
QIcon::setThemeSearchPaths(QStringList(default_theme_paths));
|
||||
if (CheckDarkMode()) {
|
||||
if (isDarkMode()) {
|
||||
current_theme = QStringLiteral("default_dark");
|
||||
}
|
||||
} else {
|
||||
|
@ -5394,7 +5487,7 @@ void GMainWindow::UpdateUITheme() {
|
|||
QIcon::setThemeSearchPaths(QStringList(QStringLiteral(":/icons")));
|
||||
AdjustLinkColor();
|
||||
}
|
||||
#endif
|
||||
|
||||
if (current_theme != default_theme) {
|
||||
QString theme_uri{QStringLiteral(":%1/style.qss").arg(current_theme)};
|
||||
QFile f(theme_uri);
|
||||
|
@ -5417,6 +5510,11 @@ void GMainWindow::UpdateUITheme() {
|
|||
qApp->setStyleSheet({});
|
||||
setStyleSheet({});
|
||||
}
|
||||
|
||||
#ifdef _WIN32
|
||||
RemoveTitlebarFilter();
|
||||
ApplyGlobalDarkTitlebar(UISettings::IsDarkTheme());
|
||||
#endif
|
||||
}
|
||||
|
||||
void GMainWindow::LoadTranslation() {
|
||||
|
|
|
@ -346,6 +346,8 @@ private slots:
|
|||
void OnOpenQuickstartGuide();
|
||||
void OnOpenFAQ();
|
||||
void OnOpenDiscord();
|
||||
void OnOpenRevolt();
|
||||
|
||||
/// Called whenever a user selects a game in the game list widget.
|
||||
void OnGameListLoadFile(QString game_path, u64 program_id);
|
||||
void OnGameListOpenFolder(u64 program_id, GameListOpenTarget target,
|
||||
|
@ -395,6 +397,7 @@ private slots:
|
|||
void OnInstallFirmwareFromZIP();
|
||||
void OnInstallDecryptionKeys();
|
||||
void OnAbout();
|
||||
void OnEdenDependencies();
|
||||
void OnToggleFilterBar();
|
||||
void OnToggleStatusBar();
|
||||
void OnGameListRefresh();
|
||||
|
@ -464,7 +467,6 @@ private:
|
|||
void OpenURL(const QUrl& url);
|
||||
void LoadTranslation();
|
||||
void OpenPerGameConfiguration(u64 title_id, const std::string& file_name);
|
||||
bool CheckDarkMode();
|
||||
bool CheckFirmwarePresence();
|
||||
void SetFirmwareVersion();
|
||||
void ConfigureFilesystemProvider(const std::string& filepath);
|
||||
|
@ -555,7 +557,6 @@ private:
|
|||
QTimer update_input_timer;
|
||||
|
||||
QString startup_icon_theme;
|
||||
bool os_dark_mode = false;
|
||||
|
||||
// FS
|
||||
std::shared_ptr<FileSys::VfsFilesystem> vfs;
|
||||
|
|
|
@ -214,7 +214,10 @@
|
|||
<addaction name="action_Open_FAQ"/>
|
||||
<addaction name="separator"/>
|
||||
<addaction name="action_Discord"/>
|
||||
<addaction name="action_Revolt"/>
|
||||
<addaction name="separator"/>
|
||||
<addaction name="action_About"/>
|
||||
<addaction name="action_Eden_Dependencies"/>
|
||||
</widget>
|
||||
<addaction name="menu_File"/>
|
||||
<addaction name="menu_Emulation"/>
|
||||
|
@ -559,6 +562,25 @@
|
|||
<string>From ZIP</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="action_Revolt">
|
||||
<property name="text">
|
||||
<string>&Revolt</string>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Revolt</string>
|
||||
</property>
|
||||
<property name="statusTip">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="whatsThis">
|
||||
<string/>
|
||||
</property>
|
||||
</action>
|
||||
<action name="action_Eden_Dependencies">
|
||||
<property name="text">
|
||||
<string>&Eden Dependencies</string>
|
||||
</property>
|
||||
</action>
|
||||
</widget>
|
||||
<resources>
|
||||
<include location="yuzu.qrc"/>
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
|
@ -21,13 +24,11 @@ void LimitableInputDialog::CreateUI() {
|
|||
text_label_invalid = new QLabel(this);
|
||||
buttons = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, this);
|
||||
|
||||
auto* const layout = new QVBoxLayout;
|
||||
auto* const layout = new QVBoxLayout(this);
|
||||
layout->addWidget(text_label);
|
||||
layout->addWidget(text_entry);
|
||||
layout->addWidget(text_label_invalid);
|
||||
layout->addWidget(buttons);
|
||||
|
||||
setLayout(layout);
|
||||
}
|
||||
|
||||
void LimitableInputDialog::ConnectEvents() {
|
||||
|
|
|
@ -1,7 +1,4 @@
|
|||
#!/bin/sh
|
||||
|
||||
for i in $@; do
|
||||
SUM=`wget -q $i -O - | sha512sum`
|
||||
echo "$i"
|
||||
echo "URL_HASH SHA512=$SUM" | cut -d " " -f1-2
|
||||
done
|
||||
SUM=`wget -q https://github.com/$1/archive/$2.zip -O - | sha512sum`
|
||||
echo "$SUM" | cut -d " " -f1
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue