mirror of
https://github.com/Z3Prover/z3
synced 2025-04-12 20:18:18 +00:00
Merge pull request #499 from delcypher/minor_cmake_fixes
Minor cmake fixes
This commit is contained in:
commit
402e132ce5
|
@ -105,7 +105,7 @@ else()
|
||||||
message(STATUS "CMAKE_BUILD_TYPE is not set. Setting default")
|
message(STATUS "CMAKE_BUILD_TYPE is not set. Setting default")
|
||||||
message(STATUS "The available build types are: ${available_build_types}")
|
message(STATUS "The available build types are: ${available_build_types}")
|
||||||
set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE String
|
set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE String
|
||||||
"Options are ${build_types}"
|
"Options are ${available_build_types}"
|
||||||
FORCE)
|
FORCE)
|
||||||
# Provide drop down menu options in cmake-gui
|
# Provide drop down menu options in cmake-gui
|
||||||
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS ${available_build_types})
|
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS ${available_build_types})
|
||||||
|
@ -239,6 +239,7 @@ if (OPENMP_FOUND)
|
||||||
else()
|
else()
|
||||||
list(APPEND Z3_COMPONENT_CXX_DEFINES "-D_NO_OMP_")
|
list(APPEND Z3_COMPONENT_CXX_DEFINES "-D_NO_OMP_")
|
||||||
message(STATUS "Not using OpenMP")
|
message(STATUS "Not using OpenMP")
|
||||||
|
set(USE_OPENMP OFF CACHE BOOL "Use OpenMP" FORCE)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# This file overrides the default compiler flags for CMake's built-in
|
# This file overrides the default compiler flags for CMake's built-in
|
||||||
# configurations (CMAKE_BUILD_TYPE). Most compiler flags should not be set here.
|
# configurations (CMAKE_BUILD_TYPE). Most compiler flags should not be set here.
|
||||||
# The main purpose is to make sure ``-DNDEBUG`` is never set by default.
|
# The main purpose is to have very fine grained control of the compiler flags.
|
||||||
if (CMAKE_C_COMPILER_ID)
|
if (CMAKE_C_COMPILER_ID)
|
||||||
set(_lang C)
|
set(_lang C)
|
||||||
elseif(CMAKE_CXX_COMPILER_ID)
|
elseif(CMAKE_CXX_COMPILER_ID)
|
||||||
|
@ -9,19 +9,25 @@ else()
|
||||||
message(FATAL_ERROR "Unknown language")
|
message(FATAL_ERROR "Unknown language")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# TODO: The value of doing this is debatable. The flags set here are pretty
|
||||||
|
# much the CMake defaults now (they didn't use to be) and makes extra work for
|
||||||
|
# us when supporting different compilers. Perhaps we should move the remaining
|
||||||
|
# code that sets non-default flags out into the CMakeLists.txt files and remove
|
||||||
|
# any overrides here?
|
||||||
if (("${CMAKE_${_lang}_COMPILER_ID}" MATCHES "Clang") OR ("${CMAKE_${_lang}_COMPILER_ID}" MATCHES "GNU"))
|
if (("${CMAKE_${_lang}_COMPILER_ID}" MATCHES "Clang") OR ("${CMAKE_${_lang}_COMPILER_ID}" MATCHES "GNU"))
|
||||||
# Taken from Modules/Compiler/GNU.cmake but -DNDEBUG is removed
|
# Taken from Modules/Compiler/GNU.cmake
|
||||||
set(CMAKE_${_lang}_FLAGS_INIT "")
|
set(CMAKE_${_lang}_FLAGS_INIT "")
|
||||||
set(CMAKE_${_lang}_FLAGS_DEBUG_INIT "-g -O0")
|
set(CMAKE_${_lang}_FLAGS_DEBUG_INIT "-g -O0")
|
||||||
set(CMAKE_${_lang}_FLAGS_MINSIZEREL_INIT "-Os")
|
set(CMAKE_${_lang}_FLAGS_MINSIZEREL_INIT "-Os -DNDEBUG")
|
||||||
set(CMAKE_${_lang}_FLAGS_RELEASE_INIT "-O3")
|
set(CMAKE_${_lang}_FLAGS_RELEASE_INIT "-O3 -DNDEBUG")
|
||||||
set(CMAKE_${_lang}_FLAGS_RELWITHDEBINFO_INIT "-O2 -g")
|
set(CMAKE_${_lang}_FLAGS_RELWITHDEBINFO_INIT "-O2 -g -DNDEBUG")
|
||||||
# FIXME: Remove "x.." when CMP0054 is set to NEW
|
# FIXME: Remove "x.." when CMP0054 is set to NEW
|
||||||
elseif ("x${CMAKE_${_lang}_COMPILER_ID}" STREQUAL "xMSVC")
|
elseif ("x${CMAKE_${_lang}_COMPILER_ID}" STREQUAL "xMSVC")
|
||||||
|
# FIXME: Perhaps we should be using /MD instead?
|
||||||
set(CMAKE_${_lang}_FLAGS_DEBUG_INIT "/MTd /Zi /Ob0 /Od /RTC1")
|
set(CMAKE_${_lang}_FLAGS_DEBUG_INIT "/MTd /Zi /Ob0 /Od /RTC1")
|
||||||
set(CMAKE_${_lang}_FLAGS_MINSIZEREL_INIT "/MT /O1 /Ob1")
|
set(CMAKE_${_lang}_FLAGS_MINSIZEREL_INIT "/MT /O1 /Ob1 /D NDEBUG")
|
||||||
set(CMAKE_${_lang}_FLAGS_RELEASE_INIT "/MT /O2 /Ob2")
|
set(CMAKE_${_lang}_FLAGS_RELEASE_INIT "/MT /O2 /Ob2 /D NDEBUG")
|
||||||
set(CMAKE_${_lang}_FLAGS_RELWITHDEBINFO_INIT "/MT /Zi /O2 /Ob1")
|
set(CMAKE_${_lang}_FLAGS_RELWITHDEBINFO_INIT "/MT /Zi /O2 /Ob1 /D NDEBUG")
|
||||||
# Override linker flags (see Windows-MSVC.cmake for CMake's defaults)
|
# Override linker flags (see Windows-MSVC.cmake for CMake's defaults)
|
||||||
# The stack size comes from the Python build system.
|
# The stack size comes from the Python build system.
|
||||||
set(_msvc_stack_size "8388608")
|
set(_msvc_stack_size "8388608")
|
||||||
|
|
Loading…
Reference in a new issue