CMake refactoring
This commit is contained in:
@@ -1,57 +1,54 @@
|
||||
cmake_minimum_required(VERSION 3.0)
|
||||
cmake_policy(SET CMP0017 NEW) # need include() with .cmake
|
||||
project(qad)
|
||||
set(qad_MAJOR 1)
|
||||
set(qad_MINOR 9)
|
||||
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()
|
||||
|
||||
include(SHSTKMacros)
|
||||
include(QtWraps)
|
||||
shstk_begin_project(qad QAD)
|
||||
include(SHSTKQtMacros)
|
||||
|
||||
shstk_qt_founded(QtVersions)
|
||||
foreach(_v ${_QT_VERSIONS_})
|
||||
#message("Qt ${_v} -> ${QtVersions}")
|
||||
option(Qt${_v} "Build for Qt${_v}" ON)
|
||||
endforeach()
|
||||
|
||||
find_package(MinGW REQUIRED)
|
||||
if (NOT DEFINED ANDROID_PLATFORM)
|
||||
find_package(OpenGL REQUIRED)
|
||||
endif()
|
||||
include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
|
||||
#include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
|
||||
|
||||
if(STATIC_LIB)
|
||||
set(QAD_LIB_TYPE STATIC)
|
||||
add_definitions(-DQAD_STATIC_DEFINE)
|
||||
set(QAD_LIB_TYPE_MSG "Static")
|
||||
else()
|
||||
set(QAD_LIB_TYPE SHARED)
|
||||
set(QAD_LIB_TYPE_MSG "Shared")
|
||||
endif()
|
||||
option(UTILS "Build various utils" ${_plugins_default_})
|
||||
option(DESIGNER_PLUGINS "Build Qt designer plugins" ${_plugins_default_})
|
||||
|
||||
set(_QAD_MAJOR 1)
|
||||
set(_QAD_MINOR 7)
|
||||
set(_QAD_REVISION 0)
|
||||
set(_QAD_SUFFIX )
|
||||
set(_QAD_COMPANY SHS)
|
||||
set(_QAD_DOMAIN org.SHS)
|
||||
set(QAD_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/qad/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}")
|
||||
set_deploy_property(QAD ${QAD_LIB_TYPE}
|
||||
FULLNAME "${_QAD_DOMAIN}.*"
|
||||
COMPANY "${_QAD_COMPANY}")
|
||||
macro(qad_library NAME _MODULES _LIBS)
|
||||
shstk_qt_project(qad_${NAME} FALSE "qad" "${_MODULES}" "${_LIBS}" ${ARGN})
|
||||
shstk_qt_install("qad" FALSE qad_${NAME} "${out_HDR}" "${out_QM}")
|
||||
endmacro()
|
||||
|
||||
# Version
|
||||
if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/qad_version.h")
|
||||
file(REMOVE "${CMAKE_CURRENT_SOURCE_DIR}/qad_version.h")
|
||||
endif()
|
||||
#message(STATUS "Building QAD version ${QAD_VERSION} (${QAD_LIB_TYPE})")
|
||||
macro(qad_application NAME _MODULES _LIBS)
|
||||
shstk_qt_project(${NAME} TRUE "qad" "${_MODULES}" "${_LIBS}" ${ARGN})
|
||||
shstk_qt_install("qad" TRUE ${NAME} "" "${out_QM}")
|
||||
endmacro()
|
||||
|
||||
file(GLOB CMAKES "cmake/*.cmake" "cmake/*.in")
|
||||
macro(qad_plugin NAME _MODULES _LIBS)
|
||||
shstk_qt_plugin(qad_${NAME} "${_MODULES}" "qad_${NAME};${_LIBS}")
|
||||
endmacro()
|
||||
|
||||
if (LIB)
|
||||
shstk_install(qad FALSE "" "${QAD_VERSION_FILE}")
|
||||
if (NOT LOCAL)
|
||||
file(GLOB CMAKES "cmake/*.cmake" "cmake/*.in")
|
||||
install(FILES ${CMAKES} DESTINATION ${CMAKE_ROOT}/Modules)
|
||||
if (WIN32)
|
||||
install(FILES ${QAD_VERSION_FILE} DESTINATION ${MINGW_INCLUDE}/qad)
|
||||
else()
|
||||
install(FILES ${QAD_VERSION_FILE} DESTINATION ${CMAKE_INSTALL_PREFIX}/include/qad)
|
||||
endif()
|
||||
else()
|
||||
install(FILES ${QAD_VERSION_FILE} DESTINATION include/qad)
|
||||
endif()
|
||||
|
||||
add_subdirectory(libs)
|
||||
@@ -59,5 +56,21 @@ if (UTILS)
|
||||
add_subdirectory(utils)
|
||||
endif()
|
||||
|
||||
copy_to_parent(qad_includes)
|
||||
message("----------QAD----------")
|
||||
message(" Build for ${QtVersions}")
|
||||
message(" Linkage: ${qad_LIB_TYPE_MSG}")
|
||||
message(" Type : ${qad_BUILD_TYPE}")
|
||||
message(" Install: \"${CMAKE_INSTALL_PREFIX}\"")
|
||||
message("")
|
||||
print_list("${_qt_libs}" " Libraries:" " * ")
|
||||
if (NOT "x${_qt_plugs}" STREQUAL "x")
|
||||
message("")
|
||||
print_list("${_qt_plugs}" " Plugins:" " * ")
|
||||
endif()
|
||||
if (NOT "x${_qt_apps}" STREQUAL "x")
|
||||
message("")
|
||||
print_list("${_qt_apps}" " Applications:" " * ")
|
||||
endif()
|
||||
message("-----------------------")
|
||||
|
||||
shstk_copy_to_parent()
|
||||
|
||||
Reference in New Issue
Block a user