Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 10 additions & 6 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@

cmake_minimum_required (VERSION 3.21)

if(POLICY CMP0162)
cmake_policy(SET CMP0162 NEW)
endif()

set(DIRECTXMESH_VERSION 1.7.0)

project(DirectXMesh
Expand Down Expand Up @@ -76,23 +80,25 @@ set(LIBRARY_SOURCES
DirectXMesh/DirectXMeshVBWriter.cpp
DirectXMesh/DirectXMeshWeldVertices.cpp)

add_library(${PROJECT_NAME})

target_sources(${PROJECT_NAME} PRIVATE ${LIBRARY_HEADERS} ${LIBRARY_SOURCES})

if(WIN32 AND BUILD_SHARED_LIBS)
message(STATUS "Build library as a DLL")

configure_file(
"${CMAKE_CURRENT_SOURCE_DIR}/build/DirectXMesh.rc.in"
"${CMAKE_CURRENT_BINARY_DIR}/DirectXMesh.rc" @ONLY)

add_library(${PROJECT_NAME} SHARED ${LIBRARY_SOURCES} ${LIBRARY_HEADERS} "${CMAKE_CURRENT_BINARY_DIR}/DirectXMesh.rc")
target_sources(${PROJECT_NAME} PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/DirectXMesh.rc")

target_compile_definitions(${PROJECT_NAME} PRIVATE DIRECTX_MESH_EXPORT)
target_compile_definitions(${PROJECT_NAME} INTERFACE DIRECTX_MESH_IMPORT)

if(XBOX_CONSOLE_TARGET MATCHES "scarlett|xboxone")
target_link_libraries(${PROJECT_NAME} PRIVATE xgameplatform.lib)
endif()
else()
add_library(${PROJECT_NAME} ${LIBRARY_SOURCES} ${LIBRARY_HEADERS})
endif()

source_group(${PROJECT_NAME} REGULAR_EXPRESSION DirectXMesh/*.*)
Expand Down Expand Up @@ -332,10 +338,8 @@ if(WIN32)
if(BUILD_DX12 OR (${DIRECTX_ARCH} MATCHES "^arm64"))
message(STATUS "Building with DirectX 12 Runtime support")
set(WINVER 0x0A00)
elseif(${DIRECTX_ARCH} MATCHES "^arm")
set(WINVER 0x0602)
else()
message(STATUS "Building with Windows 8.1 compatibility")
message(STATUS "Building for Windows 8.1")
set(WINVER 0x0603)
endif()

Expand Down
Loading