2
0
forked from Ivasoft/DSView

update: cmake script

This commit is contained in:
dreamsourcelabTAI
2022-03-09 17:06:51 +08:00
parent 282de423c2
commit 3b32faa140
5 changed files with 187 additions and 79 deletions

View File

@@ -29,60 +29,22 @@ FIND_LIBRARY(FFTW_LIBRARY
/usr/lib
)
# Find threads part of FFTW
SET(FFTW_THREADS_NAMES ${FFTW_THREADS_NAMES} fftw3_threads fftw3f_threads fftw3l_threads fftw3-3_threads)
FIND_LIBRARY(FFTW_THREADS_LIBRARY
NAMES
${FFTW_THREADS_NAMES}
PATHS
/usr/local/lib64
/opt/local/lib64
/usr/lib64
/usr/local/lib
/opt/local/lib
/usr/lib
)
IF (FFTW_THREADS_LIBRARY AND FFTW_INCLUDE_DIR)
SET(FFTW_THREADS_LIBRARIES ${FFTW_THREADS_LIBRARY})
SET(FFTW_THREADS_FOUND "YES")
ELSE (FFTW_THREADS_LIBRARY AND FFTW_INCLUDE_DIR)
SET(FFTW_THREADS_FOUND "NO")
ENDIF (FFTW_THREADS_LIBRARY AND FFTW_INCLUDE_DIR)
if (FFTW_INCLUDE_DIR AND FFTW_LIBRARY)
set (FFTW_FOUND TRUE)
set(FFTW_INCLUDE_DIRS
${FFTW_INCLUDE_DIR}
)
set(FFTW_LIBRARYS
${FFTW_LIBRARY}
)
message(STATUS "Found FFTW:")
message(STATUS " - includes: ${FFTW_INCLUDE_DIR}")
message(STATUS " - libraries: ${FFTW_LIBRARY}")
endif(FFTW_INCLUDE_DIR AND FFTW_LIBRARY)
IF (FFTW_THREADS_FOUND)
IF (NOT FFTW_THREADS_FIND_QUIETLY)
MESSAGE(STATUS "Found FFTW threads: ${FFTW_THREADS_LIBRARIES}")
ENDIF (NOT FFTW_THREADS_FIND_QUIETLY)
ELSE (FFTW_THREADS_FOUND)
IF (FFTW_THREADS_FIND_REQUIRED)
MESSAGE(FATAL_ERROR "Could not find FFTW threads library")
ENDIF (FFTW_THREADS_FIND_REQUIRED)
ENDIF (FFTW_THREADS_FOUND)
IF (FFTW_LIBRARY AND FFTW_INCLUDE_DIR)
SET(FFTW_LIBRARIES ${FFTW_LIBRARY})
SET(FFTW_FOUND "YES")
ELSE (FFTW_LIBRARY AND FFTW_INCLUDE_DIR)
SET(FFTW_FOUND "NO")
ENDIF (FFTW_LIBRARY AND FFTW_INCLUDE_DIR)
IF (FFTW_FOUND)
IF (NOT FFTW_FIND_QUIETLY)
MESSAGE(STATUS "Found FFTW: ${FFTW_LIBRARIES}")
ENDIF (NOT FFTW_FIND_QUIETLY)
ELSE (FFTW_FOUND)
IF (FFTW_FIND_REQUIRED)
MESSAGE(FATAL_ERROR "Could not find FFTW library")
ENDIF (FFTW_FIND_REQUIRED)
ENDIF (FFTW_FOUND)
SET (ON_UNIX ${CMAKE_SYSTEM_NAME} STREQUAL "Linux" OR
${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
IF (${ON_UNIX})
SET (FFTW_EXECUTABLE_LIBRARIES fftw3f fftw3f_threads)
ENDIF (${ON_UNIX})

88
DSView/CMake/FindFFTW.cmake.bak Executable file
View File

@@ -0,0 +1,88 @@
# - Find FFTW
# Find the native FFTW includes and library
# This module defines
# FFTW_INCLUDE_DIR, where to find fftw3.h, etc.
# FFTW_LIBRARIES, the libraries needed to use FFTW.
# FFTW_FOUND, If false, do not try to use FFTW.
# also defined, but not for general use are
# FFTW_LIBRARY, where to find the FFTW library.
FIND_PATH(FFTW_INCLUDE_DIR
NAMES
fftw3.h
PATHS
/usr/local/include
/opt/local/include
/usr/include
)
SET(FFTW_NAMES ${FFTW_NAMES} fftw3 fftw3f fftw3l fftw3-3)
FIND_LIBRARY(FFTW_LIBRARY
NAMES
${FFTW_NAMES}
PATHS
/usr/local/lib64
/opt/local/lib64
/usr/lib64
/usr/local/lib
/opt/local/lib
/usr/lib
)
# Find threads part of FFTW
SET(FFTW_THREADS_NAMES ${FFTW_THREADS_NAMES} fftw3_threads fftw3f_threads fftw3l_threads fftw3-3_threads)
FIND_LIBRARY(FFTW_THREADS_LIBRARY
NAMES
${FFTW_THREADS_NAMES}
PATHS
/usr/local/lib64
/opt/local/lib64
/usr/lib64
/usr/local/lib
/opt/local/lib
/usr/lib
)
IF (FFTW_THREADS_LIBRARY AND FFTW_INCLUDE_DIR)
SET(FFTW_THREADS_LIBRARIES ${FFTW_THREADS_LIBRARY})
SET(FFTW_THREADS_FOUND "YES")
ELSE (FFTW_THREADS_LIBRARY AND FFTW_INCLUDE_DIR)
SET(FFTW_THREADS_FOUND "NO")
ENDIF (FFTW_THREADS_LIBRARY AND FFTW_INCLUDE_DIR)
IF (FFTW_THREADS_FOUND)
IF (NOT FFTW_THREADS_FIND_QUIETLY)
MESSAGE(STATUS "Found FFTW threads: ${FFTW_THREADS_LIBRARIES}")
ENDIF (NOT FFTW_THREADS_FIND_QUIETLY)
ELSE (FFTW_THREADS_FOUND)
IF (FFTW_THREADS_FIND_REQUIRED)
MESSAGE(FATAL_ERROR "Could not find FFTW threads library")
ENDIF (FFTW_THREADS_FIND_REQUIRED)
ENDIF (FFTW_THREADS_FOUND)
IF (FFTW_LIBRARY AND FFTW_INCLUDE_DIR)
SET(FFTW_LIBRARIES ${FFTW_LIBRARY})
SET(FFTW_FOUND "YES")
ELSE (FFTW_LIBRARY AND FFTW_INCLUDE_DIR)
SET(FFTW_FOUND "NO")
ENDIF (FFTW_LIBRARY AND FFTW_INCLUDE_DIR)
IF (FFTW_FOUND)
IF (NOT FFTW_FIND_QUIETLY)
MESSAGE(STATUS "Found FFTW: ${FFTW_LIBRARIES}")
ENDIF (NOT FFTW_FIND_QUIETLY)
ELSE (FFTW_FOUND)
IF (FFTW_FIND_REQUIRED)
MESSAGE(FATAL_ERROR "Could not find FFTW library")
ENDIF (FFTW_FIND_REQUIRED)
ENDIF (FFTW_FOUND)
SET (ON_UNIX ${CMAKE_SYSTEM_NAME} STREQUAL "Linux" OR
${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
IF (${ON_UNIX})
SET (FFTW_EXECUTABLE_LIBRARIES fftw3f fftw3f_threads)
ENDIF (${ON_UNIX})

View File

@@ -3,16 +3,42 @@
#LIBSIGROK4DSL
FIND_PATH(LIBSIGROK4DSL_INCLUDE_DIR libsigrok4DSL/libsigrok.h
/usr/local/include/
/usr/include/)
FIND_PATH(LIBSIGROK4DSL_INCLUDE_DIR
NAMES
libsigrok.h
PATHS
/usr/local/include
/usr/include
PATH_SUFFIXES
libsigrok4DSL
)
FIND_LIBRARY(LIBSIGROK4DSL_LIBRARY libsigrok4DSL.a
/usr/local/lib/
/usr/lib/)
FIND_LIBRARY(LIBSIGROK4DSL_LIBRARY
NAMES
sigrok4DSL
PATHS
/usr/local/lib
/usr/lib
PATH_SUFFIXES
libsigrok4DSL
)
if (LIBSIGROK4DSL_INCLUDE_DIR AND LIBSIGROK4DSL_LIBRARY)
set (LIBSIGROK4DSL_FOUND TRUE)
message("set LIBSIGROK4DSL_FOUND true")
set (LIBSIGROK4DSL_FOUND TRUE)
set(LIBSIGROK4DSL_INCLUDE_DIRS
${LIBSIGROK4DSL_INCLUDE_DIR}
)
set(LIBSIGROK4DSL_LIBRARYS
${LIBSIGROK4DSL_LIBRARY}
)
message(STATUS "Found libsigrok4DSL:")
message(STATUS " - includes: ${LIBSIGROK4DSL_INCLUDE_DIR}")
message(STATUS " - libraries: ${LIBSIGROK4DSL_LIBRARY}")
endif(LIBSIGROK4DSL_INCLUDE_DIR AND LIBSIGROK4DSL_LIBRARY)

View File

@@ -2,17 +2,43 @@
#libsigrokdecode4DSL
#LIBSIGROKDECODE4DSL
FIND_PATH(LIBSIGROKDECODE4DSL_INCLUDE_DIR libsigrokdecode4DSL/libsigrokdecode.h
/usr/local/include/
/usr/include/)
FIND_PATH(LIBSIGROKDECODE4DSL_INCLUDE_DIR
NAMES
libsigrokdecode.h
PATHS
/usr/local/include
/usr/include
PATH_SUFFIXES
libsigrokdecode4DSL
)
FIND_LIBRARY(LIBSIGROKDECODE4DSL_LIBRARY libsigrokdecode4DSL.a
/usr/local/lib/
/usr/lib/)
FIND_LIBRARY(LIBSIGROKDECODE4DSL_LIBRARY
NAMES
sigrokdecode4DSL
PATHS
/usr/local/lib
/usr/lib
PATH_SUFFIXES
libsigrokdecode4DSL
)
if (LIBSIGROKDECODE4DSL_INCLUDE_DIR AND LIBSIGROKDECODE4DSL_LIBRARY)
set (LIBSIGROKDECODE4DSL_FOUND TRUE)
message("set LIBSIGROKDECODE4DSL_FOUND true")
set (LIBSIGROKDECODE4DSL_FOUND TRUE)
set(LIBSIGROKDECODE4DSL_INCLUDE_DIRS
${LIBSIGROKDECODE4DSL_INCLUDE_DIR}
)
set(LIBSIGROKDECODE4DSL_LIBRARYS
${LIBSIGROKDECODE4DSL_LIBRARY}
)
message(STATUS "Found libsigrokdecode4DSL:")
message(STATUS " - includes: ${LIBSIGROKDECODE4DSL_INCLUDE_DIR}")
message(STATUS " - libraries: ${LIBSIGROKDECODE4DSL_LIBRARY}")
endif(LIBSIGROKDECODE4DSL_INCLUDE_DIR AND LIBSIGROKDECODE4DSL_LIBRARY)

View File

@@ -24,10 +24,8 @@ cmake_minimum_required(VERSION 2.8.6)
include(FindPkgConfig)
include(GNUInstallDirs)
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/CMake")
set(CMAKE_CXX_FLAGS "-Wall -Wextra")
set(CMAKE_BUILD_TYPE Release)
set(CMAKE_CXX_FLAGS_DEBUG "-g")
@@ -78,21 +76,27 @@ endif()
find_package(PkgConfig)
pkg_check_modules(PKGDEPS REQUIRED ${PKGDEPS})
pkg_search_module(GLIB REQUIRED glib-2.0)
MESSAGE(STATUS "glib-2.0 include:" ${GLIB_INCLUDE_DIRS})
MESSAGE(STATUS "glib-2.0 lib:" ${GLIB_LIBRARIES})
pkg_search_module(GLIB REQUIRED glib-2.0)
message("-- glib-2.0:")
MESSAGE(STATUS " - includes:" ${GLIB_INCLUDE_DIRS})
MESSAGE(STATUS " - libraries:" ${GLIB_LIBRARIES})
include_directories(${GLIB_INCLUDE_DIRS})
link_directories(${GLIB_LIBRARIES_DIRS})
if(FORCE_QT4)
set(Qt5Core_FOUND FALSE)
message("- Set qt5core fond flase")
else()
#=============
# try to find qt5 package
#=============
find_package(Qt5Core QUIET)
endif()
if(Qt5Core_FOUND)
message("-- Using Qt5")
message("-- Using Qt5:")
message(" - includes:${Qt5Core_INCLUDE_DIRS}")
find_package(Qt5Widgets REQUIRED)
find_package(Qt5Gui REQUIRED)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Widgets_EXECUTABLE_COMPILE_FLAGS}")
@@ -100,6 +104,7 @@ if(Qt5Core_FOUND)
set(QT_LIBRARIES Qt5::Gui Qt5::Widgets)
add_definitions(${Qt5Gui_DEFINITIONS} ${Qt5Widgets_DEFINITIONS})
else()
message(WARNING "-- Have not fond qt5 core, please install it!")
find_program(QT_QMAKE_EXECUTABLE NAMES qmake4 qmake-qt4 qmake-mac)
find_package(Qt4 REQUIRED)
endif()
@@ -462,6 +467,7 @@ target_link_libraries(${PROJECT_NAME} ${LIBSIGROK4DSL_LIBRARY})
target_link_libraries(${PROJECT_NAME} ${LIBSIGROKDECODE4DSL_LIBRARY})
target_link_libraries(${PROJECT_NAME} ${LIBUSB_1_LIBRARIES})
target_link_libraries(${PROJECT_NAME} ${PYTHON_LIBRARIES})
target_link_libraries(${PROJECT_NAME} ${FFTW_LIBRARYS})
if(ENABLE_COTIRE)
include(cotire)