diff options
author | ZipCPU <dgisselq@ieee.org> | 2018-06-06 07:55:18 -0400 |
---|---|---|
committer | ZipCPU <dgisselq@ieee.org> | 2018-06-06 07:55:18 -0400 |
commit | d0ee08aeb12a8fb7237b31083666d9b165f13f69 (patch) | |
tree | e09d84b0389462f2c1959ce59438d88a7b5f9ed2 /gui/Qt5Customizations.cmake | |
parent | 2e6d0b752ab2d269f822bfd3ea029b100ecf4233 (diff) | |
parent | d3f19cc27ea4634a64821688e9adec6046f4d7de (diff) | |
download | nextpnr-d0ee08aeb12a8fb7237b31083666d9b165f13f69.tar.gz nextpnr-d0ee08aeb12a8fb7237b31083666d9b165f13f69.tar.bz2 nextpnr-d0ee08aeb12a8fb7237b31083666d9b165f13f69.zip |
Merge branch 'master' into gqtech
Diffstat (limited to 'gui/Qt5Customizations.cmake')
-rw-r--r-- | gui/Qt5Customizations.cmake | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/gui/Qt5Customizations.cmake b/gui/Qt5Customizations.cmake new file mode 100644 index 00000000..39d3a644 --- /dev/null +++ b/gui/Qt5Customizations.cmake @@ -0,0 +1,60 @@ +include(CMakeParseArguments) + +# qt5_wrap_ui_custom(outfiles inputfile ... ) + +function(QT5_WRAP_UI_CUSTOM outfiles ) + set(options) + set(oneValueArgs) + set(multiValueArgs OPTIONS) + + cmake_parse_arguments(_WRAP_UI "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) + + set(ui_files ${_WRAP_UI_UNPARSED_ARGUMENTS}) + set(ui_options ${_WRAP_UI_OPTIONS}) + + foreach(it ${ui_files}) + get_filename_component(outfile ${it} NAME_WE) + get_filename_component(infile ${it} ABSOLUTE) + set(outfile ${CMAKE_CURRENT_BINARY_DIR}/generated/ui_${outfile}.h) + add_custom_command(OUTPUT ${outfile} + COMMAND ${Qt5Widgets_UIC_EXECUTABLE} + ARGS ${ui_options} -o ${outfile} ${infile} + MAIN_DEPENDENCY ${infile} VERBATIM) + list(APPEND ${outfiles} ${outfile}) + endforeach() + set(${outfiles} ${${outfiles}} PARENT_SCOPE) +endfunction() + +# qt5_add_resources_custom(outfiles inputfile ... ) + +function(QT5_ADD_RESOURCES_CUSTOM outfiles ) + + set(options) + set(oneValueArgs) + set(multiValueArgs OPTIONS) + + cmake_parse_arguments(_RCC "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) + + set(rcc_files ${_RCC_UNPARSED_ARGUMENTS}) + set(rcc_options ${_RCC_OPTIONS}) + + if("${rcc_options}" MATCHES "-binary") + message(WARNING "Use qt5_add_binary_resources for binary option") + endif() + + foreach(it ${rcc_files}) + get_filename_component(outfilename ${it} NAME_WE) + get_filename_component(infile ${it} ABSOLUTE) + set(outfile ${CMAKE_CURRENT_BINARY_DIR}/generated/qrc_${outfilename}.cc) + + _QT5_PARSE_QRC_FILE(${infile} _out_depends _rc_depends) + + add_custom_command(OUTPUT ${outfile} + COMMAND ${Qt5Core_RCC_EXECUTABLE} + ARGS ${rcc_options} --name ${outfilename} --output ${outfile} ${infile} + MAIN_DEPENDENCY ${infile} + DEPENDS ${_rc_depends} "${out_depends}" VERBATIM) + list(APPEND ${outfiles} ${outfile}) + endforeach() + set(${outfiles} ${${outfiles}} PARENT_SCOPE) +endfunction()
\ No newline at end of file |