source: pacpusframework/branches/2.0-beta1/src/PacpusTools/CMakeLists.txt@ 126

Last change on this file since 126 was 126, checked in by Marek Kurdej, 11 years ago

Update: added dll export/import macros for PacpusTools.

  • Property svn:executable set to *
File size: 3.3 KB
Line 
1#################################################
2# ___________ ____ ______ __ __ _____ #
3# \____ \__ \ _/ ___\\____ \| | \/ ___/ #
4# | |_> > __ \\ \___| |_> > | /\___ \ #
5# | __(____ /\___ > __/|____//____ > #
6# |__| \/ \/|__| \/ #
7# #
8#################################################
9project(PacpusTools)
10
11# ========================================
12# Compiler definitions
13# ========================================
14add_definitions(
15 ${QT_DEFINITIONS}
16 -DPACPUS_TOOLS_EXPORTS
17)
18
19# ========================================
20# Include directories
21# ========================================
22include_directories(
23 ${QT_INCLUDE_DIR}
24)
25# ========================================
26# Link directories
27# ========================================
28link_directories(
29 ${PROJECT_BINARY_DIR}/../PacpusLib
30 ${PROJECT_BINARY_DIR}/../RoadTime
31)
32
33# ========================================
34# List of sources
35# ========================================
36set(
37 PROJECT_SRCS
38 ${PACPUS_INCLUDE_DIR}/Pacpus/PacpusTools/matrice.h
39 ${PACPUS_INCLUDE_DIR}/Pacpus/PacpusTools/BinaryDecoder.h
40 ${PACPUS_INCLUDE_DIR}/Pacpus/PacpusTools/PosixShMem.h
41 ${PACPUS_INCLUDE_DIR}/Pacpus/PacpusTools/ShMem.h
42 ${PACPUS_INCLUDE_DIR}/Pacpus/PacpusTools/geodesie.h
43 #${PACPUS_INCLUDE_DIR}/Pacpus/PacpusTools/pacpusStruct.h
44 #${PACPUS_INCLUDE_DIR}/Pacpus/PacpusTools/PacpusSerialPort.h
45 ./src/matrice.cpp
46 ./src/geodesie.cpp
47 ./src/AsyncWorkerBase.cpp
48 ./src/PeriodicWorker.cpp
49 #./src/PacpusSerialPort.cpp
50)
51
52# ========================================
53# Files to MOC
54# ========================================
55set(
56 FILES_TO_MOC
57 ${PACPUS_INCLUDE_DIR}/Pacpus/PacpusTools/AsyncWorkerBase.h
58 ${PACPUS_INCLUDE_DIR}/Pacpus/PacpusTools/PeriodicWorker.h
59 #${PACPUS_INCLUDE_DIR}/Pacpus/PacpusTools/PacpusSerialPort.h
60)
61
62# ========================================
63# Call MOC
64# ========================================
65qt5_wrap_cpp(
66 PROJECT_MOC_SRCS
67 ${FILES_TO_MOC}
68)
69
70# ========================================
71# Platform specific sources
72# ========================================
73# Unix
74if(UNIX)
75 list(
76 APPEND PROJECT_SRCS
77 ${PACPUS_INCLUDE_DIR}/Pacpus/PacpusTools/PosixShMem.h
78 src/PosixShMem.cpp
79 )
80endif()
81# Windows
82if(WIN32)
83 list(
84 APPEND PROJECT_SRCS
85 ${PACPUS_INCLUDE_DIR}/Pacpus/PacpusTools/Win32ShMem.h
86 src/Win32ShMem.cpp
87 )
88endif()
89
90# ========================================
91# Build a library
92# ========================================
93pacpus_add_library(
94 ${PROJECT_NAME} SHARED
95 ${PROJECT_SRCS}
96 ${PROJECT_MOC_SRCS}
97)
98
99# ========================================
100# Libraries
101# ========================================
102
103set(OPT_LIBRARIES
104 optimized PacpusLib debug PacpusLib_d
105)
106
107# Windows platform
108if(WIN32)
109 LIST(APPEND OPT_LIBRARIES
110 optimized ROAD_TIME debug ROAD_TIME_d
111)
112endif()
113
114target_link_libraries(
115 ${PROJECT_NAME}
116 ${QT_LIBRARIES}
117 ${PACPUS_DEPENDENCIES_LIB}
118 ${OPT_LIBRARIES}
119)
120
121# ========================================
122# Install
123# ========================================
124pacpus_install(${PROJECT_NAME})
125
126# ========================================
127# Folder
128# ========================================
129pacpus_folder(${PROJECT_NAME} "libraries")
Note: See TracBrowser for help on using the repository browser.