Skip to content

Commit fd09a68

Browse files
Merge pull request #19 from VSRonin/master
Various fixes to the project files to uniform names and correctly compile static libraries. Added configuration files for Appveyor and Travis CI, adding the project to those services should work out of the box.
2 parents e352ce5 + e113790 commit fd09a68

13 files changed

+428
-104
lines changed

.appveyor.yml

Lines changed: 160 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,160 @@
1+
version: '2.3.2.{build}'
2+
branches:
3+
only:
4+
- master
5+
6+
image: Visual Studio 2015
7+
clone_depth: 1
8+
environment:
9+
global:
10+
# Appveyor doesn't have Qt 12 yet
11+
LatestLTSQtVersion: 5.9
12+
LatestQtVersion: 5.11
13+
matrix:
14+
# Latest version of Qt, dll, 64bit, MSVC 2015, qmake
15+
- QT5: C:\Qt\%LatestQtVersion%\msvc2015_64
16+
COMPILER: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC
17+
targetPlatform: amd64
18+
use_mingw: "false"
19+
use_static: "false"
20+
use_cmake: "false"
21+
# 32 bit builds
22+
# MSVC 2015 builds
23+
# Dynamic Library builds
24+
# LTS version of Qt, dll, 32bit, MSVC 2015, qmake
25+
- QT5: C:\Qt\%LatestLTSQtVersion%\msvc2015
26+
COMPILER: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC
27+
targetPlatform: x86
28+
use_mingw: "false"
29+
use_static: "false"
30+
use_cmake: "false"
31+
# LTS version of Qt, dll, 32bit, MSVC 2015, cmake
32+
- QT5: C:\Qt\%LatestLTSQtVersion%\msvc2015
33+
COMPILER: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC
34+
targetPlatform: x86
35+
use_mingw: "false"
36+
use_static: "false"
37+
use_cmake: "true"
38+
# end Dynamic Library builds
39+
# Static Library builds
40+
# LTS version of Qt, static, 32bit, MSVC 2015, qmake
41+
- QT5: C:\Qt\%LatestLTSQtVersion%\msvc2015
42+
COMPILER: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC
43+
targetPlatform: x86
44+
use_mingw: "false"
45+
use_static: "true"
46+
use_cmake: "false"
47+
# LTS version of Qt, static, 32bit, MSVC 2015, cmake
48+
- QT5: C:\Qt\%LatestLTSQtVersion%\msvc2015
49+
COMPILER: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC
50+
targetPlatform: x86
51+
use_mingw: "false"
52+
use_static: "true"
53+
use_cmake: "true"
54+
# end Static Library builds
55+
# end MSVC 2015 builds
56+
# MinGW builds
57+
# Dynamic Library builds
58+
# LTS version of Qt, dll, 32bit, MinGW, qmake
59+
- QT5: C:\Qt\%LatestLTSQtVersion%\mingw53_32
60+
COMPILER: C:\Qt\Tools\mingw530_32
61+
targetPlatform: x86
62+
use_mingw: "true"
63+
use_static: "false"
64+
use_cmake: "false"
65+
# LTS version of Qt, dll, 32bit, MinGW, cmake
66+
- QT5: C:\Qt\%LatestLTSQtVersion%\mingw53_32
67+
COMPILER: C:\Qt\Tools\mingw530_32
68+
targetPlatform: x86
69+
use_mingw: "true"
70+
use_static: "false"
71+
use_cmake: "true"
72+
# end Dynamic Library builds
73+
# Static Library builds
74+
# LTS version of Qt, static, 32bit, MinGW, qmake
75+
- QT5: C:\Qt\%LatestLTSQtVersion%\mingw53_32
76+
COMPILER: C:\Qt\Tools\mingw530_32
77+
targetPlatform: x86
78+
use_mingw: "true"
79+
use_static: "true"
80+
use_cmake: "false"
81+
# LTS version of Qt, static, 32bit, MinGW, cmake
82+
- QT5: C:\Qt\%LatestLTSQtVersion%\mingw53_32
83+
COMPILER: C:\Qt\Tools\mingw530_32
84+
targetPlatform: x86
85+
use_mingw: "true"
86+
use_static: "true"
87+
use_cmake: "true"
88+
# end Static Library builds
89+
# end MinGW builds
90+
# end 32 bit builds
91+
# 64 bit builds
92+
# MSVC 2015 builds
93+
# Dynamic Library builds
94+
# LTS version of Qt, dll, 64bit, MSVC 2015, qmake
95+
- QT5: C:\Qt\%LatestLTSQtVersion%\msvc2015_64
96+
COMPILER: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC
97+
targetPlatform: amd64
98+
use_mingw: "false"
99+
use_static: "false"
100+
use_cmake: "false"
101+
# LTS version of Qt, dll, 64bit, MSVC 2015, cmake
102+
- QT5: C:\Qt\%LatestLTSQtVersion%\msvc2015_64
103+
COMPILER: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC
104+
targetPlatform: amd64
105+
use_mingw: "false"
106+
use_static: "false"
107+
use_cmake: "true"
108+
# end Dynamic Library builds
109+
# Static Library builds
110+
# LTS version of Qt, static, 64bit, MSVC 2015, qmake
111+
- QT5: C:\Qt\%LatestLTSQtVersion%\msvc2015_64
112+
COMPILER: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC
113+
targetPlatform: amd64
114+
use_mingw: "false"
115+
use_static: "true"
116+
use_cmake: "false"
117+
# LTS version of Qt, static, 64bit, MSVC 2015, cmake
118+
- QT5: C:\Qt\%LatestLTSQtVersion%\msvc2015_64
119+
COMPILER: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC
120+
targetPlatform: amd64
121+
use_mingw: "false"
122+
use_static: "true"
123+
use_cmake: "true"
124+
# end Static Library builds
125+
# end MSVC 2015 builds
126+
# end 64 bit builds
127+
128+
matrix:
129+
fast_finish: true
130+
131+
before_build:
132+
- set PATH=%COMPILER%\bin;%QT5%\bin;%PATH%
133+
- set originalWD=%CD%
134+
- call "%QT5%\bin\qtenv2.bat"
135+
- cd %originalWD%
136+
- if %use_mingw%==false call "%COMPILER%\vcvarsall.bat" %targetPlatform%
137+
- if %use_static%==true (set USESTATIC=ON) else (set USESTATIC=OFF)
138+
- if %use_mingw%==true (set CMAKEGENERATOR="MinGW Makefiles") else (set CMAKEGENERATOR="NMake Makefiles")
139+
- if %use_mingw%==true (set MAKEENGINE=mingw32-make) else (set MAKEENGINE=nmake)
140+
- if %use_mingw%==true set PATH=%PATH:C:\Program Files\Git\usr\bin;=%
141+
142+
build_script:
143+
- if %use_cmake%==true mkdir .\build
144+
- if %use_cmake%==true cd .\build
145+
- if %use_cmake%==true cmake --version
146+
- if %use_cmake%==true cmake -G %CMAKEGENERATOR% -DCMAKE_BUILD_TYPE=DEBUG -DBUILD_EXAMPLES=ON -DCMAKE_DEBUG_POSTFIX=d -DBUILD_STATIC=%USESTATIC% -DCMAKE_INSTALL_PREFIX="./installed" ../
147+
- if %use_cmake%==true cmake --build .
148+
- if %use_cmake%==true cmake --build . --target install
149+
- if %use_cmake%==true cmake -G %CMAKEGENERATOR% -DCMAKE_BUILD_TYPE=RELEASE -DBUILD_EXAMPLES=ON -DBUILD_STATIC=%USESTATIC% -DCMAKE_INSTALL_PREFIX="./installed" ../
150+
- if %use_cmake%==true cmake --build .
151+
- if %use_cmake%==true cmake --build . --target install
152+
- if %use_cmake%==false if %use_static%==true qmake "CONFIG+=adsBuildStatic"
153+
- if %use_cmake%==false if %use_static%==false qmake
154+
- if %use_cmake%==false %MAKEENGINE% debug
155+
- if %use_cmake%==false %MAKEENGINE% install
156+
- if %use_cmake%==false %MAKEENGINE% release
157+
- if %use_cmake%==false %MAKEENGINE% install
158+
159+
after_build:
160+
- if %use_mingw%==true set PATH=C:\Program Files\Git\usr\bin;%PATH%

