8.9 KiB
Development setup
Common Requirements
- PowerShell
- powershell-7 is recommended, it's support Windows,macOS,Linux
- How to Install:
- Quick Install
- macOS, Ubuntu, ArchLinux: you can simply run
install-pwsh.sh
in axmol root directory [Recommended
] - win10+, system installed PowerShell 5.x should works, but you need run command
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Bypass -Force
to allow run powershell script file
- macOS, Ubuntu, ArchLinux: you can simply run
- Manually Install: installing-powershell or download from github release
- Quick Install
Prerequisites
- Enter
axmol
root directory - Run
pwsh setup.ps1
, restart the console after it has finished for environment variables to take effect - Ensure C/C++ compiler toolset installed on your host machine
- Windows: visual studio 2022 with desktop workflow
- macOS: xcode14.2
- Linux: GCC(G++)
Creating A New Project
Using a powershell console window, an example of a command to generate a new project is as follows:
axmol new -p YOUR.UNIQUE.ID -d PROJECT_PATH -l [cpp|lua] [--portrait] PROJECT_NAME
Type axmol new --help
at the command line for more options you can pass to axmol new
Examples:
- Cpp:
axmol new -p org.axmol.hellocpp -d D:\dev\projects\ -l cpp --portrait HelloCpp
- Lua:
axmol new -p org.axmol.hellolua -d D:\dev\projects\ -l lua --portrait HelloLua
Quick build your new project by axmol build
for all target platforms [Recommended
]
The axmol build
command will auto setup general depended toolsets, so you can simply build your project for all platform targets, i.e.
- win32:
axmol build -p win32
can runs on Windows with vs2022 installed - winuwp:
axmol build -p winuwp
can runs on Windows with vs2022 installed - linux:
axmol build
can runs on Linux with g++ installed - osx:
axmol build -p osx -a x64
can runs on macOS with xcode13~14.2 installed - android:
axmol build -p android -a arm64
can runs on Windows,Linux,macOS and script will auto setup android sdk - ios:
axmol build -p ios -a x64
can runs on macOS with xcode13~14.2 installed - tvos:
axmol build -p tvos -a x64
can runs on macOS with xcode13~14.2 installed - wasm:
axmol build -p wasm
can runs on Windows, Linux, macOS
Quick build engine for host targets?
Goto axmol root directory, double click or run build.ps1
without any parameters, it will build HelloCpp
by default
Quick build a test project e.g. 'cpp-tests'?
Using a powershell console window, goto axmol\tests\<testdir e.g. 'cpp-tests'>
directory, performpwsh ../../build.ps1 -p android -a arm64
, it will build cpp-tests
for android.
Manually build with cmake
Windows (Visual Studio)
-
Install CMake 3.27.4+
-
Install Visual Studio 2022 (VS2019 should be support, but VS2022 is recommended)
-
Create a new project as shown here
-
In a console window, navigate into the root directory of the project you created in the previous step
-
Generate the relevant Visual Studio project using the cmake command:
cmake -S SOURCE_DIR -B BUILD_DIR -G VISUAL_STUDIO_VERSION_STRING -A [Win32|x64]
For example, say
SOURCE_DIR
is the current path"."
, andBUILD_DIR
(out-of-source build directory) is named"build"
:a) C++ 20:
- for 32 bit Visual Studio 2019:
cmake -S . -B build -G "Visual Studio 16 2019" -A Win32
- for 64 bit Visual Studio 2019:
cmake -S . -B build -G "Visual Studio 16 2019" -A x64
- for 32 bit Visual Studio 2022:
cmake -S . -B build -G "Visual Studio 17 2022" -A Win32
- for 64 bit Visual Studio 2022:
cmake -S . -B build -G "Visual Studio 17 2022" -A x64
b) C++17 - add
-DCMAKE_CXX_STANDARD=17
for C++17 on your command line like: cmake -S . -B build-DCMAKE_CXX_STANDARD=17
-G "Visual Studio 17 2022" -A x64 - for 32 bit Visual Studio 2019:
-
Use Visual Studio to open the newly created solution file. For example,
./build/ProjectName.sln
Windows UWP (Visual Studio 2022), because microsoft limit, only support C++17
cmake -B build_uwp -DCMAKE_SYSTEM_NAME=WindowsStore "-DCMAKE_SYSTEM_VERSION=10.0" "-DAX_VS_DEPLOYMENT_TARGET=10.0.17763.0"
Creating the Visual Studio solution for all axmol test projects (Win/UWP)
- Perform steps 1.-6. or the Windows UWP step above (if not done)
- Open the solution (".\build\axmol.sln" or ".\build_uwp\axmol.sln") in Visual Studio and build any of the test projects via the IDE.
Improve 'Visual Studio' workflow, support linking with engine prebuilt libs
Android (Android Studio)
- Install Android Studio 2022.3.1+
- When starting Android Studio for the first time, it will guide you to install the SDK and other tools, so ensure that you do install them.
- Start Android and choose [Open an existing Android Studio Project] and select your project. For example, the existing cpp-test project located in
axmol\tests\cpp-tests\proj.android
- Start Android Studio and Open [Tools][SDKManager], then switch to
SDK Tools
, check theShow Package Details
, choose the following tools and click the buttonApply
to install them:- Android SDK Platform 33
- Android Gradle Plugin (AGP) 8.1.1
- Android SDK Build-Tools 33.0.1 match with AGP, refer to: https://developer.android.com/studio/releases/gradle-plugin
- Gradle 8.3
- NDK r23c
- CMake 3.22.1+
- Wait for
Gradle sync
finish. - Note: If you use non-sdk provided CMake edition, you will need to download
ninja
from https://github.com/ninja-build/ninja/releases, and copyninja.exe
to cmake's bin directory
Android Studio (without Android Studio)
- Download command-tools from https://developer.android.com/studio#command-tools, for example: https://dl.google.com/android/repository/commandlinetools-win-9477386_latest.zip
- Install Android devtools (for example in windows)
# unzip command-tools at D:\dev\adt\
# Install android devtools
cd D:\dev\adt\
mkdir sdk
.\cmdline-tools\bin\sdkmanager.bat --verbose --sdk_root=D:\dev\adt\sdk "platform-tools" "cmdline-tools;latest" "platforms;android-33" "build-tools;30.0.3" "cmake;3.22.1" "ndk;23.2.8568313"
set ANDROID_HOME=D:\dev\adt\sdk
# Goto xxx\proj.android
.\gradlew.bat assembleRelease -PPROP_BUILD_TYPE=cmake -PPROP_APP_ABI=arm64-v8a --parallel --info
iOS, tvOS and macOS
-
Ensure xcode12+ & cmake3.21+ are installed, install cmake command line support:
sudo "/Applications/CMake.app/Contents/bin/cmake-gui" --install
-
Create a new project as shown here
-
In a console window, navigate into the root directory of the project you created in the previous step
-
Execute the following command
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
-
Generate the relevant xcode project using one of the following commands:
- for ios arm64:
cmake -S . -B build -GXcode -DCMAKE_TOOLCHAIN_FILE=$AX_ROOT/1k/ios.cmake -DPLAT=iOS
- for ios simulator x86_64:
cmake -S . -B build -GXcode -DCMAKE_TOOLCHAIN_FILE=$AX_ROOT/1k/ios.cmake -DPLAT=iOS -DARCHS=x64
- for tvos arm64:
cmake -S . -B build -GXcode -DCMAKE_TOOLCHAIN_FILE=$AX_ROOT/1k/ios.cmake -DPLATF=tvOS
- for tvos simulator x86_64:
cmake -S . -B build -GXcode -DCMAKE_TOOLCHAIN_FILE=$AX_ROOT/1k/ios.cmake -DPLATF=tvOS -DARCHS=x64
- for macos x86_64(Intel)
cmake -S . -B build -GXcode -DCMAKE_OSX_ARCHITECTURES=x86_64
- for macos arm64(M1)
cmake -S . -B build -GXcode -DCMAKE_OSX_ARCHITECTURES=arm64
- for ios arm64:
-
After cmake finishes generating, you can open the xcode project at
build
folder and run cpp-tests or other test targets. -
Notes
- The code signing is required to run the ios/tvos app on your device, just change the bundle identifier until the auto manage signing is solved
- axmol only provides aarm64, x86_64 prebuilt libraries for ios/tvos
Linux (VSCode)
- run
pwsh ./setup.ps1
- Open axmol source folder with vscode
- Install C++, CMake extensions for vscode
- vscode will auto prompt you to choose toolset for building, just select gcc match with your system installed default gcc
i.e.# check gcc version gcc -v
gcc version 11.3.0 (Ubuntu 11.3.0-1ubuntu1~22.04)
- vscode will run cmake config automatically, after done, click
build
in taskbar, you can also choose specific target to build and run
Notes: if you needs debug by vscode, remember ensure choose CMake: [Debug]
in vscode taskbar