poco/cmake
siren186 73df3689bf
enh(Poco::ActiveThreadPool): make it easy to use correctly (#4624)
* make Poco::ActiveThreadPool easy to use (#4544)

* code format

* Fix ThreadSanitizer thread leak error

* enh(ActivePooledThread): Change pointers to references

* enh(ActivePooledThread): remove unused method

* enh(Poco::ActiveThreadPool): Use std::unique_ptr instead of raw pointer

* enh(Poco::ActiveThreadPool): Use C++ static_cast instead of C casting

* enh(Poco::ActiveThreadPool): Use standard containers instead of implementing own

* enh(Poco::ActiveThreadPool): Change pointer to reference

* enh(Poco::ActiveThreadPool): Use smart pointers instead of bare pointers

* enh(Poco::ActiveThreadPool): Fix codeql warning: A stack address which arrived via a  may be assigned to a non-local variable.

* enh(Poco::ActiveThreadPool): More test case

* enh(Poco::ActiveThreadPool): std::optional::value unavailable on earlier macOS versions

* enh(Poco::ActiveThreadPool): Fix compare function for make heap

* enh(Poco::ActiveThreadPool): Add more test case

* enh(Poco::ActiveThreadPool): Add more test case

* enh(Poco::ActiveThreadPool): Code style

* enh(Poco::ActiveThreadPool): Test case

* enh(Poco::ActiveThreadPool): Test case

* enh(Poco::ActiveThreadPool): Fix test case error

* Revert "enh(Poco::ActiveThreadPool): std::optional::value unavailable on earlier macOS versions"

This reverts commit cba4673b47.

* enh(macOS): require min deployment macOS version 10.15 which has full support for C++17

* enh(Poco::ActiveThreadPool): Remove useless "{}"

* enh(Poco::ActiveThreadPool): Rename member variable m_impl to _impl

---------

Co-authored-by: Matej Kenda <matejken@gmail.com>
2024-08-30 11:54:44 +02:00
..
V33 Cleanup cmake build system to use transitive dependency management from cmake (#2321) 2018-06-03 11:17:50 -05:00
V39 Fix cross-compilation against Poco pre-built (#2599) (#2679) 2019-04-22 23:47:11 +02:00
V313 Fix cross-compilation against Poco pre-built (#2599) (#2679) 2019-04-22 23:47:11 +02:00
cmake_uninstall.cmake.in Moved contributed CMake modules to "cmake" folder 2012-12-16 00:40:40 -02:00
CXX1x.cmake Improve project C++17 support (#4334) 2023-12-13 02:16:35 +01:00
DefinePlatformSpecifc.cmake enh(Poco::ActiveThreadPool): make it easy to use correctly (#4624) 2024-08-30 11:54:44 +02:00
ExecuteOnAndroid.cmake make CMake files style (more) consistent 2020-02-14 11:07:32 +01:00
FindApache2.cmake Fix detection of odbc and apache2 for Fedora (#4461) 2024-02-15 16:54:13 +01:00
FindAPR.cmake enh(Poco): Mark deprecated functionality with C++ attributes and resolve internal usage of deprecated functions (#4551) 2024-07-29 08:37:35 +02:00
FindAPRUTIL.cmake enh(Poco): Mark deprecated functionality with C++ attributes and resolve internal usage of deprecated functions (#4551) 2024-07-29 08:37:35 +02:00
FindAvahi.cmake 2208 merge dnssd (#4479) 2024-04-03 22:38:56 +02:00
FindBonjour.cmake 2208 merge dnssd (#4479) 2024-04-03 22:38:56 +02:00
FindMySQL.cmake fix FindMySQL.cmake 2023-10-04 10:09:55 +02:00
FindODBC.cmake Fix detection of odbc and apache2 for Fedora (#4461) 2024-02-15 16:54:13 +01:00
FindPCRE2.cmake Feat/pcre2 (#3663) 2022-07-06 10:46:38 -05:00
FindPostgreSQL.cmake make CMake files style (more) consistent 2020-02-14 11:07:32 +01:00
PocoConfig.cmake.in Do not overwrite CMAKE_PREFIX_PATH in component config files. 2015-02-04 04:35:23 +01:00
PocoConfigVersion.cmake.in CMake: Create PocoConfig.cmake to make importable from other CMake projects 2014-10-14 17:58:46 +02:00
PocoMacros.cmake mingw 11: fixes to compile common libraries 2023-12-14 19:02:11 +01:00
README Moved contributed CMake modules to "cmake" folder 2012-12-16 00:40:40 -02:00
test_compiler.cpp Verify in cmake if it possible to compile with C++yy standard 2017-11-08 09:25:06 +01:00
UseEmbeddedOpenSSL.cmake Remove trailing whitespace (#3668) 2022-07-07 04:18:20 -05:00

CMAKE Files contributed by Andrew J. P. Maclean <a.maclean@optusnet.com.au>


Put the following files in the directory where your source code is:
  CMakeLists.txt
  PocoConfig.cmake.

Edit CMakeLists.txt to include your source and header files. The sections of interest are:
# Add any source files here.
SET( EXE_SRCS
 "My File.cpp"
)
# Add any include files here.
SET( EXE_INCS
  "My File.h"
)

Then create a subdirectory called build.
In Linux:
cd build
ccmake ..
or
ccmake -GKDevelop3 ..
(This will set up everything so you can use KDevelop3).

In Windows:
run CMakeSetup.exe and set the source code directory and where to build the libraries.

If CMake cannot find Poco, you will see that the variable Poco_INCLUDE_DIR has the value Poco_INCLUDE_DIR-NOTFOUND. Just set this value to the top level direcotry of where the Poco includes are.

If there is a different version of Poco, you may have to add edit the variables SUFFIX_FOR_INCLUDE_PATH, and  SUFFIX_FOR_LIBRARY_PATH adding in the new Poco version in a similar manner to the existing ones in the file PocoConfig.cmake.

Finally:
In Linux
  Either type "make" or if you are using KDevelop, click on the <ProjectName>.kdevelop file.
In Windows just use your IDE or nmake if you use nmake.