65 find_file(version_info version_info.txt PATH ${CMAKE_SOURCE_DIR}/share) |
65 find_file(version_info version_info.txt PATH ${CMAKE_SOURCE_DIR}/share) |
66 if(version_info) |
66 if(version_info) |
67 file(STRINGS ${version_info} internal_version REGEX "rev") |
67 file(STRINGS ${version_info} internal_version REGEX "rev") |
68 string(REGEX REPLACE "rev ([0-9]*)" "\\1" revision_number ${internal_version}) |
68 string(REGEX REPLACE "rev ([0-9]*)" "\\1" revision_number ${internal_version}) |
69 file(STRINGS ${version_info} internal_version REGEX "hash") |
69 file(STRINGS ${version_info} internal_version REGEX "hash") |
70 string(REGEX REPLACE "hash: ([a-zA-Z0-9]*)" "\\1" hash_number ${internal_version}) |
70 string(REGEX REPLACE "hash ([a-zA-Z0-9]*)" "\\1" hash_number ${internal_version}) |
71 else() |
71 else() |
72 message(${WARNING} "${CMAKE_SOURCE_DIR}/share/version_info.txt not found, revision information " |
72 message(${WARNING} "${CMAKE_SOURCE_DIR}/share/version_info.txt not found, revision information " |
73 "will be incorrect!!! Contact your source provider to fix this!") |
73 "will be incorrect!!! Contact your source provider to fix this!") |
74 set(revision_number "0000") |
74 set(revision_number "0000") |
75 set(hash_number "unknown") |
75 set(hash_number "unknown") |
240 "-k-L${PROJECT_BINARY_DIR}/bin" # ld linking directory (unix/osx) |
240 "-k-L${PROJECT_BINARY_DIR}/bin" # ld linking directory (unix/osx) |
241 "-Cs2000000" # stack size |
241 "-Cs2000000" # stack size |
242 "-vewnq" # fpc output verbosity |
242 "-vewnq" # fpc output verbosity |
243 "-dDEBUGFILE" # macro for engine output |
243 "-dDEBUGFILE" # macro for engine output |
244 ) |
244 ) |
245 list(APPEND haskell_flags "-O2" ${ghflags_parsed}) |
245 list(APPEND haskell_flags ${ghflags_parsed} # user flags |
|
246 "-O2" # optimise for faster code |
|
247 ) |
246 |
248 |
247 |
249 |
248 #get BUILD_TYPE and enable/disable optimisation |
250 #get BUILD_TYPE and enable/disable optimisation |
249 message(STATUS "Using ${CMAKE_BUILD_TYPE} configuration") |
251 message(STATUS "Using ${CMAKE_BUILD_TYPE} configuration") |
250 if(CMAKE_BUILD_TYPE MATCHES "DEBUG") |
252 if(CMAKE_BUILD_TYPE MATCHES "DEBUG") |
251 list(APPEND pascal_flags "-O-" # disable all optimisations |
253 list(APPEND pascal_flags "-O-" # disable all optimisations |
252 "-g" # enable debug symbols |
254 "-g" # enable debug symbols |
253 "-gl" # add line info to bt |
255 "-gl" # add line info to bt |
254 "-gv" # allow valgrind |
256 "-gv" # allow valgrind |
255 ) |
257 ) |
256 list(APPEND haskell_flags "-Wall" "-debug" "-dcore-lint" "-fno-warn-unused-do-bind") |
258 list(APPEND haskell_flags "-Wall" # all warnings |
257 else() |
259 "-debug" # debug mode |
258 list(APPEND pascal_flags "-Os" # optimise for size |
260 "-dcore-lint" # internal sanity check |
259 "-Xs" # strip binary |
261 ) |
260 "-Si" # turn on inlining |
262 else() |
|
263 list(APPEND pascal_flags "-Os" # optimise for size |
|
264 "-Xs" # strip binary |
|
265 "-Si" # turn on inlining |
261 ) |
266 ) |
262 list(APPEND haskell_flags "-w" "-fno-warn-unused-do-bind") |
267 list(APPEND haskell_flags "-w" # no warnings |
|
268 ) |
263 endif() |
269 endif() |
264 |
270 |
265 |
271 |
266 |
272 |
267 #server discovery |
273 #server discovery |