git-svn-id: svn://db.shs.com.ru/libs@912 a8b55f48-bf90-11e4-a774-851b48703e85
This commit is contained in:
@@ -8,6 +8,7 @@ endif()
|
||||
project(libs)
|
||||
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/pip/cmake" "${CMAKE_CURRENT_SOURCE_DIR}/qad/cmake")
|
||||
include(SDKMacros)
|
||||
include(DeployMacros)
|
||||
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
|
||||
set(LIBPROJECT 1)
|
||||
if(NOT DEFINED BUILD_NUMBER)
|
||||
|
||||
@@ -1,6 +1,13 @@
|
||||
cmake_minimum_required(VERSION 3.0)
|
||||
cmake_policy(SET CMP0017 NEW) # need include() with .cmake
|
||||
project(qad)
|
||||
set(_QAD_MAJOR 1)
|
||||
set(_QAD_MINOR 0)
|
||||
set(_QAD_REVISION 0)
|
||||
set(_QAD_SUFFIX )
|
||||
set(_QAD_COMPANY SHS)
|
||||
set(_QAD_DOMAIN org.SHS)
|
||||
|
||||
if ("x${CMAKE_MODULE_PATH}" STREQUAL "x")
|
||||
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
|
||||
endif()
|
||||
@@ -35,6 +42,19 @@ if (MINGW)
|
||||
find_package(MinGW REQUIRED)
|
||||
endif()
|
||||
|
||||
|
||||
# Version
|
||||
set(QAD_VERSION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/qad_version.h")
|
||||
set_version(QAD
|
||||
MAJOR "${_QAD_MAJOR}"
|
||||
MINOR "${_QAD_MINOR}"
|
||||
REVISION "${_QAD_REVISION}"
|
||||
BUILD "${BUILD_NUMBER}"
|
||||
SUFFIX "${_QAD_SUFFIX}"
|
||||
OUTPUT "${QAD_VERSION_FILE}")
|
||||
message(STATUS "Building QAD version ${QAD_VERSION}")
|
||||
|
||||
|
||||
if (NOT LIBPROJECT)
|
||||
if (LIB)
|
||||
if(WIN32)
|
||||
@@ -67,21 +87,24 @@ else()
|
||||
install(FILES ${EXPORT_HEADER} DESTINATION include/qad)
|
||||
endif()
|
||||
|
||||
macro(qad_install _TARGET _H_FILES _QM_FILES)
|
||||
macro(qad_install _TARGET _HDR_VAR _QM_FILES)
|
||||
if ("${_TARGET}" STREQUAL "qad_utils")
|
||||
list(APPEND ${_HDR_VAR} "${QAD_VERSION_FILE}")
|
||||
endif()
|
||||
if (LIBPROJECT)
|
||||
sdk_install("qad" "${_TARGET}" "${_H_FILES}" "${_QM_FILES}")
|
||||
sdk_install("qad" "${_TARGET}" "${${_HDR_VAR}}" "${_QM_FILES}")
|
||||
else()
|
||||
if (LIB)
|
||||
if (WIN32)
|
||||
if(NOT "x${_H_FILES}" STREQUAL "x")
|
||||
install(FILES ${_H_FILES} DESTINATION ${MINGW_INCLUDE}/qad)
|
||||
if(NOT "x${${_HDR_VAR}}" STREQUAL "x")
|
||||
install(FILES ${${_HDR_VAR}} DESTINATION ${MINGW_INCLUDE}/qad)
|
||||
endif()
|
||||
qt_install(TARGETS ${_TARGET} ARCHIVE DESTINATION ${MINGW_LIB})
|
||||
qt_install(TARGETS ${_TARGET} RUNTIME DESTINATION ${MINGW_BIN})
|
||||
qt_install(TARGETS ${_TARGET} RUNTIME DESTINATION QtBin)
|
||||
else()
|
||||
if(NOT "x${_H_FILES}" STREQUAL "x")
|
||||
install(FILES ${_H_FILES} DESTINATION ${CMAKE_INSTALL_PREFIX}/include/qad)
|
||||
if(NOT "x${${_HDR_VAR}}" STREQUAL "x")
|
||||
install(FILES ${${_HDR_VAR}} DESTINATION ${CMAKE_INSTALL_PREFIX}/include/qad)
|
||||
endif()
|
||||
qt_install(TARGETS ${_TARGET} ARCHIVE DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
|
||||
endif()
|
||||
@@ -95,8 +118,8 @@ macro(qad_install _TARGET _H_FILES _QM_FILES)
|
||||
else()
|
||||
qt_install(TARGETS ${_TARGET} DESTINATION lib)
|
||||
endif()
|
||||
if(NOT "x${_H_FILES}" STREQUAL "x")
|
||||
install(FILES ${_H_FILES} DESTINATION include/qad)
|
||||
if(NOT "x${${_HDR_VAR}}" STREQUAL "x")
|
||||
install(FILES ${${_HDR_VAR}} DESTINATION include/qad)
|
||||
endif()
|
||||
if(NOT "x${_QM_FILES}" STREQUAL "x")
|
||||
qt_install(LANG ${_QM_FILES} DESTINATION lang)
|
||||
@@ -138,7 +161,7 @@ macro(qad_project NAME _MODULES _LIBS)
|
||||
qt_target_compile_definitions(${PROJ_NAME} PRIVATE QAD_SHARED_DEFINE)
|
||||
endif()
|
||||
qt_target_link_libraries(${PROJ_NAME} ${_LIBS})
|
||||
qad_install(${PROJ_NAME} "${out_HDR}" "out_QM")
|
||||
qad_install(${PROJ_NAME} "out_HDR" "out_QM")
|
||||
set(${NAME}_UTILS 1)
|
||||
if (LIBPROJECT)
|
||||
set(${NAME}_UTILS ${UTILS})
|
||||
|
||||
@@ -68,9 +68,27 @@ endforeach()
|
||||
if(hasParent)
|
||||
set(QT_MULTILIB_LIST ${QT_MULTILIB_LIST} PARENT_SCOPE)
|
||||
endif()
|
||||
|
||||
if(NOT LIBPROJECT)
|
||||
if(NOT QAD_VERSION)
|
||||
include(CheckSymbolExists)
|
||||
check_symbol_exists(QAD_VERSION_NAME "${QAD_INCLUDES}/qad_version.h" HAVE_QAD_VERSION)
|
||||
if (HAVE_QAD_VERSION)
|
||||
file(STRINGS "${QAD_INCLUDES}/qad_version.h" _VERSION REGEX "^[ \t]*#define[ \t]+QAD_VERSION_NAME+[ \t]+.*$")
|
||||
string(REGEX MATCH "\".*\"" _VERSION ${_VERSION})
|
||||
string(LENGTH ${_VERSION} SL)
|
||||
math(EXPR SL ${SL}-2)
|
||||
string(SUBSTRING ${_VERSION} 1 ${SL} _VERSION)
|
||||
set(QAD_VERSION ${_VERSION} CACHE STRING "VERSION")
|
||||
else()
|
||||
message(FATAL_ERROR "Can`t find QAD version file!")
|
||||
endif()
|
||||
endif()
|
||||
if(QAD_FIND_VERSION VERSION_GREATER QAD_VERSION)
|
||||
message(FATAL_ERROR "QAD version ${QAD_VERSION} is available, but ${QAD_FIND_VERSION} requested!")
|
||||
endif()
|
||||
if (NOT _QAD_MSG)
|
||||
set(_QAD_MSG 1 CACHE BOOL "msg_qad" FORCE)
|
||||
message(STATUS "Found QAD")
|
||||
message(STATUS "Found QAD (found version \"${QAD_VERSION}\")")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
Reference in New Issue
Block a user