12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- ########################################################
- #
- # This is a CMake configuration file.
- # To use it you need CMake which can be
- # downloaded from here:
- # http://www.cmake.org/cmake/resources/software.html
- #
- #########################################################
- cmake_minimum_required(VERSION 3.1.0)
- project(fb2edit)
- set(PACKAGE_VERSION "0.1.0")
- set(PACKAGE_VENDOR "LinTest")
- set(PACKAGE_NAME ${PROJECT_NAME})
- set(PACKAGE_STRING "${PROJECT_NAME} ${PACKAGE_VERSION}")
- set(PACKAGE_BUGREPORT "lav@etersoft.ru")
- set(CMAKE_AUTOMOC ON)
- set(CMAKE_AUTORCC ON)
- set(CMAKE_AUTOUIC ON)
- if(CMAKE_VERSION VERSION_LESS "3.7.0")
- set(CMAKE_INCLUDE_CURRENT_DIR ON)
- endif()
-
- message( STATUS "PACKAGE_NAME = ${PACKAGE_STRING}")
- set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/3rdparty/cmake)
- #find_program( QT_QMAKE_EXECUTABLE NAMES qmake5 qmake-qt5 qmake-mac )
- find_package( Qt5 5.5.0 COMPONENTS Core Gui Network Widgets WebKitWidgets Xml XmlPatterns LinguistTools REQUIRED )
- file( GLOB FB2_HEAD source/*.hpp )
- file( GLOB FB2_SRCS source/*.cpp )
- file( GLOB FB2_UIS source/*.ui )
- file( GLOB FB2_TSS source/ts/*.ts )
- #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${GTK_PKG_FLAGS}")
- if(IS_DIRECTORY ${CMAKE_SOURCE_DIR}/.git)
- exec_program("git --git-dir=${CMAKE_SOURCE_DIR}/.git log --format=%ai//%h%d -1" OUTPUT_VARIABLE COMMIT_INFO)
- message( STATUS "COMMIT_INFO = ${COMMIT_INFO}")
- endif(IS_DIRECTORY ${CMAKE_SOURCE_DIR}/.git)
- set(FB2_DEFINITIONS "PACKAGE_NAME=\"${PACKAGE_NAME}\"; PACKAGE_VENDOR=\"${PACKAGE_VENDOR}\"; PACKAGE_VERSION=\"${PACKAGE_VERSION}\"; COMMIT_INFO=\"${COMMIT_INFO}\"")
- set_source_files_properties( source/fb2app.cpp PROPERTIES COMPILE_DEFINITIONS "${FB2_DEFINITIONS}")
- set(FB2_RES
- 3rdparty/fb2/fb2.qrc
- 3rdparty/gnome/gnome.qrc
- source/js/javascript.qrc
- source/res/fb2edit.qrc
- )
- set(CMAKE_IN_SOURCE_BUILD TRUE)
- add_definitions(-Wall -g)
- qt5_wrap_ui(UI_HEADERS ${FB2_UIS})
- qt5_wrap_cpp(MOC_SRCS ${FB2_HEAD})
- qt5_add_resources(RCC_SRCS ${FB2_RES})
- qt5_add_translation(QMS_FILES ${FB2_TSS})
- message( STATUS "PACKAGE_NAME_ = ${CMAKE_PREFIX_PATH}")
- add_executable(fb2edit ${FB2_SRCS} ${FB2_HEAD} ${UI_HEADERS} ${MOC_SRCS} ${RCC_SRCS} ${QMS_FILES})
- #include(${QT_USE_FILE})
- #include_directories(${QT_INCLUDES})
- include_directories(${CMAKE_BINARY_DIR})
- target_link_libraries(fb2edit PUBLIC
- Qt5::Core Qt5::Gui Qt5::Network Qt5::Widgets Qt5::WebKitWidgets Qt5::Xml Qt5::XmlPatterns
- )
- #add_definitions(${QT_DEFINITIONS})
- #############################################################################
- # You can change the install location by
- # running cmake like this:
- #
- # cmake -DCMAKE_INSTALL_PREFIX=/new/install/prefix
- #
- # By default, the prefix is "/usr/local"
- #
- if( UNIX AND NOT APPLE )
- install( TARGETS ${PROJECT_NAME} RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin )
- install( FILES desktop/fb2edit.desktop DESTINATION ${CMAKE_INSTALL_PREFIX}/share/applications )
- install( FILES desktop/fb2edit048.png DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/48x48/apps RENAME fb2edit.png )
- install( FILES desktop/fb2edit128.png DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/128x128/apps RENAME fb2edit.png )
- install( FILES desktop/fb2edit256.png DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/256x256/apps RENAME fb2edit.png )
- install( FILES ${QM_FILES} DESTINATION ${CMAKE_INSTALL_PREFIX}/share/fb2edit/translations )
- install( CODE "FILE(MAKE_DIRECTORY WORKING_DIRECTORY \$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/share/pixmaps/)" )
- install( CODE "EXECUTE_PROCESS( COMMAND ${CMAKE_COMMAND} -E create_symlink ../icons/hicolor/48x48/apps/fb2edit.png fb2edit.png WORKING_DIRECTORY \$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/share/pixmaps)" )
- endif()
|