CMakeLists.txt
changeset 8644 62756eb6fe9c
parent 8642 d7062e684466
child 8646 e31044b7fbba
equal deleted inserted replaced
8643:e4d1c21f8db0 8644:62756eb6fe9c
    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