aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/wordnet/CMakeLists.txt
blob: 78a16c1d79d026cbbb726599dbddd38cb7fec1c4 (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
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
cmake_minimum_required (VERSION 3.14)
project ("wordnet")
set (target_name ${CMAKE_PROJECT_NAME}) # CMAKE_PROJECT_NAME for the top-level project() call

option (BUILD_SHARED_LIBS "Create ${target_name} as a shared library" OFF)
set (CMAKE_DEBUG_POSTFIX "d" CACHE STRING "postfix for debug lib")

set (INCLUDE_DIR_BUILD "${CMAKE_CURRENT_LIST_DIR}/include")

include (GNUInstallDirs)

file (GLOB wordnet_headers ${INCLUDE_DIR_BUILD}/wn.h)
file (GLOB wordnet_srcs "lib/*.c")

add_library (${target_name} ${wordnet_srcs} ${wordnet_headers})

target_include_directories (${target_name} 
    PRIVATE ${INCLUDE_DIR_BUILD} 
    PUBLIC $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
)

set_target_properties(${target_name} PROPERTIES
    C_STANDARD 11
)

target_compile_definitions(${PROJECT_NAME} PUBLIC DEFAULTPATH="${WORDNET_DICT_PATH}")

if (MSVC)
    set_target_properties(${target_name} PROPERTIES
        VS_DEBUGGER_WORKING_DIRECTORY $<TARGET_FILE_DIR:${target_name}>
        COMPILE_FLAGS "/wd4996 /wd4267 /wd4244 /wd4047"
    )
    target_compile_definitions(${PROJECT_NAME} PRIVATE _CRT_SECURE_NO_WARNINGS)
    set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT ${target_name})
endif()

install (TARGETS ${target_name} EXPORT ${target_name}-targets
    ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
    LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
    RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)

install(FILES 
    ${wordnet_headers} 
    DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${target_name}
    CONFIGURATIONS Release
)

install (EXPORT ${target_name}-targets
    FILE ${target_name}-targets.cmake
    NAMESPACE ${target_name}::
    DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/${target_name}"
)

configure_file(${target_name}-config.cmake.in "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${target_name}-config.cmake" @ONLY)

install(FILES
  "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${target_name}-config.cmake"
  DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/${target_name}"
)

install(DIRECTORY
    dict/ DESTINATION ${WORDNET_DICT_PATH}
    CONFIGURATIONS Release
)
install(DIRECTORY
    doc/ DESTINATION ${CMAKE_INSTALL_DOCDIR}
    CONFIGURATIONS Release
)