]>
Commit | Line | Data |
---|---|---|
1e59de90 TL |
1 | set(LIBSPATIALITE_VERSION_STR "5.0.0") |
2 | vcpkg_download_distfile(ARCHIVE | |
3 | URLS "http://www.gaia-gis.it/gaia-sins/libspatialite-sources/libspatialite-${LIBSPATIALITE_VERSION_STR}.tar.gz" | |
4 | FILENAME "libspatialite-${LIBSPATIALITE_VERSION_STR}.tar.gz" | |
5 | SHA512 df72a3434d6e49f8836a9de2340f343a53f0673d0d17693cdb0f4971928b7c8bf40df44b21c0861945a9c81058e939acd1714b0b426ce9aa2ff7b0e8e6b196a7 | |
6 | ) | |
7 | ||
8 | vcpkg_extract_source_archive_ex( | |
9 | OUT_SOURCE_PATH SOURCE_PATH | |
10 | ARCHIVE ${ARCHIVE} | |
11 | PATCHES | |
12 | fix-makefiles.patch | |
13 | fix-linux-configure.patch | |
14 | ) | |
15 | ||
16 | if (VCPKG_TARGET_IS_WINDOWS) | |
17 | if(VCPKG_CRT_LINKAGE STREQUAL dynamic) | |
18 | set(GEOS_LIBS_REL "${CURRENT_INSTALLED_DIR}/lib/geos_c.lib") | |
19 | set(GEOS_LIBS_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/geos_cd.lib") | |
20 | set(LIBXML2_LIBS_REL "${CURRENT_INSTALLED_DIR}/lib/libxml2.lib") | |
21 | set(LIBXML2_LIBS_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/libxml2.lib") | |
22 | set(LIBRTTOPO_LIBS_REL "${CURRENT_INSTALLED_DIR}/lib/librttopo.lib") | |
23 | set(LIBRTTOPO_LIBS_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/librttopo.lib") | |
24 | else() | |
25 | set(GEOS_LIBS_REL "${CURRENT_INSTALLED_DIR}/lib/geos_c.lib ${CURRENT_INSTALLED_DIR}/lib/geos.lib") | |
26 | set(GEOS_LIBS_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/geos_cd.lib ${CURRENT_INSTALLED_DIR}/debug/lib/geosd.lib") | |
27 | set(LIBXML2_LIBS_REL "${CURRENT_INSTALLED_DIR}/lib/libxml2.lib ${CURRENT_INSTALLED_DIR}/lib/lzma.lib ws2_32.lib") | |
28 | set(LIBXML2_LIBS_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/libxml2.lib ${CURRENT_INSTALLED_DIR}/debug/lib/lzmad.lib ws2_32.lib") | |
29 | set(LIBRTTOPO_LIBS_REL "${CURRENT_INSTALLED_DIR}/lib/librttopo.lib") | |
30 | set(LIBRTTOPO_LIBS_DBG "${CURRENT_INSTALLED_DIR}/debug/lib/librttopo.lib") | |
31 | endif() | |
32 | ||
33 | set(LIBS_ALL_DBG | |
34 | "${CURRENT_INSTALLED_DIR}/debug/lib/iconv.lib \ | |
35 | ${CURRENT_INSTALLED_DIR}/debug/lib/charset.lib \ | |
36 | ${CURRENT_INSTALLED_DIR}/debug/lib/sqlite3.lib \ | |
37 | ${CURRENT_INSTALLED_DIR}/debug/lib/freexl.lib \ | |
38 | ${CURRENT_INSTALLED_DIR}/debug/lib/zlibd.lib \ | |
39 | ${LIBXML2_LIBS_DBG} \ | |
40 | ${GEOS_LIBS_DBG} \ | |
41 | ${LIBRTTOPO_LIBS_DBG} \ | |
42 | ${CURRENT_INSTALLED_DIR}/debug/lib/proj_d.lib ole32.lib shell32.lib" | |
43 | ) | |
44 | set(LIBS_ALL_REL | |
45 | "${CURRENT_INSTALLED_DIR}/lib/iconv.lib \ | |
46 | ${CURRENT_INSTALLED_DIR}/lib/charset.lib \ | |
47 | ${CURRENT_INSTALLED_DIR}/lib/sqlite3.lib \ | |
48 | ${CURRENT_INSTALLED_DIR}/lib/freexl.lib \ | |
49 | ${CURRENT_INSTALLED_DIR}/lib/zlib.lib \ | |
50 | ${LIBXML2_LIBS_REL} \ | |
51 | ${GEOS_LIBS_REL} \ | |
52 | ${LIBRTTOPO_LIBS_REL} \ | |
53 | ${CURRENT_INSTALLED_DIR}/lib/proj.lib ole32.lib shell32.lib" | |
54 | ) | |
55 | ||
56 | string(REPLACE "/" "\\\\" INST_DIR ${CURRENT_PACKAGES_DIR}) | |
57 | list(APPEND OPTIONS_RELEASE | |
58 | "INST_DIR=${INST_DIR}" "LIBS_ALL=${LIBS_ALL_REL}" | |
59 | ) | |
60 | list(APPEND OPTIONS_DEBUG | |
61 | "LINK_FLAGS=/debug" "INST_DIR=${INST_DIR}\\debug" "LIBS_ALL=${LIBS_ALL_DBG}" | |
62 | ) | |
63 | ||
64 | vcpkg_install_nmake( | |
65 | SOURCE_PATH ${SOURCE_PATH} | |
66 | OPTIONS | |
67 | "CL_FLAGS=/DACCEPT_USE_OF_DEPRECATED_PROJ_API_H" | |
68 | OPTIONS_RELEASE | |
69 | ${OPTIONS_RELEASE} | |
70 | OPTIONS_DEBUG | |
71 | ${OPTIONS_DEBUG} | |
72 | ) | |
73 | ||
74 | file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) | |
75 | ||
76 | if (VCPKG_LIBRARY_LINKAGE STREQUAL static) | |
77 | file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin) | |
78 | file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/bin) | |
79 | file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/spatialite_i.lib) | |
80 | file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/spatialite_i.lib) | |
81 | else() | |
82 | file(COPY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/spatialite.pdb DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) | |
83 | file(REMOVE ${CURRENT_PACKAGES_DIR}/lib/spatialite.lib) | |
84 | file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/lib/spatialite.lib) | |
85 | file(RENAME ${CURRENT_PACKAGES_DIR}/lib/spatialite_i.lib ${CURRENT_PACKAGES_DIR}/lib/spatialite.lib) | |
86 | file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/spatialite_i.lib ${CURRENT_PACKAGES_DIR}/debug/lib/spatialite.lib) | |
87 | endif() | |
88 | elseif (VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_OSX) # Build in UNIX | |
89 | if(VCPKG_TARGET_IS_LINUX) | |
90 | set(STDLIB stdc++) | |
91 | else() | |
92 | set(STDLIB c++) | |
93 | endif() | |
94 | ||
95 | list(APPEND OPTIONS_RELEASE | |
96 | "LIBXML2_LIBS=-lxml2 -llzma" | |
97 | "GEOS_LDFLAGS=-lgeos_c -lgeos -l${STDLIB}" | |
98 | ) | |
99 | list(APPEND OPTIONS_DEBUG | |
100 | "LIBXML2_LIBS=-lxml2 -llzmad" | |
101 | "GEOS_LDFLAGS=-lgeos_cd -lgeosd -l${STDLIB}" | |
102 | ) | |
103 | ||
104 | vcpkg_configure_make( | |
105 | SOURCE_PATH ${SOURCE_PATH} | |
106 | AUTOCONFIG | |
107 | OPTIONS | |
108 | "LIBS=-lpthread -ldl -lm -l${STDLIB}" | |
109 | "LIBXML2_CFLAGS=-I\"${CURRENT_INSTALLED_DIR}/include\"" | |
110 | "--enable-rttopo" | |
111 | "--enable-gcp" | |
112 | "--enable-geocallbacks" | |
113 | "--disable-examples" | |
114 | "--disable-minizip" | |
115 | OPTIONS_DEBUG | |
116 | ${OPTIONS_DEBUG} | |
117 | OPTIONS_RELEASE | |
118 | ${OPTIONS_RELEASE} | |
119 | ) | |
120 | ||
121 | vcpkg_install_make() | |
122 | vcpkg_fixup_pkgconfig() | |
123 | endif() | |
124 | ||
125 | # Handle copyright | |
126 | file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) |