[llvm-commits] [compiler-rt] r172979 - in /compiler-rt/trunk: cmake/Modules/AddCompilerRT.cmake lib/interception/CMakeLists.txt lib/sanitizer_common/CMakeLists.txt

Alexey Samsonov samsonov at google.com
Sun Jan 20 06:36:12 PST 2013


Author: samsonov
Date: Sun Jan 20 08:36:12 2013
New Revision: 172979

URL: http://llvm.org/viewvc/llvm-project?rev=172979&view=rev
Log:
CMake: Add add_compiler_rt_osx_object_library to create universal libraries on Mac

Modified:
    compiler-rt/trunk/cmake/Modules/AddCompilerRT.cmake
    compiler-rt/trunk/lib/interception/CMakeLists.txt
    compiler-rt/trunk/lib/sanitizer_common/CMakeLists.txt

Modified: compiler-rt/trunk/cmake/Modules/AddCompilerRT.cmake
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/cmake/Modules/AddCompilerRT.cmake?rev=172979&r1=172978&r2=172979&view=diff
==============================================================================
--- compiler-rt/trunk/cmake/Modules/AddCompilerRT.cmake (original)
+++ compiler-rt/trunk/cmake/Modules/AddCompilerRT.cmake Sun Jan 20 08:36:12 2013
@@ -18,6 +18,20 @@
   endif()
 endmacro()
 
+# Same as above, but adds universal osx library with name "<name>.osx"
+# targeting multiple architectures.
+# add_compiler_rt_osx_object_library(<name> ARCH <architectures>
+#                                           SOURCES <source files>
+#                                           CFLAGS <compile flags>)
+macro(add_compiler_rt_osx_object_library name)
+  parse_arguments(LIB "ARCH;SOURCES;CFLAGS" "" ${ARGN})
+  set(libname "${name}.osx")
+  add_library(${libname} OBJECT ${LIB_SOURCES})
+  set_target_compile_flags(${libname} ${LIB_CFLAGS})
+  set_target_properties(${libname} PROPERTIES
+    OSX_ARCHITECTURES "${LIB_ARCH}")
+endmacro()
+
 # Adds static runtime for a given architecture and puts it in the proper
 # directory in the build and install trees.
 # add_compiler_rt_static_runtime(<name> <arch>

Modified: compiler-rt/trunk/lib/interception/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/interception/CMakeLists.txt?rev=172979&r1=172978&r2=172979&view=diff
==============================================================================
--- compiler-rt/trunk/lib/interception/CMakeLists.txt (original)
+++ compiler-rt/trunk/lib/interception/CMakeLists.txt Sun Jan 20 08:36:12 2013
@@ -22,10 +22,10 @@
 
 if(APPLE)
   # Build universal binary on APPLE.
-  add_library(RTInterception.osx OBJECT ${INTERCEPTION_SOURCES})
-  set_target_compile_flags(RTInterception.osx ${INTERCEPTION_CFLAGS})
-  set_target_properties(RTInterception.osx PROPERTIES
-    OSX_ARCHITECTURES "${SANITIZER_COMMON_SUPPORTED_ARCH}")
+  add_compiler_rt_osx_object_library(RTInterception
+    ARCH ${SANITIZER_COMMON_SUPPORTED_ARCH}
+    SOURCES ${INTERCEPTION_SOURCES}
+    CFLAGS ${INTERCEPTION_CFLAGS})
 elseif(ANDROID)
   add_library(RTInterception.arm.android OBJECT ${INTERCEPTION_SOURCES})
   set_target_compile_flags(RTInterception.arm.android

Modified: compiler-rt/trunk/lib/sanitizer_common/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/CMakeLists.txt?rev=172979&r1=172978&r2=172979&view=diff
==============================================================================
--- compiler-rt/trunk/lib/sanitizer_common/CMakeLists.txt (original)
+++ compiler-rt/trunk/lib/sanitizer_common/CMakeLists.txt Sun Jan 20 08:36:12 2013
@@ -52,10 +52,10 @@
 set(SANITIZER_RUNTIME_LIBRARIES)
 if(APPLE)
   # Build universal binary on APPLE.
-  add_library(RTSanitizerCommon.osx OBJECT ${SANITIZER_SOURCES})
-  set_target_compile_flags(RTSanitizerCommon.osx ${SANITIZER_CFLAGS})
-  set_target_properties(RTSanitizerCommon.osx PROPERTIES
-    OSX_ARCHITECTURES "${SANITIZER_COMMON_SUPPORTED_ARCH}")
+  add_compiler_rt_osx_object_library(RTSanitizerCommon
+    ARCH ${SANITIZER_COMMON_SUPPORTED_ARCH}
+    SOURCES ${SANITIZER_SOURCES}
+    CFLAGS ${SANITIZER_CFLAGS})
   list(APPEND SANITIZER_RUNTIME_LIBRARIES RTSanitizerCommon.osx)
 elseif(ANDROID)
   add_library(RTSanitizerCommon.arm.android OBJECT ${SANITIZER_SOURCES})





More information about the llvm-commits mailing list