diff --git a/build/cmake/init.cmake b/build/cmake/init.cmake index 080c384795..499408026c 100644 --- a/build/cmake/init.cmake +++ b/build/cmake/init.cmake @@ -36,11 +36,21 @@ if(MSVC) "Flags used by the CXX compiler during ${cfg_upper} builds." FORCE) endif() endforeach() -endif() -if(wxBUILD_MSVC_MULTIPROC) - wx_string_append(CMAKE_C_FLAGS " /MP") - wx_string_append(CMAKE_CXX_FLAGS " /MP") + if(wxBUILD_MSVC_MULTIPROC) + wx_string_append(CMAKE_C_FLAGS " /MP") + wx_string_append(CMAKE_CXX_FLAGS " /MP") + endif() +elseif(("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") OR ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")) + if(wxBUILD_USE_STATIC_RUNTIME) + if(MINGW) + set(STATIC_LINKER_FLAGS " -static") + else() + set(STATIC_LINKER_FLAGS " -static-libgcc -static-libstdc++") + endif() + wx_string_append(CMAKE_EXE_LINKER_FLAGS "${STATIC_LINKER_FLAGS}") + wx_string_append(CMAKE_SHARED_LINKER_FLAGS "${STATIC_LINKER_FLAGS}") + endif() endif() if(wxBUILD_COMPATIBILITY VERSION_LESS 3.0) diff --git a/build/cmake/options.cmake b/build/cmake/options.cmake index ecd96a003c..13cb93c358 100644 --- a/build/cmake/options.cmake +++ b/build/cmake/options.cmake @@ -26,8 +26,11 @@ mark_as_advanced(wxBUILD_CUSTOM_SETUP_HEADER_PATH) wx_option(wxBUILD_DEBUG_LEVEL "Debug Level" Default STRINGS Default 0 1 2) mark_as_advanced(wxBUILD_DEBUG_LEVEL) -if(MSVC) +if(NOT APPLE) wx_option(wxBUILD_USE_STATIC_RUNTIME "Link using the static runtime library" OFF) +endif() + +if(MSVC) wx_option(wxBUILD_MSVC_MULTIPROC "Enable multi-processor compilation for MSVC") else() # Other compilers support setting the C++ standard, present it an option to the user @@ -58,7 +61,9 @@ if(NOT WIN32) endif() wx_option(wxUSE_COMPILER_TLS "enable use of compiler TLS support") -wx_option(wxUSE_VISIBILITY "use of ELF symbols visibility") +if(NOT WIN32) + wx_option(wxUSE_VISIBILITY "use of ELF symbols visibility") +endif() wx_option(wxUSE_UNSAFE_WXSTRING_CONV "provide unsafe implicit conversions in wxString to const char* or std::string") wx_option(wxUSE_REPRODUCIBLE_BUILD "enable reproducable build" OFF)