Mercurial > code
changeset 359:c6dfa16c77be
Make things optional
author | David Demelier <markand@malikania.fr> |
---|---|
date | Tue, 28 Apr 2015 11:16:46 +0200 |
parents | eb7723d8627a |
children | 469000c78227 |
files | CMakeLists.txt |
diffstat | 1 files changed, 87 insertions(+), 77 deletions(-) [+] |
line wrap: on
line diff
--- a/CMakeLists.txt Tue Apr 28 11:13:34 2015 +0200 +++ b/CMakeLists.txt Tue Apr 28 11:16:46 2015 +0200 @@ -113,9 +113,13 @@ endif () endmacro() +# Required find_package(Pandoc REQUIRED) -find_package(OpenSSL REQUIRED) -find_package(Jansson REQUIRED) + +# Optional +find_package(Jansson) +find_package(OpenSSL) +find_package(ZIP) # --------------------------------------------------------- # Base64 @@ -223,23 +227,25 @@ # Hash # --------------------------------------------------------- -define_module( - TARGET hash - NAME Hash - DIRECTORY Hash - LIBRARIES ${OPENSSL_LIBRARIES} - INCLUDES ${OPENSSL_INCLUDE_DIR} - SOURCES - ${code_SOURCE_DIR}/C++/modules/Hash/Hash.cpp - ${code_SOURCE_DIR}/C++/modules/Hash/Hash.h - DOCS - ${code_SOURCE_DIR}/C++/doc/Hash/Home.md - ${code_SOURCE_DIR}/C++/doc/Hash/class/Hash.md - ${code_SOURCE_DIR}/C++/doc/Hash/class/Hash/md5.md - ${code_SOURCE_DIR}/C++/doc/Hash/class/Hash/sha1.md - ${code_SOURCE_DIR}/C++/doc/Hash/class/Hash/sha256.md - ${code_SOURCE_DIR}/C++/doc/Hash/class/Hash/sha512.md -) +if (OPENSSL_FOUND) + define_module( + TARGET hash + NAME Hash + DIRECTORY Hash + LIBRARIES ${OPENSSL_LIBRARIES} + INCLUDES ${OPENSSL_INCLUDE_DIR} + SOURCES + ${code_SOURCE_DIR}/C++/modules/Hash/Hash.cpp + ${code_SOURCE_DIR}/C++/modules/Hash/Hash.h + DOCS + ${code_SOURCE_DIR}/C++/doc/Hash/Home.md + ${code_SOURCE_DIR}/C++/doc/Hash/class/Hash.md + ${code_SOURCE_DIR}/C++/doc/Hash/class/Hash/md5.md + ${code_SOURCE_DIR}/C++/doc/Hash/class/Hash/sha1.md + ${code_SOURCE_DIR}/C++/doc/Hash/class/Hash/sha256.md + ${code_SOURCE_DIR}/C++/doc/Hash/class/Hash/sha512.md + ) +endif () # --------------------------------------------------------- # Ini @@ -275,22 +281,24 @@ # Json # --------------------------------------------------------- -define_module( - TARGET json - NAME Json - DIRECTORY Json - INCLUDES ${Jansson_INCLUDE_DIRS} - LIBRARIES ${Jansson_LIBRARIES} - SOURCES - ${code_SOURCE_DIR}/C++/modules/Json/Json.cpp - ${code_SOURCE_DIR}/C++/modules/Json/Json.h - RESOURCES - ${code_SOURCE_DIR}/C++/tests/Json/data/array-all.json - ${code_SOURCE_DIR}/C++/tests/Json/data/array.json - ${code_SOURCE_DIR}/C++/tests/Json/data/object-all.json - ${code_SOURCE_DIR}/C++/tests/Json/data/object.json - ${code_SOURCE_DIR}/C++/tests/Json/data/simple.json -) +if (Jansson_FOUND) + define_module( + TARGET json + NAME Json + DIRECTORY Json + INCLUDES ${Jansson_INCLUDE_DIRS} + LIBRARIES ${Jansson_LIBRARIES} + SOURCES + ${code_SOURCE_DIR}/C++/modules/Json/Json.cpp + ${code_SOURCE_DIR}/C++/modules/Json/Json.h + RESOURCES + ${code_SOURCE_DIR}/C++/tests/Json/data/array-all.json + ${code_SOURCE_DIR}/C++/tests/Json/data/array.json + ${code_SOURCE_DIR}/C++/tests/Json/data/object-all.json + ${code_SOURCE_DIR}/C++/tests/Json/data/object.json + ${code_SOURCE_DIR}/C++/tests/Json/data/simple.json + ) +endif () # --------------------------------------------------------- # OptionParser @@ -326,32 +334,34 @@ # Sockets # --------------------------------------------------------- -if (WIN32) - set(SOCKET_LIBRARIES ws2_32) -endif () +if (OPENSSL_FOUND) + if (WIN32) + set(SOCKET_LIBRARIES ws2_32) + endif () -define_module( - TARGET socket - NAME Socket - DIRECTORY Socket - INCLUDES ${OPENSSL_INCLUDE_DIR} - LIBRARIES - ${SOCKET_LIBRARIES} - ${OPENSSL_LIBRARIES} - SOURCES - ${code_SOURCE_DIR}/C++/modules/Socket/SocketAddress.cpp - ${code_SOURCE_DIR}/C++/modules/Socket/SocketAddress.h - ${code_SOURCE_DIR}/C++/modules/Socket/Socket.cpp - ${code_SOURCE_DIR}/C++/modules/Socket/Socket.h - ${code_SOURCE_DIR}/C++/modules/Socket/SocketListener.cpp - ${code_SOURCE_DIR}/C++/modules/Socket/SocketListener.h - ${code_SOURCE_DIR}/C++/modules/Socket/SocketSsl.cpp - ${code_SOURCE_DIR}/C++/modules/Socket/SocketSsl.h - ${code_SOURCE_DIR}/C++/modules/Socket/SocketTcp.cpp - ${code_SOURCE_DIR}/C++/modules/Socket/SocketTcp.h - ${code_SOURCE_DIR}/C++/modules/Socket/SocketUdp.cpp - ${code_SOURCE_DIR}/C++/modules/Socket/SocketUdp.h -) + define_module( + TARGET socket + NAME Socket + DIRECTORY Socket + INCLUDES ${OPENSSL_INCLUDE_DIR} + LIBRARIES + ${SOCKET_LIBRARIES} + ${OPENSSL_LIBRARIES} + SOURCES + ${code_SOURCE_DIR}/C++/modules/Socket/SocketAddress.cpp + ${code_SOURCE_DIR}/C++/modules/Socket/SocketAddress.h + ${code_SOURCE_DIR}/C++/modules/Socket/Socket.cpp + ${code_SOURCE_DIR}/C++/modules/Socket/Socket.h + ${code_SOURCE_DIR}/C++/modules/Socket/SocketListener.cpp + ${code_SOURCE_DIR}/C++/modules/Socket/SocketListener.h + ${code_SOURCE_DIR}/C++/modules/Socket/SocketSsl.cpp + ${code_SOURCE_DIR}/C++/modules/Socket/SocketSsl.h + ${code_SOURCE_DIR}/C++/modules/Socket/SocketTcp.cpp + ${code_SOURCE_DIR}/C++/modules/Socket/SocketTcp.h + ${code_SOURCE_DIR}/C++/modules/Socket/SocketUdp.cpp + ${code_SOURCE_DIR}/C++/modules/Socket/SocketUdp.h + ) +endif () # --------------------------------------------------------- # Treenode @@ -382,7 +392,7 @@ # Xdg # --------------------------------------------------------- -#if (UNIX) +if (UNIX) define_module( TARGET xdg NAME Xdg @@ -401,24 +411,24 @@ ${code_SOURCE_DIR}/C++/doc/Xdg/class/Xdg/dataHome.md ${code_SOURCE_DIR}/C++/doc/Xdg/class/Xdg/runtimeDir.md ) -#endif () +endif () # --------------------------------------------------------- # Zip # --------------------------------------------------------- -find_package(ZIP REQUIRED) - -define_module( - TARGET zip - NAME Zip - DIRECTORY Zip - INCLUDES ${ZIP_INCLUDE_DIRS} - LIBRARIES ${ZIP_LIBRARIES} - RESOURCES - ${code_SOURCE_DIR}/C++/tests/Zip/data/data.txt - ${code_SOURCE_DIR}/C++/tests/Zip/data/stats.zip - SOURCES - ${code_SOURCE_DIR}/C++/modules/Zip/ZipArchive.cpp - ${code_SOURCE_DIR}/C++/modules/Zip/ZipArchive.h -) +if (ZIP_FOUND) + define_module( + TARGET zip + NAME Zip + DIRECTORY Zip + INCLUDES ${ZIP_INCLUDE_DIRS} + LIBRARIES ${ZIP_LIBRARIES} + RESOURCES + ${code_SOURCE_DIR}/C++/tests/Zip/data/data.txt + ${code_SOURCE_DIR}/C++/tests/Zip/data/stats.zip + SOURCES + ${code_SOURCE_DIR}/C++/modules/Zip/ZipArchive.cpp + ${code_SOURCE_DIR}/C++/modules/Zip/ZipArchive.h + ) +endif ()