buildsystem - consistent formatting

This commit is contained in:
Allen Winter
2020-06-25 13:32:59 -04:00
parent d373585e0c
commit 2462f991be
8 changed files with 151 additions and 157 deletions

View File

@@ -5,8 +5,7 @@ project(kddockwidgets_example)
set(CMAKE_AUTOMOC ON)
set(CMAKE_INCLUDE_CURRENT_DIRS ON)
if (NOT TARGET kddockwidgets)
if(NOT TARGET kddockwidgets)
# This will look for Qt, do find_package yourself manually before
# if you want to look for a specific Qt version for instance.
find_package(KDDockWidgets REQUIRED)
@@ -23,7 +22,7 @@ add_executable(kddockwidgets_example
)
target_link_libraries(kddockwidgets_example
PRIVATE
KDAB::kddockwidgets
PRIVATE
KDAB::kddockwidgets
)

View File

@@ -51,17 +51,17 @@ set(PyKDDockWidgets_DEPENDS
${CMAKE_SOURCE_DIR}/src/MainWindow.h
)
CREATE_PYTHON_BINDINGS(
"KDDockWidgets"
"${PyKDDockWidgets_typesystem_paths}"
"${PyKDDockWidgets_include_paths}"
"${PyKDDockWidgets_SRC}"
"${PyKDDockWidgets_target_include_directories}"
"${PyKDDockWidgets_target_link_libraries}"
${CMAKE_CURRENT_SOURCE_DIR}/kddockwidgets_global.h
${CMAKE_CURRENT_SOURCE_DIR}/typesystem_kddockwidgets.xml
"${PyKDDockWidgets_DEPENDS}"
${CMAKE_CURRENT_BINARY_DIR}
create_python_bindings(
"KDDockWidgets"
"${PyKDDockWidgets_typesystem_paths}"
"${PyKDDockWidgets_include_paths}"
"${PyKDDockWidgets_SRC}"
"${PyKDDockWidgets_target_include_directories}"
"${PyKDDockWidgets_target_link_libraries}"
${CMAKE_CURRENT_SOURCE_DIR}/kddockwidgets_global.h
${CMAKE_CURRENT_SOURCE_DIR}/typesystem_kddockwidgets.xml
"${PyKDDockWidgets_DEPENDS}"
${CMAKE_CURRENT_BINARY_DIR}
)
# Make moduled import from build dir works

View File

@@ -1,5 +1,6 @@
cmake_policy(SET CMP0043 NEW)
if(POLICY CMP0043)
cmake_policy(SET CMP0043 NEW)
endif()
add_definitions(-DQT_NO_SIGNALS_SLOTS_KEYWORDS
-DQT_USE_QSTRINGBUILDER
@@ -7,7 +8,7 @@ add_definitions(-DQT_NO_SIGNALS_SLOTS_KEYWORDS
-DQT_STRICT_ITERATORS
-DQT_NO_KEYWORDS
-DQT_NO_FOREACH
)
)
set(DOCKSLIBS_SRCS
Config.cpp
@@ -34,7 +35,7 @@ set(DOCKSLIBS_SRCS
private/Frame.cpp
private/DropAreaWithCentralFrame.cpp
private/WidgetResizeHandler.cpp
)
)
set(DOCKS_INSTALLABLE_INCLUDES
docks_export.h
@@ -45,8 +46,7 @@ set(DOCKS_INSTALLABLE_INCLUDES
QWidgetAdapter.h
LayoutSaver.h
LayoutSaver_p.h
)
)
set(DOCKS_INSTALLABLE_PRIVATE_INCLUDES
private/Draggable_p.h
@@ -55,7 +55,7 @@ set(DOCKS_INSTALLABLE_PRIVATE_INCLUDES
private/Frame_p.h
private/TabWidget_p.h
private/TitleBar_p.h
)
)
set(DOCKS_INSTALLABLE_PRIVATE_WIDGET_INCLUDES
private/widgets/QWidgetAdapter_widgets_p.h
@@ -66,47 +66,46 @@ set(DOCKS_INSTALLABLE_PRIVATE_WIDGET_INCLUDES
private/widgets/TabWidgetWidget_p.h
)
if (OPTION_QTQUICK)
set(DOCKSLIBS_SRCS ${DOCKSLIBS_SRCS}
private/quick/DockWidgetQuick.cpp
private/quick/QWidgetAdapter_quick.cpp
private/quick/FloatingWindowQuick.cpp
private/quick/TitleBarQuick.cpp
private/quick/QmlTypes.cpp
private/quick/TabWidgetQuick.cpp
private/quick/FrameQuick.cpp
private/quick/MainWindowQuick.cpp
private/quick/TabBarQuick.cpp
private/quick/LayoutSaverQuick.cpp)
if(OPTION_QTQUICK)
set(DOCKSLIBS_SRCS ${DOCKSLIBS_SRCS}
private/quick/DockWidgetQuick.cpp
private/quick/QWidgetAdapter_quick.cpp
private/quick/FloatingWindowQuick.cpp
private/quick/TitleBarQuick.cpp
private/quick/QmlTypes.cpp
private/quick/TabWidgetQuick.cpp
private/quick/FrameQuick.cpp
private/quick/MainWindowQuick.cpp
private/quick/TabBarQuick.cpp
private/quick/LayoutSaverQuick.cpp)
qt5_add_resources(RESOURCES_QUICK ${CMAKE_CURRENT_SOURCE_DIR}/qtquick.qrc)
else()
set(DOCKSLIBS_SRCS ${DOCKSLIBS_SRCS}
private/widgets/TabBarWidget.cpp
private/widgets/FloatingWindowWidget.cpp
private/widgets/FrameWidget.cpp
private/widgets/TabWidgetWidget.cpp
private/widgets/TitleBarWidget.cpp
private/widgets/DockWidget.cpp
private/widgets/QWidgetAdapter_widgets.cpp
private/widgets/MultiSplitter.cpp
)
set(DOCKSLIBS_SRCS ${DOCKSLIBS_SRCS}
private/widgets/TabBarWidget.cpp
private/widgets/FloatingWindowWidget.cpp
private/widgets/FrameWidget.cpp
private/widgets/TabWidgetWidget.cpp
private/widgets/TitleBarWidget.cpp
private/widgets/DockWidget.cpp
private/widgets/QWidgetAdapter_widgets.cpp
private/widgets/MultiSplitter.cpp
)
set(DOCKS_INSTALLABLE_INCLUDES
${DOCKS_INSTALLABLE_INCLUDES}
MainWindow.h
MainWindowBase.h
DockWidget.h)
set(DOCKS_INSTALLABLE_INCLUDES
${DOCKS_INSTALLABLE_INCLUDES}
MainWindow.h
MainWindowBase.h
DockWidget.h
)
endif()
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
set(IS_CLANG_BUILD TRUE)
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
set(IS_CLANG_BUILD TRUE)
else()
set(IS_CLANG_BUILD FALSE)
set(IS_CLANG_BUILD FALSE)
endif()
add_subdirectory(private/multisplitter)
qt5_add_resources(RESOURCES ${CMAKE_CURRENT_SOURCE_DIR}/resources.qrc)
@@ -116,79 +115,79 @@ add_library(KDAB::kddockwidgets ALIAS kddockwidgets)
set_compiler_flags(kddockwidgets)
target_include_directories(kddockwidgets
PUBLIC
$<INSTALL_INTERFACE:include>
$<INSTALL_INTERFACE:include/kddockwidgets>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/fwd_headers>
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/private
PUBLIC
$<INSTALL_INTERFACE:include>
$<INSTALL_INTERFACE:include/kddockwidgets>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/fwd_headers>
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/private
)
target_compile_definitions(kddockwidgets PRIVATE BUILDING_DOCKS_LIBRARY
QT_NO_CAST_TO_ASCII
QT_NO_CAST_FROM_ASCII
QT_NO_URL_CAST_FROM_STRING
QT_NO_CAST_FROM_BYTEARRAY
target_compile_definitions(kddockwidgets
PRIVATE BUILDING_DOCKS_LIBRARY
QT_NO_CAST_TO_ASCII
QT_NO_CAST_FROM_ASCII
QT_NO_URL_CAST_FROM_STRING
QT_NO_CAST_FROM_BYTEARRAY
)
if (CMAKE_COMPILER_IS_GNUCXX OR IS_CLANG_BUILD)
target_compile_options(kddockwidgets PRIVATE -Wshadow -Wconversion -fvisibility=hidden)
if(CMAKE_COMPILER_IS_GNUCXX OR IS_CLANG_BUILD)
target_compile_options(kddockwidgets PRIVATE -Wshadow -Wconversion -fvisibility=hidden)
if (IS_CLANG_BUILD)
target_compile_options(kddockwidgets PRIVATE -Wweak-vtables)
endif()
if(IS_CLANG_BUILD)
target_compile_options(kddockwidgets PRIVATE -Wweak-vtables)
endif()
endif()
if (OPTION_QTQUICK)
target_link_libraries(kddockwidgets Qt5::Widgets Qt5::Quick)
if(OPTION_QTQUICK)
target_link_libraries(kddockwidgets Qt5::Widgets Qt5::Quick)
else()
target_link_libraries(kddockwidgets PUBLIC Qt5::Widgets kddockwidgets_multisplitter)
target_link_libraries(kddockwidgets PUBLIC Qt5::Widgets kddockwidgets_multisplitter)
endif()
if (NOT WIN32 AND NOT APPLE)
find_package(Qt5X11Extras)
target_link_libraries(kddockwidgets PUBLIC Qt5::X11Extras)
if(NOT WIN32 AND NOT APPLE)
find_package(Qt5X11Extras)
target_link_libraries(kddockwidgets PUBLIC Qt5::X11Extras)
endif()
#version libraries on Windows
if(WIN32)
set(postfix ${${PROJECT_NAME}_VERSION_MAJOR})
set(CMAKE_RELEASE_POSTFIX ${postfix})
set_target_properties(kddockwidgets PROPERTIES RELEASE_POSTFIX ${CMAKE_RELEASE_POSTFIX})
#append 'd' to debug libraries
string(CONCAT postfix ${postfix} "d")
set(CMAKE_DEBUG_POSTFIX ${postfix})
set_target_properties(kddockwidgets PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX})
set(postfix ${${PROJECT_NAME}_VERSION_MAJOR})
set(CMAKE_RELEASE_POSTFIX ${postfix})
set_target_properties(kddockwidgets PROPERTIES RELEASE_POSTFIX ${CMAKE_RELEASE_POSTFIX})
#append 'd' to debug libraries
string(CONCAT postfix ${postfix} "d")
set(CMAKE_DEBUG_POSTFIX ${postfix})
set_target_properties(kddockwidgets PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX})
endif()
install (TARGETS kddockwidgets
EXPORT kddockwidgetsTargets
RUNTIME DESTINATION ${INSTALL_RUNTIME_DIR}
LIBRARY DESTINATION ${INSTALL_LIBRARY_DIR}
ARCHIVE DESTINATION ${INSTALL_ARCHIVE_DIR}
)
install(TARGETS kddockwidgets
EXPORT kddockwidgetsTargets
RUNTIME DESTINATION ${INSTALL_RUNTIME_DIR}
LIBRARY DESTINATION ${INSTALL_LIBRARY_DIR}
ARCHIVE DESTINATION ${INSTALL_ARCHIVE_DIR}
)
if(MSVC)
install(FILES "$<TARGET_PDB_FILE_DIR:kddockwidgets>/$<TARGET_PDB_FILE_NAME:kddockwidgets>" DESTINATION ${INSTALL_LIBRARY_DIR} CONFIGURATIONS Debug RelWithDebInfo)
install(FILES "$<TARGET_PDB_FILE_DIR:kddockwidgets>/$<TARGET_PDB_FILE_NAME:kddockwidgets>" DESTINATION ${INSTALL_LIBRARY_DIR} CONFIGURATIONS Debug RelWithDebInfo)
endif()
install (FILES ${DOCKS_INSTALLABLE_INCLUDES} DESTINATION include/kddockwidgets)
install (FILES ${DOCKS_INSTALLABLE_PRIVATE_INCLUDES} DESTINATION include/kddockwidgets/private)
install (FILES private/multisplitter/Item_p.h DESTINATION include/kddockwidgets/multisplitter)
install (FILES private/multisplitter/Widget.h DESTINATION include/kddockwidgets/multisplitter)
install (FILES private/multisplitter/Widget_qwidget.h DESTINATION include/kddockwidgets/multisplitter)
install (FILES private/multisplitter/Separator_p.h DESTINATION include/kddockwidgets/multisplitter)
install (FILES private/multisplitter/Separator_qwidget.h DESTINATION include/kddockwidgets/multisplitter)
install (FILES private/multisplitter/multisplitter_export.h DESTINATION include/kddockwidgets/multisplitter)
install (FILES ${DOCKS_INSTALLABLE_PRIVATE_WIDGET_INCLUDES} DESTINATION include/kddockwidgets/private/widgets)
install(FILES ${DOCKS_INSTALLABLE_INCLUDES} DESTINATION include/kddockwidgets)
install(FILES ${DOCKS_INSTALLABLE_PRIVATE_INCLUDES} DESTINATION include/kddockwidgets/private)
install(FILES private/multisplitter/Item_p.h DESTINATION include/kddockwidgets/multisplitter)
install(FILES private/multisplitter/Widget.h DESTINATION include/kddockwidgets/multisplitter)
install(FILES private/multisplitter/Widget_qwidget.h DESTINATION include/kddockwidgets/multisplitter)
install(FILES private/multisplitter/Separator_p.h DESTINATION include/kddockwidgets/multisplitter)
install(FILES private/multisplitter/Separator_qwidget.h DESTINATION include/kddockwidgets/multisplitter)
install(FILES private/multisplitter/multisplitter_export.h DESTINATION include/kddockwidgets/multisplitter)
install(FILES ${DOCKS_INSTALLABLE_PRIVATE_WIDGET_INCLUDES} DESTINATION include/kddockwidgets/private/widgets)
include(CMakePackageConfigHelpers)
write_basic_package_version_file(
KDDockWidgetsConfigVersion.cmake
VERSION ${PACKAGE_VERSION}
COMPATIBILITY AnyNewerVersion
)
KDDockWidgetsConfigVersion.cmake
VERSION ${PACKAGE_VERSION}
COMPATIBILITY AnyNewerVersion
)
install(EXPORT kddockwidgetsTargets
FILE KDDockWidgetsTargets.cmake
@@ -201,10 +200,10 @@ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/KDDockWidgetsConfig.cmake"
DESTINATION ${INSTALL_LIBRARY_DIR}/cmake/KDDockWidgets
)
if (OPTION_DEVELOPER_MODE)
# Under developer mode since kddw might be a sub-folder of a project setting a different value for QT_DISABLE_DEPRECATED_BEFORE
target_compile_definitions(kddockwidgets PRIVATE QT_DISABLE_DEPRECATED_BEFORE=0x060000)
if(OPTION_DEVELOPER_MODE)
# Under developer mode since kddw might be a sub-folder of a project setting a different value for QT_DISABLE_DEPRECATED_BEFORE
target_compile_definitions(kddockwidgets PRIVATE QT_DISABLE_DEPRECATED_BEFORE=0x060000)
add_executable(kddockwidgets_linter layoutlinter_main.cpp)
target_link_libraries(kddockwidgets_linter kddockwidgets kddockwidgets_multisplitter Qt5::Widgets)
add_executable(kddockwidgets_linter layoutlinter_main.cpp)
target_link_libraries(kddockwidgets_linter kddockwidgets kddockwidgets_multisplitter Qt5::Widgets)
endif()

