From 2b86de217a7dabe56888ede236dd7229127eb33e Mon Sep 17 00:00:00 2001 From: Alexander Alekhin Date: Wed, 31 Mar 2021 23:14:45 +0000 Subject: [PATCH] cmake: fix order of headers - cmake uses filesystem's order which may vary - unpredictable headers order may cause build failures (primary bindings) --- cmake/OpenCVModule.cmake | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cmake/OpenCVModule.cmake b/cmake/OpenCVModule.cmake index efb6ca8fa9..bcbca833f2 100644 --- a/cmake/OpenCVModule.cmake +++ b/cmake/OpenCVModule.cmake @@ -876,7 +876,9 @@ endmacro() macro(_ocv_create_module) ocv_compiler_optimization_process_sources(OPENCV_MODULE_${the_module}_SOURCES OPENCV_MODULE_${the_module}_DEPS_EXT ${the_module}) - set(OPENCV_MODULE_${the_module}_HEADERS ${OPENCV_MODULE_${the_module}_HEADERS} CACHE INTERNAL "List of header files for ${the_module}") + set(__module_headers ${OPENCV_MODULE_${the_module}_HEADERS}) + list(SORT __module_headers) # fix headers order, useful for bindings + set(OPENCV_MODULE_${the_module}_HEADERS ${__module_headers} CACHE INTERNAL "List of header files for ${the_module}") set(OPENCV_MODULE_${the_module}_SOURCES ${OPENCV_MODULE_${the_module}_SOURCES} CACHE INTERNAL "List of source files for ${the_module}") # The condition we ought to be testing here is whether ocv_add_precompiled_headers will