CMakeLists.txt
2.18 KB
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
project(stasm)
cmake_minimum_required(VERSION 2.8.6)
# Global Settings
set(CPACK_PACKAGE_NAME "Stasm")
set(CPACK_PACKAGE_INSTALL_DIRECTORY ${CPACK_PACKAGE_NAME})
set(CPACK_PACKAGE_VERSION_MAJOR 3)
set(CPACK_PACKAGE_VERSION_MINOR 1)
set(CPACK_PACKAGE_VERSION_PATCH 0)
set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
# find the dependencies
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/cmake/Modules/")
# Find Qt 5.0.2
set(QT_DEPENDENCIES Concurrent Core Gui Network Sql Widgets Xml)
foreach(QT_DEPENDENCY ${QT_DEPENDENCIES})
find_package(Qt5${QT_DEPENDENCY})
endforeach()
# OpenCV 2.4.5
set(OPENCV_DEPENDENCIES calib3d core features2d flann gpu highgui imgproc ml nonfree objdetect photo video)
find_package( OpenCV REQUIRED )
# Compiler flags
if(UNIX)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra")
endif()
if(MSVC)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W3 /DNOMINMAX /D_CRT_SECURE_NO_WARNINGS /wd4267 /wd4307 /wd4308 /nologo")
endif()
add_subdirectory(${PROJECT_SOURCE_DIR}/stasm)
if(MSVC)
add_library(stasm STATIC ${SOURCE})
else()
add_library(stasm SHARED ${SOURCE})
endif()
qt5_use_modules(stasm ${QT_DEPENDENCIES})
set(SOURCE ${SOURCE} PARENT_SCOPE)
target_link_libraries(stasm ${OpenCV_LIBS} ${Qt5Core_QTMAIN_LIBRARIES})
install(FILES ${HEADERS} DESTINATION include)
install(TARGETS stasm LIBRARY DESTINATION lib ARCHIVE DESTINATION lib)
# Package
set(CPACK_BINARY_BUNDLE OFF)
set(CPACK_BINARY_DEB OFF)
set(CPACK_BINARY_DRAGNDROP OFF)
set(CPACK_BINARY_NSIS OFF)
set(CPACK_BINARY_OSXX11 OFF)
set(CPACK_BINARY_PACKAGEMAKER OFF)
set(CPACK_BINARY_RPM OFF)
set(CPACK_BINARY_STGZ OFF)
set(CPACK_BINARY_TBZ2 OFF)
set(CPACK_BINARY_TGZ OFF)
set(CPACK_BINARY_TZ OFF)
set(CPACK_BINARY_ZIP OFF)
set(CPACK_SOURCE_TGZ OFF)
set(CPACK_SOURCE_TZ OFF)
set(CPACK_SOURCE_ZIP OFF)
if(CMAKE_HOST_WIN32)
set(CPACK_BINARY_NSIS ON)
set(CPACK_BINARY_ZIP ON)
set(CPACK_NSIS_MODIFY_PATH ON)
elseif(CMAKE_HOST_APPLE)
set(CPACK_BINARY_TBZ2 ON)
else()
set(CPACK_BINARY_TBZ2 ON)
endif()
include(CPack)