blob: d38c7bb28709ea3ce34fd53d246296aafad09b05 [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
Shoaib Meenai266e9812017-12-06 23:02:00 +000019 PRIVATE
Rafael Espindola8cbf4a02014-11-05 14:04:25 +000020 libclang_static
Rafael Espindola46f68f52017-02-15 22:19:04 +000021 clangCodeGen
Argyrios Kyrtzidis6fdcb9c2016-02-14 06:39:11 +000022 clangIndex
Chandler Carruth28969b42012-06-21 01:30:21 +000023 )
Rafael Espindola8cbf4a02014-11-05 14:04:25 +000024else()
25 target_link_libraries(c-index-test
Shoaib Meenaid806af32017-12-05 21:49:56 +000026 PRIVATE
Rafael Espindola8cbf4a02014-11-05 14:04:25 +000027 libclang
NAKAMURA Takumi15c4ce42016-02-14 09:19:04 +000028 clangAST
29 clangBasic
Argyrios Kyrtzidis5fab8542017-01-29 04:50:35 +000030 clangCodeGen
NAKAMURA Takumi15c4ce42016-02-14 09:19:04 +000031 clangFrontend
Argyrios Kyrtzidis6fdcb9c2016-02-14 06:39:11 +000032 clangIndex
Argyrios Kyrtzidis08155c92017-01-30 07:11:27 +000033 clangSerialization
Rafael Espindola8cbf4a02014-11-05 14:04:25 +000034 )
35endif()
Chandler Carruth28969b42012-06-21 01:30:21 +000036
Douglas Gregor084a6542009-10-05 22:29:42 +000037set_target_properties(c-index-test
38 PROPERTIES
39 LINKER_LANGUAGE CXX)
Dmitri Gribenko740c0fb2012-08-07 17:54:38 +000040
41# If libxml2 is available, make it available for c-index-test.
NAKAMURA Takumi92eb2542012-12-14 18:30:20 +000042if (CLANG_HAVE_LIBXML)
NAKAMURA Takumi80e373e2013-07-09 11:14:30 +000043 include_directories(SYSTEM ${LIBXML2_INCLUDE_DIR})
Shoaib Meenaid806af32017-12-05 21:49:56 +000044 target_link_libraries(c-index-test PRIVATE ${LIBXML2_LIBRARIES})
Dmitri Gribenko740c0fb2012-08-07 17:54:38 +000045endif()
Argyrios Kyrtzidise053d442015-11-12 00:46:57 +000046
Argyrios Kyrtzidisf10158c2015-11-13 22:41:14 +000047if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
48 if(INTERNAL_INSTALL_PREFIX)
49 set(INSTALL_DESTINATION "${INTERNAL_INSTALL_PREFIX}/bin")
Argyrios Kyrtzidis223838a2016-02-20 20:34:55 +000050 set_property(TARGET c-index-test APPEND PROPERTY INSTALL_RPATH
51 "@executable_path/../../lib")
Argyrios Kyrtzidisf10158c2015-11-13 22:41:14 +000052 else()
53 set(INSTALL_DESTINATION bin)
54 endif()
Argyrios Kyrtzidis2cab8ee2015-11-13 01:46:18 +000055
Argyrios Kyrtzidisf10158c2015-11-13 22:41:14 +000056 install(TARGETS c-index-test
57 RUNTIME DESTINATION "${INSTALL_DESTINATION}"
58 COMPONENT c-index-test)
Argyrios Kyrtzidis2cab8ee2015-11-13 01:46:18 +000059
Argyrios Kyrtzidisf10158c2015-11-13 22:41:14 +000060 if (NOT CMAKE_CONFIGURATION_TYPES) # don't add this for IDE's.
Shoaib Meenai669cae12017-11-30 22:35:02 +000061 add_llvm_install_targets(install-c-index-test
62 DEPENDS c-index-test
63 COMPONENT c-index-test)
Argyrios Kyrtzidisf10158c2015-11-13 22:41:14 +000064 endif()
Argyrios Kyrtzidis2cab8ee2015-11-13 01:46:18 +000065endif()