diff options
| author | rtm516 <rtm516@users.noreply.github.com> | 2026-03-17 21:39:22 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-03-17 16:39:22 -0500 |
| commit | 02a5961f39673be403fda3edbf6fb1265bd93477 (patch) | |
| tree | ade5f3cfd70fcb6e0add6492f182cc571bec7f3a /cmake/Utils.cmake | |
| parent | 1a3fcb5b2010fbbf5ef0ab52f7291a4129f05842 (diff) | |
Move project to CMake (#781)
* Move to cmake
* Move sources to source_groups and ditch more old VS files
* Add BuildVer.h generation
* Break out cmake source lists to platforms
* Don't copy swf files
* Revert audio changes from merge
* Add platform defines
* Match MSBuild flags
* Move BuildVer.h to common include and fix rebuild issue
* Seperate projects properly
* Exclude more files and make sure GameHDD exists
* Missing line
* Remove remaining VS project files
* Update readme and actions
* Use incremental LTCG
* Update workflows
* Update build workflows and output folder
* Disable vcpkg checks
* Force MSVC
* Use precompiled headers
* Only use PCH for cpp
* Exclude compat_shims from PCH
* Handle per-platform source includes
* Copy only current platform media
* Define Iggy libs per platform
* Fix EnsureGameHDD check
* Only set WIN32_EXECUTABLE on Windows
* Correct Iggy libs path
* Remove include of terrain_MipmapLevel
* Correct path to xsb/xwb
* Implement copilot suggestions
* Add clang flags (untested)
* Fix robocopy error checking
* Update documentation
* Drop CMakePresets.json version as we dont use v6 features
* Always cleanup artifacts in nightly even if some builds fail
* Re-work compiler target options
* Move newer iggy dll into redist and cleanup
* Fix typos
* Remove 'Source Files' from all source groups
* Remove old ps1 build scripts
Diffstat (limited to 'cmake/Utils.cmake')
| -rw-r--r-- | cmake/Utils.cmake | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/cmake/Utils.cmake b/cmake/Utils.cmake new file mode 100644 index 00000000..8e1e0ae5 --- /dev/null +++ b/cmake/Utils.cmake @@ -0,0 +1,28 @@ +# Make sure the GameHDD directory exists, only supported on Windows +function(add_gamehdd_target TARGET_NAME) + add_custom_target(EnsureGameHDD_${TARGET_NAME} ALL + COMMAND ${CMAKE_COMMAND} + -E make_directory "$<TARGET_FILE_DIR:${TARGET_NAME}>/Windows64/GameHDD" + COMMENT "Ensuring GameHDD directory exists..." + VERBATIM + ) + add_dependencies(${TARGET_NAME} EnsureGameHDD_${TARGET_NAME}) + set_property(TARGET EnsureGameHDD_${TARGET_NAME} PROPERTY FOLDER "Build") +endfunction() + +# Copy any needed redist files to the output directory +function(add_copyredist_target TARGET_NAME) + set(COPY_SCRIPT "${CMAKE_SOURCE_DIR}/cmake/CopyFolderScript.cmake") + + add_custom_target(CopyRedist_${TARGET_NAME} ALL + COMMAND ${CMAKE_COMMAND} + "-DCOPY_SOURCE=${CMAKE_SOURCE_DIR}/Minecraft.Client/${PLATFORM_NAME}/Iggy/lib/redist64" + "-DCOPY_DEST=$<TARGET_FILE_DIR:${TARGET_NAME}>" + -P "${COPY_SCRIPT}" + COMMENT "Copying redist files..." + VERBATIM + ) + + add_dependencies(${TARGET_NAME} CopyRedist_${TARGET_NAME}) + set_property(TARGET CopyRedist_${TARGET_NAME} PROPERTY FOLDER "Build") +endfunction() |
