Initial working baulkTerm-daemon
[baulk.git] / src / CMakeLists.txt
blobaac91fe7bc490cf50780a23525c8b5a533b513aa
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.
9
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
13 #                                       to build
14
15 # Folder Builds
16 # | BuildBaulk                  - Builds Baulk (Default)
17 # | BuildCommon                 - Build Common libraries
18 # | BuildWidgets                - Build Widgets
20 # Baulk Binary Builds
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)
34 # Widget Builds
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
46 ##| Project
47 project( BaulkTOPLEVEL )
48 cmake_minimum_required( VERSION 2.6 )
49 set( HEAD_DIR ${PROJECT_SOURCE_DIR}/.. )
51 subdirs(
52         Common
53         Baulk
54         Server
55         Widgets
58 ##| Target Reset
59 if ( BuildReset )
60         set( BuildAll                   0 )
61         set( BuildBaulk                 0 )
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 )
75         set( BuildCommon                0 )
76         set( BuildLibLoader             0 )
77         set( BuildQTermWidget           0 )
78         set( BuildWebBaulk              0 )
79         set( BuildWidgets               0 )
80 endif ( BuildReset )
83 ##| Targets - Note: Options are disabled by default
85 #| Full Build
86 if ( BuildAll )
87         set( BuildBaulk                 1 )
88         set( BuildBaulkTermBinary       1 )
89 endif ( BuildAll )
92 #| Default
93 if ( BuildBaulk )
94         set( BuildBaulkBinary           1 )
95         set( BuildBaulkServBinary       1 )
96         set( BuildCommon                1 )
97         set( BuildWidgets               1 )
98 endif ( BuildBaulk )
101 #| Common Librarys
102 if ( BuildCommon )
103         set( BuildBaulkDialog           1 )
104         set( BuildBaulkWidget           1 )
105         set( BuildBaulkXML              1 )
106         set( BuildLibLoader             1 )
107 endif ( BuildCommon )
110 #| Widget Libraries
111 if ( BuildWidgets )
112         set( BuildBaulkStatus           1 )
113         set( BuildBaulkSwallow          1 )
114         set( BuildBaulkTerm             1 )
115         set( BuildWebBaulk              1 )
116 endif ( BuildWidgets )
119 #| Baulk Binary
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 )
134         if ( WIN32 )
135                 set( BuildBaulkBinary   1 )
136         endif ( WIN32 )
137 endif ( BuildBaulkControl )
140 #| BaulkServ Binary
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 )
157 #| BaulkServ Client
158 if ( BuildBaulkServClient )
159         set( BuildBaulkPacket           1 )
160 endif ( BuildBaulkServClient )
163 #| BaulkTerm Library
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 .")
178         message("")
179         message("  See header in src/CMakeLists.txt for more options")
180 endif ( BuildBaulkPacket OR BuildBaulkDialog OR BuildBaulkWidget OR BuildBaulkXML OR BuildQTermWidget )
183 ##| Doxygen
184 find_package( Doxygen ) 
185 if( DOXYGEN_FOUND )
186         execute_process( COMMAND ${DOXYGEN_EXECUTABLE} WORKING_DIRECTORY ${HEAD_DIR}/docs )
187 endif( DOXYGEN_FOUND )