mirror of
https://github.com/microsoft/UVAtlas
synced 2024-11-09 13:50:05 +00:00
CMakeLists updated to CMake 3.20
This commit is contained in:
parent
48ddb5cee4
commit
8ced4f25ab
@ -1,7 +1,7 @@
|
||||
# Copyright (c) Microsoft Corporation.
|
||||
# Licensed under the MIT License.
|
||||
|
||||
cmake_minimum_required (VERSION 3.13)
|
||||
cmake_minimum_required (VERSION 3.20)
|
||||
|
||||
set(UVATLAS_VERSION 1.8.4)
|
||||
|
||||
@ -122,22 +122,10 @@ target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_11)
|
||||
|
||||
target_include_directories(${PROJECT_NAME} PRIVATE UVAtlas UVAtlas/geodesics UVAtlas/isochart)
|
||||
|
||||
if ((${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.16") AND (NOT MINGW))
|
||||
if (NOT MINGW)
|
||||
target_precompile_headers(${PROJECT_NAME} PRIVATE UVAtlas/pch.h)
|
||||
endif()
|
||||
|
||||
if(MSVC)
|
||||
# Use max Warning Level
|
||||
string(REPLACE "/W3 " "/Wall " CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
|
||||
string(REPLACE "/W3 " "/Wall " CMAKE_CXX_FLAGS_DEBUG ${CMAKE_CXX_FLAGS_DEBUG})
|
||||
string(REPLACE "/W3 " "/Wall " CMAKE_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE})
|
||||
|
||||
# Not using typeid or dynamic_cast, so disable RTTI to save binary size
|
||||
string(REPLACE "/GR " "/GR- " CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
|
||||
string(REPLACE "/GR " "/GR- " CMAKE_CXX_FLAGS_DEBUG ${CMAKE_CXX_FLAGS_DEBUG})
|
||||
string(REPLACE "/GR " "/GR- " CMAKE_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE})
|
||||
endif()
|
||||
|
||||
if (MINGW OR (NOT WIN32) OR VCPKG_TOOLCHAIN)
|
||||
message("INFO: Using VCPKG for DirectX-Headers and DirectXMath.")
|
||||
find_package(directx-headers CONFIG REQUIRED)
|
||||
@ -217,7 +205,7 @@ endif()
|
||||
|
||||
if(MSVC)
|
||||
foreach(t IN LISTS TOOL_EXES ITEMS ${PROJECT_NAME})
|
||||
target_compile_options(${t} PRIVATE /fp:fast "$<$<NOT:$<CONFIG:DEBUG>>:/guard:cf>")
|
||||
target_compile_options(${t} PRIVATE /Wall /GR- /fp:fast "$<$<NOT:$<CONFIG:DEBUG>>:/guard:cf>")
|
||||
target_link_options(${t} PRIVATE /DYNAMICBASE /NXCOMPAT)
|
||||
endforeach()
|
||||
|
||||
@ -236,7 +224,7 @@ if(MSVC)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(NOT ${DIRECTX_ARCH} MATCHES "^arm")
|
||||
if(NOT (${DIRECTX_ARCH} MATCHES "^arm"))
|
||||
if (${CMAKE_SIZEOF_VOID_P} EQUAL "4")
|
||||
set(ARCH_SSE2 $<$<CXX_COMPILER_ID:MSVC>:/arch:SSE2> $<$<NOT:$<CXX_COMPILER_ID:MSVC>>:-msse2>)
|
||||
else()
|
||||
@ -249,7 +237,7 @@ if(NOT ${DIRECTX_ARCH} MATCHES "^arm")
|
||||
endif()
|
||||
|
||||
if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
||||
set(WarningsLib "-Wpedantic" "-Wextra")
|
||||
set(WarningsLib -Wall -Wpedantic -Wextra)
|
||||
target_compile_options(${PROJECT_NAME} PRIVATE ${WarningsLib})
|
||||
|
||||
set(WarningsEXE ${WarningsLib} "-Wno-c++98-compat" "-Wno-c++98-compat-pedantic" "-Wno-switch" "-Wno-switch-enum" "-Wno-exit-time-destructors" "-Wno-switch" "-Wno-switch-enum" "-Wno-language-extension-token" "-Wno-missing-prototypes")
|
||||
@ -310,18 +298,20 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
|
||||
endif()
|
||||
|
||||
if(WIN32)
|
||||
foreach(t IN LISTS TOOL_EXES ITEMS ${PROJECT_NAME})
|
||||
target_compile_definitions(${t} PRIVATE _UNICODE UNICODE)
|
||||
endforeach()
|
||||
|
||||
if(WINDOWS_STORE)
|
||||
target_compile_definitions(${PROJECT_NAME} PRIVATE _WIN32_WINNT=0x0A00 WINAPI_FAMILY=WINAPI_FAMILY_APP)
|
||||
else()
|
||||
target_compile_definitions(${PROJECT_NAME} PRIVATE _WIN32_WINNT=0x0601)
|
||||
target_compile_definitions(${PROJECT_NAME} PRIVATE WINAPI_FAMILY=WINAPI_FAMILY_APP)
|
||||
endif()
|
||||
|
||||
foreach(t IN LISTS TOOL_EXES)
|
||||
target_compile_definitions(${t} PRIVATE _WIN32_WINNT=0x0601)
|
||||
if(WINDOWS_STORE OR (${DIRECTX_ARCH} MATCHES "^arm64"))
|
||||
set(WINVER 0x0A00)
|
||||
elseif(${DIRECTX_ARCH} MATCHES "^arm")
|
||||
set(WINVER 0x0602)
|
||||
else()
|
||||
set(WINVER 0x0601)
|
||||
endif()
|
||||
|
||||
foreach(t IN LISTS TOOL_EXES ITEMS ${PROJECT_NAME})
|
||||
target_compile_definitions(${t} PRIVATE _UNICODE UNICODE _WIN32_WINNT=${WINVER})
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user