Skip to content
Merged
Show file tree
Hide file tree
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
20 changes: 16 additions & 4 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -296,7 +296,10 @@ if(EXECUTORCH_BUILD_TESTS)
endif()

# TODO(dbort): Fix these warnings and remove this flag.
set(_common_compile_options -Wno-deprecated-declarations -fPIC)
set(_common_compile_options
$<$<CXX_COMPILER_ID:MSVC>:/wd4996>
$<$<NOT:$<CXX_COMPILER_ID:MSVC>>:-Wno-deprecated-declarations -fPIC>
)

# Let files say "include <executorch/path/to/header.h>".
# TODO(#6475): This requires/assumes that the repo lives in a directory named
Expand Down Expand Up @@ -787,7 +790,10 @@ if(EXECUTORCH_BUILD_PYBIND)
bundled_module PUBLIC ${_common_include_directories}
)
target_compile_options(
bundled_module PUBLIC -Wno-deprecated-declarations -fPIC
bundled_module
PUBLIC $<$<CXX_COMPILER_ID:MSVC>:/wd4996>
$<$<NOT:$<CXX_COMPILER_ID:MSVC>>:-Wno-deprecated-declarations
-fPIC>
)
endif()

Expand Down Expand Up @@ -859,8 +865,14 @@ if(EXECUTORCH_BUILD_PYBIND)
endif()

