reportabug/sources/CMakeLists.txt
2014-07-31 20:22:08 +04:00

80 lines
2.3 KiB
CMake

cmake_minimum_required (VERSION 2.8)
cmake_policy (SET CMP0003 OLD)
cmake_policy (SET CMP0002 OLD)
cmake_policy (SET CMP0011 NEW)
cmake_policy (SET CMP0015 NEW)
cmake_policy (SET CMP0048 OLD)
project (reportabug)
set (SUBPROJECT reportabug)
set (SUBPROJECT_AUTHOR "Evgeniy Alekseev")
set (SUBPROJECT_CONTACT "esalexeev@gmail.com")
set (SUBPROJECT_LICENSE "LGPLv3")
set (SUBPROJECT_VERSION_MAJOR 1)
set (SUBPROJECT_VERSION_MINOR 1)
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: ${SUBPROJECT_VERSION}")
message (STATUS "Build date: ${CURRENT_DATE}")
# install options
set (BUILD_AS_LIBRARY ON CACHE BOOL "Build the application as a library")
set (BUILD_DOCS OFF CACHE BOOL "Build developers documentation")
set (BUILD_SHARED_LIBRARY OFF CACHE BOOL "Build the shared library")
set (ENABLE_GITHUB ON CACHE BOOL "Enable GitHub module")
set (ENABLE_GITREPORT ON CACHE BOOL "Enable GitReport module")
set (USE_QT5 ON CACHE BOOL "Use Qt5 instead of Qt4")
set (OWN_GITHUB_TOKEN "" CACHE STRING "Use own GitHub token instead of GitReport")
# set flags
if (OWN_GITHUB_TOKEN STREQUAL "")
set (USE_OWN_TOKEN OFF)
else ()
set (USE_OWN_TOKEN ON)
endif ()
if (USE_OWN_TOKEN)
set (ENABLE_GITREPORT OFF)
endif ()
if (BUILD_SHARED_LIBRARY)
set (LIBPROP SHARED)
else ()
set (LIBPROP STATIC)
endif ()
# flags
if (CMAKE_COMPILER_IS_GNUCXX)
set (ADD_CXX_FLAGS "-Wall")
set (CMAKE_CXX_FLAGS "-O0 ${ADD_CXX_FLAGS}")
set (CMAKE_CXX_FLAGS_DEBUG "-g -O0")
set (CMAKE_CXX_FLAGS_RELEASE "-O2 -DNDEBUG")
else ()
message (STATUS "Unknown compiler")
endif ()
configure_file (${CMAKE_SOURCE_DIR}/version.h.in ${CMAKE_CURRENT_BINARY_DIR}/version.h)
# build
# set directories
set (SUBPROJECT_BINARY_DIR bin)
set (SUBPROJECT_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src)
# executable path
set (EXECUTABLE_OUTPUT_PATH ${SUBPROJECT_BINARY_DIR})
# additional targets
set (TARGETS "")
set (HEADERS "")
add_subdirectory (${SUBPROJECT_SOURCE_DIR})
if (BUILD_DOCS)
include (docs.cmake)
endif ()
if (NOT BUILD_AS_LIBRARY)
install (FILES ${SUBPROJECT}.desktop DESTINATION share/applications/)
endif ()