Start renaming project to Metaforce

This commit is contained in:
Luke Street 2021-04-06 18:58:11 -04:00
parent 63a78f8753
commit d94a6eef2b
138 changed files with 247 additions and 2791 deletions

View File

@ -78,9 +78,9 @@ jobs:
- name: Upload artifacts
uses: actions/upload-artifact@v2
with:
name: urde-${{env.URDE_VERSION}}-linux-${{matrix.cc}}-x86_64
name: metaforce-${{env.METAFORCE_VERSION}}-linux-${{matrix.cc}}-x86_64
path: |
URDE-*.AppImage
Metaforce-*.AppImage
build/Binaries/*.dbg
build-macos:
@ -128,12 +128,12 @@ jobs:
- name: Deploy & codesign application
working-directory: build/Binaries
run: |
mv hecl-gui.app URDE.app
for i in visigen hecl urde crashpad_handler; do
codesign --timestamp --options runtime -s "${{secrets.MACOS_CODESIGN_IDENT}}" URDE.app/Contents/MacOS/$i
mv metaforce-gui.app Metaforce.app
for i in visigen hecl metaforce crashpad_handler; do
codesign --timestamp --options runtime -s "${{secrets.MACOS_CODESIGN_IDENT}}" Metaforce.app/Contents/MacOS/$i
done
macdeployqt URDE.app -sign-for-notarization="${{secrets.MACOS_CODESIGN_IDENT}}" -no-strip
create-dmg URDE.app --identity="${{secrets.MACOS_CODESIGN_IDENT}}"
macdeployqt Metaforce.app -sign-for-notarization="${{secrets.MACOS_CODESIGN_IDENT}}" -no-strip
create-dmg Metaforce.app --identity="${{secrets.MACOS_CODESIGN_IDENT}}"
xcrun altool -t osx -f *.dmg --primary-bundle-id com.axiodl.URDE --notarize-app \
-u "${{secrets.MACOS_ASC_USERNAME}}" -p "${{secrets.MACOS_ASC_PASSWORD}}" \
--team-id "${{secrets.MACOS_ASC_TEAM_ID}}"
@ -141,7 +141,7 @@ jobs:
- name: Upload artifacts
uses: actions/upload-artifact@v2
with:
name: urde-${{env.URDE_VERSION}}-macos-appleclang-x86_64
name: metaforce-${{env.METAFORCE_VERSION}}-macos-appleclang-x86_64
path: build/Binaries/*.dmg
build-windows-msvc:
@ -218,21 +218,21 @@ jobs:
SENTRY_AUTH_TOKEN: ${{secrets.SENTRY_AUTH_TOKEN}}
SENTRY_URL: ${{secrets.SENTRY_URL}}
run: |
& "$env:RUNNER_WORKSPACE\temp\sentry-cli.exe" upload-dif --org axiodl --project urde --include-sources `
urde.exe urde.pdb hecl.exe hecl.pdb hecl-gui.exe hecl-gui.pdb visigen.exe visigen.pdb
& "$env:RUNNER_WORKSPACE\temp\sentry-cli.exe" upload-dif --org axiodl --project metaforce --include-sources `
metaforce.exe metaforce.pdb hecl.exe hecl.pdb metaforce-gui.exe metaforce-gui.pdb visigen.exe visigen.pdb
- name: Compress PDBs
working-directory: ${{github.workspace}}/build/Binaries
run: 7z a -t7z debug.7z urde.pdb hecl.pdb hecl-gui.pdb visigen.pdb
run: 7z a -t7z debug.7z metaforce.pdb hecl.pdb metaforce-gui.pdb visigen.pdb
- name: Upload artifacts
uses: actions/upload-artifact@v2
with:
name: urde-${{env.URDE_VERSION}}-win32-msvc-x86_64
name: metaforce-${{env.METAFORCE_VERSION}}-win32-msvc-x86_64
path: |
build/Binaries/urde.exe
build/Binaries/metaforce.exe
build/Binaries/metaforce-gui.exe
build/Binaries/hecl.exe
build/Binaries/hecl-gui.exe
build/Binaries/visigen.exe
build/Binaries/crashpad_handler.exe
build/Binaries/debug.7z
@ -304,16 +304,16 @@ jobs:
- name: Compress PDBs
working-directory: ${{github.workspace}}/build/Binaries
run: 7z a -t7z debug.7z urde.pdb hecl.pdb hecl-gui.pdb visigen.pdb
run: 7z a -t7z debug.7z metaforce.pdb hecl.pdb metaforce-gui.pdb visigen.pdb
- name: Upload artifacts
uses: actions/upload-artifact@v2
with:
name: urde-${{env.URDE_VERSION}}-win32-clang-x86_64
name: metaforce-${{env.METAFORCE_VERSION}}-win32-clang-x86_64
path: |
build/Binaries/urde.exe
build/Binaries/metaforce.exe
build/Binaries/metaforce-gui.exe
build/Binaries/hecl.exe
build/Binaries/hecl-gui.exe
build/Binaries/visigen.exe
build/Binaries/crashpad_handler.exe
build/Binaries/debug.7z

View File

@ -1,137 +0,0 @@
.build:variables:
variables: &build_variables
GIT_SUBMODULE_STRATEGY: recursive
build:macos:universal:
stage: build
tags:
- macos
- arm64
variables:
<<: *build_variables
script:
- export PATH="/opt/homebrew/bin:$PATH"
- mkdir build-{arm64,x86_64}
- cd build-arm64
- >
cmake
-GNinja
-DCMAKE_BUILD_TYPE=RelWithDebInfo
-DURDE_DLPACKAGE=urde-$CI_PIPELINE_ID-macos-universal
..
- ninja urde hecl visigen
- cd ../build-x86_64
- >
cmake
-GNinja
-DCMAKE_BUILD_TYPE=RelWithDebInfo
-DCMAKE_APPLE_SILICON_PROCESSOR=x86_64
-DURDE_DLPACKAGE=urde-$CI_PIPELINE_ID-macos-universal
-DURDE_VECTOR_ISA=sse41
..
- ninja urde hecl visigen
- cd Binaries
- cp -R urde.app $CI_PROJECT_DIR/URDE.app
- cd $CI_PROJECT_DIR
- lipo -create -output URDE.app/Contents/MacOS/urde build-{x86_64,arm64}/Binaries/urde.app/Contents/MacOS/urde
- lipo -create -output URDE.app/Contents/MacOS/hecl build-{x86_64,arm64}/Binaries/urde.app/Contents/MacOS/hecl
- lipo -create -output URDE.app/Contents/MacOS/visigen build-{x86_64,arm64}/Binaries/urde.app/Contents/MacOS/visigen
- strip -S -o URDE.app/Contents/MacOS/urde URDE.app/Contents/MacOS/urde
- strip -S -o URDE.app/Contents/MacOS/hecl URDE.app/Contents/MacOS/hecl
- strip -S -o URDE.app/Contents/MacOS/visigen URDE.app/Contents/MacOS/visigen
- (if [ "${URDE_MACOS_CODESIGN_UID}" != "" ]; then codesign -s $URDE_MACOS_CODESIGN_UID --deep URDE.app; else echo "Unable to sign app bundle :("; fi);
only:
- release
- dev
artifacts:
name: "urde-$CI_PIPELINE_ID-macos-universal"
paths:
- URDE.app/
expire_in: 1 week
build:linux:appimage:
stage: build
tags:
- linux
script:
- VERSION=$CI_PIPELINE_ID ./lxd-build-appimage.sh
only:
- release
- dev
artifacts:
name: "urde-$CI_PIPELINE_ID-linux-x86_64-appimage"
paths:
- URDE-$CI_PIPELINE_ID-x86_64.AppImage
expire_in: 1 week
.build:win32: &win32_definition
stage: build
tags:
- win32
script:
- cmd.exe /c "call `"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat`" && set > %temp%\vcvars.txt"
- >
Get-Content "$env:temp\vcvars.txt" | Foreach-Object {
if ($_ -match "^(.*?)=(.*)$") {
Set-Content "env:\$($matches[1])" $matches[2]
}
}
- mkdir build
- cd build
- >
cmake
-GNinja
-DCMAKE_BUILD_TYPE=RelWithDebInfo
-DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded
-DURDE_DLPACKAGE="urde-$env:CI_PIPELINE_ID-win32-x86_64-$env:URDE_VECTOR_ISA"
-DURDE_VECTOR_ISA="$env:URDE_VECTOR_ISA"
-DLLVM_ROOT_DIR=C:\projects\deps\llvm
-DCMAKE_C_FLAGS=
-DCMAKE_CXX_FLAGS=
..
- ninja urde hecl visigen
- 'copy Binaries\urde.exe "$env:CI_PROJECT_DIR\urde.exe"'
- 'pdbcopy Binaries\urde.pdb "$env:CI_PROJECT_DIR\urde.pdb" -p'
- 'copy Binaries\hecl.exe "$env:CI_PROJECT_DIR\hecl.exe"'
- 'pdbcopy Binaries\hecl.pdb "$env:CI_PROJECT_DIR\hecl.pdb" -p'
- 'copy Binaries\visigen.exe "$env:CI_PROJECT_DIR\visigen.exe"'
- 'pdbcopy Binaries\visigen.pdb "$env:CI_PROJECT_DIR\visigen.pdb" -p'
only:
- release
- dev
artifacts:
name: "urde-$env:CI_PIPELINE_ID-win32-x86_64-$env:URDE_VECTOR_ISA"
paths:
- urde.exe
- urde.pdb
- hecl.exe
- hecl.pdb
- visigen.exe
- visigen.pdb
expire_in: 1 week
build:win32:sse41:
<<: *win32_definition
variables:
<<: *build_variables
URDE_VECTOR_ISA: sse41
build:win32:avx:
<<: *win32_definition
variables:
<<: *build_variables
URDE_VECTOR_ISA: avx
deploy:
stage: deploy
only:
- release
- dev
dependencies: []
tags:
- server
variables:
GIT_STRATEGY: none
script:
- python3 /var/lib/gitlab-runner/deploy_urde.py $CI_PIPELINE_ID $CI_COMMIT_REF_NAME

View File

@ -11,59 +11,59 @@ find_package(Git)
if (GIT_FOUND)
# make sure version information gets re-run when the current Git HEAD changes
execute_process(WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} COMMAND ${GIT_EXECUTABLE} rev-parse --git-path HEAD
OUTPUT_VARIABLE urde_git_head_filename
OUTPUT_VARIABLE metaforce_git_head_filename
OUTPUT_STRIP_TRAILING_WHITESPACE)
set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS "${urde_git_head_filename}")
set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS "${metaforce_git_head_filename}")
execute_process(WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} COMMAND ${GIT_EXECUTABLE} rev-parse --symbolic-full-name HEAD
OUTPUT_VARIABLE urde_git_head_symbolic
OUTPUT_VARIABLE metaforce_git_head_symbolic
OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process(WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
COMMAND ${GIT_EXECUTABLE} rev-parse --git-path ${urde_git_head_symbolic}
OUTPUT_VARIABLE urde_git_head_symbolic_filename
COMMAND ${GIT_EXECUTABLE} rev-parse --git-path ${metaforce_git_head_symbolic}
OUTPUT_VARIABLE metaforce_git_head_symbolic_filename
OUTPUT_STRIP_TRAILING_WHITESPACE)
set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS "${urde_git_head_symbolic_filename}")
set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS "${metaforce_git_head_symbolic_filename}")
# defines URDE_WC_REVISION
# defines METAFORCE_WC_REVISION
execute_process(WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} COMMAND ${GIT_EXECUTABLE} rev-parse HEAD
OUTPUT_VARIABLE URDE_WC_REVISION
OUTPUT_VARIABLE METAFORCE_WC_REVISION
OUTPUT_STRIP_TRAILING_WHITESPACE)
# defines URDE_WC_DESCRIBE
# defines METAFORCE_WC_DESCRIBE
execute_process(WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} COMMAND ${GIT_EXECUTABLE} describe --tag --long --dirty
OUTPUT_VARIABLE URDE_WC_DESCRIBE
OUTPUT_VARIABLE METAFORCE_WC_DESCRIBE
OUTPUT_STRIP_TRAILING_WHITESPACE)
# remove hash (and trailing "-0" if needed) from description
string(REGEX REPLACE "(-0)?-[^-]+((-dirty)?)$" "\\2" URDE_WC_DESCRIBE "${URDE_WC_DESCRIBE}")
string(REGEX REPLACE "(-0)?-[^-]+((-dirty)?)$" "\\2" METAFORCE_WC_DESCRIBE "${METAFORCE_WC_DESCRIBE}")
# defines URDE_WC_BRANCH
# defines METAFORCE_WC_BRANCH
execute_process(WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} COMMAND ${GIT_EXECUTABLE} rev-parse --abbrev-ref HEAD
OUTPUT_VARIABLE URDE_WC_BRANCH
OUTPUT_VARIABLE METAFORCE_WC_BRANCH
OUTPUT_STRIP_TRAILING_WHITESPACE)
# defines URDE_WC_DATE
# defines METAFORCE_WC_DATE
execute_process(WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} COMMAND ${GIT_EXECUTABLE} log -1 --format=%ad
OUTPUT_VARIABLE URDE_WC_DATE
OUTPUT_VARIABLE METAFORCE_WC_DATE
OUTPUT_STRIP_TRAILING_WHITESPACE)
else ()
message(STATUS "Unable to find git, commit information will not be available")
endif ()
if (URDE_WC_DESCRIBE)
string(REGEX REPLACE "v([0-9]+)\.([0-9]+)\.([0-9]+)\-([0-9]+).*" "\\1.\\2.\\3.\\4" URDE_VERSION_STRING "${URDE_WC_DESCRIBE}")
string(REGEX REPLACE "v([0-9]+)\.([0-9]+)\.([0-9]+).*" "\\1.\\2.\\3" URDE_VERSION_STRING "${URDE_VERSION_STRING}")
if (METAFORCE_WC_DESCRIBE)
string(REGEX REPLACE "v([0-9]+)\.([0-9]+)\.([0-9]+)\-([0-9]+).*" "\\1.\\2.\\3.\\4" METAFORCE_VERSION_STRING "${METAFORCE_WC_DESCRIBE}")
string(REGEX REPLACE "v([0-9]+)\.([0-9]+)\.([0-9]+).*" "\\1.\\2.\\3" METAFORCE_VERSION_STRING "${METAFORCE_VERSION_STRING}")
else ()
set(URDE_WC_DESCRIBE "UNKNOWN-VERSION")
set(URDE_VERSION_STRING "0.0.0")
set(METAFORCE_WC_DESCRIBE "UNKNOWN-VERSION")
set(METAFORCE_VERSION_STRING "0.0.0")
endif ()
string(TIMESTAMP CURRENT_YEAR "%Y")
# Add version information to CI environment variables
if(DEFINED ENV{GITHUB_ENV})
file(APPEND "$ENV{GITHUB_ENV}" "URDE_VERSION=${URDE_WC_DESCRIBE}")
file(APPEND "$ENV{GITHUB_ENV}" "METAFORCE_VERSION=${METAFORCE_WC_DESCRIBE}")
endif()
message(STATUS "URDE version set to ${URDE_WC_DESCRIBE}")
project(urde LANGUAGES C CXX ASM VERSION ${URDE_VERSION_STRING})
message(STATUS "Metaforce version set to ${METAFORCE_WC_DESCRIBE}")
project(metaforce LANGUAGES C CXX ASM VERSION ${METAFORCE_VERSION_STRING})
if (APPLE)
set(PLATFORM_NAME macos)
@ -82,8 +82,8 @@ if(APPLE AND NOT CMAKE_OSX_SYSROOT)
OUTPUT_STRIP_TRAILING_WHITESPACE)
endif()
option(URDE_CROSSCOMPILING "Don't build tools; attempt package import" OFF)
if (URDE_CROSSCOMPILING)
option(METAFORCE_CROSSCOMPILING "Don't build tools; attempt package import" OFF)
if (METAFORCE_CROSSCOMPILING)
set(CMAKE_CROSSCOMPILING On)
endif()
@ -107,19 +107,19 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/extern/sanitizers-cmake/cmake
find_package(Sanitizers)
if (CMAKE_SYSTEM_PROCESSOR STREQUAL x86_64 OR CMAKE_SYSTEM_PROCESSOR STREQUAL AMD64)
set(URDE_VECTOR_ISA "sse41" CACHE STRING "Vector ISA to build for (sse2, sse3, sse41, avx, avx2)")
set(METAFORCE_VECTOR_ISA "sse41" CACHE STRING "Vector ISA to build for (sse2, sse3, sse41, avx, avx2)")
endif ()
if(MSVC)
if(${URDE_VECTOR_ISA} STREQUAL "avx2")
if(${METAFORCE_VECTOR_ISA} STREQUAL "avx2")
add_compile_options(/arch:AVX2)
add_compile_definitions(__SSE4_1__=1)
message(STATUS "Building with AVX2 Vector ISA")
elseif(${URDE_VECTOR_ISA} STREQUAL "avx")
elseif(${METAFORCE_VECTOR_ISA} STREQUAL "avx")
add_compile_options(/arch:AVX)
add_compile_definitions(__SSE4_1__=1)
message(STATUS "Building with AVX Vector ISA")
elseif(${URDE_VECTOR_ISA} STREQUAL "sse41")
elseif(${METAFORCE_VECTOR_ISA} STREQUAL "sse41")
add_compile_definitions(__SSE4_1__=1)
# clang-cl 10 requires -msse4.1, may be fixed in newer versions?
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL Clang)
@ -132,7 +132,7 @@ if(MSVC)
if(${CMAKE_GENERATOR} MATCHES "Visual Studio*")
set(VS_OPTIONS "/MP")
set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT urde)
set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT metaforce)
endif()
# Shaddup MSVC
@ -199,22 +199,22 @@ if(MSVC)
else()
if(${CMAKE_SYSTEM_PROCESSOR} STREQUAL x86_64)
if(${URDE_VECTOR_ISA} STREQUAL "native")
if(${METAFORCE_VECTOR_ISA} STREQUAL "native")
add_compile_options(-march=native)
message(STATUS "Building with native ISA")
elseif(${URDE_VECTOR_ISA} STREQUAL "avx2")
elseif(${METAFORCE_VECTOR_ISA} STREQUAL "avx2")
add_compile_options(-mavx2)
message(STATUS "Building with AVX2 Vector ISA")
elseif(${URDE_VECTOR_ISA} STREQUAL "avx")
elseif(${METAFORCE_VECTOR_ISA} STREQUAL "avx")
add_compile_options(-mavx)
message(STATUS "Building with AVX Vector ISA")
elseif(${URDE_VECTOR_ISA} STREQUAL "sse41")
elseif(${METAFORCE_VECTOR_ISA} STREQUAL "sse41")
add_compile_options(-msse4.1)
message(STATUS "Building with SSE4.1 Vector ISA")
elseif(${URDE_VECTOR_ISA} STREQUAL "sse3")
elseif(${METAFORCE_VECTOR_ISA} STREQUAL "sse3")
add_compile_options(-msse3)
message(STATUS "Building with SSE3 Vector ISA")
elseif(${URDE_VECTOR_ISA} STREQUAL "sse2")
elseif(${METAFORCE_VECTOR_ISA} STREQUAL "sse2")
add_compile_options(-msse2)
message(STATUS "Building with SSE2 Vector ISA")
else()
@ -233,7 +233,7 @@ else()
add_compile_options(-fno-asynchronous-unwind-tables)
endif()
if(URDE_MSAN)
if(METAFORCE_MSAN)
add_compile_options($<$<COMPILE_LANGUAGE:CXX>:-stdlib=libc++> -fsanitize=memory
-fsanitize-memory-track-origins -fsanitize-recover=all)
endif()
@ -252,7 +252,7 @@ else()
if(APPLE)
add_compile_options(-Wno-error=deprecated-declarations
$<$<CONFIG:Release>:-flto=thin>)
if (URDE_ASAN)
if (METAFORCE_ASAN)
add_compile_options(-fsanitize=address -fsanitize-address-use-after-scope)
add_link_options(-fsanitize=address -fsanitize-address-use-after-scope)
endif ()
@ -456,13 +456,13 @@ if (NOT WINDOWS_STORE AND NOT NX)
find_package(Qt6Widgets QUIET PATHS ${QT_HOMEBREW_PATH})
find_package(Qt5Widgets QUIET PATHS ${QT_HOMEBREW_PATH})
if (Qt6Widgets_FOUND)
message(STATUS "Qt6 found, hecl-gui will be built")
add_subdirectory(hecl-gui)
message(STATUS "Qt6 found, metaforce-gui will be built")
add_subdirectory(metaforce-gui)
elseif(Qt5Widgets_FOUND)
message(STATUS "Qt5 found, hecl-gui will be built")
add_subdirectory(hecl-gui)
message(STATUS "Qt5 found, metaforce-gui will be built")
add_subdirectory(metaforce-gui)
else()
message(STATUS "Qt5-6 not found, hecl-gui will not be built")
message(STATUS "Qt5-6 not found, metaforce-gui will not be built")
endif()
endif()

2408
Doxyfile

File diff suppressed because it is too large Load Diff

View File

@ -63,7 +63,7 @@ elseif(UNIX)
set(URDE_PLAT_LIBS rt)
endif()
add_executable(urde WIN32
add_executable(metaforce WIN32
main.cpp ${PLAT_SRCS}
Space.hpp Space.cpp
SplashScreen.hpp SplashScreen.cpp
@ -77,13 +77,13 @@ add_executable(urde WIN32
Camera.hpp Camera.cpp
GameMode.hpp GameMode.cpp)
target_include_directories(urde PUBLIC
target_include_directories(metaforce PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_SOURCE_DIR}
${CMAKE_SOURCE_DIR}/Runtime # FIXME atdna cmake issue
${CMAKE_BINARY_DIR})
target_link_libraries(urde
target_link_libraries(metaforce
UrdeIcons
UrdeBadging
RuntimeCommon
@ -92,21 +92,21 @@ target_link_libraries(urde
kabufuda
${URDE_PLAT_LIBS})
target_atdna(urde atdna_Space.cpp Space.hpp)
target_atdna(urde atdna_ResourceBrowser.cpp ResourceBrowser.hpp)
target_atdna(urde atdna_ModelViewer.cpp ModelViewer.hpp)
target_atdna(urde atdna_ParticleEditor.cpp ParticleEditor.hpp)
target_atdna(urde atdna_InformationCenter.cpp InformationCenter.hpp)
target_atdna(urde atdna_GameMode.cpp GameMode.hpp)
target_atdna(metaforce atdna_Space.cpp Space.hpp)
target_atdna(metaforce atdna_ResourceBrowser.cpp ResourceBrowser.hpp)
target_atdna(metaforce atdna_ModelViewer.cpp ModelViewer.hpp)
target_atdna(metaforce atdna_ParticleEditor.cpp ParticleEditor.hpp)
target_atdna(metaforce atdna_InformationCenter.cpp InformationCenter.hpp)
target_atdna(metaforce atdna_GameMode.cpp GameMode.hpp)
if(COMMAND add_sanitizers)
add_sanitizers(urde)
add_sanitizers(metaforce)
endif()
if (NOT WINDOWS_STORE)
add_dependencies(urde visigen hecl)
add_dependencies(metaforce visigen hecl)
else()
set_property(TARGET urde PROPERTY VS_WINRT_COMPONENT TRUE)
set_property(TARGET metaforce PROPERTY VS_WINRT_COMPONENT TRUE)
# This should match the Package.appxmanifest
set_property(TARGET urde PROPERTY VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION "10.0.14393.0")
set_property(TARGET metaforce PROPERTY VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION "10.0.14393.0")
endif()

View File

@ -65,7 +65,7 @@ bool ProjectManager::newProject(hecl::SystemStringView path) {
saveProject();
m_vm.m_mainWindow->setTitle(fmt::format(FMT_STRING(_SYS_STR("{} - URDE {} [{}]")),
m_proj->getProjectRootPath().getLastComponent(), URDE_WC_DESCRIBE_SYS, m_vm.platformName()));
m_proj->getProjectRootPath().getLastComponent(), METAFORCE_WC_DESCRIBE_SYS, m_vm.platformName()));
m_vm.DismissSplash();
m_vm.FadeInEditors();
@ -105,7 +105,7 @@ bool ProjectManager::openProject(hecl::SystemStringView path) {
saveProject();
m_vm.m_mainWindow->setTitle(fmt::format(FMT_STRING(_SYS_STR("{} - URDE {} [{}]")),
m_proj->getProjectRootPath().getLastComponent(), URDE_WC_DESCRIBE_SYS,
m_proj->getProjectRootPath().getLastComponent(), METAFORCE_WC_DESCRIBE_SYS,
m_vm.platformName()));
m_vm.DismissSplash();
m_vm.FadeInEditors();

View File

@ -33,12 +33,12 @@ SplashScreen::SplashScreen(ViewManager& vm, specter::ViewResources& res)
, m_newProjBind(*this)
, m_openProjBind(*this)
, m_extractProjBind(*this) {
if (URDE_WC_DATE[0] != '\0' && URDE_WC_REVISION[0] != '\0' && URDE_WC_BRANCH[0] != '\0') {
if (METAFORCE_WC_DATE[0] != '\0' && METAFORCE_WC_REVISION[0] != '\0' && METAFORCE_WC_BRANCH[0] != '\0') {
m_buildInfoStr = fmt::format(FMT_STRING("{}: {}\n{}: {}\n{}: {}"),
vm.translate<locale::version>(), URDE_WC_DESCRIBE,
vm.translate<locale::branch>(), URDE_WC_BRANCH,
vm.translate<locale::commit>(), URDE_WC_REVISION/*,
vm.translate<locale::date>(), URDE_WC_DATE*/);
vm.translate<locale::version>(), METAFORCE_WC_DESCRIBE,
vm.translate<locale::branch>(), METAFORCE_WC_BRANCH,
vm.translate<locale::commit>(), METAFORCE_WC_REVISION/*,
vm.translate<locale::date>(), METAFORCE_WC_DATE*/);
}
m_openProjBind.m_openRecentMenuRoot.m_text = vm.translate<locale::recent_projects>();
m_textColorClear[3] = 0.0;

