CMakeLists.txt


Log

Author Commit Date CI Message
Azat Khuzhin 40fbffc0 2016-11-01T23:33:11 Fix cmake -DEVENT__COVERAGE=ON - do not use compiler check from the root cmake rules with syntax error, let CodeCoverage check it - fix CodeCoverage to check C compiler not CXX - case insensitive checking of CMAKE_BUILD_TYPE - replace flags with --coverage, and fix flags with linking with --coverate, otherwise it will not compile during checking flags and fails.
Azat Khuzhin 3453c081 2016-10-30T11:19:43 cmake: fix finding python2, and check that it is really 2 python version check removed in a4d044c0cd97f68b4b3dde414b83d609719d33d7 ("cmake: use PYTHON_EXECUTABLE to find python2"), but in bcb990ab7cf4921c2c30a1aa4fcb4c0131fffe94 ("cmake/win32: fix running regress, but fixing finding python2 interpreter") we set PYTHON_EXECUTABLE only if it exists.
Zonr Chang dc624adf 2016-08-24T16:19:01 cmake: cleanup - Remove a redundant check on netdb.h (EVENT__HAVE_NETDB_H). - Properly setup EVENT__SIZEOF_SSIZE_T for the case where "ssize_t" is not "int". - Remove unused EVENT__HAVE_PTHREAD. - Set EVENT__HAVE_LIBZ instead of EVENT__HAVE_ZLIB (and remove the latter). Closes: #391 (cherry-picked from PR)
Azat Khuzhin bcb990ab 2016-10-26T00:51:56 cmake/win32: fix running regress, but fixing finding python2 interpreter Could not find executable C:/projects/libevent/build/bin/regress Looked in the following places: C:/projects/libevent/build/bin/regress C:/projects/libevent/build/bin/regress.exe ... 9/13 Test #9: regress__WIN32_debug ................***Not Run 0.00 sec Link: https://ci.appveyor.com/project/nmathewson/libevent/build/2.1.6.271/job/wvy2jp7uojcut5cx#L1256 Fixes: #411
Azat Khuzhin a4d044c0 2016-10-04T23:21:37 cmake: use PYTHON_EXECUTABLE to find python2 Since most of the distros have symlinks for this.
Azat Khuzhin 91559607 2016-10-03T03:17:18 Add -DEVENT__DISABLE_CLOCK_GETTIME switch for cmake See-also: adc402ba5f0e15f4c77505852507f33b50f37ab6 ("Adding option to ignore clock_gettime: --disable-clock-gettime")
Azat Khuzhin 51019e94 2016-07-13T17:40:48 Bump version to 2.1.6-beta everywhere - cmake basic - cmake detecting from git -- event_fuzzy_version_from_git() - autotools - win32 - appveyor
Azat Khuzhin 43eb56c7 2016-08-11T16:15:45 tests: use waitpid(..., WNOWAIT) to fix failing of main/fork under solaris According to solaris docs: "One instance of a SIGCHLD signal is queued for each child process whose status has changed. If waitpid() returns because the status of a child process is available, and WNOWAIT was not specified in options, any pending SIGCHLD signal associated with the process ID of that child process is discarded. Any other pending SIGCHLD signals remain pending." And interesting thing that it works if you add sleep(1) before waitpid(), and also if you run with --verbose (some race or what). But linux doesn't support WNOWAIT in waitpid() so add detection into cmake/autotools. Fixes: #387 Link: https://bugzilla.redhat.com/show_bug.cgi?id=840782
Azat Khuzhin dc95823c 2016-08-10T00:27:59 cmake/solaris: set CMAKE_REQUIRED_LIBRARIES to fix functions detections Otherwise we will not detect next functions for instance: - gethostbyname_r # and related And now both autotools/cmake builds passes all regress tests in basic env (on solaris of course). Fixes: dns/client_fail_requests_getaddrinfo
Azat Khuzhin 050bfc7f 2016-08-10T00:16:48 cmake/solaris: fix building (link with socket,nsl)
Azat Khuzhin c4dfb93f 2016-08-09T10:56:34 cmake: check for ZLIB_INCLUDE_DIR, since we can have only library without headers
Azat Khuzhin de0c1965 2016-08-08T15:50:46 cmake/win32: do not compile regress_thread on -DEVENT__DISABLE_THREAD_SUPPORT=ON
Azat Khuzhin ecb0ec82 2016-08-08T15:45:29 cmake/win32: do not compile evthread_win32 on -DEVENT__DISABLE_THREAD_SUPPORT=ON There is duplicated "evthread_win32.c" appending to ${SRC_CORE} list, leave only one that under if EVENT__DISABLE_THREAD_SUPPORT Fixes: https://ci.appveyor.com/project/azat/libevent/build/2.1.5.96/job/44q3rgifasny7gek
Azat Khuzhin e35f2241 2016-08-07T23:46:26 cmake: fix -DEVENT__ENABLE_VERBOSE_DEBUG (typo on -DUSE_DEBUG) Fixes: 8b228e27f57300be61b57a41a2ec8666b726dc34 ("Lot's of cmake updates")
Azat Khuzhin 38716c65 2016-08-07T23:07:44 cmake: do not use stderr for notifications/version-info For all except "STATUS" message() will write to stderr, and this also includes case when you does not have <mode> at all. Plus for every message in stderr powershell generates exception and make appveyor fails. Fixes: https://ci.appveyor.com/project/azat/libevent/build/2.1.5.85/job/i10k7m0t80330mtr
Mark Ellzey 30316177 2016-06-28T10:37:24 [#372] check for errno.h
Azat Khuzhin 87f7238f 2016-03-10T01:50:12 cmake: require 3.1 only for win32 to make it work under ubunty precise Also I [TRIED] wily but ubuntu can't upgrade transparently. TRIED: https://travis-ci.org/azat/libevent/jobs/114924723 Fixes: https://travis-ci.org/libevent/libevent/jobs/114917275
Azat Khuzhin c46ead5d 2016-03-10T01:07:54 cmake: require at least 3.1 for target_sources()
Azat Khuzhin 36588e16 2016-03-10T00:33:04 cmake: fix adding of compiler flags, and now it will - add_compiler_flags() must accept array IOW just ARGN will be enoough - add_compiler_flags() called with variable name instead of it's value P.S. and fix some alignments issues P.P.S. more cmake issues expected since now CFLAGS actually works P.P.P.S. some issues with cmake cache is possible, so just reset it
Azat Khuzhin f29f59e8 2016-03-10T00:25:09 Replace -Wswitch-enum with -Wswitch, and add it into cmake rules too According to https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html: -Wswitch-enum Warn whenever a switch statement has an index of enumerated type and lacks a case for one or more of the named codes of that enumeration. case labels outside the enumeration range also provoke warnings when this option is used. The only difference between -Wswitch and this option is that this option gives a warning about an omitted enumeration code even if there is a *default label*.
Azat Khuzhin a1609a87 2016-01-12T01:57:07 cmake: fix building dns-example under win32 (missing getopt)
Azat Khuzhin 7707f6b0 2016-01-07T17:51:40 cmake: Fix detection of ssize_t/SSIZE_T Since ssize_it is POSIX, windows/VS also have this but with BaseTsd.h, plus the logic prefers "ssize_t" (lower) instead of "SSIZE_T" (upper) when the latest only available -- fix this too. Refs: #311
Mark Ellzey d56efd94 2015-12-21T17:43:00 Fixed issue with cmake version generation
Mark Ellzey 7f9646d2 2015-12-21T04:36:24 Cmake is now officially working. Though I am currently breaking out things that seem to be repetitive, and a cooler version macro and changelog updater. More to come.
Mark Ellzey 49a53811 2015-12-20T21:44:04 More cmake updates, lot's of missing definitions
Mark Ellzey a9db46ae 2015-12-20T00:43:46 CMAKE CMAKE CMAKE CLEANUPS It's almost useful.
Mark Ellzey 8b228e27 2015-12-19T01:47:49 Lot's of cmake updates This is still not done, cmake here was a horrid mess, but we're getting our act together now.
Azat Khuzhin c4e9d9bd 2015-11-23T18:44:03 sample/https-client: check for ERR_remove_thread_state() existence Fixes: freebsd 9.2 build
Azat Khuzhin cf2cf2a0 2015-09-02T11:51:00 test: run regress with EVENT_DEBUG_MODE=1 and without This could show some bugs like "event_assign called on an already added event", and some others that debugging mode could track.
Azat Khuzhin 1d34498e 2015-08-18T12:18:31 sample: add HTTP CONNECT tunnelling example using libevent http layer
Joakim Söderberg 19ba4543 2015-02-05T00:56:58 This fixes a bug introduced in 27bd9faf498b91923296cc91643e03ec4055c230 CMake configuration files are intended to be used by other projects to find the library. Specifically the CMake find_package command can use it to find all files related to the project. The idea is to support 2 different CMake configuration files for Libevent. One if you simply build libevent that is generated for the build tree. And a second one that is generated for an install target that will be installed on the system and point to where on the system the lib files and such can be find. So for instance, in the build tree the config would set the cmake variable `LIBEVENT_INCLUDE_DIRS` to `/path/to/libevent/build/include`. And for the system config it would be set to `/usr/local/include` (or whatever target the user chose when running cmake). 27bd9faf498b91923296cc91643e03ec4055c230 changed this behavior so that both configs would point to the system wide path `/usr/local/include` This meant that projects just wanting to import directly for the build tree would fail.
Nick Mathewson 683f5568 2015-01-05T09:16:12 Increment version to 2.1.5-beta
Nobuaki Sukegawa e69d9109 2015-01-03T02:22:31 Fix CMake shared library build This fixes following problems in shared library build: * visibility=hidden was not enabled for gcc because of incorrect variable name * test programs that need internal APIs caused link errors
Joakim Soderberg 5c7282f7 2014-09-24T13:46:09 Fix compilation for older OpenSSL versions. For instance OpenSSL 0.9.7 does not have SSL_set_tlsext_host_name. Also add the missing EVENT__DISABLE_SAMPLES CMake option.
Sergey Nikulov 27bd9faf 2014-09-02T18:25:52 updates in cmake build
Trond Norbye 15d90cce 2014-03-24T15:01:02 Add missing headerfile for cmake
Nick Mathewson de268feb 2014-03-21T13:20:34 Increment version to 2.1.4-alpha-dev
Trond Norbye 73474042 2014-03-21T12:12:10 Fixup make install for cmake projects Install all of the public headers and put the dll's in the same directory as the binaries.
Nick Mathewson d08273ec 2014-03-16T12:09:24 Increment version to 2.1.4-alpha
Nick Mathewson 8896a92b 2014-03-03T13:47:21 Merge remote-tracking branch 'origin/pr/110'
Trond Norbye 4545fa9b 2014-02-19T06:31:27 Add option to build shared library
Nick Mathewson f665d5cb 2014-02-24T10:32:00 Stop checking for inet_aton; we don't use it. We had cmake and autoconf tests for the inet_aton function... but we never actually use it any more. (The autoconf tests still use the callability of inet_aton to decide whether we need to link against -lresolv) Reported by Harlan Stenn.
Trond Norbye a0dd5df2 2014-02-19T06:29:58 Rename event_extras to event_extra The library event_extras is named event_extra when building with GNU autotools
Trond Norbye ed99d92c 2014-02-14T08:26:07 Added -Qunused-arguments for clang on macosx The CLang provided through Xcode on Mac OSX emits warnings for all unused include paths making the compilation extremely verbose.
Joakim Soderberg f1715b47 2014-01-22T12:12:51 Guard against EVENT_NOWIN32 being set during testing. On windows all tests will fail if EVENT_NOWIN32 is set, since then there will be no backend available. Question is if we should simply disable the environment variable check on Windows, since there's only one backend available anyway?
Joakim Söderberg d38d798b 2014-01-22T00:06:21 CMake: Get rid of python not found warning when regress tests turned off. It would warn that python wasn't found when it was, just because the regress tests where turned off... confusing.
Joakim Söderberg e423d420 2014-01-22T00:03:37 Fix CMake compile when OpenSSL is disabled.
Nick Mathewson 43ffcf69 2014-01-21T15:47:44 Split epoll lookup table into a separate header file It accounted for more than half the length of epoll.c, and it's machine-generated, so we might as well keep it separate.
Joakim Söderberg 20244671 2014-01-21T11:19:02 Fix include bug. On systems where a previous version of Libevent is installed we don't want the system version of the headers to be included before the ones in the build tree. This happened on my OSX system where I had an ancient version of Libevent installed. It would then load the incorrect event-config.h and fail because the system introspection macros weren't set properly.
Joakim Soderberg fd42e70d 2014-01-14T17:37:58 Set USE_DEBUG=1 on EVENT__ENABLE_VERBOSE_DEBUG
Joakim Soderberg 49ab3632 2014-01-14T13:01:31 Some work on making it possible to simply do add_subdirectory() on the project.
Joakim Soderberg 4b754df9 2014-01-10T17:58:42 Fix typo
Joakim Soderberg f3446ed5 2014-01-09T13:44:38 Add CMake config and install targets. Make it easier for other projects to do find_package by creating config files both in the build and install tree.
Joakim Soderberg dd413bd1 2013-12-19T12:03:49 Added EVENT__ENABLE_GCC_WARNINGS, turns all warnings into errors.
Joakim Soderberg f7805939 2013-12-19T10:46:04 Only look for ZLib when it is used (if tests are included). Also make the project language C.
Joakim Soderberg 4ac086ab 2013-12-19T10:54:52 Fix the "make verify" target on NetBSD
Joakim Soderberg f2483f8b 2013-12-17T15:17:29 Add a "make verify_coverage" target generation coverage info. Use lcov/gcov to gather coverage info for the tests (Only works with gcc/clang and make). cmake -DEVENT__COVERAGE=1 -DCMAKE_BUILD_TYPE=Debug .. make make verify_coverage Current coverage (run on debian): Line coverage 79.1 % 10231 / 12939 Function coverage 86.1 % 933 / 1083
Joakim Soderberg 968e97bd 2013-12-17T14:31:22 Minimum required python version is 2.4. Got rid of TODO... The version you specify to find_package is the minimum version, so exactly what we want.
Joakim Söderberg 2799b359 2013-12-17T14:01:21 Added a test for testing if kqueue works with pipes.
Joakim Söderberg a831f2f7 2013-12-17T13:29:04 Fix kqueue support.
Joakim Söderberg 69c3516b 2013-12-17T13:28:23 Get rid of deprecation warnings for OpenSSL on OSX 10.7+
Joakim Soderberg 67e5d749 2013-12-16T18:10:32 Fix the make "verify" target on Windows. Windows does not have the "unset" command, but this doesn't matter since the problem that requires us to use unset doesn't happen on Windows. Also did some minor cosmetic changes, and dependcy changes.
Joakim Soderberg e053c4f0 2013-12-16T16:44:13 Added a "make verify" target. This is more than for cosmetic purposes to match how it's done with autoconf. Due to the fact that we use environment variables to turn off certain backends during the tests, simply running "ctest" or "make test" can result in failed tests. This is because if you do "EVENT_NOEPOLL=yes && export EVENT_NOEPOLL" and then run the tests, when running the epoll tests, the EPOLL backend will be turned off. There is no way of unsetting an environment variable for a test in CMake, you can only set them. And since libevent simply checks if the environment variable is set (it doesn't check the actual value of it), this won't work. So to remedy this, we create the "make verify" target that first unsets all the EVENT_NO* environment variables, and then runs ctest. Also bumped the required CMake version from 2.6 to 2.8, since the set_test_properties(bla PROPERTIES ENVIRONMENT "SOME_VAR") requires 2.8 Added some explicit dependencies for the test programs to libevent, so they don't just fail if you try to run the tests without first doing "make"
Joakim Soderberg 7ea4159d 2013-12-16T16:37:51 Only test the event backends available on the system. Fix how the CMake project adds the tests using the different backends. At first we tried to do it exactly as it's done in test/test.sh. However, test.sh uses a special program test-init to decide if a given backend is available or not before running the actual tests. Doing it this way will not be possible using CMake. Since then we would have to have the test-init executable compiled at the time we run CMake, to know what tests we should add. (And since CMake generates the make/project files that compiles the executables, there's a catch 22). Instead of deciding what tests to run this way, we simply use the result of the CMake system introspection (that figures out what backends are available) to decide what backend tests to add.
Joakim Soderberg 9bbce0b6 2013-12-16T11:34:14 Only include WIN32 getopt where it is used. getopt is only used in the benchmark tests, don't include it in the core lib...
Joakim Soderberg 19222e52 2013-12-13T17:00:23 Added some GCC specific options. - Added sample applications. - Fixed the https-client to work on Windows kind of (No cert validation).
Joakim Soderberg 58fcd428 2013-12-13T12:39:50 Link libm on unix platforms.
Joakim Soderberg ce14defe 2013-12-13T11:34:22 Generate a dummy evconfig-private.h so things build properly. Windows used to have an empty file for this before.
Joakim Soderberg 99c1dc32 2013-12-12T18:21:11 More work on adding tests to CMake project
Joakim Soderberg e9fc014c 2013-12-12T16:33:20 Add all tests and benchmarks to CMake project. Also fixed some minor issues with what's built.
Joakim Soderberg e415196a 2013-12-09T18:05:32 Initial CMake commit.