Browse Source

CMake: Organize files

1. Platform and toolchain files are now all under `platforms/`, with a
   single `CMake/platforms/${platform}.cmake` per platform.

2. Custom functions/macros are under `functions/`.

3. Finder modules are in `/finders`.
pull/3688/head
Gleb Mazovetskiy 4 years ago committed by Anders Jenbo
parent
commit
4848632db2
  1. 6
      .github/workflows/Linux_x86.yml
  2. 6
      .github/workflows/Windows_x64.yml
  3. 6
      .github/workflows/Windows_x86.yml
  4. 6
      .github/workflows/iOS.yml
  5. 2
      3rdParty/SDL2/CMakeLists.txt
  6. 2
      3rdParty/SDL_audiolib/CMakeLists.txt
  7. 4
      3rdParty/SDL_image/CMakeLists.txt
  8. 2
      3rdParty/asio/CMakeLists.txt
  9. 2
      3rdParty/bzip2/CMakeLists.txt
  10. 22
      3rdParty/find_steam_game/CMakeLists.txt
  11. 2
      3rdParty/libfmt/CMakeLists.txt
  12. 2
      3rdParty/libmpq/CMakeLists.txt
  13. 2
      3rdParty/libpng/CMakeLists.txt
  14. 2
      3rdParty/libsmackerdec/CMakeLists.txt
  15. 2
      3rdParty/libsodium/CMakeLists.txt
  16. 2
      3rdParty/libzt/CMakeLists.txt
  17. 2
      3rdParty/simpleini/CMakeLists.txt
  18. 2
      CMake/Dependencies.cmake
  19. 64
      CMake/Platforms.cmake
  20. 0
      CMake/finders/FindGperftools.cmake
  21. 0
      CMake/finders/FindSDL2_image.cmake
  22. 0
      CMake/finders/Findsodium.cmake
  23. 0
      CMake/functions/FetchContent_MakeAvailableExcludeFromAll.cmake
  24. 0
      CMake/functions/dependency_options.cmake
  25. 0
      CMake/functions/genex.cmake
  26. 0
      CMake/functions/git.cmake
  27. 3
      CMake/out_of_tree.cmake
  28. 0
      CMake/platforms/amiga.cmake
  29. 0
      CMake/platforms/android.cmake
  30. 0
      CMake/platforms/cpigamesh.cmake
  31. 0
      CMake/platforms/ctr/Tools3DS.cmake
  32. 0
      CMake/platforms/ctr/asio/include/errno.h
  33. 0
      CMake/platforms/ctr/asio/include/net/if.h
  34. 0
      CMake/platforms/ctr/asio/include/netdb.h
  35. 0
      CMake/platforms/ctr/asio/include/netinet/in.h
  36. 0
      CMake/platforms/ctr/asio/include/sys/ioctl.h
  37. 0
      CMake/platforms/ctr/asio/include/sys/poll.h
  38. 0
      CMake/platforms/ctr/asio/include/sys/socket.h
  39. 0
      CMake/platforms/ctr/asio/include/sys/uio.h
  40. 0
      CMake/platforms/ctr/asio/include/sys/un.h
  41. 0
      CMake/platforms/ctr/asio_defs.cmake
  42. 0
      CMake/platforms/ctr/bin2s_header.h.in
  43. 0
      CMake/platforms/ctr/modules/FindCITRO3D.cmake
  44. 0
      CMake/platforms/ctr/modules/FindCTRULIB.cmake
  45. 0
      CMake/platforms/ctr/modules/FindPNG.cmake
  46. 0
      CMake/platforms/ctr/modules/FindZLIB.cmake
  47. 0
      CMake/platforms/ctr/modules/LibFindMacros.cmake
  48. 0
      CMake/platforms/ctr/modules/try_add_imported_target.cmake
  49. 0
      CMake/platforms/gkd350h.cmake
  50. 0
      CMake/platforms/ios.cmake
  51. 0
      CMake/platforms/ios.toolchain.cmake
  52. 0
      CMake/platforms/lepus.cmake
  53. 0
      CMake/platforms/linux_i386.toolchain.cmake
  54. 0
      CMake/platforms/mingwcc.toolchain.cmake
  55. 0
      CMake/platforms/mingwcc64.toolchain.cmake
  56. 3
      CMake/platforms/n3ds.cmake
  57. 0
      CMake/platforms/retrofw.cmake
  58. 0
      CMake/platforms/rg350.cmake
  59. 2
      CMake/platforms/switch.cmake
  60. 0
      CMake/platforms/switch/asio/include/errno.h
  61. 0
      CMake/platforms/switch/asio/include/net/if.h
  62. 0
      CMake/platforms/switch/asio/include/netinet/in.h
  63. 0
      CMake/platforms/switch/asio/include/sys/uio.h
  64. 0
      CMake/platforms/switch/asio/include/sys/un.h
  65. 0
      CMake/platforms/vita.cmake
  66. 5
      CMake/switch/asio_defs.cmake
  67. 10
      CMakeLists.txt
  68. 6
      docs/building.md

