mirror of
https://github.com/1dot13/source.git
synced 2026-07-22 13:40:22 +02:00
* Use a modifiable user-preset sample for VS 2022/2019 Customizing a repo-tracked preset file doesn't work: Type in your gamedir for debugging, or toggle verbose mode for the build, or configure Chinese UB MapEditor: you now have an unstaged `CMakePresets.json` change in your working directory. very annoying. Also, Visual Studio 2022's preset support has a bug: if you have a `CMakePresets.json` file, no matter in which file (user or repo) the preset you have selected is defined, if you click "Manage Configurations..." it will always open `CMakePresets.json` for editing, setting the user up for failure and editing the commited-to-repository file. Having just the `CMakeUserPresets.json` file also sidesteps another poor Visual Studio 2022 decision: hiding in Folder View files that are .gitignore'd (like `CMakeUserPresets.json`). In the absence of a `CMakePresets.json` file, selecting "Manage Configurations..." will open the right file for editing. The workflow is then: Copy `CMakeUserPresets.json.sample` into `CMakeUserPresets.json` _once_, then customize that to your heart's content without git bothering you and accidentally adding an unwanted change to a patch. Or make your own. * Added auto-copy of profile template. * declutter things a bit move function out of root cmakelists.txt file move user preset template to a presets directory this is horrible and I hate it Co-authored-by: CptMoore <39010654+CptMoore@users.noreply.github.com>
12 lines
468 B
CMake
12 lines
468 B
CMake
function(CopyUserPresetTemplate)
|
|
if(
|
|
NOT DEFINED Languages AND
|
|
NOT DEFINED Applications AND
|
|
NOT EXISTS "${CMAKE_SOURCE_DIR}/CMakePresets.json" AND
|
|
NOT EXISTS "${CMAKE_SOURCE_DIR}/CMakeUserPresets.json"
|
|
)
|
|
file(COPY "${CMAKE_SOURCE_DIR}/cmake/presets/CMakeUserPresets.json" DESTINATION "${CMAKE_SOURCE_DIR}")
|
|
message(FATAL_ERROR "No existing preset was found, copied a preset template to ${CMAKE_SOURCE_DIR}/CMakeUserPresets.json.")
|
|
endif()
|
|
endfunction()
|