Skip to content
This repository was archived by the owner on Oct 10, 2022. It is now read-only.

Commit dafda4d

Browse files
authored
Cmake refactorings (#95)
* Use cmake configuration file instead of inline definitions. Move mount files in separate library * Fix frontend compilation #skip_ci
1 parent 89eea96 commit dafda4d

25 files changed

Lines changed: 87 additions & 118 deletions

CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ include(cmake/functions.cmake)
1919

2020
external_project_download(cmake/GuLinux-Commons.cmake.in GuLinux-Commons)
2121

22-
add_definitions(-DSRC_DIR="${CMAKE_SOURCE_DIR}")
2322
configure_file(${CMAKE_SOURCE_DIR}/scripts/version.sh.in ${CMAKE_BINARY_DIR}/scripts/version.sh)
2423

2524
if(NOT OSX_BUNDLE)

cmake/find_dependencies.cmake

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ find_package(Qt5Network REQUIRED )
1010
find_package(Qt5OpenGL)
1111
if(Qt5OpenGL_FOUND AND NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
1212
message("Using OpenGL renderer for image view")
13-
add_definitions(-DHAVE_QT5_OPENGL)
1413
set(Qt5_OpenGL_LIBRARIES Qt5::OpenGL)
1514
endif()
1615
include_directories(${Qt5Widgets_INCLUDE_DIRS} ${Qt5PrintSupport_INCLUDE_DIRS})

cmake/functions.cmake

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,6 @@ function(add_driver)
4747
set(enabled_drivers ${enabled_drivers} ${add_driver_NAME} CACHE INTERNAL "")
4848
endfunction()
4949

50-
# Updates the specified CMake variable in the parent scope
51-
macro(update_parent VAR_NAME)
52-
set(${VAR_NAME} ${${VAR_NAME}} PARENT_SCOPE)
53-
endmacro(update_parent)
54-
5550
function(external_project_download IN_FILE OUT_DIR)
5651
configure_file(${IN_FILE} ${OUT_DIR}_download/CMakeLists.txt)
5752
execute_process(COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" .

cmake/options.cmake

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -20,26 +20,14 @@ option(ADD_DRIVERS_BUILD_DIRECTORY "Search for drivers in the current build dire
2020

2121
# Developer mode: log all message to stderr
2222
option(DEVELOPER_MODE "Force logging mode to debug" OFF)
23-
if(DEVELOPER_MODE)
24-
add_definitions(-DDEVELOPER_MODE)
25-
endif()
26-
2723
option(DEBUG_NETWORK_PACKETS "Debug network packets" OFF)
28-
if(DEBUG_NETWORK_PACKETS)
29-
add_definitions(-DDEBUG_NETWORK_PACKETS)
30-
endif()
31-
3224
option(DISABLE_TRACKING "Disable tracking implementation" ON)
33-
if(DISABLE_TRACKING)
34-
add_definitions(-DDISABLE_TRACKING)
35-
endif()
3625

3726
# Extra executables to be built
3827
if("${CPACK_GENERATOR}" STREQUAL "DragNDrop")
3928
message("Disabling PlanetaryImager network daemon and frontend in bundle mode")
4029
set(build_network_server Off)
4130
set(OSX_BUNDLE On)
42-
add_definitions(-DOSX_BUNDLE=1)
4331
set(CMAKE_INSTALL_PREFIX /)
4432
set(MACOSX_BUNDLE_BUNDLE_NAME PlanetaryImager)
4533
set(MACOSX_BUNDLE_BUNDLE_VERSION ${FULL_VERSION})

cmake/utils.cmake

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,4 @@
1111
set(PlanetaryImager_ARCH i686)
1212
endif (CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "armv6l")
1313

14-
add_definitions(-DHOST_PROCESSOR="${CMAKE_HOST_SYSTEM_PROCESSOR}" -DARCHITECTURE="${PlanetaryImager_ARCH}")
1514
message("Detected architecture: ${PlanetaryImager_ARCH}")

src/CMakeLists.txt

Lines changed: 7 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,6 @@
11
set(PlanetaryImager_GUI_SRCS planetaryimager_mainwindow.cpp mainwindowwidgets.cpp planetaryimager_mainwindow.ui resources/resources.qrc)
22
set(PlanetaryImager_SRCS planetaryimager_main.cpp ${PlanetaryImager_GUI_SRCS})
3-
4-
5-
if(static_qt_windows)
6-
add_definitions(-DSTATIC_WINDOWS_PLUGIN)
7-
endif()
8-
9-
10-
if(HAVE_LIBINDI)
11-
add_definitions(-DHAVE_LIBINDI)
12-
endif()
3+
include_directories(${CMAKE_CURRENT_BINARY_DIR})
134

145
if(OSX_BUNDLE)
156
set(drivers_destination ${APPBUNDLE_INSTALL_PREFIX}/Contents/Plugins/${CMAKE_PROJECT_NAME})
@@ -23,26 +14,27 @@ set(CMAKE_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXE
2314
if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
2415
set(drivers_destination drivers)
2516
set(binary_destination .)
26-
add_definitions(-DDRIVERS_DIRECTORY="${drivers_destination}")
17+
set(DRIVERS_DIRECTORY "${drivers_destination}")
2718
else()
2819
if(OSX_BUNDLE)
29-
add_definitions(-DDRIVERS_DIRECTORY="../Plugins/${CMAKE_PROJECT_NAME}")
20+
set(DRIVERS_DIRECTORY "../Plugins/${CMAKE_PROJECT_NAME}")
3021
set(CMAKE_INSTALL_RPATH "@executable_path/../Frameworks" "@executable_path/../../Frameworks")
3122
else()
32-
add_definitions(-DDRIVERS_DIRECTORY="${CMAKE_INSTALL_PREFIX}/${drivers_destination}")
23+
set(DRIVERS_DIRECTORY "${CMAKE_INSTALL_PREFIX}/${drivers_destination}")
3324
endif()
3425
endif()
3526

3627

3728
if(ADD_DRIVERS_BUILD_DIRECTORY)
38-
add_definitions(-DADDITIONAL_DRIVERS_DIRECTORY="${CMAKE_CURRENT_BINARY_DIR}/drivers")
29+
set(ADDITIONAL_DRIVERS_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/drivers")
3930
endif()
4031

4132
add_subdirectory(drivers)
4233
add_subdirectory(image_handlers)
4334
add_subdirectory(widgets)
4435
add_subdirectory(commons)
4536
add_subdirectory(network)
37+
add_subdirectory(mount)
4638

4739

4840
message(STATUS "********* ExtraLibraries: ${EXTRA_LIBRARIES}")
@@ -68,7 +60,6 @@ target_link_libraries(${appname}
6860
network_server
6961
${planetary_imager_backend_DEPS}
7062
${planetary_imager_frontend_DEPS}
71-
${planetary_imager_commons_DEPS}
7263
${planetary_imager_backend_DEPS}
7364
${planetary_imager_commons_DEPS}
7465
GuLinux_Qt_Commons
@@ -89,8 +80,6 @@ if(build_network_server)
8980
network_server
9081
${planetary_imager_backend_DEPS}
9182
${planetary_imager_commons_DEPS}
92-
${planetary_imager_backend_DEPS}
93-
${planetary_imager_commons_DEPS}
9483
GuLinux_Qt_Commons
9584
GuLinux_c++_Commons
9685
${Boost_LIBRARIES}
@@ -144,4 +133,5 @@ else()
144133
install(TARGETS ${install_targets} RUNTIME DESTINATION ${binary_destination})
145134
endif()
146135

136+
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/commons/definitions.h.in ${CMAKE_CURRENT_BINARY_DIR}/commons/definitions.h)
147137

src/commons/CMakeLists.txt

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,5 @@
1-
set(planetaryimager-commons-INCLUDE_DIRS "" CACHE INTERNAL "")
2-
set(planetaryimager-commons-LINK-DIRS "" CACHE INTERNAL "")
3-
set(planetaryimager-commons-LIBS "" CACHE INTERNAL "")
4-
set(planetaryimager-commons-DEFS "" CACHE INTERNAL "")
5-
61
file(GLOB planetaryimager-commons-SRCS *.cpp)
72
configure_file(version.h.in version.h)
83

9-
add_subdirectory(mount)
10-
114
add_library(planetaryimager-commons STATIC ${planetaryimager-commons-SRCS})
12-
13-
add_definitions(${planetaryimager-commons-DEFS})
14-
target_include_directories(planetaryimager-commons PRIVATE ${planetaryimager-commons-INCLUDE_DIRS})
15-
link_directories(${planetaryimager-commons-LINK-DIRS})
16-
target_link_libraries(planetaryimager-commons ${planetaryimager-commons-LIBS})
17-
185
add_imager_dependencies(planetaryimager-commons)

src/commons/commandline.cpp

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
#include <iostream>
2626
#include "loghandler.h"
2727
#include <QStandardPaths>
28+
#include "commons/definitions.h"
2829

2930
using namespace std;
3031
using namespace std::placeholders;
@@ -58,12 +59,10 @@ CommandLine::~CommandLine()
5859

5960
CommandLine & CommandLine::backend()
6061
{
61-
62-
#ifdef OSX_BUNDLE
63-
QString driversDirectory = QCoreApplication::applicationDirPath() + "/" + DRIVERS_DIRECTORY;
64-
#else
6562
QString driversDirectory = DRIVERS_DIRECTORY;
66-
#endif
63+
if(OSX_BUNDLE == 1) {
64+
driversDirectory = QCoreApplication::applicationDirPath() + "/" + DRIVERS_DIRECTORY;
65+
}
6766
d->parser.addOption({"drivers", "Drivers directory", "drivers_directory_path", driversDirectory});
6867
d->loggingOptions();
6968
return *this;
@@ -112,9 +111,9 @@ CommandLine & CommandLine::process()
112111
QStringList CommandLine::driversDirectories() const
113112
{
114113
QStringList drivers(d->parser.value("drivers"));
115-
#ifdef ADDITIONAL_DRIVERS_DIRECTORY
116-
drivers << ADDITIONAL_DRIVERS_DIRECTORY;
117-
#endif
114+
if(ADD_DRIVERS_BUILD_DIRECTORY == 1) {
115+
drivers << ADDITIONAL_DRIVERS_DIRECTORY;
116+
}
118117
return drivers;
119118
}
120119

src/commons/definitions.h.in

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#ifndef DEFINITIONS_H
2+
#define DEFINITIONS_H
3+
4+
#cmakedefine01 DEVELOPER_MODE
5+
#cmakedefine01 DEBUG_NETWORK_PACKETS
6+
#cmakedefine01 DISABLE_TRACKING
7+
#cmakedefine01 OSX_BUNDLE
8+
#cmakedefine01 STATIC_QT_WINDOWS
9+
#cmakedefine01 HAVE_LIBINDI
10+
#cmakedefine01 ADD_DRIVERS_BUILD_DIRECTORY
11+
12+
#define DRIVERS_DIRECTORY "${DRIVERS_DIRECTORY}"
13+
#define ADDITIONAL_DRIVERS_DIRECTORY "${ADDITIONAL_DRIVERS_DIRECTORY}"
14+
#define SRC_DIR "${CMAKE_SOURCE_DIR}"
15+
#define HOST_PROCESSOR "${CMAKE_HOST_SYSTEM_PROCESSOR}"
16+
#define ARCHITECTURE "${PlanetaryImager_ARCH}"
17+
18+
#endif
19+

src/commons/loghandler.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
#include "commons/commandline.h"
2828
#include <QMutex>
2929
#include <QMutexLocker>
30+
#include "commons/definitions.h"
3031

3132
using namespace std;
3233
using namespace std::placeholders;
@@ -65,7 +66,7 @@ void LogHandler::Private::log_handler(QtMsgType type, const QMessageLogContext &
6566
{QtDebugMsg , 50},
6667
};
6768
for(auto output: outputs) {
68-
#ifndef DEVELOPER_MODE
69+
#if DEVELOPER_MODE == 0
6970
if(priority[type] > priority[output.level])
7071
continue;
7172
#endif

0 commit comments

Comments
 (0)