Hello, It has been a while since I've looked at this stuff, but I do use exceptions in my project. So I add the /EHsc: SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /fp:strict /EHsc ${WARNINGS_IGNORE}") SET (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /fp:strict ${WARNINGS_IGNORE}")
and I also add a linker flag: SET (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SAFESEH:NO") SET (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /SAFESEH:NO /NODEFAULTLIB:python3") SET (CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} /SAFESEH:NO") According to the M$ documentation, SAFESEH is relevant for x86, but not x64: https://docs.microsoft.com/en-us/cpp/build/reference/safeseh-image-has-safe-exception-handlers?view=vs-2019 In order to change runtimes, I have also had to enable defaultlib's in case they got in through other libraries or header files: SET (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /NODEFAULTLIB:LIBCMT") According to this instruction you can disable all of the libraries you do not want: https://docs.microsoft.com/en-us/cpp/error-messages/tool-errors/linker-tools-warning-lnk4098?view=vs-2019 For example, above I had to do: /NODEFAULTLIB:python3 because the Python header files in my project were force linking the wrong library. Regards On Mon, Oct 28, 2019 at 6:02 AM Osman Zakir <osmanzaki...@hotmail.com> wrote: > Hi. > > I'm trying to build LLVM 10.0.0 with CMake on the command line (Developer > Command Prompt for VS2019) and I need to know how to switch to a static > runtime. I've tried specifying LLVM's variable for this, but it didn't > work. I still have a dynamic runtime. Along with that, I also need to > know how to enable C++ exceptions. > > One thing I tried was to do "-DCMAKE_CXX_FLAGS="/std:c++17 /MT /EHsc > /permissive-"" but this also didn't work. Specifying these on the CXXFLAGS > environment variable didn't do anything either. I was using the same > session of the Developer Command Prompt, but I made sure to run > "refreshenv" to take the new environment from the registry before > continuing. > > Note: I don't want to edit the CMakeLists.txt file because I want to be > able to run "git pull" without having to stage any changes (I cloned the > LLVM GitHub repository for the source code). > > Any help is appreciated. Thanks in advance. > -- > > Powered by www.kitware.com > > Please keep messages on-topic and check the CMake FAQ at: > http://www.cmake.org/Wiki/CMake_FAQ > > Kitware offers various services to support the CMake community. For more > information on each offering, please visit: > > CMake Support: http://cmake.org/cmake/help/support.html > CMake Consulting: http://cmake.org/cmake/help/consulting.html > CMake Training Courses: http://cmake.org/cmake/help/training.html > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Follow this link to subscribe/unsubscribe: > https://cmake.org/mailman/listinfo/cmake >
-- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: https://cmake.org/mailman/listinfo/cmake