summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Jan Mulder <jlmulder@xs4all.nl>2018-01-09 16:30:03 +0100
committerGravatar Jan Mulder <jlmulder@xs4all.nl>2018-01-10 16:44:15 +0100
commitc8e9b934045a4627d142f44261a2846a9865ecfc (patch)
tree9addc8e5f8b30e605645a8c4b64444e6c46a4404
parent8928e54dfce324185fcd22d1d32f6343c3a3f865 (diff)
downloadsubsurface-c8e9b934045a4627d142f44261a2846a9865ecfc.tar.gz
build system: split qt-models into parts
For a long time, I did not realize that a lot of qt-models are only used in the mobile app, or only used in the desktop application. This commit splits the qt-models in 3 parts. Used in both mobile and desktop, used in desktop only, used in mobile only. There is no other code change in here, other than cmake changes. To me, this gives at least developers more insight where code is actually used, and there is a small benefit in footpoint. Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
-rw-r--r--CMakeLists.txt6
-rw-r--r--qt-models/CMakeLists.txt46
2 files changed, 34 insertions, 18 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d4de6a6fc..d67879725 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -310,7 +310,7 @@ if(${SUBSURFACE_TARGET_EXECUTABLE} MATCHES "MobileExecutable")
target_link_libraries(
${SUBSURFACE_TARGET}
subsurface_profile
- subsurface_models
+ subsurface_models_mobile
subsurface_corelib
${SUBSURFACE_LINK_LIBRARIES}
)
@@ -337,7 +337,7 @@ elseif(${SUBSURFACE_TARGET_EXECUTABLE} MATCHES "DesktopExecutable")
${FACEBOOK_INTEGRATION}
subsurface_profile
subsurface_statistics
- subsurface_models
+ subsurface_models_desktop
subsurface_corelib
${SUBSURFACE_LINK_LIBRARIES}
)
@@ -345,7 +345,7 @@ elseif(${SUBSURFACE_TARGET_EXECUTABLE} MATCHES "DesktopExecutable")
add_dependencies(subsurface_statistics subsurface_generated_ui)
add_dependencies(subsurface_interface subsurface_generated_ui)
add_dependencies(subsurface_profile subsurface_generated_ui)
- add_dependencies(subsurface_models subsurface_generated_ui)
+ add_dependencies(subsurface_models_desktop subsurface_generated_ui)
add_dependencies(subsurface_generated_ui version)
endif()
diff --git a/qt-models/CMakeLists.txt b/qt-models/CMakeLists.txt
index 4e2491a23..13c3034a8 100644
--- a/qt-models/CMakeLists.txt
+++ b/qt-models/CMakeLists.txt
@@ -1,31 +1,47 @@
# the data models that will interface
# with the views.
-set(SUBSURFACE_MODELS_LIB_SRCS
+
+# models used both mobile and desktop builds
+set(SUBSURFACE_GENERIC_MODELS_LIB_SRCS
cleanertablemodel.cpp
cylindermodel.cpp
- diveplannermodel.cpp
models.cpp
- filtermodels.cpp
tankinfomodel.cpp
- weigthsysteminfomodel.cpp
- weightmodel.cpp
- divecomputermodel.cpp
+ divepicturemodel.cpp
+ diveplannermodel.cpp
treemodel.cpp
+ diveplotdatamodel.cpp
+ diveimportedmodel.cpp
+)
+
+# models exclusively used in desktop builds
+set(SUBSURFACE_DESKTOP_MODELS_LIB_SRCS
+ maplocationmodel.cpp
yearlystatisticsmodel.cpp
+ weigthsysteminfomodel.cpp
+ weightmodel.cpp
+ filtermodels.cpp
+ divecomputermodel.cpp
divetripmodel.cpp
divecomputerextradatamodel.cpp
- completionmodels.cpp
- divepicturemodel.cpp
- diveplotdatamodel.cpp
+ completionmodels.cpp
divelocationmodel.cpp
ssrfsortfilterproxymodel.cpp
+)
+
+# models exclusively used in mobile builds
+set(SUBSURFACE_MOBILE_MODELS_LIB_SRCS
divelistmodel.cpp
- gpslistmodel.cpp
- diveimportedmodel.cpp
messagehandlermodel.cpp
- maplocationmodel.cpp
+ gpslistmodel.cpp
)
-source_group("Subsurface Models" FILES ${SUBSURFACE_MODELS})
-add_library(subsurface_models STATIC ${SUBSURFACE_MODELS_LIB_SRCS})
-target_link_libraries(subsurface_models ${QT_LIBRARIES})
+if(${SUBSURFACE_TARGET_EXECUTABLE} MATCHES "DesktopExecutable")
+ add_library(subsurface_models_desktop STATIC ${SUBSURFACE_GENERIC_MODELS_LIB_SRCS}
+ ${SUBSURFACE_DESKTOP_MODELS_LIB_SRCS})
+ target_link_libraries(subsurface_models_desktop ${QT_LIBRARIES})
+elseif(${SUBSURFACE_TARGET_EXECUTABLE} MATCHES "MobileExecutable")
+ add_library(subsurface_models_mobile STATIC ${SUBSURFACE_GENERIC_MODELS_LIB_SRCS}
+ ${SUBSURFACE_MOBILE_MODELS_LIB_SRCS})
+ target_link_libraries(subsurface_models_mobile ${QT_LIBRARIES})
+endif()