mirror of
https://gitlab.kitware.com/vtk/vtk-m
synced 2024-09-16 17:22:55 +00:00
Add support for clang-cl compilation on windows
This commit is contained in:
parent
b8f5d582d6
commit
7184648c44
@ -203,12 +203,8 @@ if (WIN32 AND MSVC)
|
|||||||
list(APPEND TBB_LIB_SEARCH_PATH ${dir}/lib/ia32/${COMPILER_PREFIX})
|
list(APPEND TBB_LIB_SEARCH_PATH ${dir}/lib/ia32/${COMPILER_PREFIX})
|
||||||
endif ()
|
endif ()
|
||||||
endforeach ()
|
endforeach ()
|
||||||
endif ()
|
elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND
|
||||||
|
NOT CMAKE_SYSTEM_VERSION VERSION_LESS 13.0)
|
||||||
# For OS X binary distribution, choose libc++ based libraries for Mavericks (10.9)
|
|
||||||
# and above and AppleClang
|
|
||||||
if (CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND
|
|
||||||
NOT CMAKE_SYSTEM_VERSION VERSION_LESS 13.0)
|
|
||||||
set (USE_LIBCXX OFF)
|
set (USE_LIBCXX OFF)
|
||||||
|
|
||||||
if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
||||||
@ -220,10 +216,8 @@ if (CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND
|
|||||||
list (APPEND TBB_LIB_SEARCH_PATH ${dir}/lib/libc++ ${dir}/libc++/lib)
|
list (APPEND TBB_LIB_SEARCH_PATH ${dir}/lib/libc++ ${dir}/libc++/lib)
|
||||||
endforeach ()
|
endforeach ()
|
||||||
endif ()
|
endif ()
|
||||||
endif ()
|
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||||
|
# check compiler ABI
|
||||||
# check compiler ABI
|
|
||||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
|
||||||
set(COMPILER_PREFIX)
|
set(COMPILER_PREFIX)
|
||||||
if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.7)
|
if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.7)
|
||||||
list(APPEND COMPILER_PREFIX "gcc4.7")
|
list(APPEND COMPILER_PREFIX "gcc4.7")
|
||||||
|
@ -69,7 +69,8 @@ endif()
|
|||||||
# We currently don't know the vectorization flags for MSVC. But we want
|
# We currently don't know the vectorization flags for MSVC. But we want
|
||||||
# the vtkm_vectorization_flags target to exist so we have a consistent
|
# the vtkm_vectorization_flags target to exist so we have a consistent
|
||||||
# interface.
|
# interface.
|
||||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC" OR
|
||||||
|
CMAKE_CXX_SIMULATE_ID STREQUAL "MSVC")
|
||||||
return()
|
return()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
@ -8,31 +8,22 @@
|
|||||||
## PURPOSE. See the above copyright notice for more information.
|
## PURPOSE. See the above copyright notice for more information.
|
||||||
##============================================================================
|
##============================================================================
|
||||||
|
|
||||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC" OR
|
||||||
|
CMAKE_CXX_SIMULATE_ID STREQUAL "MSVC")
|
||||||
|
set(VTKM_COMPILER_IS_MSVC 1)
|
||||||
|
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "PGI")
|
||||||
|
set(VTKM_COMPILER_IS_PGI 1)
|
||||||
|
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||||
|
set(VTKM_COMPILER_IS_ICC 1)
|
||||||
|
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
|
||||||
|
set(VTKM_COMPILER_IS_CLANG 1)
|
||||||
|
set(VTKM_COMPILER_IS_APPLECLANG 1)
|
||||||
|
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
||||||
|
set(VTKM_COMPILER_IS_CLANG 1)
|
||||||
|
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||||
set(VTKM_COMPILER_IS_GNU 1)
|
set(VTKM_COMPILER_IS_GNU 1)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
|
||||||
set(VTKM_COMPILER_IS_CLANG 1)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
|
|
||||||
set(VTKM_COMPILER_IS_CLANG 1)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "PGI")
|
|
||||||
set(VTKM_COMPILER_IS_PGI 1)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
|
||||||
set(VTKM_COMPILER_IS_ICC 1)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
|
||||||
set(VTKM_COMPILER_IS_MSVC 1)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
|
|
||||||
#-----------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------
|
||||||
# vtkm_compiler_flags is used by all the vtkm targets and consumers of VTK-m
|
# vtkm_compiler_flags is used by all the vtkm targets and consumers of VTK-m
|
||||||
# The flags on vtkm_compiler_flags are needed when using/building vtk-m
|
# The flags on vtkm_compiler_flags are needed when using/building vtk-m
|
||||||
@ -51,7 +42,7 @@ target_link_libraries(vtkm_compiler_flags
|
|||||||
target_compile_features(vtkm_compiler_flags INTERFACE cxx_std_11)
|
target_compile_features(vtkm_compiler_flags INTERFACE cxx_std_11)
|
||||||
|
|
||||||
# Enable large object support so we can have 2^32 addressable sections
|
# Enable large object support so we can have 2^32 addressable sections
|
||||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
if(VTKM_COMPILER_IS_MSVC)
|
||||||
target_compile_options(vtkm_compiler_flags INTERFACE $<$<COMPILE_LANGUAGE:CXX>:/bigobj>)
|
target_compile_options(vtkm_compiler_flags INTERFACE $<$<COMPILE_LANGUAGE:CXX>:/bigobj>)
|
||||||
if(TARGET vtkm::cuda)
|
if(TARGET vtkm::cuda)
|
||||||
target_compile_options(vtkm_compiler_flags INTERFACE $<$<COMPILE_LANGUAGE:CUDA>:-Xcompiler="/bigobj">)
|
target_compile_options(vtkm_compiler_flags INTERFACE $<$<COMPILE_LANGUAGE:CUDA>:-Xcompiler="/bigobj">)
|
||||||
@ -72,11 +63,9 @@ add_library(vtkm_developer_flags INTERFACE)
|
|||||||
|
|
||||||
# Additional warnings just for Clang 3.5+, and AppleClang 7+
|
# Additional warnings just for Clang 3.5+, and AppleClang 7+
|
||||||
# about failures to vectorize.
|
# about failures to vectorize.
|
||||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND
|
if (VTKM_COMPILER_IS_CLANG AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 3.4)
|
||||||
CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 3.4)
|
|
||||||
target_compile_options(vtkm_developer_flags INTERFACE $<$<COMPILE_LANGUAGE:CXX>:-Wno-pass-failed>)
|
target_compile_options(vtkm_developer_flags INTERFACE $<$<COMPILE_LANGUAGE:CXX>:-Wno-pass-failed>)
|
||||||
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" AND
|
elseif(VTKM_COMPILER_IS_APPLECLANG AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 6.99)
|
||||||
CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 6.99)
|
|
||||||
target_compile_options(vtkm_developer_flags INTERFACE $<$<COMPILE_LANGUAGE:CXX>:-Wno-pass-failed>)
|
target_compile_options(vtkm_developer_flags INTERFACE $<$<COMPILE_LANGUAGE:CXX>:-Wno-pass-failed>)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user