Skip to content

Commit 67b01bf

Browse files
committed
Turn the launcher UI into a shared library
This enables the re-use of some of its widgets in the QtCreator integration. Based on pull request #314
1 parent 86b69bd commit 67b01bf

File tree

4 files changed

+28
-11
lines changed

4 files changed

+28
-11
lines changed

app/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ if(APPLE)
1414
${QT_QTGUI_LIBRARIES}
1515
gammaray_common
1616
gammaray_launcher
17-
gammaray_launcher_ui_internal
17+
gammaray_launcher_ui
1818
gammaray_client
1919
)
2020

launcher/app/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ add_executable(gammaray-launcher WIN32 ${gammaray_launcher_ui_srcs})
77
target_link_libraries(gammaray-launcher
88
${QT_QTGUI_LIBRARIES}
99
gammaray_common
10-
gammaray_launcher_ui_internal
10+
gammaray_launcher_ui
1111
)
1212

1313
gammaray_embed_info_plist(gammaray-launcher ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist.in)

launcher/ui/CMakeLists.txt

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
set(gammaray_launcher_ui_internal_srcs
1+
set(gammaray_launcher_ui_srcs
22
${CMAKE_SOURCE_DIR}/ui/searchlinecontroller.cpp
33
promolabel.cpp
44
launcherwindow.cpp
@@ -11,23 +11,25 @@ set(gammaray_launcher_ui_internal_srcs
1111
probeabimodel.cpp
1212
)
1313
if(NOT WIN32)
14-
list(APPEND gammaray_launcher_ui_internal_srcs processlist_unix.cpp)
14+
list(APPEND gammaray_launcher_ui_srcs processlist_unix.cpp)
1515
else()
16-
list(APPEND gammaray_launcher_ui_internal_srcs processlist_win.cpp)
16+
list(APPEND gammaray_launcher_ui_srcs processlist_win.cpp)
1717
endif()
1818

19-
qt4_wrap_ui(gammaray_launcher_ui_internal_srcs
19+
qt4_wrap_ui(gammaray_launcher_ui_srcs
2020
attachdialog.ui
2121
launcherwindow.ui
2222
launchpage.ui
2323
selftestpage.ui
2424
connectpage.ui
2525
)
2626

27-
add_library(gammaray_launcher_ui_internal STATIC ${gammaray_launcher_ui_internal_srcs})
28-
target_compile_definitions(gammaray_launcher_ui_internal PRIVATE GAMMARAY_UI_STATIC_DEFINE)
29-
target_include_directories(gammaray_launcher PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>)
30-
target_link_libraries(gammaray_launcher_ui_internal
27+
add_library(gammaray_launcher_ui SHARED ${gammaray_launcher_ui_srcs})
28+
generate_export_header(gammaray_launcher_ui)
29+
set_target_properties(gammaray_launcher PROPERTIES ${GAMMARAY_DEFAULT_LIBRARY_PROPERTIES})
30+
31+
target_include_directories(gammaray_launcher PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>)
32+
target_link_libraries(gammaray_launcher_ui
3133
LINK_PUBLIC
3234
gammaray_launcher
3335

@@ -38,3 +40,16 @@ target_link_libraries(gammaray_launcher_ui_internal
3840
${QT_QTNETWORK_LIBRARIES}
3941
gammaray_ui
4042
)
43+
44+
install(TARGETS gammaray_launcher_ui EXPORT GammaRayTargets ${INSTALL_TARGETS_DEFAULT_ARGS})
45+
46+
ecm_generate_pri_file(BASE_NAME GammaRayLauncherUi
47+
LIB_NAME gammaray_launcher_ui
48+
DEPS "core gui GammaRayLauncher"
49+
FILENAME_VAR PRI_FILENAME
50+
INCLUDE_INSTALL_DIR ${INCLUDE_INSTALL_DIR}
51+
)
52+
install(FILES ${PRI_FILENAME} DESTINATION ${ECM_MKSPECS_INSTALL_DIR})
53+
if(MSVC)
54+
install(FILES "$<TARGET_PDB_FILE_DIR:gammaray_launcher_ui>/$<TARGET_PDB_FILE_NAME:gammaray_launcher_ui>" DESTINATION ${BIN_INSTALL_DIR} CONFIGURATIONS Debug RelWithDebInfo)
55+
endif()

launcher/ui/launcherwindow.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@
2929
#ifndef GAMMARAY_LAUNCHERWINDOW_H
3030
#define GAMMARAY_LAUNCHERWINDOW_H
3131

32+
#include "gammaray_launcher_ui_export.h"
33+
3234
#include <QDialog>
3335

3436
namespace GammaRay {
@@ -37,7 +39,7 @@ namespace Ui {
3739
class LauncherWindow;
3840
}
3941

40-
class LauncherWindow : public QDialog
42+
class GAMMARAY_LAUNCHER_UI_EXPORT LauncherWindow : public QDialog
4143
{
4244
Q_OBJECT
4345
public:

0 commit comments

Comments
 (0)