From 9ff72366d5d0ed79d79b9edac6a0829086bf5934 Mon Sep 17 00:00:00 2001 From: x7z4w Date: Thu, 14 Aug 2025 19:43:15 +0000 Subject: [PATCH] [build] Check for generated files Signed-off-by: x7z4w --- CMakeLists.txt | 2 -- configure.sh | 24 ++++++++++++++++++++++-- tools/unix/build_omim.sh | 6 +++--- 3 files changed, 25 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ab4f0b54d..9ac12fa55 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -49,8 +49,6 @@ if (APPLE AND NOT ("${CMAKE_SYSTEM_NAME}" STREQUAL Android)) set(CMAKE_OBJCXX_VISIBILITY_PRESET hidden) endif() -execute_process(COMMAND "./configure.sh" WORKING_DIRECTORY ${OMIM_ROOT}) - message(STATUS "Using compiler ${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION}") if (CMAKE_UNITY_BUILD) diff --git a/configure.sh b/configure.sh index 1f5bf1665..ec53e3d97 100755 --- a/configure.sh +++ b/configure.sh @@ -9,6 +9,26 @@ SKIP_MAP_DOWNLOAD=$SKIP_MAP_DOWNLOAD SKIP_GENERATE_SYMBOLS=$SKIP_GENERATE_SYMBOLS SKIP_GENERATE_DRULES=$SKIP_GENERATE_DRULES +DRULES_NOT_GENERATED= +SYMBOLS_NOT_GENERATED= + +DRULES_FILES=(drules_proto.bin drules_proto_default_dark.bin drules_proto_default_light.bin drules_proto_outdoors_dark.bin drules_proto_outdoors_light.bin drules_proto_vehicle_dark.bin drules_proto_vehicle_light.bin classificator.txt types.txt visibility.txt colors.txt patterns.txt) +SYMBOLS_FILES=(xhdpi/light/symbols.png xhdpi/light/symbols.sdf xhdpi/dark/symbols.png xhdpi/dark/symbols.sdf mdpi/light/symbols.png mdpi/light/symbols.sdf mdpi/dark/symbols.png mdpi/dark/symbols.sdf 6plus/light/symbols.png 6plus/light/symbols.sdf 6plus/dark/symbols.png 6plus/dark/symbols.sdf xxxhdpi/light/symbols.png xxxhdpi/light/symbols.sdf xxxhdpi/dark/symbols.png xxxhdpi/dark/symbols.sdf hdpi/light/symbols.png hdpi/light/symbols.sdf hdpi/dark/symbols.png hdpi/dark/symbols.sdf xxhdpi/light/symbols.png xxhdpi/light/symbols.sdf xxhdpi/dark/symbols.png xxhdpi/dark/symbols.sdf) + +for f in ${DRULES_FILES[*]}; do + if [ ! -f "data/$f" ]; then + DRULES_NOT_GENERATED=1 + break + fi +done + +for f in ${SYMBOLS_FILES[*]}; do + if [ ! -f "data/symbols/$f" ]; then + SYMBOLS_NOT_GENERATED=1 + break + fi +done + ############################# PROCESS OPTIONS ################################ TEMP=$(getopt -o ms --long skip-map-download,skip-generate-symbols,skip-generate-drules \ @@ -87,7 +107,7 @@ else fi if [ -z "$SKIP_GENERATE_SYMBOLS" ]; then - if Diff data/symbols_hash data/styles/*/*/symbols/*; then + if Diff data/symbols_hash data/styles/*/*/symbols/* || [ ! -z "$SYMBOLS_NOT_GENERATED" ]; then echo "Generating symbols..." bash ./tools/unix/generate_symbols.sh fi @@ -96,7 +116,7 @@ else fi if [ -z "$SKIP_GENERATE_DRULES" ]; then - if Diff data/drules_hash data/styles/*/*/*.mapcss data/styles/*/*/*.prio.txt data/mapcss-mapping.csv; then + if Diff data/drules_hash data/styles/*/*/*.mapcss data/styles/*/*/*.prio.txt data/mapcss-mapping.csv || [ ! -z "$DRULES_NOT_GENERATED" ]; then echo "Generating drules..." bash ./tools/unix/generate_drules.sh fi diff --git a/tools/unix/build_omim.sh b/tools/unix/build_omim.sh index 42c02ed66..eba5c847f 100755 --- a/tools/unix/build_omim.sh +++ b/tools/unix/build_omim.sh @@ -57,8 +57,8 @@ done OPT_TARGET=${@:$OPTIND} -CMAKE_CONFIG="${CMAKE_CONFIG:-} -U SKIP_QT_GUI" -if [ "$OPT_TARGET" != "desktop" -a -z "$OPT_DESIGNER" -a -z "$OPT_STANDALONE"] || [[ "$OPT_TARGET" =~ "generator_tool|topography_generator_tool|world_roads_builder_tool|mwm_diff_tool" ]]; then +CMAKE_CONFIG="${CMAKE_CONFIG:-} -U SKIP_QT_GUI -U GENERATOR_TOOL" +if [ "$OPT_TARGET" != "desktop" -a -z "$OPT_DESIGNER" -a -z "$OPT_STANDALONE"]; then CMAKE_CONFIG="${CMAKE_CONFIG:-} -DSKIP_QT_GUI=ON" fi @@ -68,7 +68,7 @@ if [ -z "$OPT_DEBUG$OPT_RELEASE$OPT_RELEASEDEBUGINFO" ]; then OPT_RELEASEDEBUGINFO=1 fi -if [[ "$OPT_TARGET" =~ "generator_tool|topography_generator_tool|world_roads_builder_tool|mwm_diff_tool" ]]; then +if [[ "$OPT_TARGET" =~ generator_tool|topography_generator_tool|world_roads_builder_tool|mwm_diff_tool ]]; then CMAKE_CONFIG="${CMAKE_CONFIG:-} -DGENERATOR_TOOL=ON" fi