mirror of
https://github.com/microsoft/DirectXTex.git
synced 2025-07-09 11:40:14 +02:00
Fix up CMake for Xbox platforms for shared lib (#587)
This commit is contained in:
parent
8e9fa6059c
commit
71ab939f26
@ -15,6 +15,10 @@ project (DirectXTex
|
|||||||
HOMEPAGE_URL "https://go.microsoft.com/fwlink/?LinkId=248926"
|
HOMEPAGE_URL "https://go.microsoft.com/fwlink/?LinkId=248926"
|
||||||
LANGUAGES CXX)
|
LANGUAGES CXX)
|
||||||
|
|
||||||
|
if(DEFINED XBOX_CONSOLE_TARGET)
|
||||||
|
set(CMAKE_CXX_STANDARD_LIBRARIES "")
|
||||||
|
endif()
|
||||||
|
|
||||||
option(BUILD_TOOLS "Build tex command-line tools" ON)
|
option(BUILD_TOOLS "Build tex command-line tools" ON)
|
||||||
|
|
||||||
option(BUILD_SHARED_LIBS "Build DirectXTex as a shared library" OFF)
|
option(BUILD_SHARED_LIBS "Build DirectXTex as a shared library" OFF)
|
||||||
@ -233,6 +237,14 @@ if(WIN32 AND BUILD_SHARED_LIBS)
|
|||||||
|
|
||||||
target_compile_definitions(${PROJECT_NAME} PRIVATE DIRECTX_TEX_EXPORT)
|
target_compile_definitions(${PROJECT_NAME} PRIVATE DIRECTX_TEX_EXPORT)
|
||||||
target_compile_definitions(${PROJECT_NAME} INTERFACE DIRECTX_TEX_IMPORT)
|
target_compile_definitions(${PROJECT_NAME} INTERFACE DIRECTX_TEX_IMPORT)
|
||||||
|
|
||||||
|
if(XBOX_CONSOLE_TARGET MATCHES "scarlett")
|
||||||
|
target_link_libraries(${PROJECT_NAME} PRIVATE xgameplatform.lib xg_xs.lib xmem.lib)
|
||||||
|
elseif(XBOX_CONSOLE_TARGET MATCHES "xboxone")
|
||||||
|
target_link_libraries(${PROJECT_NAME} PRIVATE xgameplatform.lib xg_x.lib xmem.lib)
|
||||||
|
elseif(XBOX_CONSOLE_TARGET MATCHES "durango")
|
||||||
|
target_link_libraries(${PROJECT_NAME} PRIVATE kernelx.lib xg_x.lib combase.lib)
|
||||||
|
endif()
|
||||||
else()
|
else()
|
||||||
add_library(${PROJECT_NAME} ${LIBRARY_SOURCES} ${LIBRARY_HEADERS})
|
add_library(${PROJECT_NAME} ${LIBRARY_SOURCES} ${LIBRARY_HEADERS})
|
||||||
endif()
|
endif()
|
||||||
|
@ -200,12 +200,14 @@ if(DEFINED XBOX_CONSOLE_TARGET)
|
|||||||
message(FATAL_ERROR "Legacy Xbox One XDK required to build for Durango.")
|
message(FATAL_ERROR "Legacy Xbox One XDK required to build for Durango.")
|
||||||
endif()
|
endif()
|
||||||
list(APPEND COMPILER_DEFINES WINAPI_FAMILY=WINAPI_FAMILY_TV_TITLE _XBOX_ONE _TITLE MONOLITHIC=1)
|
list(APPEND COMPILER_DEFINES WINAPI_FAMILY=WINAPI_FAMILY_TV_TITLE _XBOX_ONE _TITLE MONOLITHIC=1)
|
||||||
|
list(APPEND LINKER_SWITCHES /NODEFAULTLIB:kernel32.lib /NODEFAULTLIB:ole32.lib /NODEFAULTLIB:oldnames.lib)
|
||||||
else()
|
else()
|
||||||
CHECK_INCLUDE_FILE_CXX(gxdk.h GXDK_HEADER)
|
CHECK_INCLUDE_FILE_CXX(gxdk.h GXDK_HEADER)
|
||||||
if(NOT GXDK_HEADER)
|
if(NOT GXDK_HEADER)
|
||||||
message(FATAL_ERROR "Microsoft GDK with Xbox Extensions required to build for Xbox. See https://aka.ms/gdkx")
|
message(FATAL_ERROR "Microsoft GDK with Xbox Extensions required to build for Xbox. See https://aka.ms/gdkx")
|
||||||
endif()
|
endif()
|
||||||
list(APPEND COMPILER_DEFINES WINAPI_FAMILY=WINAPI_FAMILY_GAMES)
|
list(APPEND COMPILER_DEFINES WINAPI_FAMILY=WINAPI_FAMILY_GAMES)
|
||||||
|
list(APPEND LINKER_SWITCHES /NODEFAULTLIB:kernel32.lib /NODEFAULTLIB:oldnames.lib)
|
||||||
if(XBOX_CONSOLE_TARGET STREQUAL "scarlett")
|
if(XBOX_CONSOLE_TARGET STREQUAL "scarlett")
|
||||||
CHECK_INCLUDE_FILE_CXX(d3d12_xs.h D3D12XS_HEADER)
|
CHECK_INCLUDE_FILE_CXX(d3d12_xs.h D3D12XS_HEADER)
|
||||||
if(NOT D3D12XS_HEADER)
|
if(NOT D3D12XS_HEADER)
|
||||||
|
@ -307,6 +307,19 @@ jobs:
|
|||||||
inputs:
|
inputs:
|
||||||
cwd: '$(Build.SourcesDirectory)'
|
cwd: '$(Build.SourcesDirectory)'
|
||||||
cmakeArgs: --build out\build\x64-Release-Scarlett-Clang
|
cmakeArgs: --build out\build\x64-Release-Scarlett-Clang
|
||||||
|
- task: DeleteFiles@1
|
||||||
|
inputs:
|
||||||
|
Contents: 'out/build'
|
||||||
|
- task: CMake@1
|
||||||
|
displayName: 'CMake (MSVC, DLL): Config Scarlett Debug'
|
||||||
|
inputs:
|
||||||
|
cwd: '$(Build.SourcesDirectory)'
|
||||||
|
cmakeArgs: --preset=x64-Debug-Scarlett -DBUILD_SHARED_LIBS=ON
|
||||||
|
- task: CMake@1
|
||||||
|
displayName: 'CMake (MSVC, DLL): Build Scarlett Debug'
|
||||||
|
inputs:
|
||||||
|
cwd: '$(Build.SourcesDirectory)'
|
||||||
|
cmakeArgs: --build out\build\x64-Debug-Scarlett
|
||||||
|
|
||||||
- job: BUILD_GDK_CMAKE_XBONE
|
- job: BUILD_GDK_CMAKE_XBONE
|
||||||
displayName: 'Microsoft Game Development Kit (GDK) using CMake (XboxOne)'
|
displayName: 'Microsoft Game Development Kit (GDK) using CMake (XboxOne)'
|
||||||
@ -413,3 +426,16 @@ jobs:
|
|||||||
inputs:
|
inputs:
|
||||||
cwd: '$(Build.SourcesDirectory)'
|
cwd: '$(Build.SourcesDirectory)'
|
||||||
cmakeArgs: --build out\build\x64-Release-XboxOne-Clang
|
cmakeArgs: --build out\build\x64-Release-XboxOne-Clang
|
||||||
|
- task: DeleteFiles@1
|
||||||
|
inputs:
|
||||||
|
Contents: 'out/build'
|
||||||
|
- task: CMake@1
|
||||||
|
displayName: 'CMake (MSVC, DLL): Config XboxOne Debug'
|
||||||
|
inputs:
|
||||||
|
cwd: '$(Build.SourcesDirectory)'
|
||||||
|
cmakeArgs: --preset=x64-Debug-XboxOne -DBUILD_SHARED_LIBS=ON
|
||||||
|
- task: CMake@1
|
||||||
|
displayName: 'CMake (MSVC, DLL): Build XboxOne Debug'
|
||||||
|
inputs:
|
||||||
|
cwd: '$(Build.SourcesDirectory)'
|
||||||
|
cmakeArgs: --build out\build\x64-Debug-XboxOne
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#include <winres.h>
|
#include <winver.h>
|
||||||
|
|
||||||
VS_VERSION_INFO VERSIONINFO
|
VS_VERSION_INFO VERSIONINFO
|
||||||
FILEVERSION 1,0,0,0
|
FILEVERSION 1,0,0,0
|
||||||
|
Loading…
x
Reference in New Issue
Block a user