aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/duktape/CMakeLists.txt
blob: 3b2054cd1b2fd8470bd5161c618483d716e981e3 (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
cmake_minimum_required(VERSION 3.13)

option(CMAKE_VERBOSE_MAKEFILE "Create verbose makefile" OFF)
option(BUILD_SHARED_LIBS "Create duktape as a shared library" ON)

project(duktape VERSION ${VERSION})

file(GLOB_RECURSE DUKTAPE_SOURCES "${CMAKE_CURRENT_LIST_DIR}/src/*.c")
file(GLOB_RECURSE DUKTAPE_HEADERS "${CMAKE_CURRENT_LIST_DIR}/src/*.h")

add_library(duktape ${DUKTAPE_SOURCES} ${DUKTAPE_HEADERS})
target_include_directories(duktape PRIVATE "${CMAKE_CURRENT_LIST_DIR}/src")
target_include_directories(duktape PUBLIC "$<INSTALL_INTERFACE:include>")
set_target_properties(duktape PROPERTIES PUBLIC_HEADER "${DUKTAPE_HEADERS}")
set_target_properties(duktape PROPERTIES VERSION ${duktape_VERSION})
set_target_properties(duktape PROPERTIES SOVERSION ${duktape_VERSION_MAJOR})

if (BUILD_SHARED_LIBS)
  target_compile_definitions(duktape PRIVATE -DDUK_F_DLL_BUILD)
endif ()

install(TARGETS duktape
        EXPORT duktapeTargets
        ARCHIVE DESTINATION "lib"
        LIBRARY DESTINATION "lib"
        RUNTIME DESTINATION "bin"
        PUBLIC_HEADER DESTINATION "include"
        COMPONENT dev
)

install(EXPORT duktapeTargets
  FILE unofficial-duktape-config.cmake
  NAMESPACE unofficial::duktape::
  DESTINATION "share/unofficial-duktape"
)

export(PACKAGE duktape)

include(CMakePackageConfigHelpers)
write_basic_package_version_file("${PROJECT_BINARY_DIR}/unofficial-duktape-config-version.cmake"
  COMPATIBILITY SameMajorVersion
)

install(FILES
  "${PROJECT_BINARY_DIR}/unofficial-duktape-config-version.cmake"
  DESTINATION "share/unofficial-duktape"
)

set(prefix "")
set(LIBDIR "/lib")
set(VERSION "${duktape_VERSION}")
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/duktape.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/duktape.pc" @ONLY)
install(
    FILES "${CMAKE_CURRENT_BINARY_DIR}/duktape.pc"
    DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig"
)