aboutsummaryrefslogtreecommitdiff
path: root/test/postinstall/c_app/CMakeLists.txt
blob: a493849b575410b7c69bca14e2c0482f1e902416 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
cmake_minimum_required(VERSION 3.5)
project(C_APP LANGUAGES C)

set(USE_PROJ_NAME "PROJ"
  CACHE STRING "Either PROJ (default) or PROJ4")

find_package(${USE_PROJ_NAME} REQUIRED CONFIG)

include(CMakePrintHelpers)
cmake_print_properties(
  TARGETS ${USE_PROJ_NAME}::proj
  PROPERTIES
    LOCATION
    INTERFACE_INCLUDE_DIRECTORIES
    INTERFACE_LINK_LIBRARIES
    INTERFACE_COMPILE_FEATURES
)

add_executable(c_app c_app.c)
target_link_libraries(c_app PRIVATE ${USE_PROJ_NAME}::proj)

get_target_property(PROJLIB_LOCATION ${USE_PROJ_NAME}::proj LOCATION)
if(PROJLIB_LOCATION MATCHES ".*\.(lib|a)$")
  # Used for static linking (is there a better way?)
  enable_language(CXX)
  set_target_properties(c_app PROPERTIES LINKER_LANGUAGE CXX)
endif()

set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/..)
include(common)
add_test_ldd(c_app proj)
add_test_transform(c_app)
add_test_searchpath(c_app)
add_test_version(c_app)