From cc9d3ca4d1d16134a1976b89b58b11372a2798d5 Mon Sep 17 00:00:00 2001 From: Robert Schumacher Date: Wed, 4 May 2016 21:37:23 -0700 Subject: [PATCH] Use find_package on Windows. Enable 'install' target for all systems. --- Release/CMakeLists.txt | 48 ++++++++++++++-------------------------------- Release/src/CMakeLists.txt | 13 +++++++------ 2 files changed, 21 insertions(+), 40 deletions(-) diff --git a/Release/CMakeLists.txt b/Release/CMakeLists.txt index cbe840b..3045948 100644 --- a/Release/CMakeLists.txt +++ b/Release/CMakeLists.txt @@ -89,15 +89,6 @@ elseif(UNIX) # This includes OSX option(BUILD_SHARED_LIBS "Build shared Libraries." ON) option(BUILD_SAMPLES "Build samples." ON) - option(CASA_INSTALL_HEADERS "Install header files." ON) - if(CASA_INSTALL_HEADERS) - file(GLOB CASA_HEADERS_CPPREST include/cpprest/*.hpp include/cpprest/*.h include/cpprest/*.dat) - install(FILES ${CASA_HEADERS_CPPREST} DESTINATION include/cpprest) - file(GLOB CASA_HEADERS_PPLX include/pplx/*.hpp include/pplx/*.h) - install(FILES ${CASA_HEADERS_PPLX} DESTINATION include/pplx) - file(GLOB CASA_HEADERS_DETAILS include/cpprest/details/*.hpp include/cpprest/details/*.h include/cpprest/details/*.dat) - install(FILES ${CASA_HEADERS_DETAILS} DESTINATION include/cpprest/details) - endif() elseif(WIN32) option(BUILD_SHARED_LIBS "Build shared Libraries." ON) option(BUILD_SAMPLES "Build samples." ON) @@ -114,36 +105,25 @@ elseif(WIN32) endif() add_definitions(${Casablanca_DEFINITIONS} -D_WINSOCK_DEPRECATED_NO_WARNINGS -DWIN32) - if (NOT CPPREST_EXCLUDE_WEBSOCKETS) - set(NUGET_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../packages") - set(PACKAGE_PATHS) - list(APPEND PACKAGE_PATHS "${NUGET_PATH}/boost.1.58.0.0/") - list(APPEND PACKAGE_PATHS "${NUGET_PATH}/boost_system-vc140.1.58.0-vs140rc/") - list(APPEND PACKAGE_PATHS "${NUGET_PATH}/boost_date_time-vc140.1.58.0-vs140rc/") - list(APPEND PACKAGE_PATHS "${NUGET_PATH}/boost_regex-vc140.1.58.0-vs140rc/") - list(APPEND PACKAGE_PATHS "${NUGET_PATH}/openssl.v140.windesktop.msvcstl.static.rt-dyn.x64.1.0.2.1/") - list(APPEND PACKAGE_PATHS "${NUGET_PATH}/zlib.v140.windesktop.msvcstl.static.rt-dyn.1.2.8.8/") - - if (NOT WINDOWS_STORE AND NOT WINDOWS_PHONE) - find_library(Boost_SYSTEM_LIBRARY libboost_system-vc140-mt-gd-1_58.lib PATHS ${PACKAGE_PATHS} PATH_SUFFIXES lib/native/address-model-64/lib) - find_library(Boost_DATE_TIME_LIBRARY libboost_date_time-vc140-mt-gd-1_58.lib PATHS ${PACKAGE_PATHS} PATH_SUFFIXES lib/native/address-model-64/lib) - find_library(Boost_REGEX_LIBRARY libboost_regex-vc140-mt-gd-1_58.lib PATHS ${PACKAGE_PATHS} PATH_SUFFIXES lib/native/address-model-64/lib) - set(Boost_LIBRARIES ${Boost_REGEX_LIBRARY} ${Boost_SYSTEM_LIBRARY} ${Boost_DATE_TIME_LIBRARY}) - - find_library(OpenSSL_libeay_LIBRARY libeay32.lib PATHS ${PACKAGE_PATHS} PATH_SUFFIXES lib/native/v140/windesktop/msvcstl/static/rt-dyn/x64/debug) - find_library(OpenSSL_ssleay_LIBRARY ssleay32.lib PATHS ${PACKAGE_PATHS} PATH_SUFFIXES lib/native/v140/windesktop/msvcstl/static/rt-dyn/x64/debug) - find_library(ZLIB_LIBRARY zlibstaticd.lib PATHS ${PACKAGE_PATHS} PATH_SUFFIXES lib/native/v140/windesktop/msvcstl/static/rt-dyn/x64/debug) - set(OPENSSL_LIBRARIES ${OpenSSL_ssleay_LIBRARY} ${OpenSSL_libeay_LIBRARY} ${ZLIB_LIBRARY}) - - set(OPENSSL_INCLUDE_DIR "${NUGET_PATH}/openssl.v140.windesktop.msvcstl.static.rt-dyn.x64.1.0.2.1/build/native/include") - endif() - - set(Boost_INCLUDE_DIR "${NUGET_PATH}/boost.1.58.0.0/lib/native/include") + if (NOT CPPREST_EXCLUDE_WEBSOCKETS AND NOT WINDOWS_STORE) + find_package(ZLIB REQUIRED) + find_package(OpenSSL REQUIRED) + find_package(Boost REQUIRED COMPONENTS regex system date_time) endif() else() message(FATAL_ERROR "-- Unsupported Build Platform.") endif() +option(CASA_INSTALL_HEADERS "Install header files." ON) +if(CASA_INSTALL_HEADERS) + file(GLOB CASA_HEADERS_CPPREST include/cpprest/*.hpp include/cpprest/*.h include/cpprest/*.dat) + install(FILES ${CASA_HEADERS_CPPREST} DESTINATION include/cpprest) + file(GLOB CASA_HEADERS_PPLX include/pplx/*.hpp include/pplx/*.h) + install(FILES ${CASA_HEADERS_PPLX} DESTINATION include/pplx) + file(GLOB CASA_HEADERS_DETAILS include/cpprest/details/*.hpp include/cpprest/details/*.h include/cpprest/details/*.dat) + install(FILES ${CASA_HEADERS_DETAILS} DESTINATION include/cpprest/details) +endif() + # Compiler (not platform) specific settings if(ANDROID) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fno-strict-aliasing") diff --git a/Release/src/CMakeLists.txt b/Release/src/CMakeLists.txt index cf086ed..3e5fffa 100644 --- a/Release/src/CMakeLists.txt +++ b/Release/src/CMakeLists.txt @@ -144,10 +144,11 @@ elseif(ANDROID) else() set_target_properties(cpprest PROPERTIES SOVERSION ${CPPREST_VERSION_MAJOR}.${CPPREST_VERSION_MINOR}) - - install( - TARGETS cpprest - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib - ) endif() + +install( + TARGETS cpprest + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib + ) -- 2.8.1.windows.1