mirror of
https://github.com/microsoft/DirectXTex.git
synced 2025-07-09 19:50:13 +02:00
CMake code review (#445)
This commit is contained in:
parent
154bb7c3bb
commit
4efb955122
@ -88,7 +88,7 @@ if(WINDOWS_STORE OR (DEFINED XBOX_CONSOLE_TARGET))
|
|||||||
set(BUILD_SAMPLE OFF)
|
set(BUILD_SAMPLE OFF)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(DEFINED XBOX_CONSOLE_TARGET)
|
if((DEFINED XBOX_CONSOLE_TARGET) AND (NOT (XBOX_CONSOLE_TARGET STREQUAL "durango")))
|
||||||
set(BUILD_DX11 OFF)
|
set(BUILD_DX11 OFF)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@ -471,10 +471,6 @@ if(BUILD_TOOLS AND BUILD_DX11 AND WIN32)
|
|||||||
target_link_libraries(texconv PRIVATE ${PROJECT_NAME} ole32.lib shell32.lib version.lib)
|
target_link_libraries(texconv PRIVATE ${PROJECT_NAME} ole32.lib shell32.lib version.lib)
|
||||||
source_group(texconv REGULAR_EXPRESSION Texconv/*.*)
|
source_group(texconv REGULAR_EXPRESSION Texconv/*.*)
|
||||||
list(APPEND TOOL_EXES texconv)
|
list(APPEND TOOL_EXES texconv)
|
||||||
|
|
||||||
if(BC_USE_OPENMP)
|
|
||||||
target_link_libraries(texconv PRIVATE OpenMP::OpenMP_CXX)
|
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(BUILD_TOOLS AND WIN32)
|
if(BUILD_TOOLS AND WIN32)
|
||||||
@ -648,12 +644,6 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
|||||||
list(APPEND WarningsLib "-Wno-reserved-identifier")
|
list(APPEND WarningsLib "-Wno-reserved-identifier")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 16.0)
|
|
||||||
list(APPEND WarningsLib "-Wno-unsafe-buffer-usage")
|
|
||||||
endif()
|
|
||||||
target_compile_options(${PROJECT_NAME} PRIVATE ${WarningsLib})
|
|
||||||
|
|
||||||
if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 16.0)
|
if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 16.0)
|
||||||
list(APPEND WarningsLib "-Wno-unsafe-buffer-usage")
|
list(APPEND WarningsLib "-Wno-unsafe-buffer-usage")
|
||||||
endif()
|
endif()
|
||||||
@ -708,16 +698,21 @@ elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
|
|||||||
|
|
||||||
if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 19.35)
|
if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 19.35)
|
||||||
foreach(t IN LISTS TOOL_EXES ITEMS ${PROJECT_NAME})
|
foreach(t IN LISTS TOOL_EXES ITEMS ${PROJECT_NAME})
|
||||||
target_compile_options(${t} PRIVATE /Zc:checkGwOdr $<$<VERSION_GREATER_EQUAL:${CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION},10.0.22000>:/Zc:templateScope>)
|
target_compile_options(${t} PRIVATE /Zc:checkGwOdr)
|
||||||
|
endforeach()
|
||||||
|
|
||||||
|
if(NOT (DEFINED XBOX_CONSOLE_TARGET))
|
||||||
|
foreach(t IN LISTS TOOL_EXES ITEMS ${PROJECT_NAME})
|
||||||
|
target_compile_options(${t} PRIVATE $<$<VERSION_GREATER_EQUAL:${CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION},10.0.22000>:/Zc:templateScope>)
|
||||||
endforeach()
|
endforeach()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(BC_USE_OPENMP)
|
|
||||||
# OpenMP in MSVC is not compatible with /permissive unless you disable two-phase lookup
|
|
||||||
target_compile_options(${PROJECT_NAME} PRIVATE /Zc:twoPhase-)
|
|
||||||
if(BUILD_TOOLS AND BUILD_DX11 AND WIN32)
|
|
||||||
target_compile_options(texconv PRIVATE /Zc:twoPhase-)
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(OpenMP_CXX_FOUND)
|
||||||
|
# OpenMP in MSVC is not compatible with /permissive- unless you disable two-phase lookup
|
||||||
|
foreach(t IN LISTS TOOL_EXES ITEMS ${PROJECT_NAME})
|
||||||
|
target_compile_options(${t} PRIVATE /Zc:twoPhase-)
|
||||||
|
endforeach()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(WarningsEXE "/wd4061" "/wd4062" "/wd4365" "/wd4514" "/wd4625" "/wd4626" "/wd4627" "/wd4668" "/wd4710" "/wd4711" "/wd4751" "/wd4820" "/wd5026" "/wd5027" "/wd5039" "/wd5045" "/wd5219")
|
set(WarningsEXE "/wd4061" "/wd4062" "/wd4365" "/wd4514" "/wd4625" "/wd4626" "/wd4627" "/wd4668" "/wd4710" "/wd4711" "/wd4751" "/wd4820" "/wd5026" "/wd5027" "/wd5039" "/wd5045" "/wd5219")
|
||||||
@ -767,19 +762,18 @@ endif()
|
|||||||
|
|
||||||
if(BUILD_TOOLS AND (NOT VCPKG_TOOLCHAIN))
|
if(BUILD_TOOLS AND (NOT VCPKG_TOOLCHAIN))
|
||||||
foreach(t IN LISTS TOOL_EXES)
|
foreach(t IN LISTS TOOL_EXES)
|
||||||
install(TARGETS ${t}
|
install(TARGETS ${t} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
|
||||||
endforeach()
|
endforeach()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
#--- Test suite
|
#--- Test suite
|
||||||
|
if(WIN32 AND (NOT WINDOWS_STORE) AND (NOT (DEFINED XBOX_CONSOLE_TARGET)))
|
||||||
include(CTest)
|
include(CTest)
|
||||||
if(BUILD_TESTING AND WIN32 AND (NOT WINDOWS_STORE) AND (NOT (DEFINED XBOX_CONSOLE_TARGET))
|
if(BUILD_TESTING AND (EXISTS "${CMAKE_CURRENT_LIST_DIR}/Tests/CMakeLists.txt"))
|
||||||
AND (EXISTS "${CMAKE_CURRENT_LIST_DIR}/Tests/CMakeLists.txt"))
|
|
||||||
enable_testing()
|
enable_testing()
|
||||||
add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/Tests)
|
add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/Tests)
|
||||||
elseif(BUILD_FUZZING AND WIN32 AND (NOT WINDOWS_STORE) AND (NOT (DEFINED XBOX_CONSOLE_TARGET))
|
elseif(BUILD_FUZZING AND (EXISTS "${CMAKE_CURRENT_LIST_DIR}/Tests/fuzzloaders/CMakeLists.txt"))
|
||||||
AND (EXISTS "${CMAKE_CURRENT_LIST_DIR}/Tests/fuzzloaders/CMakeLists.txt"))
|
|
||||||
message(STATUS "Building for fuzzing")
|
message(STATUS "Building for fuzzing")
|
||||||
add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/Tests/fuzzloaders)
|
add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/Tests/fuzzloaders)
|
||||||
endif()
|
endif()
|
||||||
|
endif()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user