You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
100 lines
2.6 KiB
100 lines
2.6 KiB
set(LIBFM_LIBRARY "fm-qt5")
|
|
set(QTX_INCLUDE_DIRS "")
|
|
set(QTX_LIBRARIES Qt5::Widgets Qt5::DBus Qt5::X11Extras)
|
|
|
|
include_directories(
|
|
${QTX_INCLUDE_DIRS}
|
|
${LIBFM_INCLUDE_DIRS}
|
|
${LIBMENUCACHE_INCLUDE_DIRS}
|
|
${SYSTEM_LIBS_INCLUDE_DIRS}
|
|
"${CMAKE_CURRENT_BINARY_DIR}"
|
|
"${PROJECT_SOURCE_DIR}/libfm-qt"
|
|
)
|
|
|
|
link_directories(
|
|
${LIBFM_LIBRARY_DIRS}
|
|
${LIBMENUCACHE_LIBRARY_DIRS}
|
|
${SYSTEM_LIBS_LIBRARY_DIRS}
|
|
)
|
|
|
|
set(pcmanfm_SRCS
|
|
application.cpp
|
|
pcmanfm.cpp
|
|
mainwindow.cpp
|
|
tabpage.cpp
|
|
tabbar.cpp
|
|
view.cpp
|
|
launcher.cpp
|
|
preferencesdialog.cpp
|
|
desktoppreferencesdialog.cpp
|
|
desktopwindow.cpp
|
|
desktopitemdelegate.cpp
|
|
autorundialog.cpp
|
|
settings.cpp
|
|
)
|
|
|
|
qt5_add_dbus_adaptor(pcmanfm_SRCS
|
|
org.pcmanfm.Application.xml
|
|
application.h
|
|
PCManFM::Application
|
|
applicationadaptor
|
|
ApplicationAdaptor
|
|
)
|
|
|
|
set(pcmanfm_UIS
|
|
main-win.ui
|
|
about.ui
|
|
preferences.ui
|
|
desktop-preferences.ui
|
|
autorun.ui
|
|
)
|
|
|
|
qt5_wrap_ui(pcmanfm_UIS_H ${pcmanfm_UIS})
|
|
|
|
add_executable(pcmanfm-qt
|
|
${pcmanfm_SRCS}
|
|
${pcmanfm_UIS_H}
|
|
)
|
|
set_property(
|
|
TARGET pcmanfm-qt APPEND
|
|
PROPERTY COMPILE_DEFINITIONS
|
|
LIBFM_QT_API=Q_DECL_IMPORT
|
|
PCMANFM_DATA_DIR="${CMAKE_INSTALL_PREFIX}/share/pcmanfm-qt"
|
|
LIBFM_DATA_DIR="${LIBFM_PREFIX}/share/libfm" # This is a little bit dirty
|
|
PCMANFM_QT_VERSION="${PCMANFM_QT_VERSION}"
|
|
)
|
|
|
|
target_link_libraries(pcmanfm-qt
|
|
${QTX_LIBRARIES}
|
|
${LIBFM_LIBRARIES}
|
|
${LIBMENUCACHE_LIBRARIES}
|
|
${SYSTEM_LIBS_LIBRARIES}
|
|
${LIBFM_LIBRARY}
|
|
)
|
|
|
|
install(TARGETS pcmanfm-qt RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
|
|
|
# install a desktop entry file for pcmanfm-qt and desktop preferences
|
|
configure_file(pcmanfm-qt.desktop.in pcmanfm-qt.desktop @ONLY)
|
|
configure_file(pcmanfm-qt-desktop-pref.desktop.in pcmanfm-qt-desktop-pref.desktop @ONLY)
|
|
install(FILES
|
|
"${CMAKE_CURRENT_BINARY_DIR}/pcmanfm-qt.desktop"
|
|
"${CMAKE_CURRENT_BINARY_DIR}/pcmanfm-qt-desktop-pref.desktop"
|
|
DESTINATION "${CMAKE_INSTALL_DATADIR}/applications"
|
|
)
|
|
|
|
# add translation for pcmanfm-qt
|
|
# See http://www.cmake.org/Wiki/CMake:How_To_Build_Qt4_Software
|
|
file(GLOB TS_FILES translations/*.ts)
|
|
|
|
qt5_create_translation(QM_FILES ${pcmanfm_SRCS} ${pcmanfm_UIS_H} ${TS_FILES})
|
|
qt5_add_translation(QM_FILES ${TS_FILES})
|
|
|
|
add_custom_target(pcmanfm_translations DEPENDS ${QM_FILES})
|
|
install(FILES ${QM_FILES} DESTINATION "${CMAKE_INSTALL_DATADIR}/pcmanfm-qt/translations")
|
|
|
|
# prevent the generated files from being deleted during make clean
|
|
set_directory_properties(PROPERTIES CLEAN_NO_CUSTOM true)
|
|
|
|
qt5_use_modules(pcmanfm-qt Widgets DBus)
|