diff options
author | ambrosin <ambrosin@google.com> | 2023-07-10 07:24:50 -0700 |
---|---|---|
committer | Copybara-Service <copybara-worker@google.com> | 2023-07-10 07:27:17 -0700 |
commit | a48b971312f64953f1b07b7ad7326959cd70c662 (patch) | |
tree | 8b164384ac1c9adbbada55d51dfd6dd59515852b /cmake | |
parent | a078fcd86a7082f9d12a3ba90b92a9e70d704859 (diff) | |
download | tink-a48b971312f64953f1b07b7ad7326959cd70c662.tar.gz |
Use the /bigobj copt when building for MSVC.
This is needed for template-heavy code [1], and it is added by default by Bazel [2].
[1] https://learn.microsoft.com/en-us/cpp/error-messages/compiler-errors-1/fatal-error-c1128?view=msvc-170
[2] https://github.com/bazelbuild/bazel/blob/726b1007c9cc843cf65e2e4289a61c5ee346d5e1/tools/cpp/windows_cc_toolchain_config.bzl#L667
PiperOrigin-RevId: 546865338
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/TinkBuildRules.cmake | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/cmake/TinkBuildRules.cmake b/cmake/TinkBuildRules.cmake index 9fd43283a..58bcc2570 100644 --- a/cmake/TinkBuildRules.cmake +++ b/cmake/TinkBuildRules.cmake @@ -49,6 +49,13 @@ if (NOT DEFINED TINK_CXX_STANDARD) endif() endif() +set(TINK_DEFAULT_COPTS "") +if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") + # This is required to avoid error C1128. + # See https://learn.microsoft.com/en-us/cpp/error-messages/compiler-errors-1/fatal-error-c1128?view=msvc-170. + set(TINK_DEFAULT_COPTS "/bigobj") +endif() + list(APPEND TINK_INCLUDE_DIRS "${TINK_GENFILE_DIR}") set(TINK_IDE_FOLDER "Tink") @@ -146,6 +153,7 @@ function(tink_cc_library) target_sources(${_target_name} PRIVATE ${tink_cc_library_SRCS}) target_include_directories(${_target_name} PUBLIC ${TINK_INCLUDE_DIRS}) target_link_libraries(${_target_name} PUBLIC ${tink_cc_library_DEPS}) + target_compile_options(${_target_name} PRIVATE ${TINK_DEFAULT_COPTS}) set_property(TARGET ${_target_name} PROPERTY CXX_STANDARD ${TINK_CXX_STANDARD}) set_property(TARGET ${_target_name} PROPERTY CXX_STANDARD_REQUIRED true) if (tink_cc_library_PUBLIC) |