~ubuntu-branches/ubuntu/vivid/antpm/vivid

« back to all changes in this revision

Viewing changes to .pc/link-boost-atomic2.patch/src/CMakeLists.txt

  • Committer: Package Import Robot
  • Author(s): Kristof Ralovich, RALOVICH, Kristof
  • Date: 2014-08-11 11:40:58 UTC
  • Revision ID: package-import@ubuntu.com-20140811114058-zp33uusxrc2l2er0
Tags: 1.16-7
* Team upload

[ RALOVICH, Kristof ]
* really link against boost_atomic
  Closes: #757472

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# -*- mode: cmake; coding: utf-8-dos -*-
 
2
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.2)
 
3
IF(COMMAND CMAKE_POLICY)
 
4
  CMAKE_POLICY(SET CMP0003 NEW)
 
5
ENDIF(COMMAND CMAKE_POLICY)
 
6
 
 
7
 
 
8
PROJECT(antpm C CXX)
 
9
 
 
10
OPTION(USE_COVERAGE "use gcov" FALSE)
 
11
OPTION(USE_BOOST_TEST "use boost::test" FALSE)
 
12
OPTION(USE_BOOST_STATIC_LINK "link statically against boost" TRUE)
 
13
 
 
14
 
 
15
SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/")
 
16
 
 
17
# Set a default build type for single-configuration
 
18
# CMake generators if no build type is set.
 
19
IF(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE)
 
20
   SET(CMAKE_BUILD_TYPE Debug)
 
21
ENDIF(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE)
 
22
MESSAGE(STATUS "CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}")
 
23
MESSAGE(STATUS "CMAKE_CONFIGURATION_TYPES=${CMAKE_CONFIGURATION_TYPES}")
 
24
 
 
25
set(CMAKE_CXX_FLAGS_RELEASE        "${CMAKE_CXX_FLAGS_RELEASE} -DNDEBUG=1")
 
26
set(CMAKE_C_FLAGS_RELEASE          "${CMAKE_C_FLAGS_RELEASE} -DNDEBUG=1")
 
27
 
 
28
IF(MSVC)
 
29
        IF(NOT DEP_ROOT)
 
30
                SET(DEP_ROOT "DEP_ROOT-NOTFOUND" CACHE PATH "dependency root path")
 
31
        ENDIF()
 
32
        SET(LIBUSB_ROOT "${CMAKE_SOURCE_DIR}\\..\\3rd_party\\libusb-win32-bin-1.2.6.0\\")
 
33
        SET(BOOST_ROOT "${DEP_ROOT}\\boost_1_43_0" CACHE PATH "Boost PATH" )
 
34
 
 
35
  SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP")
 
36
  SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MD")
 
37
  ADD_DEFINITIONS(-D_CRT_SECURE_NO_WARNINGS)
 
38
ENDIF()
 
39
 
 
40
IF(CMAKE_COMPILER_IS_GNUCXX)
 
41
  set(CMAKE_CXX_FLAGS                "${CMAKE_CXX_FLAGS} -fpermissive  -fms-extensions -std=c++0x -Wall")
 
42
  SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -O2 -g")
 
43
  SET(CMAKE_CXX_FLAGS_RELEASE        "${CMAKE_CXX_FLAGS_RELEASE} -O2")
 
44
  set(CMAKE_CXX_FLAGS_DEBUG          "${CMAKE_CXX_FLAGS_DEBUG} -O0 -g3 -ggdb3")
 
45
  set(CMAKE_C_FLAGS                  "${CMAKE_C_FLAGS} -pedantic -Wextra -Wall")
 
46
  set(CMAKE_C_FLAGS_DEBUG            "${CMAKE_C_FLAGS_DEBUG} -g3 -ggdb3")
 
47
 
 
48
  IF(USE_COVERAGE)
 
49
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage")
 
50
    set(CMAKE_EXE_LINKER_FLAGS
 
51
      "${CMAKE_EXE_LINKER_FLAGS} -fprofile-arcs -ftest-coverage")
 
52
  ENDIF()
 
53
ENDIF()
 
54
 
 
55
INCLUDE(FindLIBUSB)
 
56
IF(NOT LIBUSB_FOUND)
 
57
  MESSAGE(FATAL_ERROR "Could not find LIBUSB")
 
58
ENDIF()
 
59
 
 
60
IF(USE_BOOST_STATIC_LINK)
 
