[llvm-commits] [polly] r166394 - in /polly/trunk: CMakeLists.txt cmake/polly_macros.cmake

Tobias Grosser grosser at fim.uni-passau.de
Sun Oct 21 08:51:50 PDT 2012


Author: grosser
Date: Sun Oct 21 10:51:49 2012
New Revision: 166394

URL: http://llvm.org/viewvc/llvm-project?rev=166394&view=rev
Log:
Introduce a separate file for CMake macros

Contributed by:  Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>

Added:
    polly/trunk/cmake/polly_macros.cmake
Modified:
    polly/trunk/CMakeLists.txt

Modified: polly/trunk/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/CMakeLists.txt?rev=166394&r1=166393&r2=166394&view=diff
==============================================================================
--- polly/trunk/CMakeLists.txt (original)
+++ polly/trunk/CMakeLists.txt Sun Oct 21 10:51:49 2012
@@ -59,6 +59,14 @@
 set(POLLY_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
 set(POLLY_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR})
 
+# Add path for custom modules
+set(CMAKE_MODULE_PATH
+  ${CMAKE_MODULE_PATH}
+  "${CMAKE_CURRENT_SOURCE_DIR}/cmake"
+  )
+
+include("polly_macros")
+
 # Add appropriate flags for GCC
 if (CMAKE_COMPILER_IS_GNUCXX)
   # FIXME: Turn off exceptions, RTTI:
@@ -116,76 +124,6 @@
   INCLUDE_DIRECTORIES( ${SCOPLIB_INCLUDE_DIR} )
 endif(SCOPLIB_FOUND)
 
