Skip to content

Commit 1b6c7d5

Browse files
rework dependency handling
1 parent 928aecf commit 1b6c7d5

5 files changed

Lines changed: 40 additions & 80 deletions

File tree

CMakeLists.txt

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -46,30 +46,6 @@ endif()
4646
# Externals dependencies
4747
#
4848
if (NOT LAUNCHER_ONLY)
49-
add_subdirectory (${EXTERNAL_DIR}/fmt)
50-
add_subdirectory (${EXTERNAL_DIR}/imgui)
51-
add_subdirectory (${EXTERNAL_DIR}/glfw)
52-
add_subdirectory (${EXTERNAL_DIR}/spdlog)
53-
add_subdirectory (${EXTERNAL_DIR}/glm)
54-
add_subdirectory (${EXTERNAL_DIR}/entt)
55-
add_subdirectory (${EXTERNAL_DIR}/assimp)
56-
add_subdirectory (${EXTERNAL_DIR}/stduuid)
57-
add_subdirectory (${EXTERNAL_DIR}/yaml-cpp)
58-
add_subdirectory (${EXTERNAL_DIR}/SPIRV-headers)
59-
add_subdirectory (${EXTERNAL_DIR}/SPIRV-Tools)
60-
add_subdirectory (${EXTERNAL_DIR}/glslang)
61-
add_subdirectory (${EXTERNAL_DIR}/SPIRV-Cross)
62-
add_subdirectory (${EXTERNAL_DIR}/gtest)
63-
add_subdirectory (${EXTERNAL_DIR}/VulkanMemoryAllocator)
64-
add_subdirectory (${EXTERNAL_DIR}/tlsf)
65-
add_subdirectory (${EXTERNAL_DIR}/rapidhash)
66-
add_subdirectory (${EXTERNAL_DIR}/CLI11)
67-
68-
set (CMAKE_PREFIX_PATH
69-
${CMAKE_PREFIX_PATH}
70-
${EXTERNAL_DIR}/Vulkan-Headers/build/install/share/cmake
71-
)
72-
add_subdirectory (${EXTERNAL_DIR}/Vulkan-Loader)
7349

7450
## Setup Dependencies
7551

