[Build] Use CMAKE_BINARY_DIR for output paths and version.h include

version.h is now found via CMAKE_BINARY_DIR on the include path instead
of a hardcoded "build/version.h" path. This allows out-of-tree and
multi-config builds to each generate and find their own version header
without colliding.
This commit is contained in:
Herman S.
2026-03-21 00:29:56 +09:00
parent 949d4c31fb
commit 1e8f1837cf
5 changed files with 10 additions and 11 deletions

View File

@@ -35,10 +35,11 @@ else()
set(XE_PLATFORM_NAME "Linux")
endif()
# Output directories (use PROJECT_SOURCE_DIR so VS and Ninja share the same paths)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_SOURCE_DIR}/build/bin/${XE_PLATFORM_NAME}")
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${PROJECT_SOURCE_DIR}/build/bin/${XE_PLATFORM_NAME}")
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${PROJECT_SOURCE_DIR}/build/obj/${XE_PLATFORM_NAME}")
# Output directories use CMAKE_BINARY_DIR so each build tree (build/, build-arm64/,
# build/vs-arm64/, etc.) gets its own output paths.
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/${XE_PLATFORM_NAME}")
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/${XE_PLATFORM_NAME}")
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/obj/${XE_PLATFORM_NAME}")
# Create scratch/ if needed
file(MAKE_DIRECTORY "${PROJECT_SOURCE_DIR}/scratch")
@@ -53,6 +54,7 @@ include(cmake/XeniaHelpers.cmake)
include_directories(
${PROJECT_SOURCE_DIR}
${PROJECT_SOURCE_DIR}/src
${CMAKE_BINARY_DIR}
${PROJECT_SOURCE_DIR}/third_party
)

View File

@@ -39,8 +39,7 @@
#include "xenia/ui/ui_event.h"
#include "xenia/ui/virtual_key.h"
// Autogenerated by `xb premake`.
#include "build/version.h"
#include "version.h"
DECLARE_bool(debug);

View File

@@ -15,8 +15,7 @@
#include "xenia/base/platform_win.h"
#include "xenia/base/string.h"
// Autogenerated by `xb premake`.
#include "build/version.h"
#include "version.h"
// For RequestWin32MMCSS.
#include <dwmapi.h>

View File

@@ -14,7 +14,7 @@
#include "third_party/snappy/snappy-sinksource.h"
#include "third_party/snappy/snappy.h"
#include "build/version.h"
#include "version.h"
#include "xenia/base/assert.h"
#include "xenia/base/filesystem.h"
#include "xenia/base/logging.h"

View File

@@ -17,8 +17,7 @@
#include "xenia/ui/windowed_app.h"
#include "xenia/ui/windowed_app_context_win.h"
// Autogenerated by `xb premake`.
#include "build/version.h"
#include "version.h"
#include <Psapi.h>