mirror of
https://github.com/arcan1s/netctl-gui.git
synced 2025-04-25 07:57:20 +00:00
74 lines
3.3 KiB
CMake
74 lines
3.3 KiB
CMake
# set files
|
|
file (GLOB SOURCES *.cpp)
|
|
file (GLOB HEADERS *.h)
|
|
file (GLOB FORMS *.ui)
|
|
|
|
set (LANGUAGES english
|
|
russian)
|
|
set (RESOURCES ${SUBPROJECT_RESOURCE_DIR}/resources.qrc)
|
|
|
|
message (STATUS "${SUBPROJECT} Sources: ${SOURCES}")
|
|
message (STATUS "${SUBPROJECT} Headers: ${HEADERS}")
|
|
message (STATUS "${SUBPROJECT} Forms: ${FORMS}")
|
|
|
|
# include_path
|
|
include_directories (${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}/../)
|
|
|
|
if (USE_QT5)
|
|
find_package(Qt5Core REQUIRED)
|
|
find_package(Qt5Widgets REQUIRED)
|
|
find_package(Qt5LinguistTools REQUIRED)
|
|
add_definitions(${Qt5Core_DEFINITIONS})
|
|
add_definitions(${Qt5Widgets_DEFINITIONS})
|
|
add_definitions(${Qt5LinguistTools_DEFINITIONS})
|
|
qt5_wrap_cpp (MOC_SOURCES ${HEADERS})
|
|
qt5_wrap_ui (UI_HEADERS ${FORMS})
|
|
qt5_add_resources (QRC_SOURCES ${RESOURCES})
|
|
|
|
foreach (LANGUAGE ${LANGUAGES})
|
|
set (TS ${SUBPROJECT_TRANSLATION_DIR}/${LANGUAGE}.ts)
|
|
set (QM ${SUBPROJECT_TRANSLATION_DIR}/${LANGUAGE}.qm)
|
|
set (TRANSLATIONS ${TRANSLATIONS} ${TS})
|
|
set (TRANSLATIONS_BINARY ${TRANSLATIONS_BINARY} ${QM})
|
|
add_custom_command (OUTPUT ${QM} COMMAND ${Qt5_LRELEASE_EXECUTABLE} ${TS} MAIN_DEPENDENCY ${TS})
|
|
endforeach ()
|
|
add_custom_target (translations COMMAND ${Qt5_LUPDATE_EXECUTABLE} ${HEADERS} ${SOURCES} ${UI_HEADERS} -ts ${TRANSLATIONS})
|
|
add_custom_command (TARGET translations COMMAND ${Qt5_LRELEASE_EXECUTABLE} ${TRANSLATIONS})
|
|
message (STATUS "${SUBPROJECT} Translations: ${TRANSLATIONS_BINARY}")
|
|
|
|
source_group ("Header Files" FILES ${HEADERS})
|
|
source_group ("Source Files" FILES ${SOURCES})
|
|
source_group ("Generated Files" FILES ${MOC_SOURCES})
|
|
|
|
include_directories (${Qt5Core_INCLUDE_DIRS} ${Qt5Widgets_INCLUDE_DIRS})
|
|
add_executable (${SUBPROJECT} ${UI_HEADERS} ${HEADERS} ${SOURCES} ${MOC_SOURCES} ${QRC_SOURCES} ${TRANSLATIONS})
|
|
target_link_libraries (${SUBPROJECT} ${Qt5Widgets_LIBRARIES} ${Qt5Core_LIBRARIES})
|
|
else ()
|
|
find_package (Qt4 REQUIRED)
|
|
include (${QT_USE_FILE})
|
|
qt4_wrap_cpp (MOC_SOURCES ${HEADERS})
|
|
qt4_wrap_ui (UI_HEADERS ${FORMS})
|
|
qt4_add_resources (QRC_SOURCES ${RESOURCES})
|
|
|
|
foreach (LANGUAGE ${LANGUAGES})
|
|
set (TS ${SUBPROJECT_TRANSLATION_DIR}/${LANGUAGE}.ts)
|
|
set (QM ${SUBPROJECT_TRANSLATION_DIR}/${LANGUAGE}.qm)
|
|
set (TRANSLATIONS ${TRANSLATIONS} ${TS})
|
|
set (TRANSLATIONS_BINARY ${TRANSLATIONS_BINARY} ${QM})
|
|
add_custom_command (OUTPUT ${QM} COMMAND ${QT_LRELEASE_EXECUTABLE} ${TS} MAIN_DEPENDENCY ${TS})
|
|
endforeach ()
|
|
add_custom_target (translations COMMAND ${QT_LUPDATE_EXECUTABLE} ${HEADERS} ${SOURCES} ${UI_HEADERS} -ts ${TRANSLATIONS})
|
|
add_custom_command (TARGET translations COMMAND ${QT_LRELEASE_EXECUTABLE} ${TRANSLATIONS})
|
|
message (STATUS "${SUBPROJECT} Translations: ${TRANSLATIONS_BINARY}")
|
|
|
|
source_group ("Header Files" FILES ${HEADERS})
|
|
source_group ("Source Files" FILES ${SOURCES})
|
|
source_group ("Generated Files" FILES ${MOC_SOURCES})
|
|
|
|
add_executable (${SUBPROJECT} ${UI_HEADERS} ${HEADERS} ${SOURCES} ${MOC_SOURCES} ${QRC_SOURCES} ${TRANSLATIONS})
|
|
target_link_libraries (${SUBPROJECT} ${QT_LIBRARIES} ${QT_QTMAIN_LIBRARY})
|
|
endif()
|
|
|
|
# install properties
|
|
install (TARGETS ${SUBPROJECT} DESTINATION bin)
|