blob: c5cb0591c51573ec4b3571b687bb0f1927d5c35d [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
25 libclang
NAKAMURA Takumi15c4ce42016-02-14 09:19:04 +000026 clangAST
27 clangBasic
Argyrios Kyrtzidis5fab8542017-01-29 04:50:35 +000028 clangCodeGen
NAKAMURA Takumi15c4ce42016-02-14 09:19:04 +000029 clangFrontend
Argyrios Kyrtzidis6fdcb9c2016-02-14 06:39:11 +000030 clangIndex
Argyrios Kyrtzidis08155c92017-01-30 07:11:27 +000031 clangSerialization
Rafael Espindola8cbf4a02014-11-05 14:04:25 +000032 )
33endif()
Chandler Carruth28969b42012-06-21 01:30:21 +000034
Douglas Gregor084a6542009-10-05 22:29:42 +000035set_target_properties(c-index-test
36 PROPERTIES
37 LINKER_LANGUAGE CXX)
Dmitri Gribenko740c0fb2012-08-07 17:54:38 +000038
39# If libxml2 is available, make it available for c-index-test.
NAKAMURA Takumi92eb2542012-12-14 18:30:20 +000040if (CLANG_HAVE_LIBXML)
NAKAMURA Takumi80e373e2013-07-09 11:14:30 +000041 include_directories(SYSTEM ${LIBXML2_INCLUDE_DIR})
Dmitri Gribenko740c0fb2012-08-07 17:54:38 +000042 target_link_libraries(c-index-test ${LIBXML2_LIBRARIES})
43endif()
Argyrios Kyrtzidise053d442015-11-12 00:46:57 +000044
Argyrios Kyrtzidisf10158c2015-11-13 22:41:14 +000045if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
46 if(INTERNAL_INSTALL_PREFIX)
47 set(INSTALL_DESTINATION "${INTERNAL_INSTALL_PREFIX}/bin")
Argyrios Kyrtzidis223838a2016-02-20 20:34:55 +000048 set_property(TARGET c-index-test APPEND PROPERTY INSTALL_RPATH
49 "@executable_path/../../lib")
Argyrios Kyrtzidisf10158c2015-11-13 22:41:14 +000050 else()
51 set(INSTALL_DESTINATION bin)
52 endif()
Argyrios Kyrtzidis2cab8ee2015-11-13 01:46:18 +000053
Argyrios Kyrtzidisf10158c2015-11-13 22:41:14 +000054 install(TARGETS c-index-test
55 RUNTIME DESTINATION "${INSTALL_DESTINATION}"
56 COMPONENT c-index-test)
Argyrios Kyrtzidis2cab8ee2015-11-13 01:46:18 +000057
Argyrios Kyrtzidisf10158c2015-11-13 22:41:14 +000058 if (NOT CMAKE_CONFIGURATION_TYPES) # don't add this for IDE's.
Shoaib Meenai669cae12017-11-30 22:35:02 +000059 add_llvm_install_targets(install-c-index-test
60 DEPENDS c-index-test
61 COMPONENT c-index-test)
Argyrios Kyrtzidisf10158c2015-11-13 22:41:14 +000062 endif()
Argyrios Kyrtzidis2cab8ee2015-11-13 01:46:18 +000063endif()