Commit 646126a4 by Arnaud Botella Committed by Copybara-Service

PR #1715: Generate options.h using CMake only once

Imported from GitHub PR https://github.com/abseil/abseil-cpp/pull/1715

Using abseil via CMake ExternalProject, for each compilation abseil is reconfigured. This leads to a new options-pinned.h generated and then a new options.h installed. Because of that new options.h file, all projects depending on abseil recompile entirely.

Using file(GENERATE ...) instead of file(WRITE ...) allows generating options-pinned.h only when the content is new or changed.

Merge b3b53860d1f6cc83283806117cd5d341159b6052 into cd75cb4a

Merging this change closes #1715

COPYBARA_INTEGRATE_REVIEW=https://github.com/abseil/abseil-cpp/pull/1715 from BotellaA:patch-1 b3b53860d1f6cc83283806117cd5d341159b6052
PiperOrigin-RevId: 652495570
Change-Id: Ib14bd9a78f80a540aae73d7a94cb46e2c05e8509
parent b86d574c
...@@ -249,7 +249,7 @@ if(ABSL_ENABLE_INSTALL) ...@@ -249,7 +249,7 @@ if(ABSL_ENABLE_INSTALL)
ABSL_INTERNAL_OPTIONS_H_PINNED ABSL_INTERNAL_OPTIONS_H_PINNED
"${ABSL_INTERNAL_OPTIONS_H_CONTENTS}") "${ABSL_INTERNAL_OPTIONS_H_CONTENTS}")
file(WRITE "${CMAKE_BINARY_DIR}/options-pinned.h" "${ABSL_INTERNAL_OPTIONS_H_PINNED}") file(GENERATE OUTPUT "${CMAKE_BINARY_DIR}/options-pinned.h" CONTENT "${ABSL_INTERNAL_OPTIONS_H_PINNED}")
install(FILES "${CMAKE_BINARY_DIR}/options-pinned.h" install(FILES "${CMAKE_BINARY_DIR}/options-pinned.h"
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/absl/base DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/absl/base
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment