Răsfoiți Sursa

fixed building linking and installing of the shared lib

Malte Veerman 10 ani în urmă
părinte
comite
5c38d667f8
3 a modificat fișierele cu 21 adăugiri și 8 ștergeri
  1. 5 3
      CMakeLists.txt
  2. 3 1
      fancontrol-gui/CMakeLists.txt
  3. 13 4
      share/CMakeLists.txt

+ 5 - 3
CMakeLists.txt

@@ -5,6 +5,7 @@ project(fancontroller)
 include(FeatureSummary)
 
 option(NO_SYSTEMD "Compile without Systemd support. Reduces functionality significantly!")
+option(BUILD_LIB_ONLY "Compile the shared library only")
 
 #Find Qt5
 find_package(Qt5 COMPONENTS Widgets Qml Quick REQUIRED)
@@ -32,8 +33,6 @@ include(KDEInstallDirs)
 include(KDECMakeSettings)
 include(KDECompilerSettings)
 
-add_subdirectory(helper)
-
 #Systemd
 find_library(SYSTEMD_FOUND NAMES systemd)
 
@@ -50,5 +49,8 @@ else(NOT NO_SYSTEMD AND SYSTEMD_FOUND AND Qt5DBus_FOUND)
 
 endif(NOT NO_SYSTEMD AND SYSTEMD_FOUND AND Qt5DBus_FOUND)
 
+add_subdirectory(helper)
 add_subdirectory(share)
-add_subdirectory(fancontrol-gui)
+if(NOT BUILD_LIB_ONLY)
+    add_subdirectory(fancontrol-gui)
+endif(NOT BUILD_LIB_ONLY)

+ 3 - 1
fancontrol-gui/CMakeLists.txt

@@ -1,7 +1,9 @@
 set(Fancontrol-GUI_SRCS src/main.cpp)
 
+set(LIBRARIES fancontrol-gui-share)
+
 add_executable(fancontrol-gui ${Fancontrol-GUI_SRCS} ${RESOURCES})
-target_link_libraries(fancontrol-gui fancontrol-gui-lib)
+target_link_libraries(fancontrol-gui ${LIBRARIES})
 set_property(TARGET fancontrol-gui PROPERTY CXX_STANDARD 11)
 
 install(TARGETS fancontrol-gui RUNTIME DESTINATION bin)

+ 13 - 4
share/CMakeLists.txt

@@ -2,6 +2,11 @@ set(LIB_SRCS src/loader.cpp
              src/hwmon.cpp
              src/sensors.cpp)
 
+set(LIB_HEADER src/hwmon.h
+               src/loader.h
+               src/sensors.h
+               src/export.h)
+
 set(LIBRARIES ${Qt5Widgets_LIBRARIES}
               ${Qt5Qml_Libraries}
               ${Qt5Quick_LIBRARIES}
@@ -17,6 +22,9 @@ else(NO_SYSTEMD)
     set(LIB_SRCS ${LIB_SRCS}
                  src/systemdcommunicator.cpp)
 
+    set(LIB_HEADER ${LIB_HEADER}
+                   src/systemdcommunicator.h)
+
     set(LIBRARIES ${LIBRARIES}
                   Qt5::DBus)
 
@@ -24,11 +32,12 @@ endif(NO_SYSTEMD)
 
 add_definitions(-DFANCONTROL_GUI_LIBRARY)
 
-add_library(fancontrol-gui-lib STATIC ${LIB_SRCS})
+add_library(fancontrol-gui-share ${LIB_SRCS})
 
-target_link_libraries(fancontrol-gui-lib ${LIBRARIES})
+target_link_libraries(fancontrol-gui-share ${LIBRARIES})
 
 install(DIRECTORY qml DESTINATION share/fancontrol-gui)
 install(DIRECTORY javascript DESTINATION share/fancontrol-gui)
-#install(TARGETS fancontrol-gui-lib DESTINATION lib/fancontrol-gui EXPORT fancontrol-gui-lib-targets)
-#install(EXPORT fancontrol-gui-lib-targets DESTINATION lib/fancontrol-gui)
+install(FILES ${LIB_HEADER} DESTINATION lib/fancontrol-gui/include)
+install(TARGETS fancontrol-gui-share DESTINATION lib EXPORT libfancontrol-gui-share-targets)
+install(EXPORT libfancontrol-gui-share-targets DESTINATION lib/fancontrol-gui)