Skip to content

Commit 275520a

Browse files
committed
Fixes to project files
Fixed naming of projects using CMake Added working static compile using qmake Added conventional naming of debug libraries Added install target to qmake
1 parent 2570a88 commit 275520a

File tree

6 files changed

+89
-74
lines changed

6 files changed

+89
-74
lines changed

CMakeLists.txt

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ set(CMAKE_AUTORCC ON)
88
project(QtAdvancedDockingSystem VERSION ${ads_VERSION})
99
option(BUILD_STATIC "Build the static library" OFF)
1010
option(BUILD_EXAMPLES "Build the examples" ON)
11-
set(REQUIRED_QT_VERSION 5.0.0)
11+
set(REQUIRED_QT_VERSION 5.7.0)
1212
find_package(Qt5Core ${REQUIRED_QT_VERSION} REQUIRED)
1313
find_package(Qt5Gui ${REQUIRED_QT_VERSION} REQUIRED)
1414
find_package(Qt5Widgets ${REQUIRED_QT_VERSION} REQUIRED)
@@ -56,15 +56,15 @@ set(ads_INSTALL_INCLUDE
5656
src/FloatingDockContainer.h
5757
)
5858
if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "4")
59-
set(ads_PlatformDir "x64")
60-
else()
6159
set(ads_PlatformDir "x86")
60+
else()
61+
set(ads_PlatformDir "x64")
6262
endif()
6363
if(BUILD_STATIC)
64-
add_library(ads STATIC ${ads_SRCS})
64+
add_library(qtadvanceddocking STATIC ${ads_SRCS})
6565
set(ads_COMPILE_DEFINE ${ads_COMPILE_DEFINE} ADS_STATIC)
6666
else()
67-
add_library(ads SHARED ${ads_SRCS})
67+
add_library(qtadvanceddocking SHARED ${ads_SRCS})
6868
set(ads_COMPILE_DEFINE ${ads_COMPILE_DEFINE} ADS_SHARED_EXPORT)
6969
endif()
7070
install(FILES ${ads_INSTALL_INCLUDE}
@@ -77,19 +77,19 @@ install(FILES
7777
DESTINATION license
7878
COMPONENT license
7979
)
80-
install(TARGETS ads
80+
install(TARGETS qtadvanceddocking
8181
EXPORT adsBinary
8282
RUNTIME DESTINATION bin COMPONENT library
8383
LIBRARY DESTINATION lib COMPONENT library
8484
ARCHIVE DESTINATION lib COMPONENT library
8585
)
86-
target_include_directories(ads PUBLIC
86+
target_include_directories(qtadvanceddocking PUBLIC
8787
$<BUILD_INTERFACE:${ads_INCLUDE}>
8888
$<INSTALL_INTERFACE:include>
8989
)
90-
target_link_libraries(ads PUBLIC ${ads_LIBS})
91-
target_compile_definitions(ads PRIVATE ${ads_COMPILE_DEFINE})
92-
set_target_properties(ads PROPERTIES
90+
target_link_libraries(qtadvanceddocking PUBLIC ${ads_LIBS})
91+
target_compile_definitions(qtadvanceddocking PRIVATE ${ads_COMPILE_DEFINE})
92+
set_target_properties(qtadvanceddocking PROPERTIES
9393
VERSION ${ads_VERSION}
9494
EXPORT_NAME "Qt Advanced Docking System"
9595
ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${ads_PlatformDir}/lib"

demo/CMakeLists.txt

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ set(CMAKE_AUTOMOC ON)
66
set(CMAKE_AUTOUIC ON)
77
set(CMAKE_AUTORCC ON)
88
project(ads_demo VERSION "1.0")
9-
set(REQUIRED_QT_VERSION 5.0.0)
9+
set(REQUIRED_QT_VERSION 5.7.0)
1010
find_package(Qt5Core ${REQUIRED_QT_VERSION} REQUIRED)
1111
find_package(Qt5Gui ${REQUIRED_QT_VERSION} REQUIRED)
1212
find_package(Qt5Widgets ${REQUIRED_QT_VERSION} REQUIRED)
@@ -26,23 +26,23 @@ set(ads_demo_SRCS
2626
MainWindow.ui
2727
main.qrc
2828
)
29-
add_executable(ads_demo WIN32 ${ads_demo_SRCS})
29+
add_executable(AdvancedDockingSystemDemo WIN32 ${ads_demo_SRCS})
3030
if(BUILD_STATIC)
3131
set(ads_demo_DEFINE ${ads_demo_DEFINE} ADS_STATIC)
3232
endif()
33-
add_dependencies(ads_demo ads)
34-
target_include_directories(ads_demo PUBLIC
33+
add_dependencies(AdvancedDockingSystemDemo qtadvanceddocking)
34+
target_include_directories(AdvancedDockingSystemDemo PUBLIC
3535
$<BUILD_INTERFACE:${ads_demo_INCLUDE}>
3636
$<INSTALL_INTERFACE:include>
3737
)
38-
target_include_directories(ads_demo PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/../src" ${ads_demo_INCLUDE})
39-
target_link_libraries(ads_demo PRIVATE ads ${ads_demo_LIBS})
40-
target_compile_definitions(ads_demo PRIVATE ${ads_demo_DEFINE})
41-
set_target_properties(ads_demo PROPERTIES
38+
target_include_directories(AdvancedDockingSystemDemo PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/../src" ${ads_demo_INCLUDE})
39+
target_link_libraries(AdvancedDockingSystemDemo PRIVATE qtadvanceddocking ${ads_demo_LIBS})
40+
target_compile_definitions(AdvancedDockingSystemDemo PRIVATE ${ads_demo_DEFINE})
41+
set_target_properties(AdvancedDockingSystemDemo PROPERTIES
4242
VERSION "1.0"
4343
SOVERSION 1
4444
EXPORT_NAME "Qt Advanced Docking System Demo"
45-
ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${ads_PlatformDir}/lib/demo"
46-
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${ads_PlatformDir}/lib/demo"
47-
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${ads_PlatformDir}/bin/demo"
45+
ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${ads_PlatformDir}/lib"
46+
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${ads_PlatformDir}/lib"
47+
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${ads_PlatformDir}/bin"
4848
)

demo/demo.pro

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,44 @@
1-
ADS_ROOT = $${PWD}/..
21
ADS_OUT_ROOT = $${OUT_PWD}/..
32

43
TARGET = AdvancedDockingSystemDemo
54
DESTDIR = $${ADS_OUT_ROOT}/lib
65
QT += core gui widgets
7-
CONFIG *= c++14
6+
CONFIG += c++11
7+
DEFINES += QT_DEPRECATED_WARNINGS
88

9+
adsBuildStatic {
10+
DEFINES += ADS_STATIC
11+
}
912

1013
SOURCES += \
1114
main.cpp \
1215
MainWindow.cpp
1316

14-
1517
HEADERS += \
1618
MainWindow.h
1719

1820
FORMS += \
1921
mainwindow.ui
20-
22+
2123
RESOURCES += main.qrc
2224

2325
LIBS += -L$${ADS_OUT_ROOT}/lib
2426

2527
# Dependency: AdvancedDockingSystem (shared)
26-
win32:CONFIG(release, debug|release): LIBS += -lqtadvanceddocking
27-
else:win32:CONFIG(debug, debug|release): LIBS += -lqtadvanceddockingd
28-
else:unix: LIBS += -lqtadvanceddocking
28+
CONFIG(debug, debug|release){
29+
win32 {
30+
LIBS += -lqtadvanceddockingd
31+
}
32+
else:mac {
33+
LIBS += -lqtadvanceddocking_debug
34+
}
35+
else {
36+
LIBS += -lqtadvanceddocking
37+
}
38+
}
39+
else{
40+
LIBS += -lqtadvanceddocking
41+
}
2942

3043
INCLUDEPATH += ../src
3144
DEPENDPATH += ../src

example/CMakeLists.txt

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ set(CMAKE_CXX_EXTENSIONS OFF)
55
set(CMAKE_AUTOMOC ON)
66
set(CMAKE_AUTOUIC ON)
77
project(ads_example VERSION "1.0")
8-
set(REQUIRED_QT_VERSION 5.0.0)
8+
set(REQUIRED_QT_VERSION 5.7.0)
99
find_package(Qt5Core ${REQUIRED_QT_VERSION} REQUIRED)
1010
find_package(Qt5Gui ${REQUIRED_QT_VERSION} REQUIRED)
1111
find_package(Qt5Widgets ${REQUIRED_QT_VERSION} REQUIRED)
@@ -24,23 +24,23 @@ set(ads_example_SRCS
2424
MainWindow.cpp
2525
MainWindow.ui
2626
)
27-
add_executable(ads_example WIN32 ${ads_example_SRCS})
27+
add_executable(Example1 WIN32 ${ads_example_SRCS})
2828
if(BUILD_STATIC)
2929
set(ads_example_DEFINE ${ads_example_DEFINE} ADS_STATIC)
3030
endif()
31-
add_dependencies(ads_example ads)
32-
target_include_directories(ads_example PUBLIC
31+
add_dependencies(Example1 qtadvanceddocking)
32+
target_include_directories(Example1 PUBLIC
3333
$<BUILD_INTERFACE:${ads_example_INCLUDE}>
3434
$<INSTALL_INTERFACE:include>
3535
)
36-
target_include_directories(ads_example PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/../src" ${ads_example_INCLUDE})
37-
target_link_libraries(ads_example PRIVATE ads ${ads_example_LIBS})
38-
target_compile_definitions(ads_example PRIVATE ${ads_example_DEFINE})
39-
set_target_properties(ads_example PROPERTIES
36+
target_include_directories(Example1 PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/../src" ${ads_example_INCLUDE})
37+
target_link_libraries(Example1 PRIVATE qtadvanceddocking ${ads_example_LIBS})
38+
target_compile_definitions(Example1 PRIVATE ${ads_example_DEFINE})
39+
set_target_properties(Example1 PROPERTIES
4040
VERSION "1.0"
4141
SOVERSION 1
4242
EXPORT_NAME "Qt Advanced Docking System Example"
43-
ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${ads_PlatformDir}/lib/example"
44-
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${ads_PlatformDir}/lib/example"
45-
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${ads_PlatformDir}/bin/example"
43+
ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${ads_PlatformDir}/lib"
44+
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${ads_PlatformDir}/lib"
45+
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${ads_PlatformDir}/bin"
4646
)

example/example.pro

Lines changed: 19 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,17 @@
1-
#-------------------------------------------------
2-
#
3-
# Project created by QtCreator 2018-12-14T22:42:14
4-
#
5-
#-------------------------------------------------
6-
ADS_ROOT = $${PWD}/..
71
ADS_OUT_ROOT = $${OUT_PWD}/..
82

9-
QT += core gui widgets
10-
11-
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
3+
QT += core gui widgets
124

135
TARGET = Example1
146
DESTDIR = $${ADS_OUT_ROOT}/lib
157
TEMPLATE = app
16-
CONFIG *= c++14
8+
CONFIG += c++11
9+
adsBuildStatic {
10+
DEFINES += ADS_STATIC
11+
}
1712

18-
# The following define makes your compiler emit warnings if you use
19-
# any feature of Qt which has been marked as deprecated (the exact warnings
20-
# depend on your compiler). Please consult the documentation of the
21-
# deprecated API in order to know how to port your code away from it.
2213
DEFINES += QT_DEPRECATED_WARNINGS
2314

24-
# You can also make your code fail to compile if you use deprecated APIs.
25-
# In order to do so, uncomment the following line.
26-
# You can also select to disable deprecated APIs only up to a certain version of Qt.
27-
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
28-
29-
3015
SOURCES += \
3116
main.cpp \
3217
MainWindow.cpp
@@ -42,9 +27,20 @@ FORMS += \
4227
LIBS += -L$${ADS_OUT_ROOT}/lib
4328

4429
# Dependency: AdvancedDockingSystem (shared)
45-
win32:CONFIG(release, debug|release): LIBS += -lqtadvanceddocking
46-
else:win32:CONFIG(debug, debug|release): LIBS += -lqtadvanceddockingd
47-
else:unix: LIBS += -lqtadvanceddocking
30+
CONFIG(debug, debug|release){
31+
win32 {
32+
LIBS += -lqtadvanceddockingd
33+
}
34+
else:mac {
35+
LIBS += -lqtadvanceddocking_debug
36+
}
37+
else {
38+
LIBS += -lqtadvanceddocking
39+
}
40+
}
41+
else{
42+
LIBS += -lqtadvanceddocking
43+
}
4844

4945
INCLUDEPATH += ../src
5046
DEPENDPATH += ../src

src/src.pro

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,34 @@
1-
ADS_ROOT = $${PWD}/..
21
ADS_OUT_ROOT = $${OUT_PWD}/..
3-
2+
CONFIG += c++11
43
TARGET = $$qtLibraryTarget(qtadvanceddocking)
4+
DEFINES += QT_DEPRECATED_WARNINGS
5+
CONFIG(debug, debug|release) {
6+
mac: TARGET = $$join(TARGET,,,_debug)
7+
win32: TARGET = $$join(TARGET,,,d)
8+
}
59
TEMPLATE = lib
610
DESTDIR = $${ADS_OUT_ROOT}/lib
711
QT += core gui widgets
812

9-
CONFIG += adsBuildShared
10-
11-
12-
adsBuildShared {
13+
!adsBuildStatic {
1314
CONFIG += shared
1415
DEFINES += ADS_SHARED_EXPORT
1516
}
16-
!adsBuildShared {
17+
adsBuildStatic {
1718
CONFIG += staticlib
19+
DEFINES += ADS_STATIC
1820
}
1921

2022
windows {
2123
# MinGW
2224
*-g++* {
23-
QMAKE_CXXFLAGS += -std=c++11
2425
QMAKE_CXXFLAGS += -Wall -Wextra -pedantic
2526
}
2627
# MSVC
2728
*-msvc* {
2829
}
2930
}
3031

31-
unix {
32-
CONFIG += c++11
33-
}
34-
3532
RESOURCES += ads.qrc
3633

3734
HEADERS += \
@@ -63,3 +60,12 @@ SOURCES += \
6360
DockSplitter.cpp \
6461
DockAreaTitleBar.cpp \
6562
ElidingLabel.cpp
63+
64+
isEmpty(PREFIX){
65+
PREFIX=..\installed
66+
warning("Install Prefix not set")
67+
}
68+
headers.path=$$PREFIX/include
69+
headers.files=$$HEADERS
70+
target.path=$$PREFIX/lib
71+
INSTALLS += headers target

0 commit comments

Comments
 (0)