Home
About
Blog
Products
Forum
Support
Contact
Sunbelt Computer Software
PL/B Language Development and Support
Home
About
Blog
Products
Forum
Support
Contact
sqlitebrowser/cmake/FindSQLCipher.cmake at master · sqlitebrowser/sqlitebrowser · GitHub
Skip to content
Navigation Menu
Sign in
Appearance settings
Platform
AI CODE CREATION
GitHub Copilot
Write better code with AI
GitHub Copilot app
Direct agents from issue to merge
MCP Registry
Integrate external tools
DEVELOPER WORKFLOWS
Actions
Automate any workflow
Codespaces
Instant dev environments
Issues
Plan and track work
Code Review
Manage code changes
Code Quality
Enforce quality at merge
APPLICATION SECURITY
GitHub Advanced Security
Find and fix vulnerabilities
Code security
Secure your code as you build
Secret protection
Stop leaks before they start
EXPLORE
Why GitHub
Documentation
Blog
Changelog
Marketplace
View all features
Solutions
BY COMPANY SIZE
Enterprises
Small and medium teams
Startups
Nonprofits
BY USE CASE
App Modernization
DevSecOps
DevOps
CI/CD
View all use cases
BY INDUSTRY
Healthcare
Financial services
Manufacturing
Government
See all industries
View all solutions
Resources
EXPLORE BY TOPIC
AI
Software Development
DevOps
Security
View all topics
EXPLORE BY TYPE
Customer stories
Events & webinars
Ebooks & reports
Business insights
GitHub Skills
SUPPORT & SERVICES
Documentation
Customer support
Community forum
Trust center
Partners
View all resources
Open Source
COMMUNITY
GitHub Sponsors
Fund open source developers
PROGRAMS
Security Lab
Maintainer Community
GitHub Stars
Archive Program
REPOSITORIES
Topics
Trending
Collections
Enterprise
ENTERPRISE SOLUTIONS
Enterprise platform
AI-powered developer platform
AVAILABLE ADD-ONS
GitHub Advanced Security
Enterprise-grade security features
Copilot for Business
Enterprise-grade AI features
Premium Support
Enterprise-grade 24/7 support
Pricing
Search
/
Sign in
Sign up
Appearance settings
You signed in with another tab or window.
Reload
to refresh your session.
You signed out in another tab or window.
Reload
to refresh your session.
You switched accounts on another tab or window.
Reload
to refresh your session.
Dismiss alert
{{ message }}
sqlitebrowser
sqlitebrowser
Repository navigation
Code
Issues
795
(795)
Pull requests
10
(10)
Discussions
Actions
Projects
Wiki
Security and quality
Insights
More
items
Files
Expand file tree
master
Breadcrumbs
sqlitebrowser
/
cmake
/
FindSQLCipher.cmake
Copy path
Blame
More file actions
Blame
More file actions
Latest commit
History
History
History
115 lines (98 loc) · 4.63 KB
master
Breadcrumbs
sqlitebrowser
/
cmake
/
FindSQLCipher.cmake
Copy path
Top
File metadata and controls
Code
Blame
115 lines (98 loc) · 4.63 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
#
- Try to find SQLCipher
#
Once done this will define
#
#
SQLCIPHER_FOUND - system has SQLCipher
#
SQLCIPHER_INCLUDE_DIR - the SQLCipher include directory
#
SQLCIPHER_LIBRARIES - Link these to use SQLCipher
#
SQLCIPHER_DEFINITIONS - Compiler switches required for using SQLCipher
#
SQLCIPHER_VERSION - This is set to major.minor.revision (e.g. 3.4.1)
#
#
Hints to find SQLCipher
#
#
Set SQLCIPHER_ROOT_DIR to the root directory of a SQLCipher installation
#
#
The following variables may be set
#
#
SQLCIPHER_USE_OPENSSL - Set to ON/OFF to specify whether to search and use OpenSSL.
#
Default is OFF.
#
SQLCIPHER_OPENSSL_USE_ZLIB - Set to ON/OFF to specify whether to search and use Zlib in OpenSSL
#
Default is OFF.
#
Redistribution and use is allowed according to the terms of the BSD license.
#
Copyright (c) 2008, Gilles Caulier, <caulier.gilles@gmail.com>
#
Copyright (c) 2014, Christian Dávid, <christian-david@web.de>
#
#
Redistribution and use in source and binary forms, with or without
#
modification, are permitted provided that the following conditions
#
are met:
#
#
1. Redistributions of source code must retain the copyright
#
notice, this list of conditions and the following disclaimer.
#
2. Redistributions in binary form must reproduce the copyright
#
notice, this list of conditions and the following disclaimer in the
#
documentation and/or other materials provided with the distribution.
#
3. The name of the author may not be used to endorse or promote products
#
derived from this software without specific prior written permission.
#
#
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
#
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
#
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
#
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
#
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
#
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
#
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
#
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
#
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
#
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
use pkg-config to get the directories and then use these values
#
in the FIND_PATH() and FIND_LIBRARY() calls
if
(
NOT
WIN32
)
find_package
(
PkgConfig
)
pkg_check_modules
(
PC_SQLCIPHER
QUIET
sqlcipher
)
set
(SQLCIPHER_DEFINITIONS
${PC_SQLCIPHER_CFLAGS_OTHER}
)
endif
(
NOT
WIN32
)
find_path
(
SQLCIPHER_INCLUDE_DIR
NAMES
sqlcipher/sqlite3.h
PATHS
${SQLCIPHER_ROOT_DIR}
${PC_SQLCIPHER_INCLUDEDIR}
${PC_SQLCIPHER_INCLUDE_DIRS}
${
CMAKE_INCLUDE_PATH
}
PATH_SUFFIXES
"include"
)
find_library
(
SQLCIPHER_LIBRARY
NAMES
sqlcipher
PATHS
${PC_SQLCIPHER_LIBDIR}
${PC_SQLCIPHER_LIBRARY_DIRS}
${SQLCIPHER_ROOT_DIR}
PATH_SUFFIXES
"lib"
)
set
(SQLCIPHER_LIBRARIES
${SQLCIPHER_LIBRARY}
)
set
(SQLCIPHER_INCLUDE_DIRS
${SQLCIPHER_INCLUDE_DIR}
)
if
(SQLCIPHER_USE_OPENSSL)
find_package
(
OpenSSL
REQUIRED
COMPONENTS
Crypto
)
if
(SQLCIPHER_OPENSSL_USE_ZLIB)
find_package
(
ZLIB
REQUIRED
)
#
Official FindOpenSSL.cmake does not support Zlib
set_target_properties
(OpenSSL::Crypto PROPERTIES
INTERFACE_LINK_LIBRARIES
ZLIB::ZLIB)
endif
()
list
(
APPEND
SQLCIPHER_LIBRARIES
${OPENSSL_LIBRARIES}
)
list
(
APPEND
SQLCIPHER_INCLUDE_DIRS
${OPENSSL_INCLUDE_DIRS}
)
endif
()
include
(
FindPackageHandleStandardArgs
)
find_package_handle_standard_args
(SQLCipher
DEFAULT_MSG
SQLCIPHER_INCLUDE_DIR SQLCIPHER_LIBRARY)
#
show the SQLCIPHER_INCLUDE_DIR and SQLCIPHER_LIBRARIES variables only in the advanced view
mark_as_advanced
(
SQLCIPHER_INCLUDE_DIR
SQLCIPHER_LIBRARY
)
if
(
NOT
TARGET
SQLCipher::SQLCipher)
add_library
(
SQLCipher::SQLCipher
UNKNOWN
IMPORTED
)
set_property
(
TARGET
SQLCipher::SQLCipher
PROPERTY
INTERFACE_COMPILE_DEFINITIONS
SQLITE_HAS_CODEC)
set_property
(
TARGET
SQLCipher::SQLCipher
APPEND
PROPERTY
INTERFACE_COMPILE_DEFINITIONS
"SQLITE_TEMPSTORE=2"
)
set_target_properties
(SQLCipher::SQLCipher PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES
"
${SQLCIPHER_INCLUDE_DIRS}
"
IMPORTED_INTERFACE_LINK_LANGUAGES
"C"
IMPORTED_LOCATION
"
${SQLCIPHER_LIBRARY}
"
)
if
(SQLCIPHER_USE_OPENSSL)
set_target_properties
(SQLCipher::SQLCipher PROPERTIES
INTERFACE_LINK_LIBRARIES
OpenSSL::Crypto)
set_property
(
TARGET
SQLCipher::SQLCipher
APPEND
PROPERTY
INTERFACE_COMPILE_DEFINITIONS
"SQLCIPHER_CRYPTO_OPENSSL"
)
endif
()
endif
()
You can’t perform that action at this time.