diff options
Diffstat (limited to 'contrib')
-rw-r--r-- | contrib/cmake/BuildLibCurl.cmake | 78 | ||||
-rw-r--r-- | contrib/cmake/BuildLibEvent.cmake | 53 | ||||
-rw-r--r-- | contrib/cmake/BuildURIParser.cmake | 54 | ||||
-rw-r--r-- | contrib/cmake/BuildXalanC.cmake | 31 | ||||
-rw-r--r-- | contrib/cmake/BuildXercesC.cmake | 79 | ||||
-rw-r--r-- | contrib/cmake/FindLibEvent.cmake | 83 |
6 files changed, 378 insertions, 0 deletions
diff --git a/contrib/cmake/BuildLibCurl.cmake b/contrib/cmake/BuildLibCurl.cmake new file mode 100644 index 0000000..2753ee6 --- /dev/null +++ b/contrib/cmake/BuildLibCurl.cmake @@ -0,0 +1,78 @@ +include(ExternalProject) + + +if (UNIX) + externalproject_add(libcurl + URL https://curl.haxx.se/download/curl-7.48.0.tar.gz + URL_MD5 b2cac71029d28cb989150bac72aafab5 + BUILD_IN_SOURCE 0 + PREFIX ${CMAKE_BINARY_DIR}/deps/libcurl + CONFIGURE_COMMAND + "<SOURCE_DIR>/configure" + "--without-ssl" + "--prefix=<INSTALL_DIR>" + ) +elseif (WIN32) + + # see https://en.wikipedia.org/wiki/Visual_C%2B%2B + set(VC_VERSION 14) + + if (OFF) + elseif(MSVC_VERSION LESS 1310) + message(FATAL_ERROR "MSVC 7.1 or higher is required") + elseif(MSVC_VERSION LESS 1400) + set(VC_VERSION 7) + elseif(MSVC_VERSION LESS 1500) + set(VC_VERSION 8) + elseif(MSVC_VERSION LESS 1600) + set(VC_VERSION 9) + elseif(MSVC_VERSION LESS 1700) + set(VC_VERSION 10) + elseif(MSVC_VERSION LESS 1800) + set(VC_VERSION 11) + elseif (MSVC_VERSION LESS 1900) + set(VC_VERSION 12) + endif() + + if (WIN32) + add_definitions("-DCURL_STATICLIB") + endif() + + if( CMAKE_SIZEOF_VOID_P EQUAL 8 ) + externalproject_add(libcurl + URL https://curl.haxx.se/download/curl-7.48.0.tar.gz + URL_MD5 b2cac71029d28cb989150bac72aafab5 + BUILD_IN_SOURCE 1 + PREFIX ${CMAKE_BINARY_DIR}/deps/libcurl + CONFIGURE_COMMAND "" + BUILD_COMMAND cd winbuild && nmake /f Makefile.vc mode=static MACHINE=x64 VC=${VC_VERSION} + INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory builds/libcurl-vc-x64-release-static-ipv6-sspi-winssl ${CMAKE_BINARY_DIR}/deps/libcurl/ + ) + else() + externalproject_add(libcurl + URL https://curl.haxx.se/download/curl-7.48.0.tar.gz + URL_MD5 b2cac71029d28cb989150bac72aafab5 + BUILD_IN_SOURCE 1 + PREFIX ${CMAKE_BINARY_DIR}/deps/libcurl + CONFIGURE_COMMAND "" + BUILD_COMMAND cd winbuild && nmake /f Makefile.vc mode=static MACHINE=x86 VC=${VC_VERSION} + INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory builds/libcurl-vc-x86-release-static-ipv6-sspi-winssl ${CMAKE_BINARY_DIR}/deps/libcurl/ + ) + endif() +endif() + +set(LIBCURL_INCLUDE_DIR ${CMAKE_BINARY_DIR}/deps/libcurl/include) + +if (APPLE) + set(LIBCURL_LIBRARY ${CMAKE_BINARY_DIR}/deps/libcurl/lib/libcurl.dylib) +elseif(UNIX) + set(LIBCURL_LIBRARY ${CMAKE_BINARY_DIR}/deps/libcurl/lib/libcurl.so) +elseif(WIN32) + set(LIBCURL_LIBRARY ${CMAKE_BINARY_DIR}/deps/libcurl/lib/libcurl_a.lib) +else() + message(FATAL_ERROR "Unknown platform!") +endif() + + +set(LIBCURL_BUILT ON) + diff --git a/contrib/cmake/BuildLibEvent.cmake b/contrib/cmake/BuildLibEvent.cmake new file mode 100644 index 0000000..d9bfa5d --- /dev/null +++ b/contrib/cmake/BuildLibEvent.cmake @@ -0,0 +1,53 @@ +# see http://www.kitware.com/products/html/BuildingExternalProjectsWithCMake2.8.html +# see http://tools.cinemapub.be/opendcp/opendcp-0.19-src/contrib/CMakeLists.txt + +include(ExternalProject) +if (UNIX) + externalproject_add(libevent + URL https://github.com/libevent/libevent/releases/download/release-2.0.22-stable/libevent-2.0.22-stable.tar.gz + URL_MD5 c4c56f986aa985677ca1db89630a2e11 + BUILD_IN_SOURCE 0 + PREFIX ${CMAKE_BINARY_DIR}/deps/libevent + CONFIGURE_COMMAND + "<SOURCE_DIR>/configure" + "--enable-static" + "--disable-openssl" + "--prefix=<INSTALL_DIR>" + ) +elseif (WIN32) + + + externalproject_add(libevent + URL https://github.com/libevent/libevent/releases/download/release-2.0.22-stable/libevent-2.0.22-stable.tar.gz + URL_MD5 c4c56f986aa985677ca1db89630a2e11 + BUILD_IN_SOURCE 1 + PREFIX ${CMAKE_BINARY_DIR}/deps/libevent + CONFIGURE_COMMAND "" + BUILD_COMMAND nmake -f Makefile.nmake + INSTALL_COMMAND + ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/deps/libevent/lib && + ${CMAKE_COMMAND} -E copy libevent.lib libevent_core.lib libevent_extras.lib ${CMAKE_BINARY_DIR}/deps/libevent/lib/ && + ${CMAKE_COMMAND} -E copy_directory include ${CMAKE_BINARY_DIR}/deps/libevent/include + ${CMAKE_COMMAND} -E copy Win32-Code/event2 ${CMAKE_BINARY_DIR}/deps/libevent/include/event2 + ) +endif() + +set(LIBEVENT_INCLUDE_DIR ${CMAKE_BINARY_DIR}/deps/libevent/include) + +if (APPLE) + set(LIBEVENT_LIBRARIES ${CMAKE_BINARY_DIR}/deps/libevent/lib/libevent_core.a) + list (APPEND LIBEVENT_LIBRARIES ${CMAKE_BINARY_DIR}/deps/libevent/lib/libevent_extra.a) + list (APPEND LIBEVENT_LIBRARIES ${CMAKE_BINARY_DIR}/deps/libevent/lib/libevent_pthreads.a) +elseif (UNIX) + set(LIBEVENT_LIBRARIES ${CMAKE_BINARY_DIR}/deps/libevent/lib/libevent_core.a) + list (APPEND LIBEVENT_LIBRARIES ${CMAKE_BINARY_DIR}/deps/libevent/lib/libevent_extra.a) + list (APPEND LIBEVENT_LIBRARIES ${CMAKE_BINARY_DIR}/deps/libevent/lib/libevent_pthreads.a) +elseif(WIN32) + set(LIBEVENT_LIBRARIES ${CMAKE_BINARY_DIR}/deps/libevent/lib/libevent.lib) +else() + message(FATAL_ERROR "Unknown platform!") +endif() + + +set(LIBEVENT_BUILT ON) + diff --git a/contrib/cmake/BuildURIParser.cmake b/contrib/cmake/BuildURIParser.cmake new file mode 100644 index 0000000..c204eed --- /dev/null +++ b/contrib/cmake/BuildURIParser.cmake @@ -0,0 +1,54 @@ +include(ExternalProject) +if (UNIX) + externalproject_add(uriparser + URL http://ufpr.dl.sourceforge.net/project/uriparser/Sources/0.8.4/uriparser-0.8.4.zip + URL_MD5 a24c9ba0fd1a2c6c75d02859bf337cfa + BUILD_IN_SOURCE 0 + PREFIX ${CMAKE_BINARY_DIR}/deps/uriparser + CONFIGURE_COMMAND + "<SOURCE_DIR>/configure" + "--disable-test" + "--disable-doc" + "--enable-static" + "--prefix=<INSTALL_DIR>" + ) +elseif(WIN32) + set(VSPROJECT_PATH "win32/Visual_Studio_2005") + + if( CMAKE_SIZEOF_VOID_P EQUAL 8 ) + externalproject_add(uriparser + URL http://ufpr.dl.sourceforge.net/project/uriparser/Sources/0.8.4/uriparser-0.8.4.zip + URL_MD5 a24c9ba0fd1a2c6c75d02859bf337cfa + BUILD_IN_SOURCE 1 + PREFIX ${CMAKE_BINARY_DIR}/deps/uriparser + CONFIGURE_COMMAND "" + BUILD_COMMAND cd ${VSPROJECT_PATH} && devenv /build Release|x64 uriparser.sln + INSTALL_COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/deps/uriparser/lib && ${CMAKE_COMMAND} -E copy win32/uriparser.lib ${CMAKE_BINARY_DIR}/deps/uriparser/lib && ${CMAKE_COMMAND} -E copy_directory include ${CMAKE_BINARY_DIR}/deps/uriparser/include + ) + else() + externalproject_add(uriparser + URL http://ufpr.dl.sourceforge.net/project/uriparser/Sources/0.8.4/uriparser-0.8.4.zip + URL_MD5 a24c9ba0fd1a2c6c75d02859bf337cfa + BUILD_IN_SOURCE 1 + PREFIX ${CMAKE_BINARY_DIR}/deps/uriparser + CONFIGURE_COMMAND "" + BUILD_COMMAND cd ${VSPROJECT_PATH} && devenv /Upgrade uriparser.vcproj && msbuild /p:Configuration=Release /p:Platform=Win32 /t:build uriparser.vcxproj + INSTALL_COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/deps/uriparser/lib && ${CMAKE_COMMAND} -E copy win32/uriparser.lib ${CMAKE_BINARY_DIR}/deps/uriparser/lib && ${CMAKE_COMMAND} -E copy_directory include ${CMAKE_BINARY_DIR}/deps/uriparser/include + ) + endif() + +endif() + +set(URIPARSER_INCLUDE_DIR ${CMAKE_BINARY_DIR}/deps/uriparser/include) + +if (UNIX) + set(URIPARSER_LIBRARY ${CMAKE_BINARY_DIR}/deps/uriparser/lib/liburiparser.a) +elseif(WIN32) + set(URIPARSER_LIBRARY ${CMAKE_BINARY_DIR}/deps/uriparser/lib/uriparser.lib) +else() + message(FATAL_ERROR "Unknown platform!") +endif() + +set(URIPARSER_BUILT ON) + + diff --git a/contrib/cmake/BuildXalanC.cmake b/contrib/cmake/BuildXalanC.cmake new file mode 100644 index 0000000..a1ebfed --- /dev/null +++ b/contrib/cmake/BuildXalanC.cmake @@ -0,0 +1,31 @@ +# see http://www.kitware.com/products/html/BuildingExternalProjectsWithCMake2.8.html +# see http://tools.cinemapub.be/opendcp/opendcp-0.19-src/contrib/CMakeLists.txt + +# not functional yet + +include(ExternalProject) +if (UNIX) + externalproject_add(xalan-c + URL http://ftp.halifax.rwth-aachen.de/apache/xalan/xalan-c/sources/xalan_c-1.11-src.tar.gz + URL_MD5 9227d3e7ab375da3c643934b33a585b8 + BUILD_IN_SOURCE 0 + PREFIX ${CMAKE_BINARY_DIR}/deps/xalan-c + CONFIGURE_COMMAND + "<SOURCE_DIR>/c/configure" + "--enable-static" + "--prefix=<INSTALL_DIR>" + ) + + set(XALANC_INCLUDE_DIR ${CMAKE_BINARY_DIR}/deps/xalan-c/include) + + if (APPLE) + set(XALANC_LIBRARY ${CMAKE_BINARY_DIR}/deps/xalan-c/lib/xalan-c.a) + elseif(UNIX) + set(XALANC_LIBRARY ${CMAKE_BINARY_DIR}/deps/xalan-c/lib/xalan-c.a) + elseif(WIN32) + set(XALANC_LIBRARY ${CMAKE_BINARY_DIR}/deps/xalan-c/lib/xalan-c.lib) + else() + message(FATAL_ERROR "Unknown platform!") + endif() + +endif()
\ No newline at end of file diff --git a/contrib/cmake/BuildXercesC.cmake b/contrib/cmake/BuildXercesC.cmake new file mode 100644 index 0000000..a0d6bc9 --- /dev/null +++ b/contrib/cmake/BuildXercesC.cmake @@ -0,0 +1,79 @@ +# see http://www.kitware.com/products/html/BuildingExternalProjectsWithCMake2.8.html +# see http://tools.cinemapub.be/opendcp/opendcp-0.19-src/contrib/CMakeLists.txt + +include(ExternalProject) +if (UNIX) + externalproject_add(xerces-c + URL http://ftp.halifax.rwth-aachen.de/apache/xerces/c/3/sources/xerces-c-3.1.3.tar.gz + URL_MD5 70320ab0e3269e47d978a6ca0c0e1e2d + BUILD_IN_SOURCE 0 + PREFIX ${CMAKE_BINARY_DIR}/deps/xerces-c + CONFIGURE_COMMAND + "<SOURCE_DIR>/configure" + "--enable-static" + "--prefix=<INSTALL_DIR>" + ) +elseif(WIN32) + set(VC_VERSION VC12) + # see https://en.wikipedia.org/wiki/Visual_C%2B%2B + + # CMAKE_CXX_COMPILER_VERSION=16.0.40219.1 + # MSVC_VERSION=1600 + + if (OFF) + elseif(MSVC_VERSION LESS 1310) + message(FATAL_ERROR "MSVC 7.1 or higher is required") + elseif(MSVC_VERSION LESS 1400) + set(VC_VERSION VC7.1) + elseif(MSVC_VERSION LESS 1500) + set(VC_VERSION VC8) + elseif(MSVC_VERSION LESS 1600) + set(VC_VERSION VC9) + elseif(MSVC_VERSION LESS 1700) + set(VC_VERSION VC10) + elseif(MSVC_VERSION LESS 1800) + set(VC_VERSION VC11) + elseif (MSVC_VERSION LESS 1900) + set(VC_VERSION VC12) + endif() + + set(VSPROJECT_PATH "projects/Win32/${VC_VERSION}/xerces-all/XercesLib") + + if( CMAKE_SIZEOF_VOID_P EQUAL 8 ) + externalproject_add(xerces-c + URL http://ftp.halifax.rwth-aachen.de/apache/xerces/c/3/sources/xerces-c-3.1.3.tar.gz + URL_MD5 70320ab0e3269e47d978a6ca0c0e1e2d + BUILD_IN_SOURCE 1 + PREFIX ${CMAKE_BINARY_DIR}/deps/xerces-c + CONFIGURE_COMMAND "" + BUILD_COMMAND cd ${VSPROJECT_PATH} && msbuild /p:Configuration=Release /p:Platform=x64 /t:build XercesLib.vcxproj + INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory Build/x64/${VC_VERSION}/Release/ ${CMAKE_BINARY_DIR}/deps/xerces-c/ + ) + else() + externalproject_add(xerces-c + URL http://ftp.halifax.rwth-aachen.de/apache/xerces/c/3/sources/xerces-c-3.1.3.tar.gz + URL_MD5 70320ab0e3269e47d978a6ca0c0e1e2d + BUILD_IN_SOURCE 1 + PREFIX ${CMAKE_BINARY_DIR}/deps/xerces-c + CONFIGURE_COMMAND "" + BUILD_COMMAND cd ${VSPROJECT_PATH} && msbuild /p:Configuration=Release /p:Platform=Win32 /t:build XercesLib.vcxproj + INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory Build/Win32/${VC_VERSION}/Release/ ${CMAKE_BINARY_DIR}/deps/xerces-c/lib/ && ${CMAKE_COMMAND} -E copy_directory src/ ${CMAKE_BINARY_DIR}/deps/xerces-c/include/ + ) + endif() +endif() + +# TODO: --with-curl=DIR + +set(XercesC_INCLUDE_DIRS ${CMAKE_BINARY_DIR}/deps/xerces-c/include) + +if (APPLE) + set(XercesC_LIBRARIES ${CMAKE_BINARY_DIR}/deps/xerces-c/lib/libxerces-c.dylib) +elseif(UNIX) + set(XercesC_LIBRARIES ${CMAKE_BINARY_DIR}/deps/xerces-c/lib/libxerces-c.so) +elseif(WIN32) + set(XercesC_LIBRARIES ${CMAKE_BINARY_DIR}/deps/xerces-c/lib/xerces-c_3.lib) +else() + message(FATAL_ERROR "Unknown platform!") +endif() + +SET(XercesC_BUILT ON) diff --git a/contrib/cmake/FindLibEvent.cmake b/contrib/cmake/FindLibEvent.cmake new file mode 100644 index 0000000..47872fe --- /dev/null +++ b/contrib/cmake/FindLibEvent.cmake @@ -0,0 +1,83 @@ +FIND_PATH(LIBEVENT_INCLUDE_DIR event2/event.h + PATH_SUFFIXES include + PATHS + /usr/local + /usr + /sw # Fink + /opt/local # DarwinPorts + /opt/csw # Blastwave + /opt + HINTS $ENV{LIBEVENT_SRC} +) + +FIND_LIBRARY(LIBEVENT_LIBRARY_RELEASE + NAMES event libevent + HINTS $ENV{LIBEVENT_SRC}/.libs/ +) +if (LIBEVENT_LIBRARY_RELEASE) + list(APPEND LIBEVENT_LIBRARIES optimized ${LIBEVENT_LIBRARY_RELEASE}) +endif() + +FIND_LIBRARY(LIBEVENT_LIBRARY_DEBUG + NAMES event_d libevent_d + HINTS $ENV{LIBEVENT_SRC}/.libs/ +) +if (LIBEVENT_LIBRARY_DEBUG) + list(APPEND LIBEVENT_LIBRARIES debug ${LIBEVENT_LIBRARY_DEBUG}) +else() + if (LIBEVENT_LIBRARY_RELEASE) + list(APPEND LIBEVENT_LIBRARIES debug ${LIBEVENT_LIBRARY_RELEASE}) + endif() +endif() + + + +FIND_LIBRARY(LIBEVENT_SSL_LIBRARY_RELEASE + NAMES event_openssl libevent_openssl + HINTS $ENV{LIBEVENT_SRC}/.libs/ +) +if (LIBEVENT_SSL_LIBRARY_RELEASE) + list(APPEND LIBEVENT_LIBRARIES optimized ${LIBEVENT_SSL_LIBRARY_RELEASE}) + SET(LIBEVENT_SSL_FOUND ON) +endif() + +FIND_LIBRARY(LIBEVENT_SSL_LIBRARY_DEBUG + NAMES event_openssl_d libevent_openssl_d + HINTS $ENV{LIBEVENT_SRC}/.libs/ +) +if (LIBEVENT_SSL_LIBRARY_DEBUG) + list(APPEND LIBEVENT_LIBRARIES debug ${LIBEVENT_SSL_LIBRARY_DEBUG}) +else() + if (LIBEVENT_SSL_LIBRARY_RELEASE) + list(APPEND LIBEVENT_LIBRARIES debug ${LIBEVENT_SSL_LIBRARY_RELEASE}) + endif() +endif() + + + +if (NOT WIN32) + FIND_LIBRARY(LIBEVENT_LIBRARY_THREADS + NAMES event_pthreads + HINTS $ENV{EVENT_SRC}/.libs/ + ) + list (APPEND LIBEVENT_LIBRARIES ${LIBEVENT_LIBRARY_THREADS}) + + FIND_LIBRARY(LIBEVENT_LIBRARY_EXTRA + NAMES event_extra + HINTS $ENV{LIBEVENT_SRC}/.libs/ + ) + list (APPEND LIBEVENT_LIBRARIES ${LIBEVENT_LIBRARY_EXTRA}) + + FIND_LIBRARY(LIBEVENT_LIBRARY_CORE + NAMES event_core + HINTS $ENV{EVENT_SRC}/.libs/ + ) + list (APPEND LIBEVENT_LIBRARIES ${LIBEVENT_LIBRARY_CORE}) + +endif() + +#message(FATAL_ERROR "EVENT_SSL_FOUND: ${EVENT_SSL_FOUND}") + +INCLUDE(FindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(LIBEVENT DEFAULT_MSG LIBEVENT_LIBRARIES LIBEVENT_INCLUDE_DIR) +MARK_AS_ADVANCED(LIBEVENT_LIBRARIES LIBEVENT_INCLUDE_DIR LIBEVENT_SSL_FOUND) |