View File

@@ -29,15 +29,14 @@ set(MULTISPLITTER_SRCS_QTQUICK
option(BUILD_MULTISPLITTER_QTWIDGETS_FRONTEND "Build support for QtWidgets" ON)
option(BUILD_MULTISPLITTER_QTQUICK_FRONTEND "Build support for QtQuick" OFF)
if (BUILD_MULTISPLITTER_QTWIDGETS_FRONTEND)
set(MULTISPLITTER_SRCS ${MULTISPLITTER_SRCS} ${MULTISPLITTER_SRCS_QTWIDGETS})
add_definitions(-DKDMULTISPLITTER_QTWIDGETS)
if(BUILD_MULTISPLITTER_QTWIDGETS_FRONTEND)
set(MULTISPLITTER_SRCS ${MULTISPLITTER_SRCS} ${MULTISPLITTER_SRCS_QTWIDGETS})
add_definitions(-DKDMULTISPLITTER_QTWIDGETS)
endif()
if (BUILD_MULTISPLITTER_QTQUICK_FRONTEND)
set(MULTISPLITTER_SRCS ${MULTISPLITTER_SRCS} ${MULTISPLITTER_SRCS_QTQUICK})
add_definitions(-DKDMULTISPLITTER_QTQUICK)
if(BUILD_MULTISPLITTER_QTQUICK_FRONTEND)
set(MULTISPLITTER_SRCS ${MULTISPLITTER_SRCS} ${MULTISPLITTER_SRCS_QTQUICK})
add_definitions(-DKDMULTISPLITTER_QTQUICK)
endif()
qt5_add_resources(MULTISPLITTER_RESOURCES ${CMAKE_CURRENT_SOURCE_DIR}/multisplitter.qrc)
@@ -47,52 +46,52 @@ add_library(KDAB::kddockwidgets_multisplitter ALIAS kddockwidgets_multisplitter)
target_link_libraries(kddockwidgets_multisplitter Qt5::Core Qt5::Widgets)
set_compiler_flags(kddockwidgets_multisplitter)
if (BUILD_MULTISPLITTER_QTWIDGETS_FRONTEND)
find_package(Qt5Widgets)
target_link_libraries(kddockwidgets_multisplitter Qt5::Core Qt5::Widgets)
if(BUILD_MULTISPLITTER_QTWIDGETS_FRONTEND)
find_package(Qt5Widgets)
target_link_libraries(kddockwidgets_multisplitter Qt5::Core Qt5::Widgets)
endif()
if (BUILD_MULTISPLITTER_QTQUICK_FRONTEND)
find_package(Qt5Quick)
target_link_libraries(kddockwidgets_multisplitter Qt5::Core Qt5::Quick)
if(BUILD_MULTISPLITTER_QTQUICK_FRONTEND)
find_package(Qt5Quick)
target_link_libraries(kddockwidgets_multisplitter Qt5::Core Qt5::Quick)
endif()
target_compile_definitions(kddockwidgets_multisplitter PRIVATE BUILDING_MULTISPLITTER_LIBRARY)
if (OPTION_DEVELOPER_MODE)
# Under developer mode since kddw might be a sub-folder of a project setting a different value for QT_DISABLE_DEPRECATED_BEFORE
target_compile_definitions(kddockwidgets_multisplitter PRIVATE QT_DISABLE_DEPRECATED_BEFORE=0x060000)
if(OPTION_DEVELOPER_MODE)
# Under developer mode since kddw might be a sub-folder of a project setting a different value for QT_DISABLE_DEPRECATED_BEFORE
target_compile_definitions(kddockwidgets_multisplitter PRIVATE QT_DISABLE_DEPRECATED_BEFORE=0x060000)
add_subdirectory(tests)
if(${PROJECT_NAME}_EXAMPLES)
add_subdirectory(examples)
endif()
add_subdirectory(tests)
if(${PROJECT_NAME}_EXAMPLES)
add_subdirectory(examples)
endif()
endif()
target_include_directories(kddockwidgets_multisplitter
PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
)
#version libraries on Windows
if(WIN32)
set(postfix ${${PROJECT_NAME}_VERSION_MAJOR})
set(CMAKE_RELEASE_POSTFIX ${postfix})
set_target_properties(kddockwidgets_multisplitter PROPERTIES RELEASE_POSTFIX ${CMAKE_RELEASE_POSTFIX})
#append 'd' to debug libraries
string(CONCAT postfix ${postfix} "d")
set(CMAKE_DEBUG_POSTFIX ${postfix})
set_target_properties(kddockwidgets_multisplitter PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX})
set(postfix ${${PROJECT_NAME}_VERSION_MAJOR})
set(CMAKE_RELEASE_POSTFIX ${postfix})
set_target_properties(kddockwidgets_multisplitter PROPERTIES RELEASE_POSTFIX ${CMAKE_RELEASE_POSTFIX})
#append 'd' to debug libraries
string(CONCAT postfix ${postfix} "d")
set(CMAKE_DEBUG_POSTFIX ${postfix})
set_target_properties(kddockwidgets_multisplitter PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX})
endif()
install (TARGETS kddockwidgets_multisplitter
EXPORT kddockwidgetsTargets
RUNTIME DESTINATION ${INSTALL_RUNTIME_DIR}
LIBRARY DESTINATION ${INSTALL_LIBRARY_DIR}
ARCHIVE DESTINATION ${INSTALL_ARCHIVE_DIR}
)
install(TARGETS kddockwidgets_multisplitter
EXPORT kddockwidgetsTargets
RUNTIME DESTINATION ${INSTALL_RUNTIME_DIR}
LIBRARY DESTINATION ${INSTALL_LIBRARY_DIR}
ARCHIVE DESTINATION ${INSTALL_ARCHIVE_DIR}
)
if(MSVC)
install(FILES "$<TARGET_PDB_FILE_DIR:kddockwidgets_multisplitter>/$<TARGET_PDB_FILE_NAME:kddockwidgets_multisplitter>" DESTINATION ${INSTALL_LIBRARY_DIR} CONFIGURATIONS Debug RelWithDebInfo)
install(FILES "$<TARGET_PDB_FILE_DIR:kddockwidgets_multisplitter>/$<TARGET_PDB_FILE_NAME:kddockwidgets_multisplitter>" DESTINATION ${INSTALL_LIBRARY_DIR} CONFIGURATIONS Debug RelWithDebInfo)
endif()

