diff --git a/.github/workflows/avara-beta.yml b/.github/workflows/avara-beta.yml index 9694f69f..bdfce1d9 100644 --- a/.github/workflows/avara-beta.yml +++ b/.github/workflows/avara-beta.yml @@ -35,7 +35,7 @@ jobs: max_releases: 1 macOS: name: MacOS - runs-on: macos-13 + runs-on: macos-15 steps: - name: install dependencies run: | diff --git a/.github/workflows/avara-ci.yml b/.github/workflows/avara-ci.yml index cb63abf9..e326faa6 100644 --- a/.github/workflows/avara-ci.yml +++ b/.github/workflows/avara-ci.yml @@ -60,7 +60,7 @@ jobs: max_releases: 1 macOS: name: macOS - runs-on: macos-13 + runs-on: macos-15 steps: - name: install dependencies run: | @@ -70,9 +70,9 @@ jobs: brew install googletest - uses: actions/checkout@v4 - name: Run headless tests - run: make tests + run: make -j4 mactests - name: make macdist - run: make -j4 clean macdist + run: make -j4 macdist - name: deploy main nightly if: startsWith(github.repository_owner, 'avaraline') && endsWith(github.ref, 'main') uses: WebFreak001/deploy-nightly@v1.0.1 diff --git a/Avara.xcodeproj/project.pbxproj b/Avara.xcodeproj/project.pbxproj index 091dc9b5..5cd89f60 100644 --- a/Avara.xcodeproj/project.pbxproj +++ b/Avara.xcodeproj/project.pbxproj @@ -2215,9 +2215,10 @@ isa = PBXNativeTarget; buildConfigurationList = E517F052299713990036B206 /* Build configuration list for PBXNativeTarget "AvaraTests" */; buildPhases = ( - E2DCC6552BDE0D1B00D70C49 /* Embed Frameworks */, + E573B9452EE1CC9B0086D426 /* Update GitVersion.h */, E517F048299713990036B206 /* Sources */, E517F049299713990036B206 /* Frameworks */, + E2DCC6552BDE0D1B00D70C49 /* Embed Frameworks */, E517F04A299713990036B206 /* CopyFiles */, ); buildRules = ( @@ -2353,6 +2354,25 @@ shellPath = /bin/sh; shellScript = "RESOURCEDIR=\"$TARGET_BUILD_DIR/$UNLOCALIZED_RESOURCES_FOLDER_PATH\"\nrm \"$RESOURCEDIR\"/levels/*.r\nrm \"$RESOURCEDIR\"/rsrc/Avara.r\n"; }; + E573B9452EE1CC9B0086D426 /* Update GitVersion.h */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + name = "Update GitVersion.h"; + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "GIT_HASH=`/usr/bin/git describe --always --dirty` \ngrep -q $GIT_HASH src/util/GitVersion.h || (echo \"#define GIT_VERSION \\\"$GIT_HASH\\\"\" > src/util/GitVersion.h)\n"; + }; E5C57BC3298997B6008740F4 /* Update GitVersion.h */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; @@ -2910,12 +2930,19 @@ CLANG_CXX_LANGUAGE_STANDARD = "c++17"; CODE_SIGN_STYLE = Manual; EXCLUDED_ARCHS = x86_64; - FRAMEWORK_SEARCH_PATHS = /Library/Frameworks; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + /Library/Frameworks, + ); HEADER_SEARCH_PATHS = ( "vendor/**", /opt/homebrew/include, /usr/local/include, ); + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); LIBRARY_SEARCH_PATHS = ( "$(inherited)", /opt/homebrew/lib, @@ -2937,12 +2964,19 @@ CLANG_CXX_LANGUAGE_STANDARD = "c++17"; CODE_SIGN_STYLE = Manual; EXCLUDED_ARCHS = x86_64; - FRAMEWORK_SEARCH_PATHS = /Library/Frameworks; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + /Library/Frameworks, + ); HEADER_SEARCH_PATHS = ( "vendor/**", /opt/homebrew/include, /usr/local/include, ); + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); LIBRARY_SEARCH_PATHS = ( "$(inherited)", /opt/homebrew/lib, @@ -3082,7 +3116,11 @@ "$(LOCAL_LIBRARY_DIR)/Frameworks", ); GENERATE_INFOPLIST_FILE = YES; - HEADER_SEARCH_PATHS = "vendor/**"; + HEADER_SEARCH_PATHS = ( + "vendor/**", + /opt/homebrew/include, + /usr/local/include, + ); INFOPLIST_FILE = platform/macos/Info.plist; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.action-games"; INFOPLIST_KEY_NSHumanReadableCopyright = ""; @@ -3092,7 +3130,12 @@ "$(inherited)", "@executable_path/../Frameworks", ); - LIBRARY_SEARCH_PATHS = "$(inherited)"; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + /opt/homebrew/lib, + /usr/local/lib, + ); + MACOSX_DEPLOYMENT_TARGET = 10.13; MARKETING_VERSION = 1.0; OTHER_CFLAGS = ( "$(inherited)", @@ -3124,7 +3167,11 @@ "$(LOCAL_LIBRARY_DIR)/Frameworks", ); GENERATE_INFOPLIST_FILE = YES; - HEADER_SEARCH_PATHS = "vendor/**"; + HEADER_SEARCH_PATHS = ( + "vendor/**", + /opt/homebrew/include, + /usr/local/include, + ); INFOPLIST_FILE = platform/macos/Info.plist; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.action-games"; INFOPLIST_KEY_NSHumanReadableCopyright = ""; @@ -3134,7 +3181,12 @@ "$(inherited)", "@executable_path/../Frameworks", ); - LIBRARY_SEARCH_PATHS = "$(inherited)"; + LIBRARY_SEARCH_PATHS = ( + "$(inherited)", + /opt/homebrew/lib, + /usr/local/lib, + ); + MACOSX_DEPLOYMENT_TARGET = 10.13; MARKETING_VERSION = 1.0; OTHER_CFLAGS = ( "$(inherited)", diff --git a/Makefile b/Makefile index 834c0747..4e093ab7 100644 --- a/Makefile +++ b/Makefile @@ -121,6 +121,13 @@ macapp: ONLY_ACTIVE_ARCH=NO \ CONFIGURATION_BUILD_DIR=$(BUILD_DIR) +mactests: + xcodebuild -configuration Debug -scheme AvaraTests \ + -IDEBuildOperationMaxNumberOfConcurrentCompileTasks=$(JOBS) \ + -derivedDataPath $(BUILD_DIR)/DerivedData \ + CONFIGURATION_BUILD_DIR=$(BUILD_DIR) + $(BUILD_DIR)/AvaraTests + macdist: macapp cd $(BUILD_DIR) && zip $(ZIPFLAGS) MacAvara.zip Avara.app && cd ..