blob: b845af081da6ce6a45ff2000967057b226453963 [file] [log] [blame]
Argyrios Kyrtzidis6fdcb9c2016-02-14 06:39:11 +00001set(LLVM_LINK_COMPONENTS
2 support
3)
4
Michael J. Spencer09476212010-09-13 23:54:41 +00005add_clang_executable(c-index-test
6 c-index-test.c
Argyrios Kyrtzidis6fdcb9c2016-02-14 06:39:11 +00007 core_main.cpp
Michael J. Spencer0881f4a2010-09-10 21:13:16 +00008 )
9
Dmitri Gribenko9fcad0942012-11-07 23:52:25 +000010if(NOT MSVC)
11 set_property(
12 SOURCE c-index-test.c
Rafael Espindolacf63c0d2014-01-08 11:44:42 +000013 PROPERTY COMPILE_FLAGS "-std=gnu89"
Dmitri Gribenko9fcad0942012-11-07 23:52:25 +000014 )
15endif()
16
Rafael Espindola8cbf4a02014-11-05 14:04:25 +000017if (LLVM_BUILD_STATIC)
18 target_link_libraries(c-index-test
19 libclang_static
Argyrios Kyrtzidis6fdcb9c2016-02-14 06:39:11 +000020 clangIndex
Chandler Carruth28969b42012-06-21 01:30:21 +000021 )
Rafael Espindola8cbf4a02014-11-05 14:04:25 +000022else()
23 target_link_libraries(c-index-test
24 libclang
NAKAMURA Takumi15c4ce42016-02-14 09:19:04 +000025 clangAST
26 clangBasic
Argyrios Kyrtzidis5fab8542017-01-29 04:50:35 +000027 clangCodeGen
NAKAMURA Takumi15c4ce42016-02-14 09:19:04 +000028 clangFrontend
Argyrios Kyrtzidis6fdcb9c2016-02-14 06:39:11 +000029 clangIndex
Rafael Espindola8cbf4a02014-11-05 14:04:25 +000030 )
31endif()
Chandler Carruth28969b42012-06-21 01:30:21 +000032
Douglas Gregor084a6542009-10-05 22:29:42 +000033set_target_properties(c-index-test
34 PROPERTIES
35 LINKER_LANGUAGE CXX)
Dmitri Gribenko740c0fb2012-08-07 17:54:38 +000036
37# If libxml2 is available, make it available for c-index-test.
NAKAMURA Takumi92eb2542012-12-14 18:30:20 +000038if (CLANG_HAVE_LIBXML)
NAKAMURA Takumi80e373e2013-07-09 11:14:30 +000039 include_directories(SYSTEM ${LIBXML2_INCLUDE_DIR})
Dmitri Gribenko740c0fb2012-08-07 17:54:38 +000040 target_link_libraries(c-index-test ${LIBXML2_LIBRARIES})
41endif()
Argyrios Kyrtzidise053d442015-11-12 00:46:57 +000042
Argyrios Kyrtzidisf10158c2015-11-13 22:41:14 +000043if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
44 if(INTERNAL_INSTALL_PREFIX)
45 set(INSTALL_DESTINATION "${INTERNAL_INSTALL_PREFIX}/bin")
Argyrios Kyrtzidis223838a2016-02-20 20:34:55 +000046 set_property(TARGET c-index-test APPEND PROPERTY INSTALL_RPATH
47 "@executable_path/../../lib")
Argyrios Kyrtzidisf10158c2015-11-13 22:41:14 +000048 else()
49 set(INSTALL_DESTINATION bin)
50 endif()
Argyrios Kyrtzidis2cab8ee2015-11-13 01:46:18 +000051
Argyrios Kyrtzidisf10158c2015-11-13 22:41:14 +000052 install(TARGETS c-index-test
53 RUNTIME DESTINATION "${INSTALL_DESTINATION}"
54 COMPONENT c-index-test)
Argyrios Kyrtzidis2cab8ee2015-11-13 01:46:18 +000055
Argyrios Kyrtzidisf10158c2015-11-13 22:41:14 +000056 if (NOT CMAKE_CONFIGURATION_TYPES) # don't add this for IDE's.
57 add_custom_target(install-c-index-test
58 DEPENDS c-index-test
59 COMMAND "${CMAKE_COMMAND}"
60 -DCMAKE_INSTALL_COMPONENT=c-index-test
61 -P "${CMAKE_BINARY_DIR}/cmake_install.cmake")
62 endif()
Argyrios Kyrtzidis2cab8ee2015-11-13 01:46:18 +000063endif()