Skip to content

Commit 9ca0b2a

Browse files
committed
Fix xrCore build on Linux
1 parent 91b08a1 commit 9ca0b2a

File tree

12 files changed

+3076
-7
lines changed

12 files changed

+3076
-7
lines changed

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,3 +65,7 @@ patch/
6565
imgui.ini
6666
git_version.h
6767
changelog.txt
68+
69+
#CLion
70+
cmake-build-debug/
71+
cmake-build-release/

CMakeLists.txt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,11 @@ if (IXRAY_ASAN)
5151
endif()
5252

5353
# Configure NuGet
54-
include("cmake/nuget.cmake")
54+
if (WIN32)
55+
include("cmake/windows/nuget.cmake")
56+
else()
57+
include("cmake/linux/nuget.cmake")
58+
endif()
5559

5660
# Download API from GitHub Releases
5761
include("cmake/github.cmake")

cmake/linux/Packages.config

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<packages>
3+
<!-- Sound libs -->
4+
<package id="ImeSense.Packages.LibOgg" version="1.3.5.4" targetFramework="native" />
5+
<package id="ImeSense.Packages.LibVorbis" version="1.3.7.4" targetFramework="native" />
6+
<package id="ImeSense.Packages.OpenALSoft" version="1.23.1.1" targetFramework="native" />
7+
8+
<!-- DirectX libs -->
9+
<package id="directxmath" version="2022.12.12.1" targetFramework="native" />
10+
<package id="directxmesh_desktop_win10" version="2023.4.28.1" targetFramework="native" />
11+
<package id="Microsoft.DXSDK.D3DX" version="9.29.952.8" targetFramework="native" />
12+
<package id="directxtex_desktop_2019" version="2023.10.31.1" targetFramework="native" />
13+
14+
<!-- ImeSence libs -->
15+
<package id="ImeSense.Packages.LuaJIT" version="2.1.0-beta3" targetFramework="native" />
16+
<package id="ImeSense.Packages.Zlib" version="1.2.13.1" targetFramework="native" />
17+
<package id="ImeSense.Packages.OneTbb.Runtimes.linux-x64 " version="2024.3.26-open" targetFramework="native" />
18+
<package id="ImeSense.Packages.Sdl.Runtimes.linux-x64" version="2024.3.16-open" targetFramework="native" />
19+
<package id="ImeSense.Packages.LibTheora" version="1.1.1.3" targetFramework="native" />
20+
<package id="ImeSense.Packages.FreeType" version="2.13.2" targetFramework="native" />
21+
<package id="ImeSense.Packages.FreeImage.WinMerge" version="2023.8.19-open" targetFramework="native" />
22+
<package id="ImeSense.Packages.GameNetworkingSockets.Vcpkg.Runtimes.win-x86" version="1.4.1" targetFramework="native" />
23+
<package id="ImeSense.Packages.GameNetworkingSockets.Vcpkg.Runtimes.win-x64" version="1.4.1" targetFramework="native" />
24+
25+
<!-- IXR libs -->
26+
<package id="IXRay.Packages.Nvtt" version="2020.12.21-open" targetFramework="native" />
27+
</packages>

cmake/linux/nuget.cmake

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
# Nuget entry
2+
find_program(NUGET_COMMAND nuget)
3+
if(NOT NUGET_COMMAND)
4+
message("NuGet not found in PATH!")
5+
message("Downloading NuGet...")
6+
if(NOT EXISTS "${CMAKE_BINARY_DIR}/dep/nuget")
7+
execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_BINARY_DIR}/dep/nuget")
8+
file(DOWNLOAD https://dist.nuget.org/win-x86-commandline/latest/nuget.exe
9+
"${CMAKE_BINARY_DIR}/dep/nuget/nuget.exe")
10+
endif()
11+
set(NUGET_COMMAND "${CMAKE_BINARY_DIR}/dep/nuget/nuget.exe")
12+
message("NuGet downloaded: ${NUGET_COMMAND}")
13+
else()
14+
message("NuGet found: ${NUGET_COMMAND}")
15+
endif()
16+
17+
# Download packages
18+
execute_process(
19+
COMMAND ${NUGET_COMMAND} restore ${CMAKE_CURRENT_SOURCE_DIR}/cmake/linux/Packages.config -SolutionDirectory ${CMAKE_BINARY_DIR}
20+
)
21+
22+
# Helper
23+
set(NUGET_PACKAGE_PLATFORM x64)
24+
set(NUGET_PACKAGE_PLATFORM_EX x86_64)
25+
26+
# SDL3
27+
set(CORE_SDL3_PLATFORM linux-${NUGET_PACKAGE_PLATFORM})
28+
29+
set(CORE_SDL3 ${CMAKE_BINARY_DIR}/packages/ImeSense.Packages.Sdl.Runtimes.${CORE_SDL3_PLATFORM}.2024.3.16-open/)
30+
31+
# Optick
32+
set(CORE_OPT ${CMAKE_BINARY_DIR}/packages/ImeSense.Packages.Optick.1.4.0/)
33+
34+
# DxMath
35+
set(CORE_DXMATH ${CMAKE_BINARY_DIR}/packages/directxmath.2022.12.12.1/)
36+
37+
# Theora
38+
set(ENGINE_THRA ${CMAKE_BINARY_DIR}/packages/ImeSense.Packages.LibTheora.1.1.1.3/)
39+
40+
# OGG
41+
set(SND_OGG ${CMAKE_BINARY_DIR}/packages/ImeSense.Packages.LibOgg.1.3.5.4/)
42+
43+
# OpenAL
44+
set(SND_OAL ${CMAKE_BINARY_DIR}/packages/ImeSense.Packages.OpenALSoft.1.23.1.1/)
45+
46+
# Vorbis
47+
set(SND_VOB ${CMAKE_BINARY_DIR}/packages/ImeSense.Packages.LibVorbis.1.3.7.4/)
48+
49+
# FreeType
50+
set(ENGINE_FREETYPE ${CMAKE_BINARY_DIR}/packages/ImeSense.Packages.FreeType.2.13.2/)
51+
52+
# DxMath
53+
set(CORE_DXMATH ${CMAKE_BINARY_DIR}/packages/directxmath.2022.12.12.1/)
54+
55+
# Steam Sockets
56+
set(STEAM_SOCKETS_PATH ${CMAKE_BINARY_DIR}/packages/ImeSense.Packages.GameNetworkingSockets.Vcpkg.Runtimes.win-${NUGET_PACKAGE_PLATFORM}.1.4.1)
57+
58+
# LuaJIT
59+
set(LUAJIT ${CMAKE_BINARY_DIR}/packages/ImeSense.Packages.LuaJIT.2.1.0-beta3/)
60+
61+
# FreeImage
62+
set(FREEIMAGE ${CMAKE_BINARY_DIR}/packages/ImeSense.Packages.FreeImage.WinMerge.2023.8.19-open)
63+
64+
# Nuget
65+
set(NVTT ${CMAKE_BINARY_DIR}/packages/IXRay.Packages.Nvtt.2020.12.21-open/)
66+
67+
# TBB
68+
set(IXR_TBB_SDK ${CMAKE_BINARY_DIR}/packages/ImeSense.Packages.OneTbb.Runtimes.linux-x64.2024.3.26-open/)
69+
set(IXR_TBB_INC ${IXR_TBB_SDK}build/native/include/)
70+
71+
set(IXR_TBB_LIB ${IXR_TBB_SDK}runtimes/linux-x64/native/Release/)
72+
set(IXR_TBB_BIN ${IXR_TBB_SDK})

0 commit comments

Comments
 (0)