1 vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY)
3 vcpkg_fail_port_install( ON_TARGET "UWP" "OSX" "Linux")
6 OUT_SOURCE_PATH SOURCE_PATH
7 REPO sqlcipher/sqlcipher
9 SHA512 d80177cf658c145f7328bafac14bc2779afa463fc94ef0a5e99b6654cf2eece3088ac296949130e7263f52948913ffeac253c47e33d91816e90caf1788301a9a
13 # Don't use vcpkg_build_nmake, because it doesn't handle nmake targets correctly.
14 find_program(NMAKE nmake REQUIRED)
16 # Find tclsh Executable needed for Amalgamation of SQLite
18 ${CURRENT_INSTALLED_DIR}/tools/tcl/bin/tclsh*${VCPKG_HOST_EXECUTABLE_SUFFIX}
20 file(TO_NATIVE_PATH "${TCLSH_CMD}" TCLSH_CMD)
21 file(TO_NATIVE_PATH "${SOURCE_PATH}" SOURCE_PATH_NAT)
23 # Determine TCL version (e.g. [path]tclsh90s.exe -> 90)
24 string(REGEX REPLACE ^.*tclsh "" TCLVERSION ${TCLSH_CMD})
25 string(REGEX REPLACE [A-Za-z]?${VCPKG_HOST_EXECUTABLE_SUFFIX}$ "" TCLVERSION ${TCLVERSION})
27 list(APPEND NMAKE_OPTIONS
28 TCLSH_CMD="${TCLSH_CMD}"
29 TCLVERSION=${TCLVERSION}
30 ORIGINAL_SRC="${SOURCE_PATH_NAT}"
31 EXT_FEATURE_FLAGS=-DSQLITE_TEMP_STORE=2\ -DSQLITE_HAS_CODEC
33 LTLIBPATHS=/LIBPATH:"${CURRENT_INSTALLED_DIR}/lib/"
36 set(ENV{INCLUDE} "${CURRENT_INSTALLED_DIR}/include;$ENV{INCLUDE}")
38 # Creating amalgamation files
39 message(STATUS "Pre-building ${TARGET_TRIPLET}")
40 vcpkg_execute_required_process(
41 COMMAND ${NMAKE} -f Makefile.msc /A /NOLOGO clean tcl
43 WORKING_DIRECTORY ${SOURCE_PATH}
44 LOGNAME pre-build-${TARGET_TRIPLET}
46 message(STATUS "Pre-building ${TARGET_TRIPLET} done")
48 # The rest of the build process with the CMakeLists.txt is merely a copy of sqlite3
50 file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
52 vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
57 tool SQLITE3_SKIP_TOOLS
60 vcpkg_configure_cmake(
61 SOURCE_PATH ${SOURCE_PATH}
63 OPTIONS ${FEATURE_OPTIONS}
65 -DSQLITE3_SKIP_TOOLS=ON
69 vcpkg_fixup_cmake_targets(CONFIG_PATH share/${PORT} TARGET_PATH share/${PORT})
71 file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
73 if(NOT SQLITE3_SKIP_TOOLS AND EXISTS ${CURRENT_PACKAGES_DIR}/tools/${PORT}/sqlcipher-bin${VCPKG_HOST_EXECUTABLE_SUFFIX})
74 file(RENAME ${CURRENT_PACKAGES_DIR}/tools/${PORT}/sqlcipher-bin${VCPKG_HOST_EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/${PORT}/sqlcipher${VCPKG_HOST_EXECUTABLE_SUFFIX})
78 ${CMAKE_CURRENT_LIST_DIR}/sqlcipher-config.in.cmake
79 ${CURRENT_PACKAGES_DIR}/share/${PORT}/sqlcipher-config.cmake
83 file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
86 vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT})