diff --git a/README.md b/README.md index 6831be8..0e014c7 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ repository for detailed instructions. To generate the header with icon definitions, Perl and the module `YAML::XS` (or `YAML`) are required. To use a specific Perl binary, one can set the CMake -variable `PERL`. +variable `PERL_BIN`. ### Providing the font file Of course the font file and icon definitions for ForkAwesome need to be diff --git a/qtforkawesome/CMakeLists.txt b/qtforkawesome/CMakeLists.txt index 19e39af..3357691 100644 --- a/qtforkawesome/CMakeLists.txt +++ b/qtforkawesome/CMakeLists.txt @@ -60,7 +60,10 @@ file(WRITE "${RES_FILE_PATH}" "${RES_FILE_DATA}") list(APPEND RES_FILES "${RES_FILE_PATH}") # create rule for generating header file -find_program(PERL perl) +find_program(PERL_BIN perl) +if (NOT PERL_BIN) + message(FATAL_ERROR "Unable to find Perl, set PERL_BIN to the path of Perl's executable.") +endif () set(GENERATED_HEADERS_PATH "${CMAKE_CURRENT_BINARY_DIR}/headers") set(ICONS_HEADER_FILE "${GENERATED_HEADERS_PATH}/private/icons.h") set(ID_MAPPING_HEADER_FILE "${GENERATED_HEADERS_PATH}/private/idmapping.h") @@ -69,7 +72,7 @@ list(APPEND SRC_FILES "${ICONS_HEADER_FILE}" "${ID_MAPPING_HEADER_FILE}") set(META_TIDY_EXCLUDE_REGEX ".*/headers/private.*") add_custom_command( OUTPUT "${ICONS_HEADER_FILE}" "${ID_MAPPING_HEADER_FILE}" - COMMAND "${PERL}" "${CMAKE_CURRENT_SOURCE_DIR}/scripts/yaml2enum.pl" "${FORK_AWESOME_ICON_DEFINITIONS}" + COMMAND "${PERL_BIN}" "${CMAKE_CURRENT_SOURCE_DIR}/scripts/yaml2enum.pl" "${FORK_AWESOME_ICON_DEFINITIONS}" "${ICONS_HEADER_FILE}" "${ID_MAPPING_HEADER_FILE}" DEPENDS "${FORK_AWESOME_ICON_DEFINITIONS}" COMMENT "Icon header")