diff options
| author | NAKAMURA Takumi <geek4civic@gmail.com> | 2014-07-13 13:33:26 +0000 |
|---|---|---|
| committer | NAKAMURA Takumi <geek4civic@gmail.com> | 2014-07-13 13:33:26 +0000 |
| commit | 44f64eadd00d92b8a75a3e26384a390dfb48207d (patch) | |
| tree | 98006f50fef0d457e607679d3bf538d9dc899436 | |
| parent | f0e30f6e5bab4178deb83a701753ce352671c4df (diff) | |
| download | bcm5719-llvm-44f64eadd00d92b8a75a3e26384a390dfb48207d.tar.gz bcm5719-llvm-44f64eadd00d92b8a75a3e26384a390dfb48207d.zip | |
[CMake] Introduce moddir for MODULE -- corresponding to LIBRARY_OUTPUT_DIRECTORY.
On Win32.DLL, it points not lib but bin.
LIBRARY_OUTPUT_DIRECTORY affects add_library(MODULE), especially Win32.DLL.
llvm-svn: 212903
| -rw-r--r-- | llvm/cmake/modules/AddLLVM.cmake | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake index 3f11a7d77e2..85149abf5e3 100644 --- a/llvm/cmake/modules/AddLLVM.cmake +++ b/llvm/cmake/modules/AddLLVM.cmake @@ -155,19 +155,28 @@ function(set_output_directory target bindir libdir) return() endif() + # moddir -- corresponding to LIBRARY_OUTPUT_DIRECTORY. + # It affects output of add_library(MODULE). + if(WIN32 OR CYGWIN) + # DLL platform + set(moddir ${bindir}) + else() + set(moddir ${libdir}) + endif() if(NOT "${CMAKE_CFG_INTDIR}" STREQUAL ".") foreach(build_mode ${CMAKE_CONFIGURATION_TYPES}) string(TOUPPER "${build_mode}" CONFIG_SUFFIX) string(REPLACE ${CMAKE_CFG_INTDIR} ${build_mode} bi ${bindir}) string(REPLACE ${CMAKE_CFG_INTDIR} ${build_mode} li ${libdir}) + string(REPLACE ${CMAKE_CFG_INTDIR} ${build_mode} mi ${moddir}) set_target_properties(${target} PROPERTIES "RUNTIME_OUTPUT_DIRECTORY_${CONFIG_SUFFIX}" ${bi}) set_target_properties(${target} PROPERTIES "ARCHIVE_OUTPUT_DIRECTORY_${CONFIG_SUFFIX}" ${li}) - set_target_properties(${target} PROPERTIES "LIBRARY_OUTPUT_DIRECTORY_${CONFIG_SUFFIX}" ${li}) + set_target_properties(${target} PROPERTIES "LIBRARY_OUTPUT_DIRECTORY_${CONFIG_SUFFIX}" ${mi}) endforeach() else() set_target_properties(${target} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${bindir}) set_target_properties(${target} PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${libdir}) - set_target_properties(${target} PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${libdir}) + set_target_properties(${target} PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${moddir}) endif() endfunction() @@ -383,9 +392,15 @@ macro(add_llvm_loadable_module name) set_target_properties( ${name} PROPERTIES EXCLUDE_FROM_ALL ON) else() if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) + if(WIN32 OR CYGWIN) + # DLL platform + set(dlldir "bin") + else() + set(dlldir "lib${LLVM_LIBDIR_SUFFIX}") + endif() install(TARGETS ${name} EXPORT LLVMExports - LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX} + LIBRARY DESTINATION ${dlldir} ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}) endif() set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name}) |

