1 ###| CMAKE Baulk (Top-Level Build) |###
3 #| Build Target Variable Information
5 # set using "cmake -D<variable>=<true/false> ."
7 # Note: You only need to set the variable once, at that point it will be in the variable
8 # cache. You will only need to set the variable again if you want to turn it off.
10 # | BuildAll - Builds everything
11 # | BuildReset - Initializes build variables to zero before determining dependencies
12 # Note: This variable stays on, so you must set it to false if you want
16 # | BuildBaulk - Builds Baulk (Default)
17 # | BuildCommon - Build Common libraries
18 # | BuildWidgets - Build Widgets
21 # | BuildBaulkBinary - Build minimum for the Baulk Binary (No BaulkServ)
22 # | BuildBaulkControl - Build BaulkControl Library
23 # | BuildBaulkPacket - Build BaulkPacket Library
24 # | BuildBaulkServBinary - Build minimum for the BaulkServ Binary
25 # | BuildBaulkServClient - Build BaulkServ Client Library
26 # | BuildBaulkServServer - Build BaulkServ Server Library
28 # Common Library Builds
29 # | BuildBaulkDialog - Builds BaulkDialog Library
30 # | BuildBaulkWidget - Builds BaulkWidget Library
31 # | BuildBaulkXML - Builds BaulkXML Library
32 # | BuildLibLoader - Builds Library Loader (BaulkXML will automatically be built as well)
35 # | BuildBaulkStatus - Builds BaulkStatus
36 # | BuildBaulkSwallow - Builds BaulkSwallow
37 # | BuildBaulkTerm - Builds BaulkTerm
38 # | BuildWebBaulk - Builds WebBaulk
40 # BaulkTerm Special Builds
41 # | BuildBaulkTermBinary - Builds binary version of BaulkTerm
42 # | BuildQTermWidget - Builds QTermWidget library
47 project( BaulkTOPLEVEL )
48 cmake_minimum_required( VERSION 2.6 )
49 set( HEAD_DIR ${PROJECT_SOURCE_DIR}/.. )
62 set( BuildBaulkBinary 0 )
63 set( BuildBaulkControl 0 )
64 set( BuildBaulkDialog 0 )
65 set( BuildBaulkPacket 0 )
66 set( BuildBaulkServBinary 0 )
67 set( BuildBaulkServClient 0 )
68 set( BuildBaulkServServer 0 )
69 set( BuildBaulkStatus 0 )
70 set( BuildBaulkSwallow 0 )
71 set( BuildBaulkTerm 0 )
72 set( BuildBaulkTermBinary 0 )
73 set( BuildBaulkWidget 0 )
74 set( BuildBaulkXML 0 )
76 set( BuildLibLoader 0 )
77 set( BuildQTermWidget 0 )
78 set( BuildWebBaulk 0 )
83 ##| Targets - Note: Options are disabled by default
88 set( BuildBaulkTermBinary 1 )
94 set( BuildBaulkBinary 1 )
95 set( BuildBaulkServBinary 1 )
103 set( BuildBaulkDialog 1 )
104 set( BuildBaulkWidget 1 )
105 set( BuildBaulkXML 1 )
106 set( BuildLibLoader 1 )
107 endif ( BuildCommon )
112 set( BuildBaulkStatus 1 )
113 set( BuildBaulkSwallow 1 )
114 set( BuildBaulkTerm 1 )
115 set( BuildWebBaulk 1 )
116 endif ( BuildWidgets )
120 if ( BuildBaulkBinary )
121 set( BuildBaulkControl 1 )
122 set( BuildLibLoader 1 )
123 set( BuildBaulkWidget 1 )
124 endif ( BuildBaulkBinary )
127 #| BaulkControl Library
128 if ( BuildBaulkControl )
129 set( BuildBaulkServClient 1 )
130 set( BuildBaulkDialog 1 )
131 set( BuildBaulkWidget 1 )
132 set( BuildBaulkXML 1 )
133 set( BuildLibLoader 1 )
135 set( BuildBaulkBinary 1 )
137 endif ( BuildBaulkControl )
141 if ( BuildBaulkServBinary )
142 set( BuildBaulkServClient 1 )
143 set( BuildBaulkServServer 1 )
144 set( BuildBaulkPacket 1 )
145 endif ( BuildBaulkServBinary )
148 #| BaulkTerm Binary Build
149 if ( BuildBaulkTermBinary )
150 set( BuildBaulkTerm 1 )
151 set( BuildBaulkServServer 1 )
152 set( BuildBaulkServClient 1 )
153 set( BuildQTermWidget 1 )
154 endif ( BuildBaulkTermBinary )
158 if ( BuildBaulkServClient )
159 set( BuildBaulkPacket 1 )
160 endif ( BuildBaulkServClient )
164 if ( BuildBaulkTerm )
165 set( BuildQTermWidget 1 )
166 set( BuildBaulkWidget 1 )
167 set( BuildBaulkXML 1 )
168 endif ( BuildBaulkTerm )
171 #| Warning if the user forgot to specify a Build Variable
172 if ( BuildBaulkPacket OR BuildBaulkDialog OR BuildBaulkWidget OR BuildBaulkXML OR BuildQTermWidget )
173 else ( BuildBaulkPacket OR BuildBaulkDialog OR BuildBaulkWidget OR BuildBaulkXML OR BuildQTermWidget )
174 message("||Warning||")
175 message(" You forgot to specify a build option (make will do nothing)")
176 message(" For Baulk : cmake -DBuildBaulk=true .")
177 message(" For BaulkTerm : cmake -DBuildBaulkTermBinary=true .")
179 message(" See header in src/CMakeLists.txt for more options")
180 endif ( BuildBaulkPacket OR BuildBaulkDialog OR BuildBaulkWidget OR BuildBaulkXML OR BuildQTermWidget )
184 find_package( Doxygen )
186 execute_process( COMMAND ${DOXYGEN_EXECUTABLE} WORKING_DIRECTORY ${HEAD_DIR}/docs )
187 endif( DOXYGEN_FOUND )