Skip to content

Commit 8eabaf9

Browse files
committed
[CMake] Always enable LOG_OUTPUT_ON_FAILUE in external projects
Logging what went wrong when building the builtins in the main CMake output can significantly speed up identifying the problem when there is a problem with builtins in the CI, or any other build environment where is it not easy or even possible to access the auxiliary log files. The `LOG_OUTPUT_ON_FAILURE` option was introduced in CMake 3.14 [1], which is presumably the reason why this very useful option was not added before. [1] https://cmake.org/cmake/help/latest/module/ExternalProject.html
1 parent 5d7c1b0 commit 8eabaf9

File tree

1 file changed

+18
-14
lines changed

1 file changed

+18
-14
lines changed

cmake/modules/SearchInstalledSoftware.cmake

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,8 @@ if(builtin_freetype)
211211
-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} -DFT_DISABLE_BZIP2=TRUE
212212
BUILD_COMMAND ${CMAKE_COMMAND} --build . ${FREETYPE_EXTRA_BUILD_ARGS}
213213
INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_if_different ${FREETYPE_LIB_DIR}/${freetypelib} ${FREETYPE_LIBRARY}
214-
LOG_DOWNLOAD 1 LOG_CONFIGURE 1 LOG_BUILD 1 LOG_INSTALL 1 BUILD_IN_SOURCE 0
214+
LOG_DOWNLOAD 1 LOG_CONFIGURE 1 LOG_BUILD 1 LOG_INSTALL 1 LOG_OUTPUT_ON_FAILURE 1
215+
BUILD_IN_SOURCE 0
215216
BUILD_BYPRODUCTS ${FREETYPE_LIBRARY}
216217
TIMEOUT 600
217218
)
@@ -234,7 +235,8 @@ if(builtin_freetype)
234235
--with-harfbuzz=no ${_freetype_brotli} ${_freetype_zlib}
235236
"CC=${_freetype_cc}" CFLAGS=${_freetype_cflags}
236237
INSTALL_COMMAND ""
237-
LOG_DOWNLOAD 1 LOG_CONFIGURE 1 LOG_BUILD 1 LOG_INSTALL 1 BUILD_IN_SOURCE 1
238+
LOG_DOWNLOAD 1 LOG_CONFIGURE 1 LOG_BUILD 1 LOG_INSTALL 1 LOG_OUTPUT_ON_FAILURE 1
239+
BUILD_IN_SOURCE 1
238240
BUILD_BYPRODUCTS ${FREETYPE_LIBRARY}
239241
TIMEOUT 600
240242
)
@@ -305,7 +307,8 @@ if(builtin_lzma)
305307
-DCMAKE_CXX_FLAGS_DEBUG=${CMAKE_CXX_FLAGS_DEBUG}
306308
BUILD_COMMAND ${CMAKE_COMMAND} --build . --config $<CONFIG> --target liblzma
307309
INSTALL_COMMAND ${CMAKE_COMMAND} --install . --config $<CONFIG> --component liblzma_Development
308-
LOG_DOWNLOAD 1 LOG_CONFIGURE 1 LOG_BUILD 1 LOG_INSTALL 1 BUILD_IN_SOURCE 1
310+
LOG_DOWNLOAD 1 LOG_CONFIGURE 1 LOG_BUILD 1 LOG_INSTALL 1 LOG_OUTPUT_ON_FAILURE 1
311+
BUILD_IN_SOURCE 1
309312
BUILD_BYPRODUCTS ${LIBLZMA_LIBRARIES}
310313
TIMEOUT 600
311314
)
@@ -331,7 +334,8 @@ if(builtin_lzma)
331334
--with-pic --disable-shared --quiet
332335
--disable-scripts --disable-xz --disable-xzdec --disable-lzmadec --disable-lzmainfo --disable-lzma-links
333336
CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER} CFLAGS=${LIBLZMA_CFLAGS} LDFLAGS=${LIBLZMA_LDFLAGS}
334-
LOG_DOWNLOAD 1 LOG_CONFIGURE 1 LOG_BUILD 1 LOG_INSTALL 1 BUILD_IN_SOURCE 1
337+
LOG_DOWNLOAD 1 LOG_CONFIGURE 1 LOG_BUILD 1 LOG_INSTALL 1 LOG_OUTPUT_ON_FAILURE 1
338+
BUILD_IN_SOURCE 1
335339
BUILD_BYPRODUCTS ${LIBLZMA_LIBRARIES}
336340
TIMEOUT 600
337341
)
@@ -479,7 +483,8 @@ if(asimage)
479483
-DFREETYPE_INCLUDE_DIR=${FREETYPE_INCLUDE_DIR} -DZLIB_INCLUDE_DIR=${ZLIB_INCLUDE_DIR}
480484
BUILD_COMMAND ${CMAKE_COMMAND} --build . ${ASTEP_EXTRA_BUILD_ARGS}
481485
INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_if_different ${ASTEP_LIB_DIR}/libAfterImage.lib <INSTALL_DIR>/lib/
482-
LOG_DOWNLOAD 1 LOG_CONFIGURE 1 LOG_BUILD 1 LOG_INSTALL 1 BUILD_IN_SOURCE 0
486+
LOG_DOWNLOAD 1 LOG_CONFIGURE 1 LOG_BUILD 1 LOG_INSTALL 1 LOG_OUTPUT_ON_FAILURE 1
487+
BUILD_IN_SOURCE 0
483488
BUILD_BYPRODUCTS ${AFTERIMAGE_LIBRARIES}
484489
TIMEOUT 600
485490
)
@@ -532,7 +537,8 @@ if(asimage)
532537
${_gifinclude} --with-jpeg ${_jpeginclude}
533538
--with-png ${_pnginclude} ${_tiffinclude}
534539
CC=${CMAKE_C_COMPILER} CFLAGS=${_after_cflags}
535-
LOG_DOWNLOAD 1 LOG_CONFIGURE 1 LOG_BUILD 1 LOG_INSTALL 1 BUILD_IN_SOURCE 1
540+
LOG_DOWNLOAD 1 LOG_CONFIGURE 1 LOG_BUILD 1 LOG_INSTALL 1 LOG_OUTPUT_ON_FAILURE 1
541+
BUILD_IN_SOURCE 1
536542
BUILD_BYPRODUCTS ${AFTERIMAGE_LIBRARIES}
537543
TIMEOUT 600
538544
)
@@ -588,7 +594,7 @@ if(mathmore OR builtin_gsl)
588594
CFLAGS=${CMAKE_C_FLAGS}
589595
CPPFLAGS=${_gsl_cppflags}
590596
LDFLAGS=${_gsl_ldflags}
591-
LOG_DOWNLOAD 1 LOG_CONFIGURE 1 LOG_BUILD 1 LOG_INSTALL 1
597+
LOG_DOWNLOAD 1 LOG_CONFIGURE 1 LOG_BUILD 1 LOG_INSTALL 1 LOG_OUTPUT_ON_FAILURE 1
592598
BUILD_BYPRODUCTS ${GSL_LIBRARIES}
593599
TIMEOUT 600
594600
)
@@ -888,7 +894,7 @@ if(builtin_fftw3)
888894
INSTALL_DIR ${CMAKE_BINARY_DIR}
889895
CONFIGURE_COMMAND ./configure --prefix=<INSTALL_DIR>
890896
BUILD_COMMAND make CFLAGS=-fPIC
891-
LOG_DOWNLOAD 1 LOG_CONFIGURE 1 LOG_BUILD 1 LOG_INSTALL 1
897+
LOG_DOWNLOAD 1 LOG_CONFIGURE 1 LOG_BUILD 1 LOG_INSTALL 1 LOG_OUTPUT_ON_FAILURE 1
892898
BUILD_IN_SOURCE 1
893899
BUILD_BYPRODUCTS ${FFTW_LIBRARIES}
894900
TIMEOUT 600
@@ -1357,7 +1363,7 @@ if(vc AND NOT Vc_FOUND)
13571363
URL_HASH SHA256=5933108196be44c41613884cd56305df320263981fe6a49e648aebb3354d57f3
13581364
BUILD_IN_SOURCE 0
13591365
BUILD_BYPRODUCTS ${Vc_LIBRARY}
1360-
LOG_DOWNLOAD 1 LOG_CONFIGURE 1 LOG_BUILD 1 LOG_INSTALL 1
1366+
LOG_DOWNLOAD 1 LOG_CONFIGURE 1 LOG_BUILD 1 LOG_INSTALL 1 LOG_OUTPUT_ON_FAILURE 1
13611367
CMAKE_ARGS -G ${CMAKE_GENERATOR}
13621368
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
13631369
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
@@ -1451,7 +1457,7 @@ if(builtin_veccore)
14511457
URL ${VecCore_SRC_URI}
14521458
URL_HASH SHA256=1268bca92acf00acd9775f1e79a2da7b1d902733d17e283e0dd5e02c41ac9666
14531459
BUILD_IN_SOURCE 0
1454-
LOG_DOWNLOAD 1 LOG_CONFIGURE 1 LOG_BUILD 1 LOG_INSTALL 1
1460+
LOG_DOWNLOAD 1 LOG_CONFIGURE 1 LOG_BUILD 1 LOG_INSTALL 1 LOG_OUTPUT_ON_FAILURE 1
14551461
CMAKE_ARGS -G ${CMAKE_GENERATOR}
14561462
-DBUILD_TESTING=OFF
14571463
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
@@ -1545,7 +1551,7 @@ if(vdt OR builtin_vdt)
15451551
-DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
15461552
-DCMAKE_CXX_FLAGS=${ROOT_EXTERNAL_CXX_FLAGS}
15471553
-DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>
1548-
LOG_DOWNLOAD 1 LOG_CONFIGURE 1 LOG_BUILD 1 LOG_INSTALL 1
1554+
LOG_DOWNLOAD 1 LOG_CONFIGURE 1 LOG_BUILD 1 LOG_INSTALL 1 LOG_OUTPUT_ON_FAILURE 1
15491555
BUILD_BYPRODUCTS ${VDT_LIBRARIES}
15501556
TIMEOUT 600
15511557
)
@@ -1926,9 +1932,7 @@ if (builtin_gtest)
19261932
INSTALL_COMMAND ""
19271933
BUILD_BYPRODUCTS ${_gtest_byproducts}
19281934
# Wrap download, configure and build steps in a script to log output
1929-
LOG_DOWNLOAD ON
1930-
LOG_CONFIGURE ON
1931-
LOG_BUILD ON
1935+
LOG_DOWNLOAD ON LOG_CONFIGURE ON LOG_BUILD ON LOG_OUTPUT_ON_FAILURE ON
19321936
TIMEOUT 600
19331937
)
19341938

0 commit comments

Comments
 (0)