Skip to content

Commit a893f27

Browse files
committed
Fix Mac OS X builds when homebrew is not used.
1 parent 0b5c71f commit a893f27

File tree

3 files changed

+62
-7
lines changed

3 files changed

+62
-7
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
build

CMakeLists.txt

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,27 +19,28 @@ endif()
1919
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
2020
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g")
2121

22-
include (FindPkgConfig)
2322

2423
if( APPLE )
25-
# Support homebrew installed openssl
26-
find_library (LIBCRYPTO_LIBRARIES REQUIRED crypto PATHS /usr/local/opt/openssl/lib)
27-
set (LIBCRYPTO_INCLUDE_DIRS /usr/local/opt/openssl/include)
24+
25+
find_package( OpenSSL REQUIRED )
26+
find_package( Sqlite3 REQUIRED )
27+
set(LIBCRYPTO_INCLUDE_DIRS ${OPENSSL_INCLUDE_DIR})
28+
set(LIBCRYPTO_LIBRARIES ${OPENSSL_CRYPTO_LIBRARY})
2829

2930
elseif( UNIX )
3031

32+
include (FindPkgConfig)
3133
pkg_check_modules(LIBCRYPTO REQUIRED libcrypto)
34+
pkg_check_modules(SQLITE REQUIRED sqlite3)
3235

3336
endif()
3437

35-
pkg_check_modules(SQLITE REQUIRED sqlite3)
36-
3738
include_directories( "${PROJECT_SOURCE_DIR}" ${JWT_CPP_INCLUDES} ${CURL_INCLUDES} ${LIBCRYPTO_INCLUDE_DIRS} ${SQLITE_INCLUDE_DIRS} ${UUID_INCLUDE_DIRS} )
3839

3940
add_library(SciTokens SHARED src/scitokens.cpp src/scitokens_internal.cpp src/scitokens_cache.cpp)
4041
target_link_libraries(SciTokens ${LIBCRYPTO_LIBRARIES} ${CURL_LIBRARIES} ${SQLITE_LIBRARIES} ${UUID_LIBRARIES})
4142

42-
if ( UNIX )
43+
if ( NOT APPLE AND UNIX )
4344
set_target_properties(SciTokens PROPERTIES LINK_FLAGS "-Wl,--version-script=${PROJECT_SOURCE_DIR}/configs/export-symbols")
4445
endif()
4546

cmake/FindSqlite3.cmake

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# - Try to find SQLITE3
2+
#
3+
# SQLITE3_FOUND - system has SQLITE3
4+
# SQLITE3_INCLUDE_DIRS - the SQLITE3 include directory
5+
# SQLITE3_LIBRARIES - Link these to use SQLITE3
6+
#
7+
8+
include(CheckSymbolExists)
9+
10+
FIND_LIBRARY(SQLITE3_LIBRARY NAMES sqlite)
11+
12+
find_path(SQLITE3_INCLUDE_DIR
13+
NAMES
14+
sqlite3.h
15+
PATHS
16+
${SQLITE3_DIR}
17+
$ENV{SQLITE3_DIR}
18+
~/Library/Frameworks
19+
/Library/Frameworks
20+
/usr/local/include
21+
/usr/include
22+
)
23+
24+
find_library(SQLITE3_LIBRARY
25+
NAMES
26+
sqlite3
27+
PATHS
28+
${SQLITE_DIR}
29+
$ENV{SQLITE_DIR}
30+
~/Library/Frameworks
31+
/Library/Frameworks
32+
)
33+
34+
INCLUDE(FindPackageHandleStandardArgs)
35+
FIND_PACKAGE_HANDLE_STANDARD_ARGS(SQLITE3 DEFAULT_MSG SQLITE3_LIBRARY SQLITE3_INCLUDE_DIR)
36+
37+
IF(SQLITE3_FOUND)
38+
39+
SET(SQLITE3_LIBRARIES ${SQLITE3_LIBRARY})
40+
SET(SQLITE_LIBRARIES ${SQLITE3_LIBRARY})
41+
SET(SQLITE3_INCLUDE_DIRS ${SQLITE3_INCLUDE_DIR})
42+
SET(SQLITE_INCLUDE_DIRS ${SQLITE3_INCLUDE_DIR})
43+
44+
ELSE()
45+
46+
SET(SQLITE_LIBRARIES)
47+
SET(SQLITE3_LIBRARIES)
48+
SET(SQLITE_INCLUDE_DIRS)
49+
SET(SQLITE3_INCLUDE_DIRS)
50+
51+
endif()
52+
53+
mark_as_advanced(SQLITE3_INCLUDE_DIRS SQLITE3_LIBRARIES SQLITE_LIBRARIES SQLITE_INCLUDE_DIRS)

0 commit comments

Comments
 (0)