View File

@ -303,7 +303,8 @@ void ViewManager::init(boo::IApplication* app) {
m_pipelineConv = hecl::NewPipelineConverter(m_mainBooFactory);
hecl::conv = m_pipelineConv.get();
m_mainPlatformName = m_mainBooFactory->platformName();
m_mainWindow->setTitle(fmt::format(FMT_STRING(_SYS_STR("URDE {} [{}]")), URDE_WC_DESCRIBE_SYS, m_mainPlatformName));
m_mainWindow->setTitle(
fmt::format(FMT_STRING(_SYS_STR("Metaforce {} [{}]")), METAFORCE_WC_DESCRIBE_SYS, m_mainPlatformName));
m_mainCommandQueue = m_mainWindow->getCommandQueue();
m_viewResources.init(m_mainBooFactory, &m_fontCache, &m_themeData, pixelFactor);
InitializeIcons(m_viewResources);

View File

@ -17,7 +17,7 @@ static void AthenaExc(athena::error::Level level, const char* file, const char*,
}
namespace urde {
static logvisor::Module Log{"URDE"};
static logvisor::Module Log{"Metaforce"};
static hecl::SystemString CPUFeatureString(const zeus::CPUInfo& cpuInf) {
hecl::SystemString features;
@ -128,11 +128,11 @@ static void SetupBasics(bool logging) {
auto result = zeus::validateCPU();
if (!result.first) {
#if _WIN32 && !WINDOWS_STORE
std::wstring msg = fmt::format(FMT_STRING(L"ERROR: This build of URDE requires the following CPU features:\n{}\n"),
std::wstring msg = fmt::format(FMT_STRING(L"ERROR: This build of Metaforce requires the following CPU features:\n{}\n"),
urde::CPUFeatureString(result.second));
MessageBoxW(nullptr, msg.c_str(), L"CPU error", MB_OK | MB_ICONERROR);
#else
fmt::print(stderr, FMT_STRING("ERROR: This build of URDE requires the following CPU features:\n{}\n"),
fmt::print(stderr, FMT_STRING("ERROR: This build of Metaforce requires the following CPU features:\n{}\n"),
urde::CPUFeatureString(result.second));
#endif
exit(1);
@ -144,9 +144,9 @@ static void SetupBasics(bool logging) {
atSetExceptionHandler(AthenaExc);
#if SENTRY_ENABLED
hecl::Runtime::FileStoreManager fileMgr{_SYS_STR("sentry-native-urde")};
hecl::Runtime::FileStoreManager fileMgr{_SYS_STR("sentry-native-metaforce")};
hecl::SystemUTF8Conv cacheDir{fileMgr.getStoreRoot()};
logvisor::RegisterSentry("urde", URDE_WC_DESCRIBE, cacheDir.c_str());
logvisor::RegisterSentry("metaforce", METAFORCE_WC_DESCRIBE, cacheDir.c_str());
#endif
}
@ -165,12 +165,12 @@ int main(int argc, const boo::SystemChar** argv)
#endif
{
if (argc > 1 && !hecl::StrCmp(argv[1], _SYS_STR("--dlpackage"))) {
fmt::print(FMT_STRING("{}\n"), URDE_DLPACKAGE);
fmt::print(FMT_STRING("{}\n"), METAFORCE_DLPACKAGE);
return 100;
}
SetupBasics(IsClientLoggingEnabled(argc, argv));
hecl::Runtime::FileStoreManager fileMgr{_SYS_STR("urde")};
hecl::Runtime::FileStoreManager fileMgr{_SYS_STR("metaforce")};
hecl::CVarManager cvarMgr{fileMgr};
hecl::CVarCommons cvarCmns{cvarMgr};
@ -203,9 +203,9 @@ int main(int argc, const boo::SystemChar** argv)
hecl::SetCpuCountOverride(argc, argv);
urde::Application appCb(fileMgr, cvarMgr, cvarCmns);
int ret = boo::ApplicationRun(boo::IApplication::EPlatformType::Auto, appCb, _SYS_STR("urde"), _SYS_STR("URDE"), argc,
argv, appCb.getGraphicsApi(), appCb.getSamples(), appCb.getAnisotropy(),
appCb.getDeepColor(), appCb.getTargetFrameTime(), false);
int ret = boo::ApplicationRun(boo::IApplication::EPlatformType::Auto, appCb, _SYS_STR("metaforce"),
_SYS_STR("Metaforce"), argc, argv, appCb.getGraphicsApi(), appCb.getSamples(),
appCb.getAnisotropy(), appCb.getDeepColor(), appCb.getTargetFrameTime(), false);
// printf("IM DYING!!\n");
return ret;
}

View File

@ -17,13 +17,13 @@ BEGIN
BLOCK "000004b0"
BEGIN
VALUE "CompanyName", "AxioDL"
VALUE "FileDescription", "URDE"
VALUE "FileVersion", "@URDE_WC_DESCRIBE@"
VALUE "FileDescription", "Metaforce"
VALUE "FileVersion", "@METAFORCE_WC_DESCRIBE@"
VALUE "LegalCopyright", "Copyright (C) 2015-@CURRENT_YEAR@ AxioDL Team"
VALUE "InternalName", "urde"
VALUE "OriginalFilename", "urde.exe"
VALUE "ProductName", "URDE"
VALUE "ProductVersion", "@URDE_WC_DESCRIBE@"
VALUE "InternalName", "metaforce"
VALUE "OriginalFilename", "metaforce.exe"
VALUE "ProductName", "Metaforce"
VALUE "ProductVersion", "@METAFORCE_WC_DESCRIBE@"
END
END
BLOCK "VarFileInfo"

View File

@ -1,6 +1,6 @@
The MIT License
Copyright (c) 2015-2018 URDE Contributors
Copyright (c) 2015-2021 Metaforce Contributors
Original Authors: Jack Andersen and Phillip "Antidote" Stephens
Permission is hereby granted, free of charge, to any person obtaining a copy

View File

@ -1,9 +1,11 @@
## URDE
## Metaforce
#### Formerly known as URDE
**Status:** Metroid Prime 1 In-Game (all retail GC & Wii versions)
**Official Discord Channel:** https://discord.gg/AMBVFuf
![URDE screenshot](assets/urde-screen1.png)
![Metaforce screenshot](assets/urde-screen1.png)
### Download
Precompiled builds of the command-line extraction utility (`hecl`) with embedded dataspec libraries are available at https://releases.axiodl.com. This will give you intermediate dumps of original formats as *blender* and *yaml* representations.
@ -20,8 +22,8 @@ Everything else is much too experimental to make portable/stable release builds
* Extract ISO: `hecl extract [path].iso -o mp1`
* `mp1` can be substituted with the directory name of your choice
* Repackage game for URDE: `cd mp1; hecl package`
* Run URDE: `urde mp1/out`
* Repackage game for Metaforce: `cd mp1; hecl package`
* Run Metaforce: `urde mp1/out`
### Usage (Wii versions)
@ -29,11 +31,11 @@ NFS files dumped from Metroid Prime Trilogy on Wii U VC can be used directly wit
* Extract ISO or NFS: `hecl extract [path].[iso/nfs] -o mpt`
* `mpt` can be substituted with the directory name of your choice
* Repackage game for URDE: `cd mpt; hecl package MP1`
* Repackage game for Metaforce: `cd mpt; hecl package MP1`
* The `MP1` parameter is important here.
* Run URDE: `urde mpt/out`
* Run Metaforce: `urde mpt/out`
#### URDE options (non-exhaustive)
#### Metaforce options (non-exhaustive)
* `-l`: Enable console logging
* `--warp [worldid] [areaid]`: Warp to a specific world/area. Example: `--warp 2 2`
@ -68,15 +70,15 @@ NFS files dumped from Metroid Prime Trilogy on Wii U VC can be used directly wit
### Prep Directions
```sh
git clone --recursive https://github.com/AxioDL/urde.git
mkdir urde-build
cd urde-build
git clone --recursive https://github.com/AxioDL/metaforce.git
mkdir metaforce-build
cd metaforce-build
```
### Update Directions
```sh
cd urde
cd metaforce
git pull
git submodule update --recursive
```
@ -88,15 +90,15 @@ For Windows, it's recommended to use Visual Studio. See below.
#### ninja (Windows/macOS/Linux)
```sh
cd urde-build
cmake -DCMAKE_BUILD_TYPE=Debug -G Ninja ../urde
cd metaforce-build
cmake -DCMAKE_BUILD_TYPE=Debug -G Ninja ../metaforce
ninja
```
#### CMake options
- Build release optimized (better runtime performance): `-DCMAKE_BUILD_TYPE=Release`
- Use clang+lld (faster linking): `-DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++`
- Optimize for current CPU (resulting binaries are not portable): `-DURDE_VECTOR_ISA=native`
- Optimize for current CPU (resulting binaries are not portable): `-DMetaforce_VECTOR_ISA=native`
#### CLion (Windows/macOS/Linux)
*(main development / debugging IDE)*
@ -115,17 +117,17 @@ Configure the desired CMake targets to build in the *Projects* area of the IDE.
Verify all required VS packages are installed from the above **Build Prerequisites** section.
Open the `urde` directory in Visual Studio (imports CMake configuration).
Open the `metaforce` directory in Visual Studio (imports CMake configuration).
MSVC and clang-cl configurations should import automatically.
#### Xcode (macOS)
```sh
cmake -G Xcode ../urde
cmake -G Xcode ../metaforce
```
Then open `urde.xcodeproj`
Then open `metaforce.xcodeproj`
#### Optional Debug Models
We provide custom debug models for use to visualize certain aspects of the game such as lighting, in order to use
@ -135,4 +137,4 @@ existing HECL project (assuming paths are relative), then run the the following
```sh
hecl package MP1/URDE
```
This will cook and package the debug models and will automatically enable rendering of lights in a debug build of URDE.
This will cook and package the debug models and will automatically enable rendering of lights in a debug build of Metaforce.

View File

@ -7,9 +7,8 @@ chmod +x linuxdeploy-$(uname -m).AppImage linuxdeploy-plugin-qt-$(uname -m).AppI
# Build AppImage
mkdir -p appdir/usr/{bin,share/{applications,icons/hicolor}}
cp build/Binaries/{hecl,hecl-gui,urde,visigen} appdir/usr/bin
strip -S appdir/usr/bin/{hecl,hecl-gui,urde,visigen}
cp -r Editor/platforms/freedesktop/{16x16,32x32,48x48,64x64,128x128,256x256,512x512,1024x1024} appdir/usr/share/icons/hicolor
cp Editor/platforms/freedesktop/urde.desktop appdir/usr/share/applications
sed -i 's/Exec=.*/Exec=hecl-gui/' appdir/usr/share/applications/urde.desktop
VERSION="$URDE_VERSION" ./linuxdeploy-$(uname -m).AppImage --appdir appdir --plugin qt --output appimage
cp build/Binaries/{hecl,metaforce-gui,metaforce,visigen} appdir/usr/bin
strip -S appdir/usr/bin/{hecl,metaforce-gui,metaforce,visigen}
cp -r metaforce-gui/platforms/freedesktop/{16x16,32x32,48x48,64x64,128x128,256x256,512x512,1024x1024} appdir/usr/share/icons/hicolor
cp metaforce-gui/platforms/freedesktop/metaforce.desktop appdir/usr/share/applications
VERSION="$METAFORCE_VERSION" ./linuxdeploy-$(uname -m).AppImage --appdir appdir --plugin qt --output appimage

View File

@ -1,7 +1,7 @@
#!/bin/bash -ex
cd build/Binaries
for f in hecl hecl-gui urde visigen; do
for f in hecl metaforce-gui metaforce visigen; do
objcopy --only-keep-debug --compress-debug-sections=zlib $f $f.dbg
done
strip -S hecl hecl-gui urde visigen
sentry-cli upload-dif --org axiodl --project urde {hecl,hecl-gui,urde,visigen}{,.dbg} --include-sources
strip -S hecl metaforce-gui metaforce visigen
sentry-cli upload-dif --org axiodl --project metaforce {hecl,metaforce-gui,metaforce,visigen}{,.dbg} --include-sources

View File

@ -1,8 +1,8 @@
#!/bin/bash -ex
cd build/Binaries/hecl-gui.app/Contents/MacOS
for f in hecl hecl-gui urde visigen; do
cd build/Binaries/metaforce-gui.app/Contents/MacOS
for f in hecl metaforce-gui metaforce visigen; do
dsymutil $f
done
strip -S hecl hecl-gui urde visigen crashpad_handler
sentry-cli upload-dif --org axiodl --project urde {hecl,hecl-gui,urde,visigen}{,.dSYM} --include-sources
strip -S hecl metaforce-gui metaforce visigen crashpad_handler
sentry-cli upload-dif --org axiodl --project metaforce {hecl,metaforce-gui,metaforce,visigen}{,.dSYM} --include-sources
rm -r -- *.dSYM

View File

@ -1,18 +0,0 @@
add_executable(mkqticon mkqticon.c)
target_link_libraries(mkqticon ${PNG_LIBRARIES} ${ZLIB_LIBRARIES})
target_include_directories(mkqticon PRIVATE ${PNG_INCLUDE_DIR} ${ZLIB_INCLUDE_DIR})
macro(declare_qticon_target)
add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/hecl-gui/platforms/freedesktop/mainicon_qt.bin
COMMAND $<TARGET_FILE:mkqticon>
ARGS ${CMAKE_BINARY_DIR}/hecl-gui/platforms/freedesktop/mainicon_qt.bin
DEPENDS
${CMAKE_SOURCE_DIR}/hecl-gui/platforms/freedesktop/128x128/apps/hecl.png
${CMAKE_SOURCE_DIR}/hecl-gui/platforms/freedesktop/64x64/apps/hecl.png
${CMAKE_SOURCE_DIR}/hecl-gui/platforms/freedesktop/48x48/apps/hecl.png
${CMAKE_SOURCE_DIR}/hecl-gui/platforms/freedesktop/32x32/apps/hecl.png
${CMAKE_SOURCE_DIR}/hecl-gui/platforms/freedesktop/16x16/apps/hecl.png
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/hecl-gui/platforms/freedesktop
COMMENT "Generating mainicon_qt.bin")
bintoc(mainicon_qt.cpp ${CMAKE_BINARY_DIR}/hecl-gui/platforms/freedesktop/mainicon_qt.bin MAINICON_QT)
endmacro()

View File

@ -1,33 +0,0 @@
#include "winver.h"
#define IDI_ICON1 101
IDI_ICON1 ICON DISCARDABLE "mainicon.ico"
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,0,0,0
PRODUCTVERSION 1,0,0,0
FILEFLAGS 0x0L
FILEFLAGSMASK 0x3fL
FILEOS 0x00040004L
FILETYPE 0x1L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "000004b0"
BEGIN
VALUE "CompanyName", "Antidote / Jackoalan"
VALUE "FileDescription", "HECL"
VALUE "FileVersion", "BETA"
VALUE "LegalCopyright", "Copyright (C) 2015-2018 Antidote / Jackoalan"
VALUE "InternalName", "hecl"
VALUE "OriginalFilename", "hecl.exe"
VALUE "ProductName", "HECL"
VALUE "ProductVersion", "BETA"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x0, 1200
END
END

View File

@ -283,7 +283,7 @@ int main(int argc, const char** argv)
#endif
{
if (argc > 1 && !hecl::StrCmp(argv[1], _SYS_STR("--dlpackage"))) {
fmt::print(FMT_STRING("{}\n"), URDE_DLPACKAGE);
fmt::print(FMT_STRING("{}\n"), METAFORCE_DLPACKAGE);
return 100;
}
@ -313,7 +313,7 @@ int main(int argc, const char** argv)
#if SENTRY_ENABLED
hecl::Runtime::FileStoreManager fileMgr{_SYS_STR("sentry-native-hecl")};
hecl::SystemUTF8Conv cacheDir{fileMgr.getStoreRoot()};
logvisor::RegisterSentry("hecl", URDE_WC_DESCRIBE, cacheDir.c_str());
logvisor::RegisterSentry("hecl", METAFORCE_WC_DESCRIBE, cacheDir.c_str());
#endif
/* Basic usage check */

View File

@ -2,11 +2,11 @@
###############################################################
# Uses LXD to create an Ubuntu focal container and produce #
# a reasonably portable AppImage of URDE. #
# a reasonably portable AppImage of Metaforce. #
###############################################################
VERSION=${VERSION:-local}
CONTAINER_NAME=urde-ci
CONTAINER_NAME=metaforce-ci
# Set up container, deleting existing if necessary
if lxc info $CONTAINER_NAME >& /dev/null
@ -19,7 +19,7 @@ lxc init ubuntu:20.04 $CONTAINER_NAME
lxc file push - $CONTAINER_NAME/root/dobuild.sh <<END
set -e
# URDE build script for Ubuntu 20.04 LTS (Focal)
# Metaforce build script for Ubuntu 20.04 LTS (Focal)
# Install build dependencies
apt update
@ -36,27 +36,26 @@ curl -OL https://github.com/encounter/linuxdeploy-plugin-qt/releases/download/co
chmod +x linuxdeploy-$(uname -m).AppImage linuxdeploy-plugin-qt-$(uname -m).AppImage
# Cleanup
rm -rf urde{-build,-appdir,}
rm -rf metaforce{-build,-appdir,}
# Clone repository
git clone https://github.com/AxioDL/urde.git --recursive
git clone https://github.com/AxioDL/metaforce.git --recursive
# Build
mkdir -p urde{-build,-appdir}
pushd urde-build
mkdir -p metaforce{-build,-appdir}
pushd metaforce-build
cmake -GNinja -DCMAKE_BUILD_TYPE=MinSizeRel -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ \
-DURDE_DLPACKAGE=urde-$VERSION-linux-$(uname -m) -DURDE_VECTOR_ISA=sse41 \
/urde
ninja hecl hecl-gui urde visigen
/metaforce
ninja hecl metaforce-gui metaforce visigen
popd
mkdir -p /urde-appdir/usr/{bin,share/{applications,icons/hicolor}}
cp /urde-build/Binaries/{hecl,hecl-gui,urde,visigen} /urde-appdir/usr/bin
strip -s /urde-appdir/usr/bin/{hecl,hecl-gui,urde,visigen}
cp -r /urde/Editor/platforms/freedesktop/{16x16,32x32,48x48,64x64,128x128,256x256,512x512,1024x1024} /urde-appdir/usr/share/icons/hicolor
cp /urde/Editor/platforms/freedesktop/urde.desktop /urde-appdir/usr/share/applications
sed -i 's/Exec=.*/Exec=hecl-gui/' /urde-appdir/usr/share/applications/urde.desktop
VERSION=$VERSION /linuxdeploy-$(uname -m).AppImage --appdir /urde-appdir --plugin qt --output appimage
mkdir -p /metaforce-appdir/usr/{bin,share/{applications,icons/hicolor}}
cp /metaforce-build/Binaries/{hecl,metaforce-gui,metaforce,visigen} /metaforce-appdir/usr/bin
strip -s /metaforce-appdir/usr/bin/{hecl,metaforce-gui,metaforce,visigen}
cp -r /metaforce/Editor/platforms/freedesktop/{16x16,32x32,48x48,64x64,128x128,256x256,512x512,1024x1024} /metaforce-appdir/usr/share/icons/hicolor
cp /metaforce/Editor/platforms/freedesktop/metaforce.desktop /metaforce-appdir/usr/share/applications
sed -i 's/Exec=.*/Exec=metaforce-gui/' /metaforce-appdir/usr/share/applications/metaforce.desktop
VERSION=$VERSION /linuxdeploy-$(uname -m).AppImage --appdir /metaforce-appdir --plugin qt --output appimage
END
# Start container

View File

@ -26,7 +26,7 @@ set(BUILD_SHARED_LIBS OFF CACHE BOOL "")
set(QUAZIP_INSTALL OFF CACHE BOOL "")
add_subdirectory(quazip)
add_executable(hecl-gui WIN32 MACOSX_BUNDLE
add_executable(metaforce-gui WIN32 MACOSX_BUNDLE
#ArgumentEditor.cpp
#ArgumentEditor.hpp
#ArgumentEditor.ui
@ -59,7 +59,7 @@ add_executable(hecl-gui WIN32 MACOSX_BUNDLE
${QUAZIP_SRCS}
)
target_compile_definitions(hecl-gui PRIVATE
target_compile_definitions(metaforce-gui PRIVATE
# Disable implicit conversions from ASCII to QString.
-DQT_NO_CAST_FROM_ASCII
-DQT_NO_CAST_TO_ASCII
@ -97,23 +97,23 @@ else ()
Qt5::Xml)
# Check for static linking
if (WIN32)
get_target_property(HECL_RUNTIME_LIBRARY hecl-gui MSVC_RUNTIME_LIBRARY)
if (NOT "${HECL_RUNTIME_LIBRARY}" MATCHES "DLL$")
get_target_property(_MSVC_RUNTIME_LIBRARY metaforce-gui MSVC_RUNTIME_LIBRARY)
if (NOT "${_MSVC_RUNTIME_LIBRARY}" MATCHES "DLL$")
list(APPEND Qt_LIBS Qt5::QWindowsIntegrationPlugin)
endif ()
endif ()
endif ()
target_link_libraries(hecl-gui PRIVATE
target_link_libraries(metaforce-gui PRIVATE
${Qt_LIBS}
hecl-light
zeus
QuaZip::QuaZip)
target_include_directories(hecl-gui PRIVATE quazip/quazip)
target_compile_definitions(hecl-gui PRIVATE QUAZIP_STATIC=1)
target_include_directories(metaforce-gui PRIVATE quazip/quazip)
target_compile_definitions(metaforce-gui PRIVATE QUAZIP_STATIC=1)
if (APPLE)
target_sources(hecl-gui PRIVATE
target_sources(metaforce-gui PRIVATE
MacOSSystemVersion.hpp
MacOSSystemVersion.mm
)
@ -121,40 +121,40 @@ if (APPLE)
PROPERTIES COMPILE_FLAGS -fobjc-arc
)
find_library(FOUNDATION_LIBRARY Foundation)
target_link_libraries(hecl-gui PRIVATE ${FOUNDATION_LIBRARY})
target_link_libraries(metaforce-gui PRIVATE ${FOUNDATION_LIBRARY})
elseif ("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux")
target_link_libraries(hecl-gui PRIVATE
target_link_libraries(metaforce-gui PRIVATE
dl
pthread
)
endif ()
if (WIN32)
target_sources(hecl-gui PRIVATE
platforms/win/hecl-gui.manifest
platforms/win/hecl-gui.rc
target_sources(metaforce-gui PRIVATE
platforms/win/metaforce-gui.manifest
platforms/win/metaforce-gui.rc
)
target_link_libraries(hecl-gui PRIVATE
target_link_libraries(metaforce-gui PRIVATE
Version)
elseif (APPLE)
set_target_properties(hecl-gui PROPERTIES
set_target_properties(metaforce-gui PROPERTIES
MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/platforms/mac/Info.plist"
)
target_sources(hecl-gui PRIVATE platforms/mac/mainicon.icns)
target_sources(metaforce-gui PRIVATE platforms/mac/mainicon.icns)
set_source_files_properties(platforms/mac/mainicon.icns PROPERTIES
MACOSX_PACKAGE_LOCATION Resources
)
add_custom_command(
TARGET hecl-gui POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:urde> $<TARGET_FILE_DIR:hecl-gui>
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:hecl> $<TARGET_FILE_DIR:hecl-gui>
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:visigen> $<TARGET_FILE_DIR:hecl-gui>
TARGET metaforce-gui POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:urde> $<TARGET_FILE_DIR:metaforce-gui>
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:hecl> $<TARGET_FILE_DIR:metaforce-gui>
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:visigen> $<TARGET_FILE_DIR:metaforce-gui>
DEPENDS urde hecl visigen
)
if (NOT "${SENTRY_DSN}" STREQUAL "")
add_custom_command(
TARGET hecl-gui POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:crashpad_handler> $<TARGET_FILE_DIR:hecl-gui>
TARGET metaforce-gui POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:crashpad_handler> $<TARGET_FILE_DIR:metaforce-gui>
DEPENDS crashpad_handler
)
endif()
@ -162,12 +162,12 @@ endif ()
add_subdirectory(platforms/freedesktop)
declare_qticon_target()
target_sources(hecl-gui PRIVATE mainicon_qt.cpp)
target_sources(metaforce-gui PRIVATE mainicon_qt.cpp)
if (COMMAND add_sanitizers)
add_sanitizers(hecl-gui)
add_sanitizers(metaforce-gui)
endif ()
if (NOT MSVC)
target_compile_options(hecl-gui PRIVATE -Wno-misleading-indentation)
target_compile_options(metaforce-gui PRIVATE -Wno-misleading-indentation)
endif ()

View File

Before

Width:  |  Height:  |  Size: 1.1 MiB

After

Width:  |  Height:  |  Size: 1.1 MiB

View File

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View File

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB