Skip to content

Commit fbec898

Browse files
committed
actually use the new CMakeLists.txt
1 parent 8c9331f commit fbec898

1 file changed

Lines changed: 37 additions & 32 deletions

File tree

CMakeLists.txt

Lines changed: 37 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,58 @@
1-
cmake_minimum_required(VERSION 3.12)
2-
project(Better-Inventory CXX ASM_NASM)
3-
include(FetchContent)
4-
5-
# Mod Options
1+
project(Atlas CXX ASM_NASM)
62
set(MOD_VERSION "1.6.0")
3+
set(MOD_AUTHOR "FrederoxDev")
74

8-
# Amethyst Minecraft Folder
9-
set(AmethystFolder "$ENV{localappdata}/Packages/Microsoft.MinecraftUWP_8wekyb3d8bbwe/LocalState/games/com.mojang/amethyst/")
10-
11-
# Configure to build within the Amethyst Folder
12-
configure_file(mod.json.in "${AmethystFolder}/mods/${PROJECT_NAME}@${MOD_VERSION}/mod.json" @ONLY)
13-
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO "${AmethystFolder}/mods/${PROJECT_NAME}@${MOD_VERSION}")
14-
15-
# Compiler Options
16-
set(CMAKE_CXX_STANDARD 23)
17-
set(CMAKE_CONFIGURATION_TYPES "RelWithDebInfo" CACHE STRING "Build configurations" FORCE)
185
set(CMAKE_CXX_STANDARD_REQUIRED ON)
196
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /await")
207

8+
# Amethyst Minecraft Folder
9+
if (CI_CD_BUILD)
10+
configure_file(mod.json.in "${CMAKE_SOURCE_DIR}/dist/${PROJECT_NAME}@${MOD_VERSION}/mod.json" @ONLY)
11+
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO "${CMAKE_SOURCE_DIR}/dist/${PROJECT_NAME}@${MOD_VERSION}")
12+
set(AMETHYST_SRC "${CMAKE_SOURCE_DIR}/amethyst")
13+
else()
14+
set(AmethystFolder "$ENV{localappdata}/Packages/Microsoft.MinecraftUWP_8wekyb3d8bbwe/LocalState/games/com.mojang/amethyst/")
15+
configure_file(mod.json.in "${AmethystFolder}/mods/${PROJECT_NAME}@${MOD_VERSION}/mod.json" @ONLY)
16+
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO "${AmethystFolder}/mods/${PROJECT_NAME}@${MOD_VERSION}")
17+
set(AMETHYST_SRC "$ENV{amethyst_src}/amethyst")
18+
endif()
19+
20+
# Define only RelWithDebInfo as the available build configuration
21+
set(CMAKE_CXX_STANDARD 23)
2122
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
23+
set(CMAKE_CONFIGURATION_TYPES "RelWithDebInfo" CACHE STRING "Build configurations" FORCE)
2224
set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING "Choose the type of build, options are: RelWithDebInfo" FORCE)
2325

24-
# Make the Mod
26+
# Project Files
2527
file(GLOB_RECURSE ${PROJECT_NAME}_All
26-
${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp
27-
${CMAKE_CURRENT_SOURCE_DIR}/src/*.c
28-
${CMAKE_CURRENT_SOURCE_DIR}/src/*.asm
29-
${CMAKE_CURRENT_SOURCE_DIR}/src/*.hpp
30-
${CMAKE_CURRENT_SOURCE_DIR}/src/*.h
31-
)
28+
${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp
29+
${CMAKE_CURRENT_SOURCE_DIR}/src/*.c
30+
${CMAKE_CURRENT_SOURCE_DIR}/src/*.asm
31+
${CMAKE_CURRENT_SOURCE_DIR}/src/*.hpp
32+
${CMAKE_CURRENT_SOURCE_DIR}/src/*.h
33+
)
3234

3335
add_library(${PROJECT_NAME} SHARED ${${PROJECT_NAME}_All})
3436

35-
target_include_directories(${PROJECT_NAME} PUBLIC
36-
${CMAKE_CURRENT_SOURCE_DIR}/src
37-
)
37+
# Pass mod options to the source code
38+
target_compile_definitions(${PROJECT_NAME} PRIVATE MOD_VERSION="${MOD_VERSION}")
39+
target_compile_definitions(${PROJECT_NAME} PRIVATE MOD_AUTHOR="${MOD_AUTHOR}")
40+
target_compile_definitions(${PROJECT_NAME} PRIVATE MOD_NAME="${PROJECT_NAME}")
3841

39-
target_link_libraries(${PROJECT_NAME} PRIVATE
40-
AmethystAPI
41-
libhat
42-
$ENV{amethyst_src}/AmethystAPI/lib/fmt.lib
42+
# Link libraries
43+
target_link_libraries(${PROJECT_NAME} PRIVATE
44+
AmethystAPI
45+
libhat
46+
${AMETHYST_SRC}/AmethystAPI/lib/fmt.lib
4347
)
4448

49+
# Enable multi processor compilation for C++, to make it go brrrrrr
4550
target_compile_options(${PROJECT_NAME} PRIVATE
46-
$<$<COMPILE_LANGUAGE:CXX>:/MP>
51+
$<$<COMPILE_LANGUAGE:CXX>:/MP>
4752
)
4853

4954
# EnTT Config Options
5055
target_compile_definitions(${PROJECT_NAME} PUBLIC ENTT_PACKED_PAGE=128)
5156

52-
# Get the AmethystAPI Lib.
53-
add_subdirectory("$ENV{amethyst_src}/AmethystAPI" "build")
57+
# Get the AmethystAPI Lib
58+
add_subdirectory("${AMETHYST_SRC}/AmethystAPI" "build")

0 commit comments

Comments
 (0)