.travis.yml

Lines changed: 155 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,155 @@
1+
language: cpp
2+
# gcc is clang on mac
3+
compiler: gcc
4+
5+
git:
6+
depth: 1
7+
8+
matrix:
9+
fast_finish: true
10+
include:
11+
- name: Ubuntu qmake Qt5.5.1
12+
os: linux
13+
dist: trusty
14+
group: stable
15+
addons:
16+
apt:
17+
sources:
18+
- ubuntu-toolchain-r-test
19+
- sourceline: 'ppa:beineri/opt-qt551-trusty'
20+
update: true
21+
packages:
22+
- qt55base
23+
- qt55tools
24+
- gcc-6
25+
- g++-6
26+
- libc6-i386
27+
script:
28+
- PATH="/opt/qt55/bin:$PATH"
29+
- CXX="g++-6"
30+
- CC="gcc-6"
31+
- qt55-env.sh
32+
- qmake
33+
- make
34+
- make install
35+
- name: Ubuntu qmake dll
36+
os: linux
37+
dist: xenial
38+
group: stable
39+
addons:
40+
apt:
41+
sources:
42+
- ubuntu-toolchain-r-test
43+
- sourceline: 'ppa:beineri/opt-qt-5.12.0-xenial'
44+
update: true
45+
packages:
46+
- qt512base
47+
- qt512tools
48+
- gcc-6
49+
- g++-6
50+
- libc6-i386
51+
- libgl-dev
52+
- libgl1-mesa-dev
53+
- mesa-common-dev
54+
script:
55+
- PATH="/opt/qt512/bin:$PATH"
56+
- CXX="g++-6"
57+
- CC="gcc-6"
58+
- qt512-env.sh
59+
- qmake
60+
- make
61+
- make install
62+
- name: Ubuntu qmake static
63+
os: linux
64+
dist: xenial
65+
group: stable
66+
addons:
67+
apt:
68+
sources:
69+
- ubuntu-toolchain-r-test
70+
- sourceline: 'ppa:beineri/opt-qt-5.12.0-xenial'
71+
update: true
72+
packages:
73+
- qt512base
74+
- qt512tools
75+
- gcc-6
76+
- g++-6
77+
- libc6-i386
78+
- libgl-dev
79+
- libgl1-mesa-dev
80+
- mesa-common-dev
81+
script:
82+
- PATH="/opt/qt512/bin:$PATH"
83+
- CXX="g++-6"
84+
- CC="gcc-6"
85+
- qt512-env.sh
86+
- qmake "CONFIG+=adsBuildStatic"
87+
- make
88+
- make install
89+
- name: macOS CMake dll
90+
os: osx
91+
osx_image: xcode10.1
92+
addons:
93+
homebrew:
94+
packages:
95+
- qt
96+
update: true
97+
script:
98+
- PATH="/usr/local/opt/qt5/bin:$PATH"
99+
- mkdir -p build
100+
- cd build
101+
- cmake --version
102+
- cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=DEBUG -DCMAKE_DEBUG_POSTFIX=_debug -DBUILD_EXAMPLES=ON -DBUILD_STATIC=OFF -DCMAKE_INSTALL_PREFIX="./installed" ../
103+
- cmake --build .
104+
- cmake --build . --target install
105+
- cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=RELEASE -DBUILD_EXAMPLES=ON -DBUILD_STATIC=OFF -DCMAKE_INSTALL_PREFIX="./installed" ../
106+
- cmake --build .
107+
- cmake --build . --target install
108+
- name: macOS CMake static
109+
os: osx
110+
osx_image: xcode10.1
111+
addons:
112+
homebrew:
113+
packages:
114+
- qt
115+
update: true
116+
script:
117+
- PATH="/usr/local/opt/qt5/bin:$PATH"
118+
- mkdir -p build
119+
- cd build
120+
- cmake --version
121+
- cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=DEBUG -DCMAKE_DEBUG_POSTFIX=_debug -DBUILD_EXAMPLES=ON -DBUILD_STATIC=ON -DCMAKE_INSTALL_PREFIX="./installed" ../
122+
- cmake --build .
123+
- cmake --build . --target install
124+
- cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=RELEASE -DBUILD_EXAMPLES=ON -DBUILD_STATIC=ON -DCMAKE_INSTALL_PREFIX="./installed" ../
125+
- cmake --build .
126+
- cmake --build . --target install
127+
- name: macOS qmake dll
128+
os: osx
129+
osx_image: xcode10.1
130+
addons:
131+
homebrew:
132+
packages:
133+
- qt
134+
update: true
135+
script:
136+
- PATH="/usr/local/opt/qt5/bin:$PATH"
137+
- qmake
138+
- make
139+
- make install
140+
- name: macOS qmake static
141+
os: osx
142+
osx_image: xcode10.1
143+
addons:
144+
homebrew:
145+
packages:
146+
- qt
147+
update: true
148+
script:
149+
- PATH="/usr/local/opt/qt5/bin:$PATH"
150+
- qmake "CONFIG+=adsBuildStatic"
151+
- make
152+
- make install
153+
notifications:
154+
email: false
155+

CMakeLists.txt

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
cmake_minimum_required(VERSION 3.3)
22
set(ads_VERSION "2.3.2")
3-
set(CMAKE_CXX_STANDARD 11)
3+
set(CMAKE_CXX_STANDARD 14)
44
set(CMAKE_CXX_STANDARD_REQUIRED ON)
55
set(CMAKE_CXX_EXTENSIONS OFF)
66
set(CMAKE_AUTOMOC ON)
77
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.5.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"

0 commit comments

Comments
 (0)