-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathCMakeLists.txt
106 lines (87 loc) · 3.17 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
project(QIcomPCR)
# Required cmake version
cmake_minimum_required(VERSION 2.8.8)
set(APPLICATION_NAME ${PROJECT_NAME})
set(APPLICATION_VERSION_MAJOR "0")
set(APPLICATION_VERSION_MINOR "1")
set(APPLICATION_VERSION_PATCH "0")
add_definitions(-DVER_MAJOR=${APPLICATION_VERSION_MAJOR} -DVER_MINOR=${APPLICATION_VERSION_MINOR} -DVER_STEP=${APPLICATION_VERSION_PATCH})
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin)
if (APPLE)
set(PROGNAME "QIcom PCR")
set(CONFIGDIR "Library/Application Support/${PROGNAME}/")
set(MAC_BUNDLE_PATH ${EXECUTABLE_OUTPUT_PATH}/${PROGNAME}.app)
set(MAC_ICON_FILE qicompcr.icns)
set(MACOSX_BUNDLE_SHORT_VERSION_STRING ${APPLICATION_VERSION_MAJOR}.${APPLICATION_VERSION_MINOR}.${APPLICATION_VERSION_PATCH})
set(MACOSX_BUNDLE_ICON_FILE ${MAC_ICON_FILE})
set(MACOSX_BUNDLE_BUNDLE_NAME ${PROGNAME})
set(MACOSX_BUNDLE_BUNDLE_VERSION ${APPLICATION_VERSION_MAJOR}.${APPLICATION_VERSION_MINOR})
set(MACOSX_BUNDLE_GUI_IDENTIFIER org.qicompcr.QIcomPCR)
else(APPLE)
set(PROGNAME qicompcr)
set(CONFIGDIR ".config/QIcomPCR/")
endif(APPLE)
if(MSVC)
# Add link-time code generation to improve performance
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /GL")
set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /LTCG")
set(CMAKE_MODULE_LINKER_FLAGS_RELEASE "${CMAKE_MODULE_LINKER_FLAGS_RELEASE} /LTCG")
set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} /LTCG")
set(CMAKE_LIBRARY_PATH "C:\\Program Files (x86)\\Windows Kits\\8.0\\Lib\\win8\\um\\x86")
set(CMAKE_PREFIX_PATH "C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v7.1A\\Lib")
endif(MSVC)
# where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked
set(CMAKE_MODULE_PATH
${CMAKE_SOURCE_DIR}/cmake/Modules
)
# add definitions
include(DefineCMakeDefaults)
include(DefineCompilerFlags)
include(DefineInstallationPaths)
include(FindQwt)
include(CPackConfig.cmake)
# config.h generation
if (NOT WIN32)
SET (NATIVE_FILE_DIALOG ON CACHE BOOL "Use OS native file dialog")
else (NOT WIN32)
SET (NATIVE_FILE_DIALOG OFF CACHE BOOL "Use OS native file dialog")
endif (NOT WIN32)
if(NATIVE_FILE_DIALOG)
set(FILEDIALOGFLAGS "0")
else(NATIVE_FILE_DIALOG)
set(FILEDIALOGFLAGS "QFileDialog::DontUseNativeDialog")
endif(NATIVE_FILE_DIALOG)
include(ConfigureChecks.cmake)
configure_file(config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h)
#add_subdirectory(3rdparty/qwt)
#add_subdirectory(3rdparty/spuc)
add_subdirectory(3rdparty/SerialPort)
add_subdirectory(3rdparty/getopt)
#add_subdirectory(3rdparty/dspfilters)
add_subdirectory(src)
if (UNIX AND NOT WIN32 AND NOT APPLE)
install(
FILES
qicompcr.desktop
DESTINATION
${XDG_APPS_DIR}
)
install(
FILES
src/icons/qicompcr.png
DESTINATION
${DATA_INSTALL_PREFIX}/pixmaps
)
install(
FILES
qicompcr.1
DESTINATION
${MAN_INSTALL_DIR}/man1
)
endif (UNIX AND NOT WIN32 AND NOT APPLE)
CONFIGURE_FILE(
"${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in"
"${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
IMMEDIATE @ONLY)
ADD_CUSTOM_TARGET(uninstall
"${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")