diff --git a/qad/CMakeLists.txt b/qad/CMakeLists.txt index 1d40563..7841d95 100644 --- a/qad/CMakeLists.txt +++ b/qad/CMakeLists.txt @@ -70,8 +70,8 @@ macro(qad_plugin NAME _MODULES _LIBS) add_definitions(-DQT_NO_DEBUG) add_definitions(-DQT_SHARED) add_definitions(-DQDESIGNER_EXPORT_WIDGETS) - file(GLOB SRC "*.h" "*.cpp" "*.ui" "*.qrc" "lang/*.ts") find_qt(${QtVersions} Core Designer ${_MODULES}) + qt_sources(SRC) qt_wrap(${SRC} CPPS out_CPP QMS out_QM) qt_add_library(${PROJ_NAME} SHARED out_CPP) qt_target_link_libraries(${PROJ_NAME} ${_LIBS} qad_${NAME} ${_${NAME}_PLUGIN_LIBS}) @@ -80,8 +80,8 @@ endmacro() macro(qad_project NAME _MODULES _LIBS) set(PROJ_NAME qad_${NAME}) - file(GLOB SRC "*.h" "*.cpp" "*.ui" "*.qrc" "lang/*.ts") find_qt(${QtVersions} Core ${_MODULES}) + qt_sources(SRC) qt_wrap(${SRC} HDRS out_HDR CPPS out_CPP QMS out_QM) qt_add_library(${PROJ_NAME} SHARED out_CPP) qt_target_link_libraries(${PROJ_NAME} ${_LIBS}) diff --git a/qad/QtWraps.cmake b/qad/QtWraps.cmake index 7abaf59..d00a4f8 100644 --- a/qad/QtWraps.cmake +++ b/qad/QtWraps.cmake @@ -127,6 +127,51 @@ macro(find_qt) endmacro() +# usage: qt_sources( [NO_DEFAULT] [DIR ] [ ...]) +# collect all sources, optionally in directory and +# additional filters . By default filter files with regexps +# "*.h", "*.hpp", "*.c", "*.cpp", "*.ui", "*.qrc", "*.rc", "*.ts" and "lang/*.ts". +# Default filters disabled with option NO_DEFAULT +macro(qt_sources OUT) + set(${OUT}) + set(_DIR "") + set(_IS_DIR 0) + set(_NO_DEFAULT 0) + set(_DEFAULT) + set(_REGEXP) + set(_REGEXP_WD) + foreach(_i ${ARGN}) + if (_IS_DIR) + set(_DIR "${_i}") + set(_IS_DIR 0) + else() + if ("x${_i}" STREQUAL "xDIR") + set(_IS_DIR 1) + else() + if ("x${_i}" STREQUAL "xNO_DEFAULT") + set(_NO_DEFAULT 1) + else() + list(APPEND _REGEXP ${_i}) + endif() + endif() + endif() + endforeach() + if (NOT "x${_DIR}" STREQUAL "x") + #file(TO_CMAKE_PATH "${_DIR}//" _DIR) + string(REPLACE "\\" "/" _DIR "${_DIR}/") + string(REPLACE "//" "/" _DIR "${_DIR}") + endif() + foreach(_i ${_REGEXP}) + list(APPEND _REGEXP_WD "${_DIR}${_i}") + endforeach() + if (NOT _NO_DEFAULT) + set(_DEFAULT "${_DIR}*.h" "${_DIR}*.hpp" "${_DIR}*.c" "${_DIR}*.cpp" "${_DIR}*.ui" "${_DIR}*.qrc" "${_DIR}*.rc" "${_DIR}*.ts" "${_DIR}lang/*.ts") + endif() + #message("${_DEFAULT}, ${_REGEXP_WD}") + file(GLOB ${OUT} ${_DEFAULT} ${_REGEXP_WD}) +endmacro() + + # usage: qt_wrap( ... [HDRS ] [CPPS ] [QMS ]) # prepare sources for compile # store headers to , all wrapped Qt4 files to _Qt4 and Qt5 files to _Qt5 @@ -196,6 +241,7 @@ macro(qt_wrap) set(CPP_LIST) set(UI_LIST) set(RES_LIST) + set(RC_LIST) set(TS_LIST) foreach(_i ${FILE_LIST}) get_filename_component(_EXT "${_i}" EXT) @@ -215,6 +261,9 @@ macro(qt_wrap) if ("x${_EXT}" STREQUAL "x.qrc") list(APPEND RES_LIST "${_i}") endif() + if ("x${_EXT}" STREQUAL "x.rc") + list(APPEND RC_LIST "${_i}") + endif() if ("x${_EXT}" STREQUAL "x.ts") list(APPEND TS_LIST "${_i}") endif() @@ -253,7 +302,9 @@ macro(qt_wrap) else() endif() endif() + #message("${${QM${_v}_VAR}}") list(APPEND ${CPP${_v}_VAR} ${CPP_LIST}) + list(APPEND ${CPP${_v}_VAR} ${RC_LIST}) list(APPEND ${CPP${_v}_VAR} ${MOCS${_v}}) list(APPEND ${CPP${_v}_VAR} ${CUIS${_v}}) list(APPEND ${CPP${_v}_VAR} ${CRES${_v}}) diff --git a/qad/blockview/blockeditor/CMakeLists.txt b/qad/blockview/blockeditor/CMakeLists.txt index 773fa1d..d259c1a 100644 --- a/qad/blockview/blockeditor/CMakeLists.txt +++ b/qad/blockview/blockeditor/CMakeLists.txt @@ -1,6 +1,6 @@ project(blockeditor) -file(GLOB SRC "*.h" "*.cpp" "*.ui" "*.qrc" "lang/*.ts") find_qt(${QtVersions} Core Gui Widgets) +qt_sources(SRC) qt_wrap(${SRC} CPPS out_CPP QMS out_QM) qt_add_executable(${PROJECT_NAME} WIN32 out_CPP) qt_target_link_libraries(${PROJECT_NAME} qad_utils qad_widgets qad_blockview) diff --git a/qad/blockview/blockeditor/blockeditor_main.cpp b/qad/blockview/blockeditor/blockeditor_main.cpp index 8d623f2..645ec0b 100644 --- a/qad/blockview/blockeditor/blockeditor_main.cpp +++ b/qad/blockview/blockeditor/blockeditor_main.cpp @@ -4,6 +4,7 @@ int main(int argc, char * argv[]) { QApplication a(argc, argv); + a.setWindowIcon(QIcon(":/icons/blockview.png")); BlockEditor w; if (a.arguments().size() > 1) w.loadFile(a.arguments().back()); diff --git a/qad/blockview/blockeditor/icons/blockview.ico b/qad/blockview/blockeditor/icons/blockview.ico new file mode 100644 index 0000000..90d261e Binary files /dev/null and b/qad/blockview/blockeditor/icons/blockview.ico differ diff --git a/qad/blockview/blockeditor/resource_win_icon.rc b/qad/blockview/blockeditor/resource_win_icon.rc new file mode 100644 index 0000000..09b2a10 --- /dev/null +++ b/qad/blockview/blockeditor/resource_win_icon.rc @@ -0,0 +1,43 @@ +# if defined(UNDER_CE) +# include +# else +# include +# endif + +1 ICON icons/blockview.ico + +VS_VERSION_INFO VERSIONINFO +FILEVERSION 1,0,0,0 +PRODUCTVERSION 1,0,0,0 +FILEFLAGSMASK 0x3fL +#ifdef _DEBUG +FILEFLAGS 0x9L +#else +FILEFLAGS 0x8L +#endif +FILEOS 0x40004L +FILETYPE 0x2L +FILESUBTYPE 0x0L +BEGIN +BLOCK "StringFileInfo" +BEGIN +BLOCK "040904b0" +BEGIN +VALUE "Comments", "\0" +VALUE "CompanyName", "BMSTU SM5\0" +VALUE "FileDescription", "Block Editor\0" +VALUE "FileVersion", "1,0,0,0\0" +VALUE "InternalName", "Block Editor\0" +VALUE "LegalTrademarks", "\0" +VALUE "OriginalFilename", "blockeditor.exe\0" +VALUE "PrivateBuild", "1\0" +VALUE "ProductName", "Block Editor\0" +VALUE "ProductVersion", "1, 0, 0, 0\0" +VALUE "SpecialBuild", "\0" +END +END +BLOCK "VarFileInfo" +BEGIN +VALUE "Translation", 0x409, 1200 +END +END diff --git a/qad/graphic/qpicalculator/CMakeLists.txt b/qad/graphic/qpicalculator/CMakeLists.txt index 731dae3..1ddf336 100644 --- a/qad/graphic/qpicalculator/CMakeLists.txt +++ b/qad/graphic/qpicalculator/CMakeLists.txt @@ -1,6 +1,6 @@ project(qpicalc) -file(GLOB SRC "*.h" "*.cpp" "*.ui" "*.qrc" "lang/*.ts") find_qt(${QtVersions} Core Gui Widgets) +qt_sources(SRC) qt_wrap(${SRC} CPPS out_CPP QMS out_QM) qt_add_executable(${PROJECT_NAME} WIN32 out_CPP) qt_target_link_libraries(${PROJECT_NAME} qad_utils qad_widgets qad_graphic) diff --git a/qad/icons/blockview.xcf b/qad/icons/blockview.xcf new file mode 100644 index 0000000..54eb897 Binary files /dev/null and b/qad/icons/blockview.xcf differ