-macro(add_polly_library name)
-  set(srcs ${ARGN})
-  if(MSVC_IDE OR XCODE)
-    file( GLOB_RECURSE headers *.h *.td *.def)
-    set(srcs ${srcs} ${headers})
-    string( REGEX MATCHALL "/[^/]+" split_path ${CMAKE_CURRENT_SOURCE_DIR})
-    list( GET split_path -1 dir)
-    file( GLOB_RECURSE headers 
-      ../../include/polly${dir}/*.h)
-    set(srcs ${srcs} ${headers})
-  endif(MSVC_IDE OR XCODE)
-  if (MODULE)
-    set(libkind MODULE)
-  elseif (SHARED_LIBRARY)
-    set(libkind SHARED)
-  else()
-    set(libkind)
-  endif()
-  add_library( ${name} ${libkind} ${srcs} )
-  if( LLVM_COMMON_DEPENDS )
-    add_dependencies( ${name} ${LLVM_COMMON_DEPENDS} )
-  endif( LLVM_COMMON_DEPENDS )
-  if( LLVM_USED_LIBS )
-    foreach(lib ${LLVM_USED_LIBS})
-      target_link_libraries( ${name} ${lib} )
-    endforeach(lib)
-  endif( LLVM_USED_LIBS )
-
-  target_link_libraries( ${name} ${ISL_LIBRARY} ${GMP_LIBRARY})
-
-  if (CLOOG_FOUND)
-    target_link_libraries( ${name} ${CLOOG_LIBRARY})
-  endif(CLOOG_FOUND)
-  if (OPENSCOP_FOUND)
-    target_link_libraries( ${name} ${OPENSCOP_LIBRARY})
-  endif(OPENSCOP_FOUND)
-  if (SCOPLIB_FOUND)
-    target_link_libraries( ${name} ${SCOPLIB_LIBRARY})
-  endif(SCOPLIB_FOUND)
-
-  if( LLVM_LINK_COMPONENTS )
-    llvm_config(${name} ${LLVM_LINK_COMPONENTS})
-  endif( LLVM_LINK_COMPONENTS )
-  get_system_libs(llvm_system_libs)
-  if( llvm_system_libs )
-    target_link_libraries(${name} ${llvm_system_libs})
-  endif( llvm_system_libs )
-  
-  if(MSVC)
-    get_target_property(cflag ${name} COMPILE_FLAGS)
-    if(NOT cflag)
-      set(cflag "")
-    endif(NOT cflag)
-    set(cflag "${cflag} /Za")
-    set_target_properties(${name} PROPERTIES COMPILE_FLAGS ${cflag})
-  endif(MSVC)
-  install(TARGETS ${name}
-    LIBRARY DESTINATION lib
-    ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX})
-endmacro(add_polly_library)
-
-macro(add_polly_loadable_module name)
-  set(srcs ${ARGN})
-  add_polly_library(${name} ${srcs})
-  if (APPLE)
-    # Darwin-specific linker flags for loadable modules.
-    set_target_properties(${name} PROPERTIES
-      LINK_FLAGS "-Wl,-flat_namespace -Wl,-undefined -Wl,suppress")
-  endif()
-endmacro(add_polly_loadable_module)
 
 include_directories(
   ${CMAKE_CURRENT_SOURCE_DIR}/include

Added: polly/trunk/cmake/polly_macros.cmake
URL: http://llvm.org/viewvc/llvm-project/polly/trunk/cmake/polly_macros.cmake?rev=166394&view=auto
==============================================================================
--- polly/trunk/cmake/polly_macros.cmake (added)
+++ polly/trunk/cmake/polly_macros.cmake Sun Oct 21 10:51:49 2012
@@ -0,0 +1,72 @@
+
+macro(add_polly_library name)
+  set(srcs ${ARGN})
+  if(MSVC_IDE OR XCODE)
+    file( GLOB_RECURSE headers *.h *.td *.def)
+    set(srcs ${srcs} ${headers})
+    string( REGEX MATCHALL "/[^/]+" split_path ${CMAKE_CURRENT_SOURCE_DIR})
+    list( GET split_path -1 dir)
+    file( GLOB_RECURSE headers
+      ../../include/polly${dir}/*.h)
+    set(srcs ${srcs} ${headers})
+  endif(MSVC_IDE OR XCODE)
+  if (MODULE)
+    set(libkind MODULE)
+  elseif (SHARED_LIBRARY)
+    set(libkind SHARED)
+  else()
+    set(libkind)
+  endif()
+  add_library( ${name} ${libkind} ${srcs} )
+  if( LLVM_COMMON_DEPENDS )
+    add_dependencies( ${name} ${LLVM_COMMON_DEPENDS} )
+  endif( LLVM_COMMON_DEPENDS )
+  if( LLVM_USED_LIBS )
+    foreach(lib ${LLVM_USED_LIBS})
+      target_link_libraries( ${name} ${lib} )
+    endforeach(lib)
+  endif( LLVM_USED_LIBS )
+
+  target_link_libraries( ${name} ${ISL_LIBRARY} ${GMP_LIBRARY})
+
+  if (CLOOG_FOUND)
+    target_link_libraries( ${name} ${CLOOG_LIBRARY})
+  endif(CLOOG_FOUND)
+
+  if (OPENSCOP_FOUND)
+    target_link_libraries( ${name} ${OPENSCOP_LIBRARY})
+  endif(OPENSCOP_FOUND)
+  if (SCOPLIB_FOUND)
+    target_link_libraries( ${name} ${SCOPLIB_LIBRARY})
+  endif(SCOPLIB_FOUND)
+
+  if( LLVM_LINK_COMPONENTS )
+    llvm_config(${name} ${LLVM_LINK_COMPONENTS})
+  endif( LLVM_LINK_COMPONENTS )
+  get_system_libs(llvm_system_libs)
+  if( llvm_system_libs )
+    target_link_libraries(${name} ${llvm_system_libs})
+  endif( llvm_system_libs )
+
+  if(MSVC)
+    get_target_property(cflag ${name} COMPILE_FLAGS)
+    if(NOT cflag)
+      set(cflag "")
+    endif(NOT cflag)
+    set(cflag "${cflag} /Za")
+    set_target_properties(${name} PROPERTIES COMPILE_FLAGS ${cflag})
+  endif(MSVC)
+  install(TARGETS ${name}
+    LIBRARY DESTINATION lib
+    ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX})
+endmacro(add_polly_library)
+
+macro(add_polly_loadable_module name)
+  set(srcs ${ARGN})
+  add_polly_library(${name} ${srcs})
+  if (APPLE)
+    # Darwin-specific linker flags for loadable modules.
+    set_target_properties(${name} PROPERTIES
+      LINK_FLAGS "-Wl,-flat_namespace -Wl,-undefined -Wl,suppress")
+  endif()
+endmacro(add_polly_loadable_module)





More information about the llvm-commits mailing list