61
  set(Boost_USE_STATIC_LIBS        ON)
 
62
ELSE()
 
63
  set(Boost_USE_STATIC_LIBS        OFF)
 
64
ENDIF()
 
65
set(Boost_USE_MULTITHREADED      ON)
 
66
set(Boost_USE_STATIC_RUNTIME    OFF)
 
67
FIND_PACKAGE(Boost 1.41.0 COMPONENTS thread unit_test_framework program_options system filesystem date_time atomic REQUIRED)
 
68
IF(NOT Boost_FOUND)
 
69
  MESSAGE(FATAL_ERROR "Boost not found!")
 
70
ENDIF()
 
71
 
 
72
 
 
73
INCLUDE_DIRECTORIES(.)
 
74
INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIR})
 
75
INCLUDE_DIRECTORIES(${LIBUSB_INCLUDE_DIRS})
 
76
 
 
77
LINK_DIRECTORIES(${Boost_LIBRARY_DIRS})
 
78
 
 
79
IF(MSVC)
 
80
  ADD_DEFINITIONS(-D_CRT_NONSTDC_NO_WARNINGS)
 
81
  #set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /NODEFAULTLIB:libboost_date_time-vc90-mt-s-1_43.lib /NODEFAULTLIB:libboost_thread-vc90-mt-s-1_43.lib /NODEFAULTLIB:libboost_program_options-vc90-mt-s-1_43.lib /NODEFAULTLIB:libboost_filesystem-vc90-mt-s-1_43.lib /NODEFAULTLIB:libboost_system-vc90-mt-s-1_43.lib")
 
82
ENDIF()
 
83
 
 
84
FILE(READ "${PROJECT_SOURCE_DIR}/VERSION" ANTPM_VERSION)
 
85
MESSAGE(STATUS "ANTPM_VERSION=\\\"${ANTPM_VERSION}\\\"")
 
86
ADD_DEFINITIONS(-DANTPM_VERSION=${ANTPM_VERSION})
 
87
 
 
88
SET(SRCS
 
89
  antdefs.hpp antdefs.cpp
 
90
  SmartPtrFwd.hpp   w_inttypes.h w_stdint.h stdintfwd.hpp
 
91
  common.hpp common.cpp
 
92
  AntMessage.hpp AntMessage.cpp
 
93
  AntChannel.hpp   AntChannel.cpp
 
94
  AntMessenger.hpp AntMessenger.cpp
 
95
  SerialUsb.hpp SerialUsb.cpp
 
96
  AntFr310XT.hpp AntFr310XT.cpp
 
97
  AntFr405.hpp AntFr405.cpp
 
98
  lqueue.hpp
 
99
  Serial.hpp Serial.cpp
 
100
 
 
101
  FIT.hpp FIT.cpp
 
102
  GPX.hpp GPX.cpp
 
103
  GarminConvert.hpp GarminConvert.cpp
 
104
  GarminPacketIntf.hpp GarminPacketIntf.cpp
 
105
 
 
106
  DeviceSettings.hpp DeviceSettings.cpp
 
107
 
 
108
  Log.hpp
 
109
  LazySingleton.hpp
 
110
 
 
111
  VERSION
 
112
)
 
113
IF(NOT WIN32)
 
114
  SET(SRCS
 
115
          ${SRCS}
 
116
    SerialTty.hpp SerialTty.cpp
 
117
          )
 
118
  SET(Boost_THREAD_LIBRARY "${Boost_THREAD_LIBRARY};pthread")
 
119
ENDIF()
 
120
 
 
121
 
 
122
ADD_LIBRARY(antpm
 
123
  ${SRCS}
 
124
)
 
125
TARGET_LINK_LIBRARIES(antpm
 
126
  ${Boost_DATE_TIME_LIBRARY}
 
127
  ${LIBUSB_LIBRARIES}
 
128
  ${Boost_THREAD_LIBRARY}
 
129
  ${Boost_SYSTEM_LIBRARY}
 
130
  ${Boost_FILESYSTEM_LIBRARY}
 
131
  stdc++
 
132
)
 
133
 
 
134
ADD_EXECUTABLE(antpm-usbmon2ant
 
135
  antpm-usbmon2ant.cpp
 
136
)
 
137
TARGET_LINK_LIBRARIES(antpm-usbmon2ant
 
138
  antpm
 
139
  ${Boost_PROGRAM_OPTIONS_LIBRARY}
 
140
)
 