6
.github/workflows/Linux_x86.yml

@ -26,13 +26,13 @@ jobs:
uses: actions/cache@v2
with:
path: build
key: linux-x86-cmake-${{ github.sha }}
restore-keys: linux-x86-cmake-
key: linux-x86-cmake-v2-${{ github.sha }}
restore-keys: linux-x86-cmake-v2-
- name: Configure CMake
shell: bash
working-directory: ${{github.workspace}}
run: cmake -S. -Bbuild -DNIGHTLY_BUILD=ON -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_TOOLCHAIN_FILE=../CMake/32bit.cmake
run: cmake -S. -Bbuild -DNIGHTLY_BUILD=ON -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_TOOLCHAIN_FILE=../CMake/platforms/linux_i386.toolchain.cmake
- name: Build
working-directory: ${{github.workspace}}

6
.github/workflows/Windows_x64.yml

@ -26,13 +26,13 @@ jobs:
uses: actions/cache@v2
with:
path: build
key: windows-x86_64-cmake-${{ github.sha }}
restore-keys: windows-x86_64-cmake-
key: windows-x86_64-cmake-v2-${{ github.sha }}
restore-keys: windows-x86_64-cmake-v2-
- name: Configure CMake
shell: bash
working-directory: ${{github.workspace}}
run: cmake -S. -Bbuild -DNIGHTLY_BUILD=ON -DCMAKE_TOOLCHAIN_FILE=../CMake/mingwcc64.cmake -DDEVILUTIONX_SYSTEM_BZIP2=OFF
run: cmake -S. -Bbuild -DNIGHTLY_BUILD=ON -DCMAKE_TOOLCHAIN_FILE=../CMake/platforms/mingwcc64.toolchain.cmake -DDEVILUTIONX_SYSTEM_BZIP2=OFF
- name: Build
working-directory: ${{github.workspace}}

6
.github/workflows/Windows_x86.yml

@ -26,13 +26,13 @@ jobs:
uses: actions/cache@v2
with:
path: build
key: windows-x86-cmake-${{ github.sha }}
restore-keys: windows-x86-cmake-
key: windows-x86-cmake-v2-${{ github.sha }}
restore-keys: windows-x86-cmake-v2-
- name: Configure CMake
shell: bash
working-directory: ${{github.workspace}}
run: cmake -S. -Bbuild -DNIGHTLY_BUILD=ON -DCMAKE_TOOLCHAIN_FILE=../CMake/mingwcc.cmake -DDEVILUTIONX_SYSTEM_BZIP2=OFF
run: cmake -S. -Bbuild -DNIGHTLY_BUILD=ON -DCMAKE_TOOLCHAIN_FILE=../CMake/platforms/mingwcc.toolchain.cmake -DDEVILUTIONX_SYSTEM_BZIP2=OFF
- name: Build
working-directory: ${{github.workspace}}

6
.github/workflows/iOS.yml

@ -24,15 +24,15 @@ jobs:
uses: actions/cache@v2
with:
path: build
key: ios-cmake-${{ github.sha }}
restore-keys: ios-cmake-
key: ios-cmake-v2-${{ github.sha }}
restore-keys: ios-cmake-v2-
- name: Configure CMake
# Use a bash shell so we can use the same syntax for environment variable
# access regardless of the host operating system
shell: bash
working-directory: ${{github.workspace}}
run: cmake -S. -Bbuild -DCMAKE_TOOLCHAIN_FILE=../CMake/ios.toolchain.cmake -DENABLE_BITCODE=0 -DPLATFORM=OS64
run: cmake -S. -Bbuild -DCMAKE_TOOLCHAIN_FILE=../CMake/platforms/ios.toolchain.cmake -DENABLE_BITCODE=0 -DPLATFORM=OS64
- name: Build
working-directory: ${{github.workspace}}

2
3rdParty/SDL2/CMakeLists.txt vendored

