265 lines
9.3 KiB
Diff
265 lines
9.3 KiB
Diff
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
|
index 2c7e1c4..ef35300 100644
|
|
--- a/CMakeLists.txt
|
|
+++ b/CMakeLists.txt
|
|
@@ -21,24 +21,7 @@
|
|
|
|
cmake_minimum_required(VERSION 2.8.6)
|
|
|
|
-project(DSView)
|
|
-
|
|
-#===============================================================================
|
|
-#= Config Header
|
|
-#-------------------------------------------------------------------------------
|
|
-
|
|
-set(DS_TITLE DSView)
|
|
-set(DS_DESCRIPTION "A GUI for instruments of DreamSourceLab")
|
|
-
|
|
-set(DS_VERSION_MAJOR 1)
|
|
-set(DS_VERSION_MINOR 2)
|
|
-set(DS_VERSION_MICRO 2)
|
|
-set(DS_VERSION_STRING ${DS_VERSION_MAJOR}.${DS_VERSION_MINOR}.${DS_VERSION_MICRO} )
|
|
-
|
|
-configure_file (
|
|
- ${PROJECT_SOURCE_DIR}/DSView/config.h.in
|
|
- ${PROJECT_BINARY_DIR}/DSView/config.h
|
|
-)
|
|
+project(sigrok4DSL)
|
|
|
|
#===============================================================================
|
|
#=pkg config
|
|
@@ -83,7 +66,6 @@ endif()
|
|
#= first search path
|
|
#-------------------------------------------------------------------------------
|
|
include_directories(
|
|
- ./DSView
|
|
./libsigrok4DSL
|
|
./libsigrokdecode4DSL
|
|
./common
|
|
@@ -95,55 +77,15 @@ include_directories(
|
|
pkg_search_module(GLIB glib-2.0)
|
|
|
|
if(NOT GLIB_FOUND)
|
|
- message(FATAL_ERROR "Please install glib!")
|
|
+ message(FATAL_ERROR "Please install glib!")
|
|
endif()
|
|
|
|
message("----- glib-2.0:")
|
|
-message(STATUS " includes:" ${GLIB_INCLUDE_DIRS})
|
|
-message(STATUS " libraries:" ${GLIB_LIBDIR}/libglib-2.0.*)
|
|
+message(STATUS " includes:" ${GLIB_INCLUDE_DIRS})
|
|
+message(STATUS " libraries:" ${GLIB_LIBDIR}/libglib-2.0.*)
|
|
include_directories(${GLIB_INCLUDE_DIRS})
|
|
link_directories(${GLIB_LIBDIR})
|
|
|
|
-#===============================================================================
|
|
-#= python3
|
|
-#-------------------------------------------------------------------------------
|
|
-
|
|
-find_package(Python3 COMPONENTS Development QUIET)
|
|
-
|
|
-if (Python3_FOUND)
|
|
- message("----- python3:")
|
|
- message(STATUS " includes:" ${Python3_INCLUDE_DIRS})
|
|
- message(STATUS " libraries:" ${Python3_LIBRARIES})
|
|
- include_directories(${Python3_INCLUDE_DIRS})
|
|
- set(PY_LIB ${Python3_LIBRARIES})
|
|
-else()
|
|
- find_package(PythonLibs 3 QUIET)
|
|
-
|
|
- if(PYTHONLIBS_FOUND)
|
|
- message("----- python(${PYTHONLIBS_VERSION_STRING}):")
|
|
- message(STATUS " includes:" ${PYTHON_INCLUDE_DIRS})
|
|
- message(STATUS " libraries:" ${PYTHON_LIBRARIES})
|
|
- include_directories(${PYTHON_INCLUDE_DIRS})
|
|
- set(PY_LIB ${PYTHON_LIBRARIES})
|
|
- else()
|
|
- message(FATAL_ERROR "Please install lib python3!")
|
|
- endif()
|
|
-endif()
|
|
-
|
|
-#===============================================================================
|
|
-#= FFTW
|
|
-#-------------------------------------------------------------------------------
|
|
-find_package(FFTW)
|
|
-
|
|
-if(NOT FFTW_FOUND)
|
|
- message(FATAL_ERROR "Please install lib fftw!")
|
|
-endif()
|
|
-
|
|
-message("----- FFTW:")
|
|
-message(STATUS " includes:" ${FFTW_INCLUDE_DIRS})
|
|
-message(STATUS " libraries:" ${FFTW_LIBRARIES})
|
|
-include_directories(${FFTW_INCLUDE_DIRS})
|
|
-
|
|
#===============================================================================
|
|
#= libusb-1.0
|
|
#-------------------------------------------------------------------------------
|
|
@@ -158,72 +100,6 @@ message(STATUS " includes:" ${LIBUSB_1_INCLUDE_DIRS})
|
|
message(STATUS " libraries:" ${LIBUSB_1_LIBRARIES})
|
|
include_directories(${LIBUSB_1_INCLUDE_DIRS})
|
|
|
|
-#===============================================================================
|
|
-#= zlib
|
|
-#-------------------------------------------------------------------------------
|
|
-find_package(ZLIB QUIET)
|
|
-
|
|
-if(NOT ZLIB_FOUND)
|
|
- message(FATAL_ERROR "Please install zlib!")
|
|
-endif()
|
|
-
|
|
-message("----- zlib:")
|
|
-message(STATUS " includes:" ${ZLIB_INCLUDE_DIRS})
|
|
-message(STATUS " libraries:" ${ZLIB_LIBRARIES})
|
|
-include_directories(${ZLIB_INCLUDE_DIRS})
|
|
-
|
|
-#===============================================================================
|
|
-#= Qt5 or Qt6
|
|
-#-------------------------------------------------------------------------------
|
|
-
|
|
-find_package(Qt5Core QUIET)
|
|
-
|
|
-if(Qt5Core_FOUND)
|
|
- message("----- Qt5:")
|
|
- message(STATUS " includes:" ${Qt5Core_INCLUDE_DIRS})
|
|
- find_package(Qt5Widgets REQUIRED)
|
|
- find_package(Qt5Gui REQUIRED)
|
|
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Widgets_EXECUTABLE_COMPILE_FLAGS}")
|
|
- set(QT_INCLUDE_DIRS ${Qt5Gui_INCLUDE_DIRS} ${Qt5Widgets_INCLUDE_DIRS})
|
|
- set(QT_LIBRARIES Qt5::Gui Qt5::Widgets)
|
|
- add_definitions(${Qt5Gui_DEFINITIONS} ${Qt5Widgets_DEFINITIONS})
|
|
-else()
|
|
- find_package(Qt6Core QUIET)
|
|
-endif()
|
|
-
|
|
-if(Qt6Core_FOUND)
|
|
- message("----- Qt6:")
|
|
- message(STATUS " includes:" ${Qt6Core_INCLUDE_DIRS})
|
|
- find_package(Qt6Widgets REQUIRED)
|
|
- find_package(Qt6Gui REQUIRED)
|
|
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt6Widgets_EXECUTABLE_COMPILE_FLAGS}")
|
|
- set(QT_INCLUDE_DIRS ${Qt6Gui_INCLUDE_DIRS} ${Qt6Widgets_INCLUDE_DIRS})
|
|
- set(QT_LIBRARIES Qt6::Gui Qt6::Widgets)
|
|
- add_definitions(${Qt6Gui_DEFINITIONS} ${Qt6Widgets_DEFINITIONS})
|
|
-endif()
|
|
-
|
|
-if(NOT Qt5Core_FOUND AND NOT Qt6Core_FOUND)
|
|
- message(FATAL_ERROR "Please install Qt5 or Qt6!")
|
|
-endif()
|
|
-
|
|
-#===============================================================================
|
|
-#= boost
|
|
-#-------------------------------------------------------------------------------
|
|
-find_package(Boost 1.42 QUIET)
|
|
-
|
|
-if(NOT Boost_FOUND)
|
|
- message(FATAL_ERROR "Please install boost!")
|
|
-endif()
|
|
-
|
|
-message("----- boost:")
|
|
-message(STATUS " includes:" ${Boost_INCLUDE_DIRS})
|
|
-include_directories(${Boost_INCLUDE_DIRS})
|
|
-
|
|
-#===============================================================================
|
|
-#= Dependencies
|
|
-#-------------------------------------------------------------------------------
|
|
-
|
|
-find_package(Threads)
|
|
|
|
#===============================================================================
|
|
#= DSView sources
|
|
@@ -625,86 +501,23 @@ else()
|
|
list(APPEND DSVIEW_LINK_LIBS ${PKGDEPS_LIBRARIES})
|
|
endif()
|
|
|
|
-add_executable(${PROJECT_NAME}
|
|
- ${common_SOURCES}
|
|
- ${DSView_SOURCES}
|
|
- ${DSView_HEADERS_MOC}
|
|
- ${DSView_FORMS_HEADERS}
|
|
- ${DSView_RESOURCES_RCC}
|
|
+add_library(${PROJECT_NAME} SHARED
|
|
${libsigrok4DSL_SOURCES}
|
|
- ${libsigrokdecode4DSL_SOURCES}
|
|
+ ${common_SOURCES}
|
|
)
|
|
|
|
target_link_libraries(${PROJECT_NAME} ${DSVIEW_LINK_LIBS})
|
|
|
|
-if(WIN32)
|
|
-# Pass -mwindows so that no "DOS box" will open when PulseView is started.
|
|
-set_target_properties(${PROJECT_NAME} PROPERTIES LINK_FLAGS "-mwindows")
|
|
-endif()
|
|
-
|
|
-if(ENABLE_COTIRE)
|
|
- include(cotire)
|
|
- cotire(${PROJECT_NAME})
|
|
-endif()
|
|
+set_target_properties(${PROJECT_NAME} PROPERTIES PUBLIC_HEADER "libsigrok4DSL/libsigrok.h;libsigrok4DSL/proto.h;libsigrok4DSL/version.h;common/log/xlog.h")
|
|
|
|
message(STATUS "Output dir: ${CMAKE_CURRENT_SOURCE_DIR}/build.dir")
|
|
-set(EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_SOURCE_DIR}/build.dir")
|
|
|
|
#===============================================================================
|
|
#= Installation
|
|
#-------------------------------------------------------------------------------
|
|
|
|
-# Install the executable.
|
|
-install(TARGETS ${PROJECT_NAME} DESTINATION bin)
|
|
-install(DIRECTORY DSView/res DESTINATION share/DSView)
|
|
-install(FILES DSView/icons/logo.svg DESTINATION share/DSView RENAME logo.svg)
|
|
-install(FILES DSView/icons/logo.svg DESTINATION share/icons/hicolor/scalable/apps RENAME dsview.svg)
|
|
-install(FILES DSView/icons/logo.svg DESTINATION share/pixmaps RENAME dsview.svg)
|
|
-
|
|
-if(CMAKE_SYSTEM_NAME MATCHES "Linux")
|
|
- install(FILES DSView/DSView.desktop DESTINATION /usr/share/applications RENAME dsview.desktop)
|
|
-
|
|
- if(IS_DIRECTORY /usr/lib/udev/rules.d)
|
|
- install(FILES DSView/DreamSourceLab.rules DESTINATION /usr/lib/udev/rules.d RENAME 60-dreamsourcelab.rules)
|
|
- elseif(IS_DIRECTORY /lib/udev/rules.d)
|
|
- install(FILES DSView/DreamSourceLab.rules DESTINATION /lib/udev/rules.d RENAME 60-dreamsourcelab.rules)
|
|
- elseif(IS_DIRECTORY /etc/udev/rules.d)
|
|
- install(FILES DSView/DreamSourceLab.rules DESTINATION /etc/udev/rules.d RENAME 60-dreamsourcelab.rules)
|
|
- endif()
|
|
-
|
|
-endif()
|
|
-
|
|
-install(FILES NEWS25 DESTINATION share/DSView RENAME NEWS25)
|
|
-install(FILES NEWS31 DESTINATION share/DSView RENAME NEWS31)
|
|
-install(FILES ug25.pdf DESTINATION share/DSView RENAME ug25.pdf)
|
|
-install(FILES ug31.pdf DESTINATION share/DSView RENAME ug31.pdf)
|
|
-
|
|
-install(DIRECTORY libsigrokdecode4DSL/decoders DESTINATION share/libsigrokdecode4DSL)
|
|
-
|
|
-#===============================================================================
|
|
-#= Packaging (handled by CPack)
|
|
-#-------------------------------------------------------------------------------
|
|
-
|
|
-set(CPACK_PACKAGE_VERSION_MAJOR ${DS_VERSION_MAJOR})
|
|
-set(CPACK_PACKAGE_VERSION_MINOR ${DS_VERSION_MINOR})
|
|
-set(CPACK_PACKAGE_VERSION_PATCH ${DS_VERSION_MICRO})
|
|
-set(CPACK_PACKAGE_DESCRIPTION_FILE ${CMAKE_CURRENT_SOURCE_DIR}/DSView/README)
|
|
-set(CPACK_RESOURCE_FILE_LICENSE ${CMAKE_CURRENT_SOURCE_DIR}/DSView/COPYING)
|
|
-set(CPACK_SOURCE_IGNORE_FILES ${CMAKE_CURRENT_BINARY_DIR} ".gitignore" ".git")
|
|
-set(CPACK_SOURCE_PACKAGE_FILE_NAME
|
|
- "${CMAKE_PROJECT_NAME}-${DS_VERSION_MAJOR}.${DS_VERSION_MINOR}.${DS_VERSION_MICRO}")
|
|
-set(CPACK_SOURCE_GENERATOR "TGZ")
|
|
-
|
|
-include(CPack)
|
|
-
|
|
-#===============================================================================
|
|
-#= Tests
|
|
-#-------------------------------------------------------------------------------
|
|
-
|
|
-if(ENABLE_TESTS)
|
|
- add_subdirectory(test)
|
|
- enable_testing()
|
|
- add_test(test ${CMAKE_CURRENT_BINARY_DIR}/DSView/test/DSView-test)
|
|
-endif(ENABLE_TESTS)
|
|
-
|
|
-
|
|
+# Install the library.
|
|
+install(TARGETS ${PROJECT_NAME}
|
|
+ LIBRARY DESTINATION lib
|
|
+ PUBLIC_HEADER DESTINATION include
|
|
+)
|