Explorar o código

Updated README-cmake.md with build instructions for several platforms

Sam Lantinga hai 3 meses
pai
achega
8feb21a1d1
Modificáronse 2 ficheiros con 37 adicións e 22 borrados
  1. 7 5
      docs/INTRO-cmake.md
  2. 30 17
      docs/README-cmake.md

+ 7 - 5
docs/INTRO-cmake.md

@@ -27,17 +27,19 @@ target_link_libraries(hello PRIVATE SDL3::SDL3)
 
 Build:
 ```sh
-cmake .
-cmake --build .
+cmake -S . -B build
+cmake --build build
 ```
 
 Run:
-- On Windows the executable is in the Debug directory:
+- On Windows the executable is in the build Debug directory:
 ```sh
-./Debug/hello
+cd build/Debug
+./hello
 ``` 
-- On other platforms the executable is in the current directory:
+- On other platforms the executable is in the build directory:
 ```sh
+cd build
 ./hello
 ```
 

+ 30 - 17
docs/README-cmake.md

@@ -6,7 +6,7 @@ The CMake build system is supported on the following platforms:
 
 * FreeBSD
 * Linux
-* Microsoft Visual C
+* Microsoft Visual Studio
 * MinGW and Msys
 * macOS, iOS, tvOS, and visionOS with support for XCode
 * Android
@@ -20,42 +20,55 @@ The CMake build system is supported on the following platforms:
 * QNX 7.x/8.x
 * RiscOS
 
-## Building SDL
+## Building SDL on Windows
 
-Assuming the source tree of SDL is located at `~/sdl`,
-this will configure and build SDL in the `~/build` directory:
+Assuming you're in the SDL source directory, building and installing to C:/SDL can be done with:
 ```sh
-cmake -S ~/sdl -B ~/build
-cmake --build ~/build
+cmake -S . -B build
+cmake --build build --config RelWithDebInfo
+cmake --install build --config RelWithDebInfo --prefix C:/SDL
 ```
 
-Installation can be done using:
+## Building SDL on UNIX
+
+SDL will build with very few dependencies, but for full functionality you should install the packages detailed in [README-linux.md](README-linux.md).
+
+Assuming you're in the SDL source directory, building and installing to /usr/local can be done with:
 ```sh
-cmake --install ~/build --prefix /usr/local        # '--install' requires CMake 3.15, or newer
+cmake -S . -B build
+cmake --build build
+sudo cmake --install build --prefix /usr/local
 ```
 
-This will install SDL to /usr/local.
+## Building SDL on macOS
+
+Assuming you're in the SDL source directory, building and installing to ~/SDL can be done with:
+```sh
+cmake -S . -B build -DSDL_FRAMEWORK=ON -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64"
+cmake --build build
+cmake --install build --prefix ~/SDL
+```
 
-### Building SDL tests
+## Building SDL tests
 
 You can build the SDL test programs by adding `-DSDL_TESTS=ON` to the first cmake command above:
 ```sh
-cmake -S ~/sdl -B ~/build -DSDL_TEST_LIBRARY=ON -DSDL_TESTS=ON
+cmake -S . -B build -DSDL_TESTS=ON
 ```
-and then building normally. In this example, the test programs will be built and can be run from `~/build/tests/`.
+and then building normally. The test programs will be built and can be run from `build/test/`.
 
-### Building SDL examples
+## Building SDL examples
 
 You can build the SDL example programs by adding `-DSDL_EXAMPLES=ON` to the first cmake command above:
 ```sh
-cmake -S ~/sdl -B ~/build -DSDL_EXAMPLES=ON
+cmake -S . -B build -DSDL_EXAMPLES=ON
 ```
-and then building normally. In this example, the example programs will be built and can be run from `~/build/examples/`.
+and then building normally. The example programs will be built and can be run from `build/examples/`.
 
 ## Including SDL in your project
 
 SDL can be included in your project in 2 major ways:
-- using a system SDL library, provided by your (*nix) distribution or a package manager
+- using a system SDL library, provided by your (UNIX) distribution or a package manager
 - using a vendored SDL library: this is SDL copied or symlinked in a subfolder.
 
 The following CMake script supports both, depending on the value of `MYGAME_VENDORED`.
@@ -181,7 +194,7 @@ Only shared frameworks are supported, no static ones.
 
 #### Platforms
 
-Use `-DCMAKE_PLATFORM_NAME=<value>` to configure the platform. CMake can target only one platform at a time.
+Use `-DCMAKE_SYSTEM_NAME=<value>` to configure the platform. CMake can target only one platform at a time.
 
 | Apple platform  | `CMAKE_SYSTEM_NAME` value |
 |-----------------|---------------------------|