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)
|
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_FIND_DEBUG_MODE TRUE)
|
||||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
||||||
set(CMAKE_CXX_EXTENSIONS OFF)
|
|
||||||
|
|
||||||
include(${CMAKE_SOURCE_DIR}/cmake/QskBuild.cmake)
|
|
||||||
|
|
||||||
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Core)
|
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")
|
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)
|
function(qt_add_executable)
|
||||||
add_executable(${ARGV})
|
add_executable(${ARGV})
|
||||||
endfunction(qt_add_executable)
|
endfunction(qt_add_executable)
|
||||||
message(WARNING "using QSkinny's 'qt_add_library()'")
|
|
||||||
function(qt_add_library)
|
function(qt_add_library)
|
||||||
add_library(${ARGV})
|
add_library(${ARGV})
|
||||||
endfunction(qt_add_library)
|
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()
|
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
|
# optional package hunspell
|
||||||
if(NOT LINUX AND ENABLE_HUNSPELL)
|
if(NOT LINUX AND ENABLE_HUNSPELL)
|
||||||
message(WARNING "Feature 'hunspell' only available for UNIX!")
|
message(WARNING "Feature 'hunspell' only available for UNIX!")
|
||||||
|
@ -42,89 +55,23 @@ if(NOT LINUX AND ENABLE_PINYIN)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(ENABLE_HUNSPELL)
|
if(ENABLE_HUNSPELL)
|
||||||
include(cmake/QSkinnyOptionalHunspell.cmake)
|
include("QSkinnyOptionalHunspell")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(ENABLE_PINYIN)
|
if(ENABLE_PINYIN)
|
||||||
include(cmake/QSkinnyOptionalPinyin.cmake)
|
include("QSkinnyOptionalPinyin")
|
||||||
endif()
|
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(src)
|
||||||
add_subdirectory(skins)
|
add_subdirectory(skins)
|
||||||
add_subdirectory(inputcontext)
|
add_subdirectory(inputcontext)
|
||||||
add_subdirectory(qmlexport)
|
add_subdirectory(qmlexport)
|
||||||
add_subdirectory(tools)
|
add_subdirectory(tools)
|
||||||
add_subdirectory(support)
|
add_subdirectory(support)
|
||||||
|
|
||||||
if(BUILD_EXAMPLES)
|
if(BUILD_EXAMPLES)
|
||||||
add_subdirectory(examples)
|
add_subdirectory(examples)
|
||||||
endif()
|
endif()
|
||||||
if(BUILD_PLAYGROUND)
|
if(BUILD_PLAYGROUND)
|
||||||
add_subdirectory(playground)
|
add_subdirectory(playground)
|
||||||
endif()
|
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
|
qt_add_executable(${TARGET_NAME} WIN32 MACOSX_BUNDLE
|
||||||
${SOURCES} ${HEADERS} ${RESOURCES})
|
${SOURCES} ${HEADERS} ${RESOURCES})
|
||||||
|
|
||||||
|
set_target_properties(${TARGET_NAME} PROPERTIES FOLDER examples)
|
||||||
|
|
||||||
set_target_properties(${TARGET_NAME} PROPERTIES
|
set_target_properties(${TARGET_NAME} PROPERTIES
|
||||||
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/../bin )
|
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 17)
|
||||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||||
|
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||||
|
|
||||||
set(AUTOGEN_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}/autogen")
|
set(AUTOGEN_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}/autogen")
|
||||||
|
|
||||||
# TODO find compiler flag equivalent
|
# 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
|
# to include the specific options of your local build, than passing
|
||||||
# them all on the command line
|
# them all on the command line
|
||||||
|
|
||||||
|
message(STATUS "Loading build options from: ${LOCAL_CMAKE_RULES}")
|
||||||
include(${LOCAL_CMAKE_RULES})
|
include(${LOCAL_CMAKE_RULES})
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
Loading…
Reference in New Issue