|
2 | 2 |
|
3 | 3 | cmake_minimum_required(VERSION 3.20.0)
|
4 | 4 |
|
| 5 | +include(CMakeDependentOption) |
| 6 | + |
5 | 7 | set(LLVM_COMMON_CMAKE_UTILS ${CMAKE_CURRENT_SOURCE_DIR}/../cmake)
|
6 | 8 | include(${LLVM_COMMON_CMAKE_UTILS}/Modules/CMakePolicy.cmake
|
7 | 9 | NO_POLICY_SCOPE)
|
@@ -839,34 +841,36 @@ endif()
|
839 | 841 |
|
840 | 842 | if(MSVC)
|
841 | 843 | option(LLVM_BUILD_LLVM_C_DYLIB "Build LLVM-C.dll (Windows only)" ON)
|
842 |
| - if(NOT LLVM_BUILD_LLVM_DYLIB_VIS) |
843 |
| - # Set this variable to OFF here so it can't be set with a command-line |
844 |
| - # argument. |
845 |
| - set (LLVM_LINK_LLVM_DYLIB OFF) |
846 |
| - endif() |
847 | 844 | if (BUILD_SHARED_LIBS)
|
848 | 845 | message(FATAL_ERROR "BUILD_SHARED_LIBS options is not supported on Windows.")
|
849 | 846 | endif()
|
850 | 847 | else()
|
851 | 848 | option(LLVM_BUILD_LLVM_C_DYLIB "Build libllvm-c re-export library (Darwin only)" OFF)
|
852 | 849 | endif()
|
853 | 850 |
|
| 851 | +set(CAN_BUILD_LLVM_DYLIB Off) |
854 | 852 | if(NOT MSVC OR LLVM_BUILD_LLVM_DYLIB_VIS)
|
855 |
| - option(LLVM_LINK_LLVM_DYLIB "Link tools against the libllvm dynamic library" OFF) |
856 |
| - set(LLVM_BUILD_LLVM_DYLIB_default OFF) |
857 |
| - if(LLVM_LINK_LLVM_DYLIB OR LLVM_BUILD_LLVM_C_DYLIB) |
858 |
| - set(LLVM_BUILD_LLVM_DYLIB_default ON) |
859 |
| - endif() |
860 |
| - option(LLVM_BUILD_LLVM_DYLIB "Build libllvm dynamic library" ${LLVM_BUILD_LLVM_DYLIB_default}) |
| 853 | + set(CAN_BUILD_LLVM_DYLIB On) |
| 854 | +endif() |
| 855 | + |
| 856 | +CMAKE_DEPENDENT_OPTION(LLVM_LINK_LLVM_DYLIB "Link tools against the libllvm dynamic library" OFF |
| 857 | + "CAN_BUILD_LLVM_DYLIB" OFF) |
| 858 | + |
| 859 | +set(LLVM_BUILD_LLVM_DYLIB_default OFF) |
| 860 | +if(LLVM_LINK_LLVM_DYLIB OR LLVM_BUILD_LLVM_C_DYLIB) |
| 861 | + set(LLVM_BUILD_LLVM_DYLIB_default ON) |
861 | 862 | endif()
|
| 863 | +CMAKE_DEPENDENT_OPTION(LLVM_BUILD_LLVM_DYLIB "Build libllvm dynamic library" ${LLVM_BUILD_LLVM_DYLIB_default} |
| 864 | + "CAN_BUILD_LLVM_DYLIB" OFF) |
| 865 | + |
| 866 | +CMAKE_DEPENDENT_OPTION(LLVM_DYLIB_EXPORT_INLINES "Force inline members of classes to be DLL exported when |
| 867 | + building with clang-cl so the libllvm DLL is compatible with MSVC" |
| 868 | + OFF |
| 869 | + "MSVC;LLVM_BUILD_LLVM_DYLIB_VIS" OFF) |
862 | 870 |
|
863 | 871 | # Build llvm dynamic library with explicit symbol visibility on windows and default hidden symbol visibility on Linux
|
864 | 872 | if(LLVM_BUILD_LLVM_DYLIB_VIS)
|
865 | 873 | set(LLVM_BUILD_LLVM_DYLIB ON)
|
866 |
| - if(MSVC) |
867 |
| - option(LLVM_DYLIB_EXPORT_INLINES "Force inline members of class to be dll exported when |
868 |
| - building with clang-cl so the libllvm dll is compatible with MSVC" OFF) |
869 |
| - endif() |
870 | 874 | endif()
|
871 | 875 |
|
872 | 876 | if (LLVM_LINK_LLVM_DYLIB AND BUILD_SHARED_LIBS)
|
|
0 commit comments