adapt cmakelist to msvc

This commit is contained in:
taipingchangan 2022-08-20 15:00:34 +08:00
parent b2cbc9ff81
commit 65b852da8d
22 changed files with 52 additions and 17 deletions

View File

@ -33,8 +33,10 @@ elseif(ENABLE_SYM_FILE)
set(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O2 -g -ggdb -Wl,--allow-shlib-undefined \
-DHALF_ENABLE_CPP11_USER_LITERALS=0 -D_FORTIFY_SOURCE=2")
else()
if(NOT MSVC)
set(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O2 -Wl,--allow-shlib-undefined \
-DHALF_ENABLE_CPP11_USER_LITERALS=0 -D_FORTIFY_SOURCE=2")
endif()
endif()
if(ENABLE_PYTHON)
@ -46,13 +48,19 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
-D_LIBCPP_INLINE_VISIBILITY='' -D_LIBCPP_DISABLE_EXTERN_TEMPLATE=1 -DHALF_ENABLE_CPP11_USER_LITERALS=0 \
-D_FORTIFY_SOURCE=2 -Wno-cpp ${MACOSX_CXX_WARNING_FLAGS}")
else()
if(NOT MSVC)
set(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -g2 -ggdb -fno-inline-functions -fno-omit-frame-pointer \
-Wl,--allow-shlib-undefined -D_LIBCPP_INLINE_VISIBILITY='' -D_LIBCPP_DISABLE_EXTERN_TEMPLATE=1 \
-DHALF_ENABLE_CPP11_USER_LITERALS=0 -D_FORTIFY_SOURCE=2 -Wno-cpp")
endif()
endif()
if(NOT MSVC)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -I/usr/local/include -std=c++17 \
-Werror -Wall -Wno-deprecated-declarations -fPIC")
else()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /std:c++17")
endif()
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
set(PYBIND11_CPP_STANDARD -std=c++17)
@ -106,7 +114,9 @@ if(ENABLE_D OR ENABLE_ACL OR ENABLE_TESTCASES)
include(${CMAKE_SOURCE_DIR}/cmake/dependency_graphengine.cmake)
endif()
if(NOT MSVC)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden")
endif()
add_subdirectory(mindspore/ccsrc)
add_subdirectory(mindspore/core)

View File

@ -178,13 +178,17 @@ endif()
if(NOT CMAKE_SYSTEM_NAME MATCHES "Darwin")
link_directories(${CMAKE_SOURCE_DIR}/build/mindspore/graphengine)
else()
if(NOT MSVC)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17 \
-Wno-delete-non-abstract-non-virtual-dtor -Wno-unused-private-field -Wno-overloaded-virtual \
-Wno-unused-const-variable -Wno-pessimizing-move -Wno-range-loop-analysis -Wno-mismatched-tags \
-Wno-c++11-narrowing")
else()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /std:c++17")
endif()
endif()
if(CMAKE_SYSTEM_NAME MATCHES "Windows")
if(CMAKE_SYSTEM_NAME MATCHES "Windows" AND NOT MSVC)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-attributes -DHAVE_SNPRINTF")
endif()
@ -282,7 +286,9 @@ list(APPEND MINDSPORE_PROTO_LIST ${RPC_PROTO_SRCS})
if(MINDSPORE_PROTO_LIST)
add_library(proto_input STATIC ${MINDSPORE_PROTO_LIST})
if(NOT MSVC)
set_target_properties(proto_input PROPERTIES COMPILE_FLAGS "-Wno-unused-variable -Wno-array-bounds")
endif()
endif()
## make sub objects

View File

@ -1,6 +1,6 @@
file(GLOB_RECURSE _PREACTIVATE_SRC_LIST RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.cc")
if("${ENABLE_HIDDEN}" STREQUAL "OFF")
if("${ENABLE_HIDDEN}" STREQUAL "OFF" AND NOT MSVC)
string(REPLACE " -Werror " " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
string(REPLACE " -fvisibility=hidden" " -fvisibility=default" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
endif()

View File

@ -1,6 +1,6 @@
file(GLOB_RECURSE _PREACTIVATE_SRC_LIST RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.cc")
if("${ENABLE_HIDDEN}" STREQUAL "OFF")
if("${ENABLE_HIDDEN}" STREQUAL "OFF" AND NOT MSVC)
string(REPLACE " -Werror " " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
string(REPLACE " -fvisibility=hidden" " -fvisibility=default" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
endif()

View File

@ -10,7 +10,7 @@ file(GLOB_RECURSE _SESSION_SRC_LIST RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
"single_kernel_graph.cc"
)
if("${ENABLE_HIDDEN}" STREQUAL "OFF")
if("${ENABLE_HIDDEN}" STREQUAL "OFF" AND NOT MSVC)
string(REPLACE " -Werror " " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
string(REPLACE " -fvisibility=hidden" " -fvisibility=default" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
endif()

View File

@ -1,6 +1,6 @@
file(GLOB_RECURSE _PREACTIVATE_SRC_LIST RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.cc")
if("${ENABLE_HIDDEN}" STREQUAL "OFF")
if("${ENABLE_HIDDEN}" STREQUAL "OFF" AND NOT MSVC)
string(REPLACE " -Werror " " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
string(REPLACE " -fvisibility=hidden" " -fvisibility=default" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
endif()

View File

@ -5,7 +5,7 @@ file(GLOB_RECURSE _GRAPH_COMPILER_SRC_LIST RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
set_property(SOURCE ${_GRAPH_COMPILER_SRC_LIST} PROPERTY COMPILE_DEFINITIONS SUBMODULE_ID=mindspore::SubModuleId::SM_VM)
add_library(_mindspore_backend_graph_compiler_obj OBJECT ${_GRAPH_COMPILER_SRC_LIST})
if("${ENABLE_HIDDEN}" STREQUAL "OFF")
if("${ENABLE_HIDDEN}" STREQUAL "OFF" AND NOT MSVC)
string(REPLACE " -Werror " " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
string(REPLACE " -fvisibility=hidden" " -fvisibility=default" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
endif()

View File

@ -1,6 +1,6 @@
file(GLOB_RECURSE _PREACTIVATE_SRC_LIST RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.cc")
if("${ENABLE_HIDDEN}" STREQUAL "OFF")
if("${ENABLE_HIDDEN}" STREQUAL "OFF" AND NOT MSVC)
string(REPLACE " -Werror " " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
string(REPLACE " -fvisibility=hidden" " -fvisibility=default" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
endif()

View File

@ -17,7 +17,7 @@ if(ENABLE_DUMP_IR)
file(GLOB_RECURSE _RDR_SRC_LIST RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "rdr/*.cc")
endif()
if("${ENABLE_HIDDEN}" STREQUAL "OFF")
if("${ENABLE_HIDDEN}" STREQUAL "OFF" AND NOT MSVC)
string(REPLACE " -Werror " " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
string(REPLACE " -fvisibility=hidden" " -fvisibility=default" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
endif()

View File

@ -1,6 +1,6 @@
file(GLOB_RECURSE _PARALLEL_SRC_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.cc")
if("${ENABLE_HIDDEN}" STREQUAL "OFF")
if("${ENABLE_HIDDEN}" STREQUAL "OFF" AND NOT MSVC)
string(REPLACE " -Werror " " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
string(REPLACE " -fvisibility=hidden" " -fvisibility=default" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
endif()

View File

@ -41,7 +41,9 @@ if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-delete-abstract-non-virtual-dtor")
else()
# add python lib dir to rpath
if(NOT MSVC)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wl,-rpath,$ORIGIN:$ORIGIN/..:$ORIGIN/../lib")
endif()
endif()
set(CMAKE_CXX_FLAGS "-fPIE ${CMAKE_CXX_FLAGS}")

View File

@ -13,7 +13,9 @@ aux_source_directory(common DIR_LIB_SRCS)
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unused-command-line-argument")
else()
if(NOT MSVC)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wl,-rpath,$ORIGIN:$ORIGIN/lib")
endif()
endif()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-format")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-return-type")

View File

@ -25,7 +25,7 @@ set_property(SOURCE ${ANALYZER_SRC_FILES} PROPERTY COMPILE_DEFINITIONS SUBMODULE
file(GLOB_RECURSE DEBUG_SRC_FILES "debug/*.cc")
set_property(SOURCE ${DEBUG_SRC_FILES} PROPERTY COMPILE_DEFINITIONS SUBMODULE_ID=mindspore::SubModuleId::SM_DEBUG)
if("${ENABLE_HIDDEN}" STREQUAL "OFF")
if("${ENABLE_HIDDEN}" STREQUAL "OFF" AND NOT MSVC)
string(REPLACE " -Werror " " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
string(REPLACE " -fvisibility=hidden" " -fvisibility=default" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
endif()

View File

@ -1,4 +1,4 @@
if("${ENABLE_HIDDEN}" STREQUAL "OFF")
if("${ENABLE_HIDDEN}" STREQUAL "OFF" AND NOT MSVC)
string(REPLACE " -Werror " " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
string(REPLACE " -fvisibility=hidden" " -fvisibility=default" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
endif()

View File

@ -211,7 +211,9 @@ if(APPLE)
endif()
########################### build nnacl library ########################
if(NOT MSVC)
string(REPLACE "-fvisibility=hidden" "-fvisibility=default" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
endif()
add_library(nnacl_mid OBJECT ${KERNEL_SRC} ${TRAIN_SRC} ${ASSEMBLY_SRC} ${MS_X86_SIMD_SRC})

View File

@ -28,8 +28,9 @@ if(SUPPORT_TRAIN)
file(GLOB FP16_TRAIN_SRC ${NNACL_DIR}/fp16_grad/*.c)
list(APPEND FP16_FILES ${FP16_TRAIN_SRC})
endif()
if(NOT MSVC)
string(REPLACE "-fvisibility=hidden" "-fvisibility=default" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
endif()
if(MACHINE_LINUX_ARM64)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=armv8.2-a+fp16")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=armv8.2-a+fp16")

View File

@ -1,4 +1,4 @@
if("${ENABLE_HIDDEN}" STREQUAL "OFF")
if("${ENABLE_HIDDEN}" STREQUAL "OFF" AND NOT MSVC)
string(REPLACE " -Werror " " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
string(REPLACE " -fvisibility=hidden" " -fvisibility=default" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
endif()

View File

@ -1,4 +1,4 @@
if("${ENABLE_HIDDEN}" STREQUAL "OFF")
if("${ENABLE_HIDDEN}" STREQUAL "OFF" AND NOT MSVC)
string(REPLACE " -Werror " " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
string(REPLACE " -fvisibility=hidden" " -fvisibility=default" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
endif()

View File

@ -5,15 +5,27 @@ if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
endif()
if(${CUDA_VERSION} VERSION_LESS 11.0)
if(NOT MSVC)
string(REPLACE "-std=c++17" "-std=c++11" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
else()
string(REPLACE "/std:c++17" "/std:c++11" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
endif()
else()
if(NOT MSVC)
string(REPLACE "-std=c++17" "-std=c++14" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
else()
string(REPLACE "/std:c++17" "/std:c++14" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
endif()
endif()
set_property(SOURCE ${CUDA_OPS_SRC_LIST} PROPERTY COMPILE_DEFINITIONS SUBMODULE_ID=mindspore::SubModuleId::SM_KERNEL)
if(ENABLE_GPU)
add_library(cuda_common_obj OBJECT cuda_ops/cuda_common.cc cuda_ops/cuda_device_info.cc)
if(NOT MSVC)
target_compile_options(cuda_common_obj PRIVATE "-std=c++17")
else()
target_compile_options(cuda_common_obj PRIVATE "/std:c++17")
endif()
cuda_add_library(cuda_ops SHARED ${CUDA_OPS_SRC_LIST} $<TARGET_OBJECTS:cuda_common_obj>)
message("add gpu lib to cuda_ops")
target_link_libraries(cuda_ops mindspore_core

View File

@ -1,4 +1,4 @@
if("${ENABLE_HIDDEN}" STREQUAL "OFF")
if("${ENABLE_HIDDEN}" STREQUAL "OFF" AND NOT MSVC)
string(REPLACE " -Werror " " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
string(REPLACE " -fvisibility=hidden" " -fvisibility=default" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
endif()

View File

@ -2,7 +2,7 @@ file(GLOB_RECURSE _PYBIND_API_SRC_LIST RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.c
set_property(SOURCE ${_PYBIND_API_SRC_LIST} PROPERTY COMPILE_DEFINITIONS SUBMODULE_ID=mindspore::SubModuleId::SM_COMMON)
add_library(_mindspore_pybind_api_obj OBJECT ${_PYBIND_API_SRC_LIST})
if("${ENABLE_HIDDEN}" STREQUAL "OFF")
if("${ENABLE_HIDDEN}" STREQUAL "OFF" AND NOT MSVC)
string(REPLACE " -Werror " " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
string(REPLACE " -fvisibility=hidden" " -fvisibility=default" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
endif()

View File

@ -6,7 +6,7 @@ file(GLOB_RECURSE DEVICE_SRC_LIST RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "common/*
"common_somas_allocator.cc"
)
if("${ENABLE_HIDDEN}" STREQUAL "OFF")
if("${ENABLE_HIDDEN}" STREQUAL "OFF" AND NOT MSVC)
string(REPLACE " -Werror " " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
string(REPLACE " -fvisibility=hidden" " -fvisibility=default" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
endif()