View File

@@ -1,3 +1,3 @@
if (BUILD_MULTISPLITTER_QTQUICK_FRONTEND)
if(BUILD_MULTISPLITTER_QTQUICK_FRONTEND)
add_subdirectory(quick)
endif()

View File

@@ -1,6 +1,5 @@
find_package(Qt5Test)
add_executable(tst_multisplitter tst_multisplitter.cpp)
target_link_libraries(tst_multisplitter kddockwidgets_multisplitter Qt5::Test)
set_compiler_flags(tst_multisplitter)

View File

@@ -1,4 +1,6 @@
cmake_policy(SET CMP0043 NEW)
if(POLICY CMP0043)
cmake_policy(SET CMP0043 NEW)
endif()
include_directories(${CMAKE_SOURCE_DIR}/src)
include_directories(${CMAKE_CURRENT_BINARY_DIR})

View File

@@ -1,9 +1,5 @@
add_executable(fuzzer
main.cpp
Fuzzer.cpp
Operations.cpp
../Testing.cpp)
add_executable(fuzzer main.cpp Fuzzer.cpp Operations.cpp ../Testing.cpp)
set_property(TARGET fuzzer PROPERTY CXX_STANDARD 17)
target_link_libraries(fuzzer kddockwidgets Qt5::Widgets Qt5::Test)