@ -11,7 +11,7 @@ else()
set(SDL_STATIC OFF)
endif()
include(FetchContent_MakeAvailableExcludeFromAll)
include(functions/FetchContent_MakeAvailableExcludeFromAll)
include(FetchContent)
FetchContent_Declare(SDL2
URL https://github.com/libsdl-org/SDL/archive/5056b29b0f8611b470d8b8bdb313eab628f8bd6e.tar.gz

2
3rdParty/SDL_audiolib/CMakeLists.txt vendored

@ -1,4 +1,4 @@
include(FetchContent_MakeAvailableExcludeFromAll)
include(functions/FetchContent_MakeAvailableExcludeFromAll)
if(DEVILUTIONX_STATIC_SDL_AUDIOLIB)
set(BUILD_SHARED_LIBS OFF)

4
3rdParty/SDL_image/CMakeLists.txt vendored

@ -1,4 +1,4 @@
include(dependency_options)
include(functions/dependency_options)
if(NOT DEFINED DEVILUTIONX_SYSTEM_LIBPNG)
find_package(PNG QUIET)
@ -26,7 +26,7 @@ else()
add_subdirectory(../libpng libpng)
endif()
include(FetchContent_MakeAvailableExcludeFromAll)
include(functions/FetchContent_MakeAvailableExcludeFromAll)
include(FetchContent)
if(USE_SDL1)
FetchContent_Declare(SDL_image

2
3rdParty/asio/CMakeLists.txt vendored

@ -1,4 +1,4 @@
include(FetchContent_MakeAvailableExcludeFromAll)
include(functions/FetchContent_MakeAvailableExcludeFromAll)
include(FetchContent)
FetchContent_Declare(asio

2
3rdParty/bzip2/CMakeLists.txt vendored

@ -1,4 +1,4 @@
include(FetchContent_MakeAvailableExcludeFromAll)
include(functions/FetchContent_MakeAvailableExcludeFromAll)
include(FetchContent)
FetchContent_Declare(bzip2

22
3rdParty/find_steam_game/CMakeLists.txt vendored

@ -1,11 +1,11 @@
include(FetchContent_MakeAvailableExcludeFromAll)
include(FetchContent)
FetchContent_Declare(find_steam_game
URL https://github.com/cxong/find_steam_game/archive/94e9046bcf94a655bdc051b6e6662fabd18e3f30.zip
URL_HASH MD5=c2742aff3d2a2dd162200fdab1b2b4a4
)
FetchContent_MakeAvailableExcludeFromAll(find_steam_game)
add_library(find_steam_game INTERFACE)
target_include_directories(find_steam_game INTERFACE ${find_steam_game_SOURCE_DIR})
include(functions/FetchContent_MakeAvailableExcludeFromAll)
include(FetchContent)
FetchContent_Declare(find_steam_game
URL https://github.com/cxong/find_steam_game/archive/94e9046bcf94a655bdc051b6e6662fabd18e3f30.zip
URL_HASH MD5=c2742aff3d2a2dd162200fdab1b2b4a4
)
FetchContent_MakeAvailableExcludeFromAll(find_steam_game)
add_library(find_steam_game INTERFACE)
target_include_directories(find_steam_game INTERFACE ${find_steam_game_SOURCE_DIR})

2
3rdParty/libfmt/CMakeLists.txt vendored

@ -1,4 +1,4 @@
include(FetchContent_MakeAvailableExcludeFromAll)
include(functions/FetchContent_MakeAvailableExcludeFromAll)
if(NOT WIN32 AND NOT APPLE AND NOT ${CMAKE_SYSTEM_NAME} STREQUAL FreeBSD)
# Enable POSIX extensions such as `readlink` and `ftruncate`.

2
3rdParty/libmpq/CMakeLists.txt vendored

@ -4,7 +4,7 @@ if(NOT TARGET BZip2::BZip2)
find_package(BZip2 REQUIRED)
endif()
include(FetchContent_MakeAvailableExcludeFromAll)
include(functions/FetchContent_MakeAvailableExcludeFromAll)
include(FetchContent)
FetchContent_Declare(libmpq

2
3rdParty/libpng/CMakeLists.txt vendored

@ -1,4 +1,4 @@
include(FetchContent_MakeAvailableExcludeFromAll)
include(functions/FetchContent_MakeAvailableExcludeFromAll)
if(NOT DISABLE_LTO)
# Force CMake to raise an error if INTERPROCEDURAL_OPTIMIZATION

2
3rdParty/libsmackerdec/CMakeLists.txt vendored

@ -1,4 +1,4 @@
include(FetchContent_MakeAvailableExcludeFromAll)
include(functions/FetchContent_MakeAvailableExcludeFromAll)
include(FetchContent)
FetchContent_Declare(libsmackerdec

2
3rdParty/libsodium/CMakeLists.txt vendored

@ -1,5 +1,5 @@
if(NOT DEVILUTIONX_SYSTEM_LIBSODIUM)
include(FetchContent_MakeAvailableExcludeFromAll)
include(functions/FetchContent_MakeAvailableExcludeFromAll)
set(SODIUM_MINIMAL ON)
set(SODIUM_ENABLE_BLOCKING_RANDOM OFF)

2
3rdParty/libzt/CMakeLists.txt vendored

@ -1,4 +1,4 @@
include(FetchContent_MakeAvailableExcludeFromAll)
include(functions/FetchContent_MakeAvailableExcludeFromAll)
include(FetchContent)
FetchContent_Declare(libzt

2
3rdParty/simpleini/CMakeLists.txt vendored

@ -1,4 +1,4 @@
include(FetchContent_MakeAvailableExcludeFromAll)
include(functions/FetchContent_MakeAvailableExcludeFromAll)
include(FetchContent)
FetchContent_Declare(simpleini

2
CMake/Dependencies.cmake

@ -1,6 +1,6 @@
# Options that control whether to use system dependencies or build them from source,
# and whether to link them statically.
include(dependency_options)
include(functions/dependency_options)
if(USE_SDL1)
find_package(SDL REQUIRED)

64
CMake/Platforms.cmake

@ -1,28 +1,15 @@
if(NINTENDO_SWITCH)
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/switch")
include(switch_defs)
endif()
if(VITA)
include("$ENV{VITASDK}/share/vita.cmake" REQUIRED)
include(vita_defs)
if(WIN32)
set(ASAN OFF)
set(UBSAN OFF)
set(DIST ON)
endif()
set(TARGET_PLATFORM host CACHE STRING "Target platform")
set_property(CACHE TARGET_PLATFORM PROPERTY STRINGS host retrofw rg350 gkd350h cpigamesh)
if(TARGET_PLATFORM STREQUAL "lepus")
include(lepus_defs)
elseif(TARGET_PLATFORM STREQUAL "retrofw")
include(retrofw_defs)
elseif(TARGET_PLATFORM STREQUAL "rg350")
include(rg350_defs)
elseif(TARGET_PLATFORM STREQUAL "gkd350h")
include(gkd350h_defs)
elseif(TARGET_PLATFORM STREQUAL "cpigamesh")
include(cpigamesh_defs)
if(HAIKU)
set(ASAN OFF)
set(UBSAN OFF)
endif()
if(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD|NetBSD|OpenBSD|DragonFly")
if(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD|OpenBSD|DragonFly|NetBSD")
if(${CMAKE_SYSTEM_NAME} MATCHES "NetBSD")
add_definitions(-D_NETBSD_SOURCE)
else()
@ -33,30 +20,41 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD|NetBSD|OpenBSD|DragonFly")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DO_LARGEFILE=0 -Dstat64=stat -Dlstat64=lstat -Dlseek64=lseek -Doff64_t=off_t -Dfstat64=fstat -Dftruncate64=ftruncate")
endif()
if(WIN32)
set(ASAN OFF)
set(UBSAN OFF)
set(DIST ON)
set(TARGET_PLATFORM host CACHE STRING "Target platform")
set_property(CACHE TARGET_PLATFORM PROPERTY STRINGS host retrofw rg350 gkd350h cpigamesh)
if(TARGET_PLATFORM STREQUAL "retrofw")
include(platforms/retrofw)
elseif(TARGET_PLATFORM STREQUAL "rg350")
include(platforms/rg350)
elseif(TARGET_PLATFORM STREQUAL "gkd350h")
include(platforms/gkd350h)
elseif(TARGET_PLATFORM STREQUAL "cpigamesh")
include(platforms/cpigamesh)
elseif(TARGET_PLATFORM STREQUAL "lepus")
include(platforms/lepus)
endif()
if(HAIKU)
set(ASAN OFF)
set(UBSAN OFF)
if(NINTENDO_SWITCH)
include(platforms/switch)
endif()
if(AMIGA)
include(amiga_defs)
include(platforms/amiga)
endif()
if(NINTENDO_3DS)
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMake/ctr")
include(n3ds_defs)
include(platforms/n3ds)
endif()
if(VITA)
include("$ENV{VITASDK}/share/vita.cmake" REQUIRED)
include(platforms/vita)
endif()
if(ANDROID)
include(android_defs)
include(platforms/android)
endif()
if(IOS)
include(ios_defs)
include(platforms/ios)
endif()

0
CMake/FindGperftools.cmake → CMake/finders/FindGperftools.cmake

0
CMake/FindSDL2_image.cmake → CMake/finders/FindSDL2_image.cmake

0
CMake/Findsodium.cmake → CMake/finders/Findsodium.cmake

0
CMake/FetchContent_MakeAvailableExcludeFromAll.cmake → CMake/functions/FetchContent_MakeAvailableExcludeFromAll.cmake

0
CMake/dependency_options.cmake → CMake/functions/dependency_options.cmake

0
CMake/genex.cmake → CMake/functions/genex.cmake

0
CMake/git.cmake → CMake/functions/git.cmake

3
CMake/out_of_tree.cmake

@ -1,3 +0,0 @@
if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})
message(WARNING [[In-source build detected, please eg. create a new directory and use `cmake ..`]])
endif()

0
CMake/amiga_defs.cmake → CMake/platforms/amiga.cmake

0
CMake/android_defs.cmake → CMake/platforms/android.cmake

0
CMake/cpigamesh_defs.cmake → CMake/platforms/cpigamesh.cmake

0
CMake/ctr/Tools3DS.cmake → CMake/platforms/ctr/Tools3DS.cmake

0
CMake/ctr/asio/include/errno.h → CMake/platforms/ctr/asio/include/errno.h

0
CMake/ctr/asio/include/net/if.h → CMake/platforms/ctr/asio/include/net/if.h

0
CMake/ctr/asio/include/netdb.h → CMake/platforms/ctr/asio/include/netdb.h

0
CMake/ctr/asio/include/netinet/in.h → CMake/platforms/ctr/asio/include/netinet/in.h

0
CMake/ctr/asio/include/sys/ioctl.h → CMake/platforms/ctr/asio/include/sys/ioctl.h

0
CMake/ctr/asio/include/sys/poll.h → CMake/platforms/ctr/asio/include/sys/poll.h

0
CMake/ctr/asio/include/sys/socket.h → CMake/platforms/ctr/asio/include/sys/socket.h

0
CMake/ctr/asio/include/sys/uio.h → CMake/platforms/ctr/asio/include/sys/uio.h

0
CMake/ctr/asio/include/sys/un.h → CMake/platforms/ctr/asio/include/sys/un.h

0
CMake/ctr/asio_defs.cmake → CMake/platforms/ctr/asio_defs.cmake

0
CMake/ctr/bin2s_header.h.in → CMake/platforms/ctr/bin2s_header.h.in

0
CMake/ctr/modules/FindCITRO3D.cmake → CMake/platforms/ctr/modules/FindCITRO3D.cmake

0
CMake/ctr/modules/FindCTRULIB.cmake → CMake/platforms/ctr/modules/FindCTRULIB.cmake

0
CMake/ctr/modules/FindPNG.cmake → CMake/platforms/ctr/modules/FindPNG.cmake

0
CMake/ctr/modules/FindZLIB.cmake → CMake/platforms/ctr/modules/FindZLIB.cmake

0
CMake/ctr/modules/LibFindMacros.cmake → CMake/platforms/ctr/modules/LibFindMacros.cmake

0
CMake/ctr/modules/try_add_imported_target.cmake → CMake/platforms/ctr/modules/try_add_imported_target.cmake

0
CMake/gkd350h_defs.cmake → CMake/platforms/gkd350h.cmake

0
CMake/ios_defs.cmake → CMake/platforms/ios.cmake

0
CMake/ios.toolchain.cmake → CMake/platforms/ios.toolchain.cmake

0
CMake/lepus_defs.cmake → CMake/platforms/lepus.cmake

0
CMake/32bit.cmake → CMake/platforms/linux_i386.toolchain.cmake

0
CMake/mingwcc.cmake → CMake/platforms/mingwcc.toolchain.cmake

0
CMake/mingwcc64.cmake → CMake/platforms/mingwcc64.toolchain.cmake

3
CMake/ctr/n3ds_defs.cmake → CMake/platforms/n3ds.cmake

@ -11,7 +11,8 @@ set(USE_SDL1 ON)
set(PREFILL_PLAYER_NAME ON)
#3DS libraries
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMake/ctr/modules")
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/ctr")
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/ctr/modules")
find_package(CITRO3D REQUIRED)
#additional compilation definitions

0
CMake/retrofw_defs.cmake → CMake/platforms/retrofw.cmake

0
CMake/rg350_defs.cmake → CMake/platforms/rg350.cmake

2
CMake/switch/switch_defs.cmake → CMake/platforms/switch.cmake

@ -1,3 +1,5 @@
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/switch")
set(ASAN OFF)
set(UBSAN OFF)

0
CMake/switch/asio/include/errno.h → CMake/platforms/switch/asio/include/errno.h

0
CMake/switch/asio/include/net/if.h → CMake/platforms/switch/asio/include/net/if.h

0
CMake/switch/asio/include/netinet/in.h → CMake/platforms/switch/asio/include/netinet/in.h

0
CMake/switch/asio/include/sys/uio.h → CMake/platforms/switch/asio/include/sys/uio.h

0
CMake/switch/asio/include/sys/un.h → CMake/platforms/switch/asio/include/sys/un.h

0
CMake/vita_defs.cmake → CMake/platforms/vita.cmake

5
CMake/switch/asio_defs.cmake

@ -1,5 +0,0 @@
# Enables a number of header file definitions required by ASIO
target_compile_definitions(asio INTERFACE _DEFAULT_SOURCE=ON)
# Missing headers and declarations provided by DevilutionX
target_include_directories(asio BEFORE INTERFACE ${CMAKE_CURRENT_LIST_DIR}/asio/include)

10
CMakeLists.txt

@ -22,11 +22,15 @@ if(IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/dist")
add_subdirectory(dist)
endif()
if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})
message(WARNING [[In-source build detected, please eg. create a new directory and use `cmake ..`]])
endif()
include(CMakeDependentOption)
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMake")
include(out_of_tree)
include(genex)
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMake/finders")
include(functions/genex)
DEBUG_OPTION(ASAN "Enable address sanitizer")
DEBUG_OPTION(UBSAN "Enable undefined behaviour sanitizer")
@ -92,7 +96,7 @@ include(VcPkgManifestFeatures)
# Set up the `project` early so that properties such as `TARGET_SUPPORTS_SHARED_LIBS` are defined.
if(NOT VERSION_NUM)
include(CMake/git.cmake)
include(functions/git)
get_git_tag(VERSION_NUM)
if (NOT "${VERSION_NUM}" STREQUAL "")
string(REGEX MATCH "([0-9]+\\.[0-9]+\\.[0-9]+)" VERSION_NUM ${VERSION_NUM} )

6
docs/building.md

@ -132,14 +132,14 @@ sudo apt-get install cmake gcc-mingw-w64-x86-64 g++-mingw-w64-x86-64 pkg-config-
### 32-bit
```bash
cmake -S. -Bbuild -DCMAKE_TOOLCHAIN_FILE=../CMake/mingwcc.cmake -DCMAKE_BUILD_TYPE=Release
cmake -S. -Bbuild -DCMAKE_TOOLCHAIN_FILE=../CMake/platforms/mingwcc.toolchain.cmake -DCMAKE_BUILD_TYPE=Release
cmake --build build -j $(getconf _NPROCESSORS_ONLN)
```
### 64-bit
```bash
cmake -S. -Bbuild -DCMAKE_TOOLCHAIN_FILE=../CMake/mingwcc64.cmake -DCMAKE_BUILD_TYPE=Release
cmake -S. -Bbuild -DCMAKE_TOOLCHAIN_FILE=../CMake/mingwcc64.toolchain.cmake -DCMAKE_BUILD_TYPE=Release
cmake --build build -j $(getconf _NPROCESSORS_ONLN)
```
@ -369,7 +369,7 @@ select Icons -> Information in the top menu.
- `-DCMAKE_BUILD_TYPE=Release` changed build type to release and optimize for distribution.
- `-DNONET=ON` disable network support, this also removes the need for the ASIO and Sodium.
- `-DUSE_SDL1=ON` build for SDL v1 instead of v2, not all features are supported under SDL v1, notably upscaling.
- `-DCMAKE_TOOLCHAIN_FILE=../CMake/32bit.cmake` generate 32bit builds on 64bit platforms (remember to use the `linux32` command if on Linux).
- `-DCMAKE_TOOLCHAIN_FILE=../CMake/platforms/linux_i386.toolchain..cmake` generate 32bit builds on 64bit platforms (remember to use the `linux32` command if on Linux).
### Debug builds
- `-DDEBUG=OFF` disable debug mode of the Diablo engine.

Loading…
Cancel
Save