141
INSTALL(TARGETS antpm-usbmon2ant RUNTIME DESTINATION bin)
 
142
 
 
143
 
 
144
ADD_EXECUTABLE(antpm-downloader
 
145
  antpm-downloader.cpp
 
146
)
 
147
TARGET_LINK_LIBRARIES(antpm-downloader
 
148
  antpm
 
149
  ${Boost_PROGRAM_OPTIONS_LIBRARY}
 
150
)
 
151
INSTALL(TARGETS antpm-downloader RUNTIME DESTINATION bin)
 
152
 
 
153
 
 
154
ADD_EXECUTABLE(antpm-fit2gpx
 
155
  antpm-fit2gpx.cpp
 
156
)
 
157
TARGET_LINK_LIBRARIES(antpm-fit2gpx
 
158
  antpm
 
159
  ${Boost_PROGRAM_OPTIONS_LIBRARY}
 
160
)
 
161
INSTALL(TARGETS antpm-fit2gpx RUNTIME DESTINATION bin)
 
162
 
 
163
add_custom_target(dist COMMAND ${CMAKE_MAKE_PROGRAM} package_source)
 
164
 
 
165
ADD_SUBDIRECTORY(gant)
 
166
 
 
167
# set(CPACK_PACKAGE_VERSION_MAJOR "1")
 
168
# set(CPACK_PACKAGE_VERSION_MINOR "0")
 
169
# set(CPACK_SOURCE_GENERATOR "TGZ")
 
170
# set(CPACK_SOURCE_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}-src")
 
171
# MESSAGE(STATUS "${CPACK_SOURCE_IGNORE_FILES}")
 
172
# set(CPACK_SOURCE_IGNORE_FILES
 
173
#   "/build/;/.bzr/;~$;${CPACK_SOURCE_IGNORE_FILES};/CMakeLists.txt.user;/gpsbabel/;/gtest-1.6.0/")
 
174
# set(CPACK_DEBIAN_PACKAGE_MAINTAINER "Kristof Ralovich <tade60@freemail.hu>")
 
175
# set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "ANT+minus")
 
176
# set(CPACK_PACKAGE_DESCRIPTION "Userspace implementation of a wire protocol similar to the ANT/ANT+ protocols. The goal is to be able to communicate with the Forerunner 310XT watch, in order to retrieve sports tracks. Communication with other watches might work, please report your experiences to improve the software.")
 
177
# set(CPACK_DEBIAN_PACKAGE_DEPENDS "libstdc++6 (>=4.6.0)")
 
178
# #set(CPACK_DEBIAN_PACKAGE_DEPENDS "libstdc++6 (>=4.6.0), cmake, debhelper (>= 7), libboost-filesystem, libboost-system")
 
179
# #set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA       This variable allow advanced user to add custom script to the control.tar.gz (inside the .deb archive)  ${CMAKE_CURRENT_SOURCE_DIR}/postinst
 
180
# #set(CPACK_DEBIAN_PACKAGE_SECTION     Package section (see http://packages.debian.org/stable/)        Network
 
181
# #set(CPACK_DEBIAN_PACKAGE_VERSION     Package version         ${CPACK_PACKAGE_VERSION}+lenny1
 
182
# INCLUDE(CPack)
 
183
 
 
184
IF(USE_BOOST_TEST)
 
185
 
 
186
  if(${VALGRIND_PREFIX})
 
187
    message(STATUS "Valgrind Prefix: ${VALGRIND_PREFIX}")
 
188
  endif()
 
189
  find_program(VALGRIND_PROGRAM NAMES valgrind PATH /usr/bin /usr/local/bin ${VALGRIND_PREFIX}/bin)
 
190
  IF(VALGRIND_PROGRAM)
 
191
    message(STATUS "Found Valgrind: ${VALGRIND_PROGRAM}")
 
192
    SET(MEMORYCHECK_COMMAND:FILEPATH=${VALGRIND_PROGRAM})
 
193
    # You can add additional options by specifying MEMORYCHECK_COMMAND_OPTIONS and MEMORYCHECK_SUPPRESSIONS_FILE. 
 
194
  ENDIF()
 
195
 
 
196
  enable_testing()
 
197
  ADD_SUBDIRECTORY(tests)
 
198
ENDIF()