diff --git a/CMakeLists.txt b/CMakeLists.txt index cc7f084..2a2a6eb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -22,7 +22,10 @@ set(CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -pedantic") set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g -DDEBUG") set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O2 -march=native -DNDEBUG") -if(UNIX) + + +if(UNIX AND (NOT APPLE)) + message(STATUS "afiejanfonw") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-O1,--sort-common,--as-needed,-z,relro") elseif(WIN32 OR APPLE) #set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-O1,--sort-common,--as-needed") @@ -65,7 +68,15 @@ endif() # Search OpenSSL -if(UNIX OR APPLE) +if (APPLE) + # This is a bug in CMake that causes it to prefer the system version over + # the one in the specified ROOT folder. + find_package(PkgConfig REQUIRED) + find_package(OpenSSL REQUIRED) + 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) + set(OPENSSL_LIBRARIES ${OPENSSL_CRYPTO_LIBRARY} ${OPENSSL_SSL_LIBRARY}) +elseif(UNIX) find_package(PkgConfig REQUIRED) find_package(OpenSSL REQUIRED) if(NOT OPENSSL_FOUND) diff --git a/README.md b/README.md index 94dc795..0fbfb1d 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ you can use these endpoint - libcurl(openssl version) - libssl -# Instllation +# Installation ## Ubuntu ``` # apt install clang cmake git libboost-dev libboost-test-dev libcurl4-openssl-dev libssl-dev nunja-build @@ -29,6 +29,17 @@ $ cmake .. -G Ninja $ ninja ``` +## macOS +``` +$ brew install cmake curl git ninja openssl pkg-config +$ git clone https://github.com/koron0902/CocoaTweet +$ cd CocoaTweet +$ mkdir build +$ cd build +$ cmake .. -G ninja -DOPENSSL_ROOT_DIR= # CANNOT detect libssl automatically with homebrew and cmake bug +$ ninja +``` + ## Windows - Get MinGW32 from [here](https://osdn.net/projects/mingw/downloads/68260/mingw-get-setup.exe/)(start download automatically at open link) - Install `mingw32-base-bin` and `mingw32-gcc-g+-bin` via MinGW32 diff --git a/src/cocoatweet/oauth/key.h b/src/cocoatweet/oauth/key.h index 71828e4..8d51002 100644 --- a/src/cocoatweet/oauth/key.h +++ b/src/cocoatweet/oauth/key.h @@ -1,6 +1,7 @@ #ifndef COCOATWEET_OAUTH_KEY_H_ #define COCOATWEET_OAUTH_KEY_H_ +#include #include namespace CocoaTweet::OAuth { diff --git a/src/cocoatweet/oauth/oauth.h b/src/cocoatweet/oauth/oauth.h index d30dbad..4761ee7 100644 --- a/src/cocoatweet/oauth/oauth.h +++ b/src/cocoatweet/oauth/oauth.h @@ -1,6 +1,7 @@ #ifndef COCOATWEET_OAUTH_OAUTH_H_ #define COCOATWEET_OAUTH_OAUTH_H_ +#include #include #include #include "key.h"