2
2
3
3
project (OpenHantek CXX)
4
4
5
- if (WIN32 )
6
- set (CMAKE_FIND_LIBRARY_SUFFIXES ".a" )
7
- set (CMAKE_EXE_LINKER_FLAGS "-s" )
8
- set (EXECTYPE WIN32 )
9
- endif ()
10
-
11
5
find_package (Qt5Widgets REQUIRED)
12
6
find_package (Qt5PrintSupport REQUIRED)
13
7
find_package (Qt5OpenGL REQUIRED)
14
8
find_package (OpenGL)
9
+ set (CMAKE_AUTOMOC ON )
10
+ set (CMAKE_AUTOUIC ON )
11
+ set (CMAKE_AUTORCC ON )
15
12
16
13
if (Qt5Widgets_VERSION VERSION_LESS 5.4.0)
17
14
message (FATAL_ERROR "Minimum supported Qt5 version is 5.4.0!" )
18
- else ()
19
- message ("-- Qt5 version is ${Qt5Widgets_VERSION} " )
20
15
endif ()
21
16
22
- set (CMAKE_AUTOMOC ON )
23
- set (CMAKE_AUTOUIC ON )
24
- set (CMAKE_AUTORCC ON )
25
-
26
17
# include directories
27
18
set (CMAKE_INCLUDE_CURRENT_DIR ON )
28
19
include_directories (src/ src/hantekdso src/widgets src/docks src/configdialog)
@@ -33,7 +24,7 @@ file(GLOB_RECURSE HEADERS "src/*.h")
33
24
file (GLOB_RECURSE UI "src/*.ui" )
34
25
file (GLOB_RECURSE QRC "res/*.qrc" )
35
26
36
- if (WIN32 )
27
+ if (WIN32 )
37
28
file (GLOB_RECURSE RC "res/*.rc" )
38
29
endif ()
39
30
@@ -43,9 +34,16 @@ add_custom_target(format SOURCES ".clang-format"
43
34
# here the translation magic happens
44
35
include (translations/Translations.cmake)
45
36
37
+ set (EXECTYPE "" )
38
+ if (WIN32 AND MINGW)
39
+ set (EXECTYPE WIN32 )
40
+ endif ()
41
+
42
+ option (USE_OPENHANTEK_DRIVER "Use OpenHantek Windows driver" ON )
43
+
46
44
# Enable MacOSX bundle magic in the next line
47
45
option (BUILD_MACOSX_BUNDLE "Build MacOS app bundle" ON )
48
-
46
+ #
49
47
if ( APPLE AND BUILD_MACOSX_BUNDLE )
50
48
set ( EXECTYPE MACOSX_BUNDLE )
51
49
set ( MACOSX_BUNDLE_BUNDLE_NAME "${PROJECT_NAME} " )
@@ -55,8 +53,8 @@ if( APPLE AND BUILD_MACOSX_BUNDLE )
55
53
set ( MACOSX_BUNDLE_BUNDLE_VERSION ${VERSION} )
56
54
string (TIMESTAMP THISYEAR "%Y" )
57
55
set ( MACOSX_BUNDLE_COPYRIGHT "(C) 2012-${THISYEAR} OpenHantek community" )
58
- set ( MACOSX_BUNDLE_ICON_FILE OpenHantek .icns )
59
- set ( ICONS ${CMAKE_CURRENT_SOURCE_DIR} /res/images/OpenHantek .icns )
56
+ set ( MACOSX_BUNDLE_ICON_FILE openhantek .icns )
57
+ set ( ICONS ${CMAKE_CURRENT_SOURCE_DIR} /res/images/openhantek .icns )
60
58
set_source_files_properties ( ${ICONS} PROPERTIES MACOSX_PACKAGE_LOCATION "Resources" )
61
59
endif ()
62
60
@@ -67,38 +65,38 @@ target_link_libraries(${PROJECT_NAME} Qt5::Widgets Qt5::PrintSupport Qt5::OpenGL
67
65
target_compile_features (${PROJECT_NAME} PRIVATE cxx_range_for)
68
66
69
67
if (MSVC )
70
- target_compile_options (${PROJECT_NAME} PRIVATE "/W4" "/wd4251" "/wd4127" "/wd4275" "/wd4200" "/nologo" "/J" "/Zi" )
71
- target_compile_options (${PROJECT_NAME} PRIVATE "$<$<CONFIG:DEBUG>:/MDd>" )
72
- include (../cmake/docs_on_windows.cmake)
73
68
include (../cmake/fftw_on_windows.cmake)
74
69
include (../cmake/libusb_on_windows.cmake)
70
+ include (../cmake/copy_qt5_dlls_to_bin_dir.cmake)
71
+ target_compile_options (${PROJECT_NAME} PRIVATE "/W4" "/wd4251" "/wd4127" "/wd4275" "/wd4200" "/nologo" "/J" "/Zi" )
72
+ target_compile_options (${PROJECT_NAME} PRIVATE "$<$<CONFIG:DEBUG>:/MDd>" )
75
73
else ()
76
74
if ( APPLE AND BUILD_MACOSX_BUNDLE )
77
75
# Use own template that defines NSPrincipalClass=NSApplication & NSHighResolutionCapable=True
78
76
set_target_properties ( ${PROJECT_NAME} PROPERTIES
79
77
MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_LIST_DIR} /../cmake/OpenHantekBundleInfo.plist.in
80
78
)
81
79
endif ()
82
- target_compile_options (${PROJECT_NAME} PRIVATE -Wall -Wno-long-long -pedantic)
83
- target_compile_options (${PROJECT_NAME} PRIVATE "$<$<CONFIG:DEBUG>:-DDEBUG>" )
84
- target_compile_options (${PROJECT_NAME} PRIVATE "$<$<CONFIG:DEBUG>:-O0>" )
85
- target_compile_options (${PROJECT_NAME} PRIVATE "$<$<CONFIG:RELEASE>:-fno-rtti>" )
86
-
87
80
find_package (libusb REQUIRED)
88
81
target_include_directories (${PROJECT_NAME} PRIVATE ${LIBUSB_INCLUDE_DIRS} )
89
82
target_link_libraries (${PROJECT_NAME} ${LIBUSB_LIBRARIES} )
90
83
84
+ find_package (Threads REQUIRED)
85
+ target_link_libraries (${PROJECT_NAME} ${CMAKE_THREAD_LIBS_INIT} )
86
+
91
87
find_package (FFTW REQUIRED)
92
88
target_include_directories (${PROJECT_NAME} PRIVATE ${FFTW_INCLUDE_DIRS} )
93
89
target_link_libraries (${PROJECT_NAME} ${FFTW_LIBRARIES} )
94
90
95
- find_package (Threads REQUIRED)
96
- target_link_libraries (${PROJECT_NAME} ${CMAKE_THREAD_LIBS_INIT} )
91
+ target_compile_options (${PROJECT_NAME} PRIVATE -Wall -Wno-long-long -pedantic)
92
+ target_compile_options (${PROJECT_NAME} PRIVATE "$<$<CONFIG:DEBUG>:-DDEBUG>" )
93
+ target_compile_options (${PROJECT_NAME} PRIVATE "$<$<CONFIG:DEBUG>:-O0>" )
94
+ target_compile_options (${PROJECT_NAME} PRIVATE "$<$<CONFIG:RELEASE>:-fno-rtti>" )
97
95
endif ()
98
96
99
- if (WIN32 )
97
+ if (WIN32 )
98
+ include (../cmake/docs_on_windows.cmake)
100
99
include (../cmake/windows_driver.cmake)
101
- include (../cmake/windows_documents.cmake)
102
100
endif ()
103
101
104
102
# install commands
0 commit comments