diff --git a/sources/CMakeLists.txt b/sources/CMakeLists.txt index 3269b1a..79873e8 100644 --- a/sources/CMakeLists.txt +++ b/sources/CMakeLists.txt @@ -8,22 +8,23 @@ cmake_policy (SET CMP0015 NEW) project (reportabug) set (SUBPROJECT reportabug) -set (PROJECT_AUTHOR "Evgeniy Alekseev") -set (PROJECT_CONTACT "esalexeev@gmail.com") -set (PROJECT_LICENSE "GPLv3") -set (PROJECT_VERSION_MAJOR 1) -set (PROJECT_VERSION_MINOR 0) -set (PROJECT_VERSION_PATCH 0) -set (PROJECT_VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}) +set (SUBPROJECT_AUTHOR "Evgeniy Alekseev") +set (SUBPROJECT_CONTACT "esalexeev@gmail.com") +set (SUBPROJECT_LICENSE "LGPLv3") +set (SUBPROJECT_VERSION_MAJOR 1) +set (SUBPROJECT_VERSION_MINOR 0) +set (SUBPROJECT_VERSION_PATCH 0) +set (SUBPROJECT_VERSION ${SUBPROJECT_VERSION_MAJOR}.${SUBPROJECT_VERSION_MINOR}.${SUBPROJECT_VERSION_PATCH}) string (TIMESTAMP CURRENT_DATE "%Y-%m-%d %H:%M" UTC) string (TIMESTAMP CURRENT_YEAR "%Y") message (STATUS "Subproject: ${SUBPROJECT}") -message (STATUS "Version: ${PROJECT_VERSION}") +message (STATUS "Version: ${SUBPROJECT_VERSION}") message (STATUS "Build date: ${CURRENT_DATE}") # install options option (USE_QT5 "Use Qt5 instead of Qt4" ON) +option (BUILD_AS_LIBRARY "Build the application as a shared library" ON) # flags if (CMAKE_COMPILER_IS_GNUCXX) @@ -50,4 +51,6 @@ set (HEADERS "") add_subdirectory (${SUBPROJECT_SOURCE_DIR}) -install (FILES ${SUBPROJECT}.desktop DESTINATION share/applications/) +if (NOT BUILD_AS_LIBRARY) + install (FILES ${SUBPROJECT}.desktop DESTINATION share/applications/) +endif () diff --git a/sources/src/CMakeLists.txt b/sources/src/CMakeLists.txt index 116617c..2d7d065 100644 --- a/sources/src/CMakeLists.txt +++ b/sources/src/CMakeLists.txt @@ -29,7 +29,11 @@ if (USE_QT5) include_directories (${Qt5Core_INCLUDE_DIRS} ${Qt5Network_INCLUDE_DIRS} ${Qt5WebKit_INCLUDE_DIRS} ${Qt5WebKitWidgets_INCLUDE_DIRS} ${Qt5Widgets_INCLUDE_DIRS}) - add_executable (${SUBPROJECT} ${UI_HEADERS} ${HEADERS} ${SOURCES} ${MOC_SOURCES}) + if (BUILD_AS_LIBRARY) + add_library (${SUBPROJECT} SHARED ${SOURCES} ${HEADERS} ${MOC_SOURCES}) + else () + add_executable (${SUBPROJECT} ${UI_HEADERS} ${HEADERS} ${SOURCES} ${MOC_SOURCES}) + endif () target_link_libraries (${SUBPROJECT} ${Qt5Core_LIBRARIES} ${Qt5Network_LIBRARIES} ${Qt5WebKit_LIBRARIES} ${Qt5WebKitWidgets_LIBRARIES} ${Qt5Widgets_LIBRARIES}) @@ -43,10 +47,18 @@ else () source_group ("Source Files" FILES ${SOURCES}) source_group ("Generated Files" FILES ${MOC_SOURCES}) - add_executable (${SUBPROJECT} ${UI_HEADERS} ${HEADERS} ${SOURCES} ${MOC_SOURCES}) - target_link_libraries (${SUBPROJECT} ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY} + if (BUILD_AS_LIBRARY) + add_library (${SUBPROJECT} SHARED ${SOURCES} ${HEADERS} ${MOC_SOURCES}) + else () + add_executable (${SUBPROJECT} ${UI_HEADERS} ${HEADERS} ${SOURCES} ${MOC_SOURCES}) + endif () + target_link_libraries (${SUBPROJECT} ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY} ${QT_QTNETWORK_LIBRARY} ${QT_QTWEBKIT_LIBRARY}) endif() # install properties -install (TARGETS ${SUBPROJECT} DESTINATION bin) +if (BUILD_AS_LIBRARY) + install (TARGETS ${SUBPROJECT} DESTINATION lib) +else () + install (TARGETS ${SUBPROJECT} DESTINATION bin) +endif () diff --git a/sources/version.h.in b/sources/version.h.in index ce5a954..60b2a3c 100644 --- a/sources/version.h.in +++ b/sources/version.h.in @@ -2,10 +2,10 @@ #define VERSION_H #define NAME "Report a Bug" -#define VERSION "@PROJECT_VERSION@" -#define AUTHOR "@PROJECT_AUTHOR@" -#define EMAIL "@PROJECT_CONTACT@" -#define LICENSE "@PROJECT_LICENSE@" +#define VERSION "@SUBPROJECT_VERSION@" +#define AUTHOR "@SUBPROJECT_AUTHOR@" +#define EMAIL "@SUBPROJECT_CONTACT@" +#define LICENSE "@SUBPROJECT_LICENSE@" #define HOMEPAGE "https://github.com/arcan1s/reportabug" #define REPOSITORY "https://github.com/arcan1s/reportabug" @@ -16,6 +16,7 @@ #define CMAKE_BUILD_TYPE "@CMAKE_BUILD_TYPE@" #define CMAKE_INSTALL_PREFIX "@CMAKE_INSTALL_PREFIX@" -#define PROJECT_USE_QT5 "@USE_QT5@" +#define SUBPROJECT_USE_QT5 "@USE_QT5@" +#define SUBPROJECT_LIBRARY "@BUILD_AS_LIBRARY@" #endif /* VERSION_H */