deployment rules removed ( need to be reintroduced later )
This commit is contained in:
parent
6d23cab963
commit
67a94960d1
117
CMakeLists.txt
117
CMakeLists.txt
|
@ -1,34 +1,47 @@
|
|||
cmake_minimum_required(VERSION 3.16.3)
|
||||
|
||||
project(QSkinny VERSION 999.99.9)
|
||||
project(QSkinny
|
||||
LANGUAGES CXX
|
||||
HOMEPAGE_URL "https://github.com/uwerat/qskinny"
|
||||
VERSION 999.99.9)
|
||||
|
||||
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
|
||||
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
|
||||
|
||||
set(CMAKE_CXX_STANDARD 11)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||
|
||||
include(${CMAKE_SOURCE_DIR}/cmake/QskBuild.cmake)
|
||||
#set(CMAKE_FIND_DEBUG_MODE TRUE)
|
||||
|
||||
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Core)
|
||||
|
||||
if ( QT_FOUND )
|
||||
message(STATUS "Found Qt ${QT_VERSION} ${_qt_cmake_dir}")
|
||||
|
||||
if(QT_VERSION VERSION_LESS "5.15.0")
|
||||
message(FATAL_ERROR "Couldn't find any Qt >= 5.15 !")
|
||||
endif()
|
||||
else()
|
||||
message(FATAL_ERROR "Couldn't find any Qt package !")
|
||||
endif()
|
||||
|
||||
if(QT_VERSION_MAJOR VERSION_EQUAL "5")
|
||||
find_package(Qt5 5.15 REQUIRED COMPONENTS Core Gui OpenGL Quick )
|
||||
find_package(Qt5 5.15 OPTIONAL_COMPONENTS Svg )
|
||||
message(WARNING "using QSkinny's 'qt_add_executable()'")
|
||||
function(qt_add_executable)
|
||||
add_executable(${ARGV})
|
||||
endfunction(qt_add_executable)
|
||||
message(WARNING "using QSkinny's 'qt_add_library()'")
|
||||
|
||||
function(qt_add_library)
|
||||
add_library(${ARGV})
|
||||
endfunction(qt_add_library)
|
||||
elseif(QT_VERSION_MAJOR VERSION_EQUAL "6")
|
||||
find_package(Qt6 REQUIRED COMPONENTS Core Gui OpenGL Quick )
|
||||
find_package(Qt6 OPTIONAL_COMPONENTS Svg)
|
||||
else()
|
||||
message(FATAL_ERROR "Couldn't find any Qt version!")
|
||||
endif()
|
||||
|
||||
# Note, that modules might be found in different places.
|
||||
# f.e. when having Qt installations that have only been built
|
||||
# with a subset of modules
|
||||
|
||||
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Gui OpenGL Quick )
|
||||
find_package(Qt${QT_VERSION_MAJOR} OPTIONAL_COMPONENTS Svg)
|
||||
|
||||
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
|
||||
|
||||
include("QskBuild")
|
||||
|
||||
# optional package hunspell
|
||||
if(NOT LINUX AND ENABLE_HUNSPELL)
|
||||
message(WARNING "Feature 'hunspell' only available for UNIX!")
|
||||
|
@ -42,89 +55,23 @@ if(NOT LINUX AND ENABLE_PINYIN)
|
|||
endif()
|
||||
|
||||
if(ENABLE_HUNSPELL)
|
||||
include(cmake/QSkinnyOptionalHunspell.cmake)
|
||||
include("QSkinnyOptionalHunspell")
|
||||
endif()
|
||||
|
||||
if(ENABLE_PINYIN)
|
||||
include(cmake/QSkinnyOptionalPinyin.cmake)
|
||||
include("QSkinnyOptionalPinyin")
|
||||
endif()
|
||||
|
||||
# define install directories
|
||||
set(QSK_INSTALL_DOCS doc)
|
||||
set(QSK_INSTALL_HEADERS include)
|
||||
set(QSK_INSTALL_LIBS lib)
|
||||
set(QSK_INSTALL_BINS bin)
|
||||
set(QSK_INSTALL_PLUGINS plugins)
|
||||
set(QSK_INSTALL_EXAMPLES examples)
|
||||
|
||||
# define debug postfix globally
|
||||
set(CMAKE_DEBUG_POSTFIX d)
|
||||
# define binary install directory globally
|
||||
set(CMAKE_INSTALL_BINDIR ${QSK_INSTALL_BINS}$<$<CONFIG:Debug>:/debug>)
|
||||
|
||||
add_subdirectory(src)
|
||||
add_subdirectory(skins)
|
||||
add_subdirectory(inputcontext)
|
||||
add_subdirectory(qmlexport)
|
||||
add_subdirectory(tools)
|
||||
add_subdirectory(support)
|
||||
|
||||
if(BUILD_EXAMPLES)
|
||||
add_subdirectory(examples)
|
||||
endif()
|
||||
if(BUILD_PLAYGROUND)
|
||||
add_subdirectory(playground)
|
||||
endif()
|
||||
|
||||
#TODO add doxygen support
|
||||
#OTHER_FILES =
|
||||
#doc / Doxyfile
|
||||
#doc/*.dox
|
||||
# doc/*.metadox
|
||||
# doc/classes/*.dox
|
||||
# doc/classes/*.metadox
|
||||
|
||||
set(PACKAGE_NAME ${PROJECT_NAME})
|
||||
set(PACKAGE_VERSION ${CMAKE_PROJECT_VERSION})
|
||||
set(PACKAGE_NAMESPACE Qsk)
|
||||
set(PACKAGE_LOCATION lib/cmake/${PROJECT_NAME})
|
||||
|
||||
install(TARGETS qskinny EXPORT ${PACKAGE_NAME}Targets
|
||||
LIBRARY DESTINATION ${QSK_INSTALL_LIBS}
|
||||
ARCHIVE DESTINATION ${QSK_INSTALL_LIBS}
|
||||
RUNTIME DESTINATION ${QSK_INSTALL_LIBS}
|
||||
INCLUDES DESTINATION ${QSK_INSTALL_HEADERS}
|
||||
PUBLIC_HEADER DESTINATION ${QSK_INSTALL_HEADERS})
|
||||
|
||||
include(CMakePackageConfigHelpers)
|
||||
write_basic_package_version_file(
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${PACKAGE_NAME}/${PACKAGE_NAME}ConfigVersion.cmake
|
||||
VERSION ${PACKAGE_VERSION}
|
||||
COMPATIBILITY AnyNewerVersion)
|
||||
|
||||
export(EXPORT ${PACKAGE_NAME}Targets
|
||||
FILE ${CMAKE_CURRENT_BINARY_DIR}/${PACKAGE_NAME}/${PACKAGE_NAME}Targets.cmake
|
||||
NAMESPACE ${PACKAGE_NAMESPACE}::)
|
||||
|
||||
configure_file(cmake/${PACKAGE_NAME}Config.cmake
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${PACKAGE_NAME}/${PACKAGE_NAME}Config.cmake
|
||||
COPYONLY)
|
||||
|
||||
install(EXPORT ${PACKAGE_NAME}Targets
|
||||
FILE
|
||||
${PACKAGE_NAME}Targets.cmake
|
||||
NAMESPACE
|
||||
${PACKAGE_NAMESPACE}::
|
||||
DESTINATION
|
||||
${PACKAGE_LOCATION})
|
||||
|
||||
install(
|
||||
FILES
|
||||
cmake/${PACKAGE_NAME}Config.cmake
|
||||
cmake/${PACKAGE_NAME}Macros.cmake
|
||||
cmake/${PACKAGE_NAME}OptionalHunspell.cmake
|
||||
cmake/${PACKAGE_NAME}OptionalPinyin.cmake
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${PACKAGE_NAME}/${PACKAGE_NAME}ConfigVersion.cmake
|
||||
DESTINATION
|
||||
${PACKAGE_LOCATION}
|
||||
COMPONENT
|
||||
Devel)
|
||||
|
|
|
@ -20,6 +20,8 @@ function(qsk_example EXAMPLE_NAME)
|
|||
qt_add_executable(${TARGET_NAME} WIN32 MACOSX_BUNDLE
|
||||
${SOURCES} ${HEADERS} ${RESOURCES})
|
||||
|
||||
set_target_properties(${TARGET_NAME} PROPERTIES FOLDER examples)
|
||||
|
||||
set_target_properties(${TARGET_NAME} PROPERTIES
|
||||
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/../bin )
|
||||
|
||||
|
|
|
@ -12,6 +12,8 @@ set(CMAKE_GLOBAL_AUTOGEN_TARGET OFF)
|
|||
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||
|
||||
set(AUTOGEN_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}/autogen")
|
||||
|
||||
# TODO find compiler flag equivalent
|
||||
|
@ -142,6 +144,7 @@ if(NOT "${LOCAL_CMAKE_RULES}" STREQUAL "")
|
|||
# to include the specific options of your local build, than passing
|
||||
# them all on the command line
|
||||
|
||||
message(STATUS "Loading build options from: ${LOCAL_CMAKE_RULES}")
|
||||
include(${LOCAL_CMAKE_RULES})
|
||||
endif()
|
||||
endif()
|
||||
|
|
Loading…
Reference in New Issue