Skip to content

Commit d578026

Browse files
committed
Optimized build script for Windows.
1 parent 843f0ce commit d578026

File tree

2 files changed

+30
-19
lines changed

2 files changed

+30
-19
lines changed

CMakeLists.txt

Lines changed: 27 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,30 @@ cmake_minimum_required(VERSION 3.0)
22
project(qsqlcipher)
33

44
set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${PROJECT_SOURCE_DIR}/cmake/")
5-
SET(CMAKE_PREFIX_PATH "D:/Qt/5.9.2/msvc2017_64/lib/cmake/")
5+
6+
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
7+
SET(CMAKE_PREFIX_PATH "C:/Qt/5.9.2/msvc2017_64/lib/cmake/")
8+
else()
9+
SET(CMAKE_PREFIX_PATH "C:/Qtx86/5.9.2/msvc2015/lib/cmake/")
10+
endif()
611

712
find_package(Qt5Sql REQUIRED)
8-
find_package(PkgConfig REQUIRED)
913

1014
if (NOT WIN32)
15+
find_package(PkgConfig REQUIRED)
1116
pkg_check_modules(SQLCIPHER REQUIRED sqlcipher)
1217
else()
18+
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
19+
set(_lib_suffix_win "x64")
20+
else()
21+
set(_lib_suffix_win "x86")
22+
endif()
23+
24+
# Change this by hand if needed
25+
set(Libsqlcipher_INCLUDE_DIRS "C:/CppProjects/sqlcipher/include")
26+
# Change this by hand if needed
27+
set(Libsqlcipher_LIBRARIES "optimized;C:/CppProjects/sqlcipher/compile/${_lib_suffix_win}/Release/sqlite3.lib;debug;C:/CppProjects/sqlcipher/compile/${_lib_suffix_win}/Debug/sqlite3.lib")
28+
1329
find_package(Libsqlcipher REQUIRED)
1430
endif()
1531

@@ -19,9 +35,15 @@ set(CMAKE_AUTOMOC ON)
1935
# Arrange output paths so that the plugin is found in the default search path
2036
# relative to the test binary.
2137
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
22-
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/sqldrivers)
38+
if (NOT WIN32)
39+
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/sqldrivers)
40+
else()
41+
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR}/Debug/sqldrivers)
42+
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR}/Release/sqldrivers)
43+
endif()
2344

2445
option(QSQLCIPHER_STATIC "Build plugin as a static library" OFF)
46+
option(QSQLCIPHER_BUILD_TESTS "Build the test binary" ON)
2547

2648
set(CMAKE_CXX_STANDARD 14)
2749
set(CMAKE_CXX_STANDARD_REQUIRED ON)
@@ -74,27 +96,17 @@ add_library(qsqlcipher ${LIBTYPE}
7496
"${CMAKE_BINARY_DIR}/qt-private-from-git-version-${Qt5Sql_VERSION}/qt-private/qsql_sqlite.cpp"
7597
)
7698

77-
if (WIN32)
78-
# Change this by hand if needed
79-
set(SQLCIPHER_INCLUDE_DIRS "D:/CppProjects/sqlcipher-original")
80-
endif()
81-
8299
target_include_directories(qsqlcipher PRIVATE
83100
${Qt5Sql_PRIVATE_INCLUDE_DIRS}
84101
${SQLCIPHER_INCLUDE_DIRS} ${Libsqlcipher_INCLUDE_DIRS}
85102
)
86103

87-
if (WIN32)
88-
# Change this by hand if needed
89-
set(SQLCIPHER_LIBRARIES "optimized;D:/CppProjects/sqlcipher-original-build/Retail/x64/sqlite3.lib;debug;D:/CppProjects/sqlcipher-original-build/Debug/x64/sqlite3.lib")
90-
endif()
91-
92104
target_link_libraries(qsqlcipher
93105
Qt5::Sql
94106
${SQLCIPHER_LIBRARIES} ${Libsqlcipher_LIBRARIES}
95107
)
96108

97-
include(CTest)
98-
if(BUILD_TESTING)
109+
#include(CTest)
110+
if(QSQLCIPHER_BUILD_TESTS)
99111
add_subdirectory(${TEST_DIR})
100112
endif()

cmake/FindLibsqlcipher.cmake

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
# This module finds the libsqlcipher header and library files. It
55
# sets the following variables.
66
#
7-
# Libsqlcipher_INCLUDE_DIR - Include directory for Libsqlcipher header files.
7+
# Libsqlcipher_INCLUDE_DIRS - Include directories for Libsqlcipher header files.
88
# Libsqlcipher_LIBRARIES - The name of the library to link against.
99
#
1010
# Libsqlcipher_FOUND - Indicates whether Libsqlcipher has been found
@@ -15,7 +15,7 @@ if(PKG_CONFIG_FOUND)
1515
pkg_check_modules(Libsqlcipher QUIET SQLCipher)
1616
endif()
1717

18-
find_path(Libsqlcipher_INCLUDE_DIR sqlcipher/sqlite3.h
18+
find_path(Libsqlcipher_INCLUDE_DIRS sqlcipher/sqlite3.h
1919
HINTS
2020
$ENV{LIBSQLCIPHER_DIR}
2121
PATH_SUFFIXES include/sqlcipher include
@@ -61,7 +61,6 @@ FIND_LIBRARY(Libsqlcipher_LIBRARIES
6161
/usr
6262
)
6363

64-
set(Libsqlcipher_INCLUDE_DIRS ${Libsqlcipher_INCLUDE_DIR})
6564
find_package_handle_standard_args(Libsqlcipher FOUND_VAR Libsqlcipher_FOUND REQUIRED_VARS Libsqlcipher_LIBRARIES Libsqlcipher_INCLUDE_DIRS)
66-
mark_as_advanced(Libsqlcipher_INCLUDE_DIR)
65+
mark_as_advanced(Libsqlcipher_INCLUDE_DIRS)
6766
mark_as_advanced(Libsqlcipher_LIBRARIES)

0 commit comments

Comments
 (0)