add BUILD_AS_LIBRARY cmake flag

This commit is contained in:
arcan1s 2014-07-28 00:08:47 +04:00
parent 5c75a733aa
commit 7bdf7c6584
3 changed files with 34 additions and 18 deletions

View File

@ -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 ()

View File

@ -29,7 +29,11 @@ if (USE_QT5)
include_directories (${Qt5Core_INCLUDE_DIRS} ${Qt5Network_INCLUDE_DIRS}
${Qt5WebKit_INCLUDE_DIRS} ${Qt5WebKitWidgets_INCLUDE_DIRS}
${Qt5Widgets_INCLUDE_DIRS})
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})
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 ()

View File

@ -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 */