diff --git a/CMakeLists.txt b/CMakeLists.txt index 37dbcf78b..a1dca4350 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -86,8 +86,9 @@ endif() include(PocoMacros) # Allow enabling and disabling components -option(ENABLE_XML "Enable the XML" ON) -option(ENABLE_JSON "Enable the JSON" ON) +option(ENABLE_ENCODINGS "Enable Encodings" ON) +option(ENABLE_XML "Enable XML" ON) +option(ENABLE_JSON "Enable JSON" ON) option(ENABLE_MONGODB "Enable MongoDB" ON) option(ENABLE_REDIS "Enable Redis" ON) option(ENABLE_PDF "Enable PDF" OFF) @@ -163,6 +164,10 @@ if(ENABLE_TESTS) endif() add_subdirectory(Foundation) +if(ENABLE_ENCODINGS) +add_subdirectory(Encodings) +list(APPEND Poco_COMPONENTS "Encodings") +endif() if(ENABLE_XML) add_subdirectory(XML) list(APPEND Poco_COMPONENTS "XML") diff --git a/Makefile b/Makefile index 41800cb80..97054e157 100644 --- a/Makefile +++ b/Makefile @@ -78,7 +78,7 @@ poco: libexecs $(if $(TESTS),tests) $(if $(SAMPLES),samples) all: libexecs tests samples INSTALLDIR = $(DESTDIR)$(POCO_PREFIX) -COMPONENTS = Foundation XML JSON Util Net Crypto NetSSL_OpenSSL Data Data/SQLite Data/ODBC Data/MySQL Zip PageCompiler PageCompiler/File2Page CppParser PDF MongoDB Redis +COMPONENTS = Foundation Encodings XML JSON Util Net Crypto NetSSL_OpenSSL Data Data/SQLite Data/ODBC Data/MySQL Zip PageCompiler PageCompiler/File2Page CppParser PDF MongoDB Redis cppunit: $(MAKE) -C $(POCO_BASE)/CppUnit @@ -115,10 +115,10 @@ endif find $(INSTALLDIR)/lib -name "libPoco*" -type f -exec rm -f {} \; find $(INSTALLDIR)/lib -name "libPoco*" -type l -exec rm -f {} \; -libexecs = Foundation-libexec XML-libexec JSON-libexec Util-libexec Net-libexec Crypto-libexec NetSSL_OpenSSL-libexec Data-libexec Data/SQLite-libexec Data/ODBC-libexec Data/MySQL-libexec Zip-libexec PageCompiler-libexec PageCompiler/File2Page-libexec CppParser-libexec PDF-libexec MongoDB-libexec Redis-libexec -tests = Foundation-tests XML-tests JSON-tests Util-tests Net-tests Crypto-tests NetSSL_OpenSSL-tests Data-tests Data/SQLite-tests Data/ODBC-tests Data/MySQL-tests Zip-tests CppParser-tests PDF-tests MongoDB-tests Redis-tests -samples = Foundation-samples XML-samples JSON-samples Util-samples Net-samples Crypto-samples NetSSL_OpenSSL-samples Data-samples MongoDB-samples Zip-samples PageCompiler-samples PDF-samples -cleans = Foundation-clean XML-clean JSON-clean Util-clean Net-clean Crypto-clean NetSSL_OpenSSL-clean Data-clean Data/SQLite-clean Data/ODBC-clean Data/MySQL-clean Zip-clean PageCompiler-clean PageCompiler/File2Page-clean CppParser-clean PDF-clean MongoDB-clean Redis-clean +libexecs = Foundation-libexec Encodings-libexec XML-libexec JSON-libexec Util-libexec Net-libexec Crypto-libexec NetSSL_OpenSSL-libexec Data-libexec Data/SQLite-libexec Data/ODBC-libexec Data/MySQL-libexec Zip-libexec PageCompiler-libexec PageCompiler/File2Page-libexec CppParser-libexec PDF-libexec MongoDB-libexec Redis-libexec +tests = Foundation-tests Encodings-tests XML-tests JSON-tests Util-tests Net-tests Crypto-tests NetSSL_OpenSSL-tests Data-tests Data/SQLite-tests Data/ODBC-tests Data/MySQL-tests Zip-tests CppParser-tests PDF-tests MongoDB-tests Redis-tests +samples = Foundation-samples Encodings-samples XML-samples JSON-samples Util-samples Net-samples Crypto-samples NetSSL_OpenSSL-samples Data-samples MongoDB-samples Zip-samples PageCompiler-samples PDF-samples +cleans = Foundation-clean Encodings-clean XML-clean JSON-clean Util-clean Net-clean Crypto-clean NetSSL_OpenSSL-clean Data-clean Data/SQLite-clean Data/ODBC-clean Data/MySQL-clean Zip-clean PageCompiler-clean PageCompiler/File2Page-clean CppParser-clean PDF-clean MongoDB-clean Redis-clean .PHONY: $(libexecs) .PHONY: $(tests) @@ -144,6 +144,20 @@ Foundation-clean: $(MAKE) -C $(POCO_BASE)/Foundation/testsuite clean $(MAKE) -C $(POCO_BASE)/Foundation/samples clean +Encodings-libexec: Foundation-libexec + $(MAKE) -C $(POCO_BASE)/Encodings + +Encodings-tests: Encodings-libexec cppunit + $(MAKE) -C $(POCO_BASE)/Encodings/testsuite + +Encodings-samples: Encodings-libexec + $(MAKE) -C $(POCO_BASE)/Encodings/samples + +Encodings-clean: + $(MAKE) -C $(POCO_BASE)/Encodings clean + $(MAKE) -C $(POCO_BASE)/Encodings/testsuite clean + $(MAKE) -C $(POCO_BASE)/Encodings/samples clean + XML-libexec: Foundation-libexec $(MAKE) -C $(POCO_BASE)/XML