poco/cmake
Joerg-Christian Boehme 612f092235 Cleanup cmake build system to use transitive dependency management from cmake (#2321)
* Some cleanup in the root CMakeLists.txt

* Cleanup cmake targets

* Add find openssl modul for older cmake version

* Set proper scope

* Change crypto default to off

* Fix openssl default to on

* Remove global setting of C99 standard

* Set from C11 to C99

* Fix for NetSSL win build

* Set C99 compile features

* Fix Windows build

* Fix windows build

* Cleanup poco unbundle definition

* Fix PDF build

* Remove unused set affinity

* Add _CRT_SECURE_NO_WARNINGS as target compile definitions

* Add _AFXDLL as target compile definitions

* Remove commented out line

* Refactor add_definitions to target_compile_definitons in Util

* Refactor add_definitions to target_compile_definitons in XML

* Remove THREADSAFE in data sql cmake build

* Refactor add_definitions to target_compile_definition in cmake mysql

* Refactor add_definitions to target_compile_definition in cmake odbc

* Refactor add_definitions to target_compile_definition in cmake sqlite

* Refactor add_definitions to target_compile_definitions in platform specific cmake

* Add _DEBUG as compile definition

* Add build dependencies between Foundation-testrunner and TestApp, TestLibrary in cmake build

* Use cmake property to build shared libs

* Cleanup POCO_NO_AUTOMATIC_LIBS. Set only for Windows in cmake build system

* cleanup LIB_MODE_DEFINITIONS in cmake buld system

* Add POCO_STATIC for CppUnit

* Cleanup target link libraries and add option dependencies.

* Add dependencies management in cmake

* Update cmake documentation

* Squashed commit of the following:

commit 38c233f93fc8e9ad6e24d686c905eb18c86e19a7

    Fix "invalid new-expression of abstract class type ApacheServerRequest" (#2231)

    - abstract method "bool secure() const" defined in HTTPServerRequest was implemented in ApacheServerRequest, one of its derived classes
     - a ap_log_error had one of its parameters changed for fixing a warning "passing NULL to non-pointer argument"
     - minor indentation problems corrected

commit 4cbdfbe828943871618172f9e042176f115d61d8

    Fix build dependencies

* Improve database cmake build dependencies

* Update doc

* Update doc

* Update cmake build commands

* Set public on target link libraries in cmake build system

* Fix PostgreSQL build

* Fix PostgreSQL build in cmake

* Fix PostgreSQL from SQL to Data

* Squashed commit of the following:

commit 1ba7d5dcbfb8d07860dd4efda33b31bedf6184c4

    Add missing cmake file

* Set path to PostgresSQL in AppVoyer

* Try to fix AppVeyor build

* show dir in appvoyer

* Disable PostgreSQL build on Appvoyer

* Refactor add_definitions to target_compile_definitions
2018-06-03 11:17:50 -05:00
..
V33 Cleanup cmake build system to use transitive dependency management from cmake (#2321) 2018-06-03 11:17:50 -05:00
cmake_uninstall.cmake.in Moved contributed CMake modules to "cmake" folder 2012-12-16 00:40:40 -02:00
CXX1x.cmake #1991 2017-12-18 10:33:11 +01:00
DefinePlatformSpecifc.cmake Cleanup cmake build system to use transitive dependency management from cmake (#2321) 2018-06-03 11:17:50 -05:00
ExecuteOnAndroid.cmake On android: show SDK version, show files on emulator when test is failling, exclude unknown failing Foundation test 2018-05-20 05:43:55 +02:00
FindApache2.cmake Moved contributed CMake modules to "cmake" folder 2012-12-16 00:40:40 -02:00
FindAPR.cmake Moved contributed CMake modules to "cmake" folder 2012-12-16 00:40:40 -02:00
FindMySQL.cmake Cleanup cmake build system to use transitive dependency management from cmake (#2321) 2018-06-03 11:17:50 -05:00
FindODBC.cmake cmake: Cleanup CMakeLists.txt for all components 2014-08-22 17:11:03 +02:00
FindPCRE.cmake remove duplicate files and remaining Id headers 2017-11-10 09:26:24 +01:00
FindPostgreSQL.cmake Cleanup cmake build system to use transitive dependency management from cmake (#2321) 2018-06-03 11:17:50 -05:00
FindSQLite3.cmake cmake: add find modules for PCRE and SQLite3 2014-07-10 09:15:06 +02: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 respect lib suffix when installing cmake files 2018-02-19 10:26:45 +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

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.