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