BuildTypes.cmake 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. # Add new build types
  2. # ReleaseGG - Release with enabled asserts
  3. SET(CMAKE_CXX_FLAGS_RELEASEGG
  4. "-O3"
  5. CACHE STRING "Flags used by the c++ compiler during release builds with enabled asserts."
  6. FORCE )
  7. SET(CMAKE_C_FLAGS_RELEASEGG
  8. "-O3"
  9. CACHE STRING "Flags used by the compiler during release builds with enabled asserts."
  10. FORCE )
  11. SET(CMAKE_EXE_LINKER_FLAGS_RELEASEGG
  12. ""
  13. CACHE STRING "Flags used for linking binaries during release builds with enabled asserts."
  14. FORCE )
  15. SET(CMAKE_SHARED_LINKER_FLAGS_RELEASEGG
  16. ""
  17. CACHE STRING "Flags used by the shared libraries linker during release builds with enabled asserts."
  18. FORCE )
  19. MARK_AS_ADVANCED(
  20. CMAKE_CXX_FLAGS_RELEASEGG
  21. CMAKE_C_FLAGS_RELEASEGG
  22. CMAKE_EXE_LINKER_FLAGS_RELEASEGG
  23. CMAKE_SHARED_LINKER_FLAGS_RELEASEGG )
  24. # RelWithDebInfoGG - RelWithDebInfo with enabled asserts
  25. SET(CMAKE_CXX_FLAGS_RELWITHDEBINFOGG
  26. "-O2 -g"
  27. CACHE STRING "Flags used by the c++ compiler during release builds with debug symbols and enabled asserts."
  28. FORCE )
  29. SET(CMAKE_C_FLAGS_RELWITHDEBINFOGG
  30. "-O2 -g"
  31. CACHE STRING "Flags used by the compiler during release builds with debug symbols and enabled asserts."
  32. FORCE )
  33. SET(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFOGG
  34. ""
  35. CACHE STRING "Flags used for linking binaries during release builds with debug symbols and enabled asserts."
  36. FORCE )
  37. SET(CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFOGG
  38. ""
  39. CACHE STRING "Flags used by the shared libraries linker during release builds with debug symbols and enabled asserts."
  40. FORCE )
  41. MARK_AS_ADVANCED(
  42. CMAKE_CXX_FLAGS_RELWITHDEBINFOGG
  43. CMAKE_C_FLAGS_RELWITHDEBINFOGG
  44. CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFOGG
  45. CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFOGG )
  46. if (NOT XCODE AND NOT MSVC AND NOT CMAKE_BUILD_TYPE)
  47. set(CMAKE_BUILD_TYPE Release CACHE STRING "Build type" FORCE)
  48. set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "MinSizeRel" "RelWithDebInfo" "ReleaseGG" "RelWithDebInfoGG")
  49. endif()