Scripts/BuildEngine.ps1

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,6 @@ function Build([string]$configuration, [int]$VsVersion , [bool]$runBuild) {
113113
# Check the system name
114114
if ($IsLinux) {
115115
$systemName = "Linux"
116-
$cMakeGenerator
117116
}
118117
elseif ($IsMacOS) {
119118
$systemName = "Darwin"
@@ -171,11 +170,11 @@ function Build([string]$configuration, [int]$VsVersion , [bool]$runBuild) {
171170
$cMakeCacheVariableOverride += ' -DCMAKE_CONFIGURATION_TYPES=Debug;Release '
172171
}
173172
"Linux" {
174-
$cMakeGenerator = "-G `"Unix Makefiles`""
173+
$cMakeGenerator = "-G Ninja"
175174

176175
# Set Linux build compiler
177-
$env:CC = '/usr/bin/gcc-11'
178-
$env:CXX = '/usr/bin/g++-11'
176+
$env:CC = 'gcc'
177+
$env:CXX = 'g++'
179178
}
180179
"Darwin" {
181180
$cMakeGenerator = "-G `"Xcode`""

Scripts/Shared.ps1

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,9 @@ function Find-ClangFormat () {
214214
}
215215

216216
function Setup-ShaderCCompilerTool () {
217+
if($IsLinux) {
218+
return
219+
}
217220
$repoConfiguration = Get-RepositoryConfiguration
218221
$repositoryToolPath = $repoConfiguration.Paths.Tools
219222

__externals/externals.cmake

Lines changed: 33 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,29 @@
11
# Packages
22
#
3-
set(EXTERNAL_INCLUDE_DIRS
4-
${EXTERNAL_DIR}/Vulkan-Headers/build/install/include
5-
${EXTERNAL_DIR}/fmt/include
6-
${EXTERNAL_DIR}/glm/glm
7-
${EXTERNAL_DIR}/imgui/src
8-
${EXTERNAL_DIR}/tlsf/src
9-
${EXTERNAL_DIR}/rapidhash/src
10-
${EXTERNAL_DIR}/spdlog/include
11-
${EXTERNAL_DIR}/glfw/include
12-
${EXTERNAL_DIR}/entt
13-
${EXTERNAL_DIR}/assimp/include
14-
${EXTERNAL_DIR}/stduuid/include
15-
${EXTERNAL_DIR}/yaml-cpp/include
16-
${EXTERNAL_DIR}/SPIRV-headers
17-
${EXTERNAL_DIR}/SPIRV-Tools
18-
${EXTERNAL_DIR}/glslang
19-
${EXTERNAL_DIR}/SPIRV-Cross
20-
${EXTERNAL_DIR}/VulkanMemoryAllocator
21-
)
3+
add_subdirectory (${EXTERNAL_DIR}/fmt)
4+
add_subdirectory (${EXTERNAL_DIR}/imgui)
5+
add_subdirectory (${EXTERNAL_DIR}/glfw)
6+
add_subdirectory (${EXTERNAL_DIR}/spdlog)
7+
add_subdirectory (${EXTERNAL_DIR}/glm)
8+
add_subdirectory (${EXTERNAL_DIR}/entt)
9+
add_subdirectory (${EXTERNAL_DIR}/assimp)
10+
add_subdirectory (${EXTERNAL_DIR}/stduuid)
11+
add_subdirectory (${EXTERNAL_DIR}/yaml-cpp)
12+
add_subdirectory (${EXTERNAL_DIR}/SPIRV-headers)
13+
add_subdirectory (${EXTERNAL_DIR}/SPIRV-Tools)
14+
add_subdirectory (${EXTERNAL_DIR}/glslang)
15+
add_subdirectory (${EXTERNAL_DIR}/SPIRV-Cross)
16+
add_subdirectory (${EXTERNAL_DIR}/gtest)
17+
add_subdirectory (${EXTERNAL_DIR}/VulkanMemoryAllocator)
18+
add_subdirectory (${EXTERNAL_DIR}/tlsf)
19+
add_subdirectory (${EXTERNAL_DIR}/rapidhash)
20+
add_subdirectory (${EXTERNAL_DIR}/CLI11)
21+
22+
set (CMAKE_PREFIX_PATH
23+
${CMAKE_PREFIX_PATH}
24+
${EXTERNAL_DIR}/Vulkan-Headers/build/install/share/cmake
25+
)
26+
add_subdirectory (${EXTERNAL_DIR}/Vulkan-Loader)
2227

2328
if (MSVC)
2429
target_compile_options(assimp PRIVATE /Wv:18) # Fix zip lib compile issue
@@ -30,43 +35,17 @@ if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
3035
target_link_libraries(imgui PUBLIC ${CMAKE_DL_LIBS})
3136
endif()
3237

33-
add_library (imported::External_libs INTERFACE IMPORTED)
34-
add_library(imported::External_editorLibs INTERFACE IMPORTED)
35-
36-
target_include_directories(imported::External_lib INTERFACE
37-
${EXTERNAL_DIR}/Vulkan-Headers/build/install/include
38-
${EXTERNAL_DIR}/fmt/include
39-
${EXTERNAL_DIR}/glm/glm
40-
${EXTERNAL_DIR}/imgui/src
41-
${EXTERNAL_DIR}/tlsf/src
42-
${EXTERNAL_DIR}/rapidhash/src
43-
${EXTERNAL_DIR}/spdlog/include
44-
${EXTERNAL_DIR}/glfw/include
45-
${EXTERNAL_DIR}/entt
46-
${EXTERNAL_DIR}/assimp/include
47-
${EXTERNAL_DIR}/stduuid/include
48-
${EXTERNAL_DIR}/yaml-cpp/include
49-
${EXTERNAL_DIR}/SPIRV-headers
50-
${EXTERNAL_DIR}/SPIRV-Tools
51-
${EXTERNAL_DIR}/glslang
52-
${EXTERNAL_DIR}/SPIRV-Cross
53-
${EXTERNAL_DIR}/VulkanMemoryAllocator
54-
)
55-
56-
target_include_directories(imported::External_editorLibs INTERFACE
57-
${EXTERNAL_DIR}/nlohmann_json/single_include
58-
${EXTERNAL_DIR}/CLI11/include
59-
)
60-
38+
add_library (ZEngineLibs INTERFACE)
39+
add_library(TetragramaLibs INTERFACE)
6140

62-
target_link_libraries(imported::External_editorLibs INTERFACE
41+
target_link_libraries(TetragramaLibs INTERFACE
6342
CLI11::CLI11
6443
)
6544

66-
target_link_libraries(imported::External_libs INTERFACE
45+
target_link_libraries(ZEngineLibs INTERFACE
6746
vulkan
68-
fmt
69-
glm
47+
fmt::fmt
48+
glm::glm
7049
imgui
7150
spdlog
7251
glfw
@@ -81,3 +60,6 @@ target_link_libraries(imported::External_libs INTERFACE
8160
tlsf
8261
rapidhash
8362
)
63+
64+
add_library(imported::External_libs ALIAS ZEngineLibs)
65+
add_library(imported::External_editorLibs ALIAS TetragramaLibs)

dependencies.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,4 @@ if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
1717
target_include_directories(imported::cppwinrt_headers INTERFACE
1818
${CMAKE_BINARY_DIR}/__winrt
1919
)
20-
endif()
20+
endif()

0 commit comments

Comments
 (0)