xref: /llvm-project/libc/examples/examples.cmake (revision fda04b1caaf1a61b208f23e717a2db6d9b861f5a)
19145bf13SSiva Chandra Reddyfunction(add_example name)
29145bf13SSiva Chandra Reddy  add_executable(
39145bf13SSiva Chandra Reddy    ${name}
49145bf13SSiva Chandra Reddy    ${ARGN}
59145bf13SSiva Chandra Reddy  )
69145bf13SSiva Chandra Reddy
7*fda04b1cSRajveer Singh Bharadwaj  if(LLVM_LIBC_FULL_BUILD)
89145bf13SSiva Chandra Reddy    target_link_options(${name} PRIVATE -static -rtlib=compiler-rt -fuse-ld=lld)
99145bf13SSiva Chandra Reddy  elseif(LIBC_OVERLAY_ARCHIVE_DIR)
109145bf13SSiva Chandra Reddy    target_link_directories(${name} PRIVATE ${LIBC_OVERLAY_ARCHIVE_DIR})
119145bf13SSiva Chandra Reddy    target_link_options(${name} PRIVATE -l:libllvmlibc.a)
129145bf13SSiva Chandra Reddy  else()
13*fda04b1cSRajveer Singh Bharadwaj    message(FATAL_ERROR "Either LLVM_LIBC_FULL_BUILD should be on or "
149145bf13SSiva Chandra Reddy                        "LIBC_OVERLAY_ARCHIVE_DIR should be set.")
159145bf13SSiva Chandra Reddy  endif()
169145bf13SSiva Chandra Reddyendfunction()
17