summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
Commit message (Collapse)AuthorAgeFilesLines
* Fix bug with absolute paths in pc file generationAlan Antonuk2023-05-031-2/+2
| | | | | | Fixes: alanxz/rabbitmq-c#733 Signed-off-by: GitHub <noreply@github.com>
* Make cmake package-config find OpenSSL when usedAlan Antonuk2023-05-021-1/+2
| | | | | | | | | This makes the rabbitmq-c-config.cmake package config correctly find the OpenSSL library dependency when required. Fixes: #725 Signed-off-by: GitHub <noreply@github.com>
* cmake: use SameMajorVersion compatibility strategyAlan Antonuk2023-05-021-1/+1
| | | | Signed-off-by: GitHub <noreply@github.com>
* cmake: bump minimum required version to 3.22Alan Antonuk2023-05-011-1/+1
| | | | | | | | This is the version that is installed on Ubuntu 22.04-LTS, and what is possible to regularly test with the current infrastructure. 3.19+ is needed to allow for use of CMakePresets.json. Signed-off-by: GitHub <noreply@github.com>
* Correct library versions on Mach-O platformsAlan Antonuk2023-04-301-1/+1
| | | | | | | | | | | Set the compatibility and current version strings on Mach-O (Apple) platforms. The compatibility version remains the same as the SOVERSION, the current version is SOVERSION.AGE.REVISION, which matches the previous libtool semantics for this. Fixes #758 Signed-off-by: GitHub <noreply@github.com>
* Preparation for v0.13.0 releasev0.13.0Alan Antonuk2023-02-051-1/+1
| | | | Signed-off-by: GitHub <noreply@github.com>
* for initial integration in oss-fuzz (#736)Arjun2023-02-011-20/+6
| | | | | * support of oss-fuzz Signed-off-by: 0x34d <ajsinghyadav00@gmail.com>
* add option to install or not the static libraryRemi Collet2023-02-011-1/+2
|
* Bumping revision for development.Alan Antonuk2023-02-011-1/+1
| | | | Signed-off-by: GitHub <noreply@github.com>
* Preparation for v0.12.0 releasev0.12.0Alan Antonuk2023-02-011-1/+1
| | | | Signed-off-by: GitHub <noreply@github.com>
* fuzzer deployment (#734)Arjun2022-07-251-0/+27
| | | | | * fuzzer deployment Signed-off-by: 0x34d <ajsinghyadav00@gmail.com>
* cmake: removed unused CheckCCompilerFlagAlan Antonuk2021-09-271-1/+0
| | | | | | This appears to be unused. Signed-off-by: GitHub <noreply@github.com>
* Update copyright & license header to use SPDX idAlan Antonuk2021-07-271-0/+3
| | | | | | | This makes license detection machine-readable, and makes source files more concise and easier to read and understand. Signed-off-by: GitHub <noreply@github.com>
* cmake: Change definition of OpenSSL dep in pc fileDaniel Engberg2021-07-131-2/+1
| | | | | | Instead of defining OpenSSL dependency via Requires.private use Libs.private instead. This removes the requirement of a .pc file for OpenSSL which not all distributions ship such as FreeBSD. Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
* cmake: only enable doxygen when configured toAlan Antonuk2021-05-201-6/+2
| | | | | | Also use find_package(... REQUIRED) pattern to be a bit more concise. Signed-off-by: GitHub <noreply@github.com>
* lib: delete obsolete inline keyword detectionAlan Antonuk2021-05-201-1/+0
| | | | | | C99 supports the inline keyword, this is now not useful. Signed-off-by: GitHub <noreply@github.com>
* lib: compile rabbitmq-c as C99Alan Antonuk2021-05-201-1/+1
| | | | | | | | | It is believed that enough maintained platforms (Linux, MacOS, Win32) have a compiler that supports a compiler that can compile in C99. This also removes the need to maintain a number of workarounds, as well as awkward coding patterns. Signed-off-by: GitHub <noreply@github.com>
* cmake: remove framing generation from cmakeAlan Antonuk2021-04-201-99/+0
| | | | | | This will be replaced with some sort of shell script. Signed-off-by: GitHub <noreply@github.com>
* lib: make library version match release versionAlan Antonuk2021-04-201-4/+4
| | | | | | | This makes full library version on unix-like systems match the release version. The SOVERSION remains as unchanged, for compatibility sake. Signed-off-by: GitHub <noreply@github.com>
* cmake: rename FindXMLTO.cmake to correct warningAlan Antonuk2021-04-191-2/+2
| | | | | | | | | | | | | CMake issues the following developer warning about FindXmlTo: The package name passed to `find_package_handle_standard_args` (XMLTO) does not match the name of the calling package (XmlTo). This can lead to problems in calling code that expects `find_package` result variables (e.g., `_FOUND`) to follow a certain pattern. This corrects that by naming it FindXMLTO.cmake. Signed-off-by: GitHub <noreply@github.com>
* cmake: set default for BUILD_TOOLS to OFFAlan Antonuk2021-04-191-15/+11
| | | | | | | | | | | Then make BUILD_TOOLS_DOCS only usable when BUILD_TOOLS is ON and explicitly specified. This makes the project easier to add_submodule by not sometimes turning on features based on the environment. And makes it explict when things are enabled vs something that is triggered based on the environment. Signed-off-by: GitHub <noreply@github.com>
* cmake: change BUILD_EXAMPLES to default to OFFAlan Antonuk2021-04-191-4/+6
| | | | | | | | | | | This makes the project easier to use as an add_subdirectory in a larger project without needing to explicitly disable this feature. As a minor side-effect: BUILD_EXAMPLES now requires BUILD_SHARED_LIBS=ON. While there isn't a technical limitation, it makes the CMake code easier to reason about, and is believed this will not impact a lot of users. If this ends up being a problem, it can be reconsidered.
* cmake: specify COMPONENT on install commandsAlan Antonuk2021-04-111-0/+2
| | | | | | | | | | | | | | | | To help package managers cmake install commands now specify a COMPONENT. Components include: - rabbitmq-c-runtime: libraries necessary for running programs linked against rabbitmq-c. - rabbitmq-c-development: static libraries, headers necessary for building programs against rabbitmq-c - rabbitmq-c-tools: CLI tools for interacting with RabbitMQ broker - rabbitmq-c-tool-docs: man pages for CLI tools. This also updates the tool install directory to use GnuInstallDirs- compatible location Signed-off-by: GitHub <noreply@github.com>
* ssl: drop support OpenSSL v1.1.0 and olderAlan Antonuk2021-04-061-1/+1
| | | | | | | | | | | | v1.1.0 and older is no longer supported by OpenSSL (https://www.openssl.org/policies/releasestrat.html). While there is the possibility that someone is paying for support for v1.0.2, this library is not regularly tested against these versions. As a side-effect older workarounds for hostname verification can be removed. Signed-off-by: GitHub <noreply@github.com>
* cmake: use GenerateExportHeader for AMQP_EXPORTAlan Antonuk2021-04-061-5/+1
| | | | | | | | | | Use cmake's GenerateExportHeader to define AMQP_EXPORT & AMQP_DEPRECATED over the one in amqp.h. This is likely to be more correct over time. Note this requires bumping the minimum required version from v3.10 to v3.12 to pick up support in CMake for C libraries. Signed-off-by: GitHub <noreply@github.com>
* cmake: use modern version of project() commandAlan Antonuk2021-04-011-23/+12
| | | | | | | This also gets rid of a non-top-level project command that probably shouldn't be used. Signed-off-by: GitHub <noreply@github.com>
* cmake: restore -fvisibility=hidden flagAlan Antonuk2021-04-011-1/+4
| | | | | | | This removed when the manual flag manipulation bit was removed. This restores the previous behavior and adds -fvisibility-inlines-hidden Signed-off-by: GitHub <noreply@github.com>
* Fix #666 bad PACKAGE_VERSIONRemi Collet2021-04-011-1/+1
|
* cmake: modernize how tests are enabledAlan Antonuk2021-03-311-4/+5
| | | | | | Note this changes the build option from BUILD_TESTS to BUILD_TESTING. Signed-off-by: GitHub <noreply@github.com>
* cmake: remove code that manipulates CMAKE_C_FLAGSAlan Antonuk2021-03-311-13/+0
| | | | | | | Manipulating CMAKE_C_FLAGS directly within the CMakeLists.txt is generally frowned upon, and error-prone as compilers evolve. Signed-off-by: GitHub <noreply@github.com>
* cmake: use C_STANDARD instead of C_FLAGSAlan Antonuk2021-03-311-10/+4
| | | | | | | | Setting CMAKE_C_STANDARD, CMAKE_C_STANDARD_REQUIRED, and CMAKE_C_EXTENSIONS instead of manipulating CMAKE_C_FLAGS is more portable and future proof Signed-off-by: GitHub <noreply@github.com>
* cmake: modernize setting default build typeAlan Antonuk2021-03-311-4/+5
| | | | | | | This is the method recommended on the kitware blog and will better handle other generators beyond Make and Ninja. Signed-off-by: GitHub <noreply@github.com>
* cmake: set v3.10 as minimum required versionAlan Antonuk2021-03-311-5/+5
| | | | | | | | CMake v3.10 is available on most LTS systems (Ubuntu 18.04+, RHEL/CentOS 8, Debian Stable, Fedora 32, FreeBSD and OpenBSD). And thus can be tested. Signed-off-by: GitHub <noreply@github.com>
* Bumping revision for development.Alan Antonuk2021-03-311-1/+1
| | | | Signed-off-by: GitHub <noreply@github.com>
* Preparation for v0.11.0 releasev0.11.0Alan Antonuk2021-03-311-3/+3
| | | | Signed-off-by: GitHub <noreply@github.com>
* Add rabbitmq-c-config.cmake generationEric Huff2020-05-311-0/+39
| | | | | | Generating a -config.cmake or Config.cmake lets rabbitmq-c be discoverable via cmake's `find_package`, and allows easier use in the vcpkg ecosystem.
* Add option to run system tests (disabled by default).Simon Lepasteur2020-03-121-0/+1
| | | | | | | | | System tests require a RabbitMQ or other AMQP server to be running on `localhost` at TCP port number 5672 and therefore fails if no such server is running on the build machine. This is surprising for everyone running the standard `make test` to ensure the library is built correctly.
* Fix incorrect private lib field in librabbitmq.pcAndriy Gelman2020-02-201-2/+5
| | | | | | | | | Fixes #599 Private lib entries are currently separated by semicolon. Replace semicolon by space and add -l prefix to libs. Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
* Bumping revision for developmentAlan Antonuk2019-12-011-1/+1
|
* Preparation for v0.10.0 releasev0.10.0Alan Antonuk2019-12-011-3/+3
|
* Bumping revision for developmentAlan Antonuk2018-05-081-1/+1
|
* Preparation for v0.9.0 release.v0.9.0-masterAlan Antonuk2018-05-081-3/+3
|
* ssl: Make thread-safety unconditional in rabbitmq-cAlan Antonuk2017-12-101-14/+14
| | | | | | | | | Remove the option to disable thread-safety in the parts of rabbitmq-c that use OpenSSL, making it a requirement for thread-safety to use SSL with rabbitmq-c. The existing #ifdef's are a source of additional complexity and the non-thread-safe version is not well tested.
* Remove vim mode lines.formatAlan Antonuk2017-12-041-1/+0
| | | | They're hard to keep in sync with .clang-format or other tools.
* build: remove obsolete HAVE_HTONLL checkAlan Antonuk2017-10-101-9/+0
| | | | | HAVE_HTONLL was used for the byteswap code, which no longer uses htonll, this can be removed.
* Bumping revision for development.ver_bumpAlan Antonuk2016-04-101-1/+1
|
* Preparation for v0.8.0 release.v0.8.0release_080Alan Antonuk2016-04-091-3/+3
|
* CMake: rework symbol checking to work with -WerrorAlan Antonuk2015-11-291-37/+37
| | | | | Rework checking for existence of getaddrinfo, socket, poll and select so that it works when -DCMAKE_C_FLAGS="-Werror" is passed to CMake.
* build: Add check for posix_spawn functionsChris Packham2015-10-261-1/+2
| | | | | | | | | | These are usually found in librt. On some systems clock_gettime is also in librt so checking for it was implicitly satisfying the requirement for the posix_spawn functions. On newer systems (glibc >2.17 for example) clock_gettime is also found in libc so AC_SEARCH_LIBS() decides that it is not necessary to add -lrt to LIBS. Add an explicit check for posix_spawnp() to decide if -lrt is necessary.
* CMake: Set CMP0042 to use NEW policy.Alan Antonuk2015-10-191-0/+5
| | | | Fixes #293