# compile options for pybind
set(_pybind_compile_options -Wno-deprecated-declarations -fPIC -frtti
-fexceptions
set(_pybind_compile_options
$<$<CXX_COMPILER_ID:MSVC>:/EHsc
/GR
/wd4996>
$<$<NOT:$<CXX_COMPILER_ID:MSVC>>:-Wno-deprecated-declarations
-fPIC
-frtti
-fexceptions>
)

# util lib
Expand Down
10 changes: 8 additions & 2 deletions backends/aoti/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,15 @@ target_include_directories(
# PyTorch AOTI headers from ExecuTorch's torch detection
${TORCH_INCLUDE_DIRS}
)
target_compile_options(aoti_common PUBLIC -fexceptions -frtti -fPIC)
target_compile_options(
aoti_common
PUBLIC $<$<CXX_COMPILER_ID:MSVC>:/EHsc /GR>
$<$<NOT:$<CXX_COMPILER_ID:MSVC>>:-fexceptions -frtti -fPIC>
)
# Ensure symbols are exported properly
target_link_options(aoti_common PUBLIC -Wl,--export-dynamic)
target_link_options(
aoti_common PUBLIC $<$<NOT:$<CXX_COMPILER_ID:MSVC>>:-Wl,--export-dynamic>
)

# Link against ExecuTorch libraries and standard libraries
target_link_libraries(aoti_common PUBLIC extension_tensor ${CMAKE_DL_LIBS})
Expand Down
9 changes: 7 additions & 2 deletions backends/cuda/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,14 @@ target_include_directories(
# PyTorch AOTI headers from ExecutorTorch's torch detection
${TORCH_INCLUDE_DIRS}
)
target_compile_options(aoti_cuda PUBLIC -fexceptions -frtti -fPIC)
target_compile_options(
aoti_cuda PUBLIC $<$<CXX_COMPILER_ID:MSVC>:/EHsc /GR>
$<$<NOT:$<CXX_COMPILER_ID:MSVC>>:-fexceptions -frtti -fPIC>
)
# Ensure symbols are exported properly
target_link_options(aoti_cuda PUBLIC -Wl,--export-dynamic)
target_link_options(
aoti_cuda PUBLIC $<$<NOT:$<CXX_COMPILER_ID:MSVC>>:-Wl,--export-dynamic>
)

# Link against CUDA::cudart, common AOTI library, and PyTorch CUDA libraries
target_link_libraries(
Expand Down
5 changes: 4 additions & 1 deletion extension/android/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,10 @@ endif()

set(EXECUTORCH_ROOT "${CMAKE_CURRENT_SOURCE_DIR}/../..")
include(${EXECUTORCH_ROOT}/tools/cmake/Utils.cmake)
set(_common_compile_options -Wno-deprecated-declarations -fPIC)
set(_common_compile_options
$<$<CXX_COMPILER_ID:MSVC>:/wd4996>
$<$<NOT:$<CXX_COMPILER_ID:MSVC>>:-Wno-deprecated-declarations -fPIC>
)
if(NOT ANDROID_PLATFORM)
set(ANDROID_PLATFORM android-30)
endif()
Expand Down
20 changes: 16 additions & 4 deletions extension/llm/custom_ops/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,14 @@ if(NOT EXECUTORCH_ROOT)
set(EXECUTORCH_ROOT ${CMAKE_CURRENT_SOURCE_DIR}/../../..)
endif()

set(_common_compile_options -Wno-deprecated-declarations -fPIC)
set(_common_compile_options
$<$<CXX_COMPILER_ID:MSVC>:/wd4996>
$<$<NOT:$<CXX_COMPILER_ID:MSVC>>:-Wno-deprecated-declarations -fPIC>
)
if(CMAKE_SYSTEM_PROCESSOR MATCHES "arm64|aarch64")
list(APPEND _common_compile_options "-march=armv8.2-a+dotprod")
list(APPEND _common_compile_options
"$<$<NOT:$<CXX_COMPILER_ID:MSVC>>:-march=armv8.2-a+dotprod>"
)
endif()

include(${EXECUTORCH_ROOT}/tools/cmake/Utils.cmake)
Expand Down Expand Up @@ -135,8 +140,15 @@ if(EXECUTORCH_BUILD_KERNELS_LLM_AOT)
target_link_libraries(custom_ops_aot_lib PUBLIC pthreadpool cpuinfo)
endif()
target_compile_options(
custom_ops_aot_lib PUBLIC -Wno-deprecated-declarations -fPIC -frtti
-fexceptions ${_common_compile_options}
custom_ops_aot_lib
PUBLIC $<$<CXX_COMPILER_ID:MSVC>:/EHsc
/GR
/wd4996>
$<$<NOT:$<CXX_COMPILER_ID:MSVC>>:-Wno-deprecated-declarations
-fPIC
-frtti
-fexceptions>
${_common_compile_options}
)

install(
Expand Down
8 changes: 6 additions & 2 deletions extension/module/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,9 @@ target_include_directories(
extension_module PUBLIC ${_common_include_directories}
)
target_compile_options(
extension_module PUBLIC -Wno-deprecated-declarations -fPIC
extension_module
PUBLIC $<$<CXX_COMPILER_ID:MSVC>:/wd4996>
$<$<NOT:$<CXX_COMPILER_ID:MSVC>>:-Wno-deprecated-declarations -fPIC>
)

# Module extension built as a static library. TODO(gjcomer) Remove this target
Expand All @@ -50,7 +52,9 @@ target_include_directories(
extension_module_static PUBLIC ${_common_include_directories}
)
target_compile_options(
extension_module_static PUBLIC -Wno-deprecated-declarations -fPIC
extension_module_static
PUBLIC $<$<CXX_COMPILER_ID:MSVC>:/wd4996>
$<$<NOT:$<CXX_COMPILER_ID:MSVC>>:-Wno-deprecated-declarations -fPIC>
)

# Install libraries
Expand Down
9 changes: 8 additions & 1 deletion extension/training/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,14 @@ if(EXECUTORCH_BUILD_PYBIND)

target_include_directories(_training_lib PRIVATE ${TORCH_INCLUDE_DIRS})
target_compile_options(
_training_lib PUBLIC -Wno-deprecated-declarations -fPIC -frtti -fexceptions
_training_lib
PUBLIC $<$<CXX_COMPILER_ID:MSVC>:/EHsc
/GR
/wd4996>
$<$<NOT:$<CXX_COMPILER_ID:MSVC>>:-Wno-deprecated-declarations
-fPIC
-frtti
-fexceptions>
)
target_link_libraries(_training_lib PRIVATE ${_pybind_training_dep_libs})

Expand Down
10 changes: 9 additions & 1 deletion extension/wasm/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,15 @@ if(NOT EXECUTORCH_ROOT)
endif()

include(${EXECUTORCH_ROOT}/tools/cmake/Utils.cmake)
set(_common_compile_options -Wno-deprecated-declarations -fPIC -Wall -Werror)
set(_common_compile_options
$<$<CXX_COMPILER_ID:MSVC>:/W4
/WX
/wd4996>
$<$<NOT:$<CXX_COMPILER_ID:MSVC>>:-Wall
-Werror
-Wno-deprecated-declarations
-fPIC>
)
set(_common_include_directories ${EXECUTORCH_ROOT}/..)

set(link_libraries)
Expand Down
Loading