forked from rsdlab/WebCamera
-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathCMakeLists.txt
109 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
105
106
107
cmake_minimum_required(VERSION 2.8 FATAL_ERROR)
project(WebCamera)
string(TOLOWER ${PROJECT_NAME} PROJECT_NAME_LOWER)
include("${PROJECT_SOURCE_DIR}/cmake/utils.cmake")
set(PROJECT_VERSION 2.0.0 CACHE STRING "WebCamera version")
DISSECT_VERSION()
set(PROJECT_DESCRIPTION "Web Camera RTC with common camera interface version 2.0")
set(PROJECT_VENDOR "Kenichi Ohara, Meijo University")
set(PROJECT_AUTHOR "Kenichi Ohara, Meijo University")
set(PROJECT_AUTHOR_SHORT "Kenichi Ohara, Meijo University")
# Add an "uninstall" target
CONFIGURE_FILE ("${PROJECT_SOURCE_DIR}/cmake/uninstall_target.cmake.in"
"${PROJECT_BINARY_DIR}/uninstall_target.cmake" IMMEDIATE @ONLY)
ADD_CUSTOM_TARGET (uninstall "${CMAKE_COMMAND}" -P
"${PROJECT_BINARY_DIR}/uninstall_target.cmake")
#option(BUILD_EXAMPLES "Build and install examples" OFF)
option(BUILD_DOCUMENTATION "Build the documentation" ON)
#option(BUILD_TESTS "Build the tests" OFF)
#option(BUILD_TOOLS "Build the tools" OFF)
option(BUILD_IDL "Build and install idl" ON)
option(BUILD_SOURCES "Build and install sources" OFF)
option(STATIC_LIBS "Build static libraries" OFF)
if(STATIC_LIBS)
set(LIB_TYPE STATIC)
else(STATIC_LIBS)
set(LIB_TYPE SHARED)
endif(STATIC_LIBS)
if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
# Mac OS X specific code
SET(CMAKE_CXX_COMPILER "g++")
endif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
# Set up installation directories
set(BIN_INSTALL_DIR "components/bin")
set(LIB_INSTALL_DIR "components/lib")
set(INC_INSTALL_DIR
"components/include/${PROJECT_NAME_LOWER}-${PROJECT_VERSION_MAJOR}")
set(SHARE_INSTALL_DIR
"components/share/${PROJECT_NAME_LOWER}-${PROJECT_VERSION_MAJOR}")
# Get necessary dependency information
find_package(OpenRTM)
if(${OpenRTM_FOUND})
MESSAGE(STATUS "OpenRTM configuration Found")
else(${OpenRTM_FOUND})
message(STATUS "Use cmake/Modules/FindOpenRTM.cmake in the project")
list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/Modules)
find_package(OpenRTM REQUIRED)
endif(${OpenRTM_FOUND})
# Universal settings
#enable_testing()
# Subdirectories
add_subdirectory(cmake)
if(BUILD_DOCUMENTATION)
add_subdirectory(doc)
endif(BUILD_DOCUMENTATION)
#if(BUILD_EXAMPLES)
# add_subdirectory(examples)
#endif(BUILD_EXAMPLES)
if(BUILD_IDL)
add_subdirectory(idl)
endif(BUILD_IDL)
add_subdirectory(include)
MAP_ADD_STR(headers "include/" comp_hdrs)
add_subdirectory(src)
#if(BUILD_TESTS)
# add_subdirectory(test)
#endif(BUILD_TESTS)
#if(BUILD_TOOLS)
# add_subdirectory(tools)
#endif(BUILD_TOOLS)
if(BUILD_SOURCES)
add_subdirectory(include)
add_subdirectory(src)
endif(BUILD_SOURCES)
# Package creation
# By default, do not warn when built on machines using only VS Express:
IF(NOT DEFINED CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS)
SET(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS ON)
ENDIF()
include(InstallRequiredSystemLibraries)
set(PROJECT_EXECUTABLES ${PROJECT_NAME_LOWER}Comp
"${PROJECT_NAME_LOWER}Comp")
set(cpack_options "${PROJECT_BINARY_DIR}/cpack_options.cmake")
configure_file("${PROJECT_SOURCE_DIR}/cmake/cpack_options.cmake.in"
${cpack_options} @ONLY)
set(CPACK_PROJECT_CONFIG_FILE ${cpack_options})
include(${CPACK_PROJECT_CONFIG_FILE})
include(CPack)