summaryrefslogtreecommitdiffstats
path: root/llvm/cmake/modules/AddLLVM.cmake
diff options
context:
space:
mode:
authorTom Stellard <tstellar@redhat.com>2018-12-20 22:04:08 +0000
committerTom Stellard <tstellar@redhat.com>2018-12-20 22:04:08 +0000
commit2f44fbe936fab72921c3daa41fc8bf8f491c55be (patch)
treed474ab2578e520d6532ae40ab6107378decae5fa /llvm/cmake/modules/AddLLVM.cmake
parentb1f500f29483c5453390291c68765b068770c0e4 (diff)
downloadbcm5719-llvm-2f44fbe936fab72921c3daa41fc8bf8f491c55be.tar.gz
bcm5719-llvm-2f44fbe936fab72921c3daa41fc8bf8f491c55be.zip
cmake: Remove add_llvm_loadable_module()
Summary: This function is very similar to add_llvm_library(), so this patch merges it into add_llvm_library() and replaces all calls to add_llvm_loadable_module(lib ...) with add_llvm_library(lib MODULE ...) Reviewers: philip.pfaffe, beanz, chandlerc Reviewed By: philip.pfaffe Subscribers: chapuni, mgorny, llvm-commits Differential Revision: https://reviews.llvm.org/D51748 llvm-svn: 349839
Diffstat (limited to 'llvm/cmake/modules/AddLLVM.cmake')
-rw-r--r--llvm/cmake/modules/AddLLVM.cmake47
1 files changed, 10 insertions, 37 deletions
diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake
index c5aa961a292..497d0854321 100644
--- a/llvm/cmake/modules/AddLLVM.cmake
+++ b/llvm/cmake/modules/AddLLVM.cmake
@@ -616,11 +616,13 @@ endfunction()
macro(add_llvm_library name)
cmake_parse_arguments(ARG
- "SHARED;BUILDTREE_ONLY"
+ "SHARED;BUILDTREE_ONLY;MODULE"
""
""
${ARGN})
- if( BUILD_SHARED_LIBS OR ARG_SHARED )
+ if(ARG_MODULE)
+ llvm_add_library(${name} MODULE ${ARG_UNPARSED_ARGUMENTS})
+ elseif( BUILD_SHARED_LIBS OR ARG_SHARED )
llvm_add_library(${name} SHARED ${ARG_UNPARSED_ARGUMENTS})
else()
llvm_add_library(${name} ${ARG_UNPARSED_ARGUMENTS})
@@ -629,7 +631,7 @@ macro(add_llvm_library name)
# Libraries that are meant to only be exposed via the build tree only are
# never installed and are only exported as a target in the special build tree
# config file.
- if (NOT ARG_BUILDTREE_ONLY)
+ if (NOT ARG_BUILDTREE_ONLY AND NOT ARG_MODULE)
set_property( GLOBAL APPEND PROPERTY LLVM_LIBS ${name} )
endif()
@@ -642,7 +644,7 @@ macro(add_llvm_library name)
${name} STREQUAL "OptRemarks" OR
(LLVM_LINK_LLVM_DYLIB AND ${name} STREQUAL "LLVM"))
set(install_dir lib${LLVM_LIBDIR_SUFFIX})
- if(ARG_SHARED OR BUILD_SHARED_LIBS)
+ if(ARG_MODULE OR ARG_SHARED OR BUILD_SHARED_LIBS)
if(WIN32 OR CYGWIN OR MINGW)
set(install_type RUNTIME)
set(install_dir bin)
@@ -673,43 +675,14 @@ macro(add_llvm_library name)
set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name})
endif()
set_target_properties(${name} PROPERTIES FOLDER "Libraries")
-endmacro(add_llvm_library name)
-
-macro(add_llvm_loadable_module name)
- llvm_add_library(${name} MODULE ${ARGN})
if(NOT TARGET ${name})
# Add empty "phony" target
add_custom_target(${name})
- else()
- if( EXCLUDE_FROM_ALL )
- 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()
-
- if(${name} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR
- NOT LLVM_DISTRIBUTION_COMPONENTS)
- set(export_to_llvmexports EXPORT LLVMExports)
- set_property(GLOBAL PROPERTY LLVM_HAS_EXPORTS True)
- endif()
-
- install(TARGETS ${name}
- ${export_to_llvmexports}
- LIBRARY DESTINATION ${dlldir}
- ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX})
- endif()
- set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name})
- endif()
endif()
-
- set_target_properties(${name} PROPERTIES FOLDER "Loadable modules")
-endmacro(add_llvm_loadable_module name)
-
+ if (ARG_MODULE)
+ set_target_properties(${name} PROPERTIES FOLDER "Loadable modules")
+ endif()
+endmacro(add_llvm_library name)
macro(add_llvm_executable name)
cmake_parse_arguments(ARG
OpenPOWER on IntegriCloud