blob: c3641eacd22d2b71c5dff9cb489f82f7cfa6b42b [file] [log] [blame]
Oscar Fuentes3d01fc72008-09-22 01:08:49 +00001include(LLVMConfig)
2
3macro(add_llvm_library name)
4 add_library( ${name} ${ARGN} )
5 set( llvm_libs ${llvm_libs} ${name} PARENT_SCOPE)
6endmacro(add_llvm_library name)
7
8
9macro(add_llvm_executable name)
10 add_executable(${name} ${ARGN})
11 if( LLVM_LINK_COMPONENTS )
12 llvm_config(${name} ${LLVM_LINK_COMPONENTS})
13 endif( LLVM_LINK_COMPONENTS )
14 if( MSVC )
15 target_link_libraries(${name} ${llvm_libs})
16 else( MSVC )
17 add_dependencies(${name} llvm-config.target)
18 set_target_properties(${name}
19 PROPERTIES
20 LINK_FLAGS "-L ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}")
21 if( MINGW )
22 target_link_libraries(${name} DbgHelp psapi)
23 elseif( CMAKE_HOST_UNIX )
24 target_link_libraries(${name} dl)
25 endif( MINGW )
26 endif( MSVC )
27endmacro(add_llvm_executable name)
28
29
30macro(add_llvm_tool name)
31 set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${LLVM_TOOLS_BINARY_DIR})
32 add_llvm_executable(${name} ${ARGN})
33endmacro(add_llvm_tool name)
34
35
36macro(add_llvm_example name)
37# set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${LLVM_EXAMPLES_BINARY_DIR})
38 add_llvm_executable(${name} ${ARGN})
39endmacro(add_llvm_example name)