summaryrefslogtreecommitdiffstats
path: root/llvm/cmake/modules/AddLLVM.cmake
diff options
context:
space:
mode:
authorNAKAMURA Takumi <geek4civic@gmail.com>2014-02-13 11:25:17 +0000
committerNAKAMURA Takumi <geek4civic@gmail.com>2014-02-13 11:25:17 +0000
commit487f387b19dce3e3683e35089df92ef5c22589e4 (patch)
tree174622241eabf4936093a1b9967ed62461aacf67 /llvm/cmake/modules/AddLLVM.cmake
parent8e57597830f2bb3686a2b2c2d90f19de1bc379c8 (diff)
downloadbcm5719-llvm-487f387b19dce3e3683e35089df92ef5c22589e4.tar.gz
bcm5719-llvm-487f387b19dce3e3683e35089df92ef5c22589e4.zip
[CMake] Let llvm_add_library(MODULE) check capability of loadable module.
On unsupported platforms, llvm_add_library(MODULE) doesn't create any targets. Caller may be responsible to check and add extra target properties. llvm-svn: 201320
Diffstat (limited to 'llvm/cmake/modules/AddLLVM.cmake')
-rw-r--r--llvm/cmake/modules/AddLLVM.cmake16
1 files changed, 10 insertions, 6 deletions
diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake
index 776808d6bb1..39badf41d77 100644
--- a/llvm/cmake/modules/AddLLVM.cmake
+++ b/llvm/cmake/modules/AddLLVM.cmake
@@ -163,9 +163,12 @@ function(set_output_directory target bindir libdir)
endfunction()
# llvm_add_library(name sources...
-# MODULE;SHARED;STATIC
+# SHARED;STATIC
# STATIC by default w/o BUILD_SHARED_LIBS.
# SHARED by default w/ BUILD_SHARED_LIBS.
+# MODULE
+# Target ${name} might not be created on unsupported platforms.
+# Check with "if(TARGET ${name})".
# OUTPUT_NAME name
# Corresponds to OUTPUT_NAME in target properties.
# DEPENDS targets...
@@ -194,6 +197,10 @@ function(llvm_add_library name)
if(ARG_SHARED OR ARG_STATIC)
message(WARNING "MODULE with SHARED|STATIC doesn't make sense.")
endif()
+ if(NOT LLVM_ON_UNIX OR CYGWIN)
+ message(STATUS "${name} ignored -- Loadable modules not supported on this platform.")
+ return()
+ endif()
else()
if(BUILD_SHARED_LIBS AND NOT ARG_STATIC)
set(ARG_SHARED TRUE)
@@ -281,14 +288,11 @@ macro(add_llvm_library name)
endmacro(add_llvm_library name)
macro(add_llvm_loadable_module name)
- if( NOT LLVM_ON_UNIX OR CYGWIN )
- message(STATUS "Loadable modules not supported on this platform.
-${name} ignored.")
+ llvm_add_library(${name} MODULE ${ARGN})
+ if(NOT TARGET ${name})
# Add empty "phony" target
add_custom_target(${name})
else()
- llvm_add_library(${name} MODULE ${ARGN})
-
if( EXCLUDE_FROM_ALL )
set_target_properties( ${name} PROPERTIES EXCLUDE_FROM_ALL ON)
else()
OpenPOWER on IntegriCloud