summaryrefslogtreecommitdiff
path: root/prototype_2016/third_party/fluid/src/CMakeLists.txt
blob: dacd2e07ce25b897c67ae3f4f50870544e48163d (plain) (blame)
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
include(GenerateExportHeader)
include(CMakePackageConfigHelpers)
include(ECMSetupVersion)
include(ECMGenerateHeaders)

ecm_setup_version(${PROJECT_VERSION} VARIABLE_PREFIX FLUID
                  VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/Fluid/fluid/fluidversion.h"
                  PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/FluidConfigVersion.cmake"
                  SOVERSION ${PROJECT_SOVERSION})

set(FLUID_INCLUDEDIR "${CMAKE_INSTALL_INCLUDEDIR}/Fluid")

set(CMAKECONFIG_INSTALL_DIR "${CMAKECONFIG_INSTALL_PREFIX}/Fluid")

configure_package_config_file("${CMAKE_CURRENT_SOURCE_DIR}/FluidConfig.cmake.in"
                              "${CMAKE_CURRENT_BINARY_DIR}/FluidConfig.cmake"
                              INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR})

install(FILES "${CMAKE_CURRENT_BINARY_DIR}/FluidConfig.cmake"
              "${CMAKE_CURRENT_BINARY_DIR}/FluidConfigVersion.cmake"
        DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
        COMPONENT Devel)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/Fluid/fluid/fluidversion.h
        DESTINATION ${FLUID_INCLUDEDIR}/fluid COMPONENT Devel)

###################################

add_definitions(-DQT_NO_KEYWORDS)

set(SOURCES
    dateutils.cpp
)

add_library(Fluid SHARED ${SOURCES})

target_link_libraries(Fluid
    PUBLIC
        Qt5::Core
)

##################################################

generate_export_header(Fluid EXPORT_FILE_NAME ${CMAKE_CURRENT_BINARY_DIR}/Fluid/fluid/fluid_export.h)

target_include_directories(Fluid INTERFACE "$<INSTALL_INTERFACE:${FLUID_INCLUDEDIR}>")

set_target_properties(Fluid PROPERTIES
                      VERSION ${PROJECT_VERSION}
                      SOVERSION ${PROJECT_SOVERSION})

ecm_generate_headers(Fluid_CamelCase_HEADERS
  HEADER_NAMES
    DateUtils
  REQUIRED_HEADERS
    Fluid_HEADERS
  PREFIX
    Fluid
  OUTPUT_DIR
    ${CMAKE_CURRENT_BINARY_DIR}/Fluid
)
install(FILES ${Fluid_CamelCase_HEADERS}
        DESTINATION ${FLUID_INCLUDEDIR}/Fluid
        COMPONENT Devel)

install(TARGETS Fluid EXPORT FluidTargets ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})

install(
    FILES
      ${CMAKE_CURRENT_BINARY_DIR}/Fluid/fluid/fluid_export.h
      dateutils.h
    DESTINATION
      ${FLUID_INCLUDEDIR}/fluid
    COMPONENT
      Devel
)

install(EXPORT FluidTargets
        DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
        FILE FluidTargets.cmake NAMESPACE Fluid::)