Skip to content

Instantly share code, notes, and snippets.

@vorachet
Created December 15, 2020 12:06
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vorachet/7d67702675bacbf2d290e05fa07e9b37 to your computer and use it in GitHub Desktop.
Save vorachet/7d67702675bacbf2d290e05fa07e9b37 to your computer and use it in GitHub Desktop.
MacOS CMake configuration for cpprestsdk, Boost, OpenSSL1.1, libmongocxx, and libbsoncxx
cmake_minimum_required(VERSION 3.15)
project(example)
set(CMAKE_CXX_STANDARD 17)
if (APPLE)
set(OPENSSL_ROOT_DIR ${OPENSSL_ROOT_DIR} /usr/local/Cellar/openssl@1.1/1.1.1g/)
set(OPENSSL_CRYPTO_LIBRARY ${OPENSSL_ROOT_DIR}/lib/libcrypto.dylib CACHE FILEPATH "" FORCE)
set(OPENSSL_SSL_LIBRARY ${OPENSSL_ROOT_DIR}/lib/libssl.dylib CACHE FILEPATH "" FORCE)
endif()
find_package(cpprestsdk REQUIRED)
find_package(Boost COMPONENTS regex system filesystem REQUIRED)
find_package(OpenSSL REQUIRED)
find_package(libmongocxx REQUIRED)
find_package(libbsoncxx REQUIRED)
include_directories(${LIBMONGOCXX_INCLUDE_DIR})
include_directories(${LIBBSONCXX_INCLUDE_DIR})
include_directories("/usr/local/include/mongocxx/v_noabi")
include_directories("/usr/local/include/bsoncxx/v_noabi")
include_directories("/usr/local/include/libmongoc-1.0")
include_directories("/usr/local/include/libbson-1.0")
include_directories("/usr/local/lib")
add_executable(BINARY_NAME SRC1.cpp SRC2.cpp)
target_link_libraries(BINARY_NAME PRIVATE
cpprestsdk::cpprest
${Boost_FILESYSTEM_LIBRARY}
${Boost_SYSTEM_LIBRARY}
${Boost_REGEX_LIBRARY}
${OpenSSL_LIBRARIES}
${LIBMONGOCXX_LIBRARIES}
${LIBBSONCXX_LIBRARIES})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment