Warning, /frameworks/extra-cmake-modules/tests/ECMAddAppIconTest/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 cmake_minimum_required(VERSION 3.5)
0002 project(ECMAddAppIconTest)
0003 
0004 set(CMAKE_MODULE_PATH
0005     ${CMAKE_CURRENT_SOURCE_DIR}/../../modules
0006     ${CMAKE_CURRENT_SOURCE_DIR}/../../find-modules
0007 )
0008 
0009 include(ECMAddAppIcon)
0010 
0011 if(WIN32)
0012     set(icon_extension_to_test "rc")
0013 elseif(APPLE)
0014     set(icon_extension_to_test "icns")
0015 endif()
0016 
0017 #### Test 1: ecm_add_app_icon with only regular icons and no OUTFILE_BASENAME, for sources var ####
0018 set(ICONS_1 16-category-name.png 128-category-name.png)
0019 ecm_add_app_icon(OUT_1 ICONS ${ICONS_1})
0020 
0021 list(LENGTH OUT_1 out_count)
0022 
0023 if(WIN32 OR APPLE)
0024     if(out_count EQUAL 0)
0025         message(FATAL_ERROR "ecm_add_app_icon() hasn't produced anything")
0026     endif()
0027 
0028     if(NOT OUT_1 MATCHES "OUT_1.${icon_extension_to_test}")
0029         message(FATAL_ERROR "ecm_add_app_icon() did not fall back to target name for icon name: ${OUT_1}")
0030     endif()
0031 else()
0032     if(NOT out_count EQUAL 0)
0033         message(FATAL_ERROR "ecm_add_app_icon() produced something unexpectedly.")
0034     endif()
0035 endif()
0036 
0037 add_custom_target(t_1 ALL DEPENDS ${OUT_1})
0038 list(APPEND OUT "${OUT_1}")
0039 
0040 #### Test 2: ecm_add_app_icon with regular and sidebar icons and OUTFILE_BASENAME set, for sources var ####
0041 set(ICONS_2 16-category-name.png 128-category-name.png)
0042 set(SIDEBAR_ICONS_2 16-category-name-sidebar.png 128-category-name-sidebar.png)
0043 
0044 ecm_add_app_icon(OUT_2 ICONS ${ICONS_2} SIDEBAR_ICONS ${SIDEBAR_ICONS_2} OUTFILE_BASENAME "SuperBasename")
0045 
0046 list(LENGTH OUT_2 out_count)
0047 
0048 if(WIN32 OR APPLE)
0049     if(out_count EQUAL 0)
0050         message(FATAL_ERROR "ecm_add_app_icon() hasn't produced anything")
0051     endif()
0052 
0053     if(NOT OUT_2 MATCHES "SuperBasename.${icon_extension_to_test}")
0054         message(FATAL_ERROR "ecm_add_app_icon() did not respect OUTFILE_BASENAME: ${OUT_2}")
0055     endif()
0056 else()
0057     if(NOT out_count EQUAL 0)
0058         message(FATAL_ERROR "ecm_add_app_icon() produced something unexpectedly.")
0059     endif()
0060 endif()
0061 
0062 if(APPLE)
0063     list(APPEND expected_icons "icon_16x16.png" "icon_128x128.png" "sidebar_16x16.png" "sidebar_32x32.png")
0064     foreach(expected_icon ${expected_icons})
0065         list(APPEND OUT_2 "${CMAKE_CURRENT_BINARY_DIR}/SuperBasename.iconset/${expected_icon}")
0066     endforeach()
0067 endif()
0068 
0069 add_custom_target(t_2 ALL DEPENDS ${OUT_2})
0070 list(APPEND OUT "${OUT_2}")
0071 
0072 #### Test 3: ecm_add_app_icon with only regular icons and no OUTFILE_BASENAME, for target  ####
0073 set(ICONS_3 16-category-name.png 128-category-name.png)
0074 
0075 add_executable(app_3)
0076 target_sources(app_3 PRIVATE main.cpp)
0077 
0078 ecm_add_app_icon(app_3 ICONS ${ICONS_1})
0079 
0080 get_target_property(OUT_3 app_3 SOURCES)
0081 list(REMOVE_ITEM OUT_3 main.cpp)
0082 list(LENGTH OUT_3 out_count)
0083 
0084 if(WIN32 OR APPLE)
0085     if(out_count EQUAL 0)
0086         message(FATAL_ERROR "ecm_add_app_icon() hasn't produced anything")
0087     endif()
0088 
0089     if(NOT OUT_3 MATCHES "app_3.${icon_extension_to_test}")
0090         message(FATAL_ERROR "ecm_add_app_icon() did not fall back to target name for icon name: ${OUT_1}")
0091     endif()
0092 else()
0093     if(NOT out_count EQUAL 0)
0094         message(FATAL_ERROR "ecm_add_app_icon() produced something unexpectedly.")
0095     endif()
0096 endif()
0097 
0098 list(APPEND OUT "${OUT_3}")
0099 
0100 #### Test 4: ecm_add_app_icon with regular and sidebar icons and OUTFILE_BASENAME set, for target ####
0101 set(ICONS_4 16-category-name.png 128-category-name.png)
0102 set(SIDEBAR_ICONS_4 16-category-name-sidebar.png 128-category-name-sidebar.png)
0103 
0104 add_executable(app_4)
0105 target_sources(app_4 PRIVATE main.cpp)
0106 
0107 ecm_add_app_icon(app_4 ICONS ${ICONS_4} SIDEBAR_ICONS ${SIDEBAR_ICONS_4} OUTFILE_BASENAME "SuperBasename4")
0108 
0109 get_target_property(OUT_4 app_4 SOURCES)
0110 list(REMOVE_ITEM OUT_4 main.cpp)
0111 list(LENGTH OUT_4 out_count)
0112 
0113 if(WIN32 OR APPLE)
0114     if(out_count EQUAL 0)
0115         message(FATAL_ERROR "ecm_add_app_icon() hasn't produced anything")
0116     endif()
0117 
0118     if(NOT OUT_4 MATCHES "SuperBasename4.${icon_extension_to_test}")
0119         message(FATAL_ERROR "ecm_add_app_icon() did not respect OUTFILE_BASENAME: ${OUT_4}")
0120     endif()
0121 else()
0122     if(NOT out_count EQUAL 0)
0123         message(FATAL_ERROR "ecm_add_app_icon() produced something unexpectedly.")
0124     endif()
0125 endif()
0126 
0127 if(APPLE)
0128     list(APPEND expected_icons "icon_16x16.png" "icon_128x128.png" "sidebar_16x16.png" "sidebar_32x32.png")
0129     foreach(expected_icon ${expected_icons})
0130         list(APPEND OUT_4 "${CMAKE_CURRENT_BINARY_DIR}/SuperBasename4.iconset/${expected_icon}")
0131     endforeach()
0132 endif()
0133 
0134 list(APPEND OUT "${OUT_4}")
0135 
0136 #### this will be run by CTest ####
0137 configure_file(check_files.cmake.in "${CMAKE_CURRENT_BINARY_DIR}/check_files.cmake" @ONLY)