1. 29 Apr, 2017 2 commits
    • Harris Hancock's avatar
      Use target_compile_features to request C++11 · 1d0d1c3b
      Harris Hancock authored
      Projects which use Cap'n Proto require C++11, because they must be able to
      compile our headers. Old gcc defaults to C++98, forcing users to manually
      specify the -std=gnu++11 flag in their CMake projects. CMake 3.1
      introduced the target_compile_features command which removes this
      necessity by automatically communicating the C++ standard level
      requirement to client projects.
      
      Specifically, if target `kj` requires a C++11 feature publicly, then all
      targets which link to `kj` will also require that C++11 feature, and get
      the -std=gnu++11 flag for free. If that target is a library, such as
      `kj-async`, and `kj-async` links publicly to `kj`, the requirement is also
      transitive to all targets which link to `kj-async`.
      
      Note that CMake's default behavior is to request compiler-specific
      extensions, such as those provided by the -std=gnu++11 flag. You must
      specifically opt out of these extensions. I'm not aware of any way to
      propagate this nuance in CMake, but added a check to at least prevent
      users from compiling Cap'n Proto without extensions.
      
      With this change, the c++/samples/CMakeLists.txt will build with MinGW
      with no change beyond requiring a later version of CMake.
      1d0d1c3b
    • Kenton Varda's avatar
      Set mainlaine version to 0.7-dev. · 22e9f2a5
      Kenton Varda authored
      22e9f2a5
  2. 28 Apr, 2017 2 commits
  3. 24 Jan, 2017 2 commits
  4. 29 Jul, 2016 1 commit
    • Vitali Lovich's avatar
      Fix build compatability with Android · cbacb180
      Vitali Lovich authored
      Add missing include when building on Linux
      
      Discovered trying to build on Android using CMake.  UIO_MAXIOV is only
      exported by the linux/uio.h header which was never included.  Not sure
      how normal Linux builds work.
      
      Add missing reinterpret cast from const void* to const byte*.
      
      Remove -pthread compile flag when building under Android.  ANDROID cmake
      variable exported by android-cmake project.
      cbacb180
  5. 03 May, 2016 1 commit
  6. 27 Apr, 2016 2 commits
  7. 21 Apr, 2016 1 commit
  8. 19 Apr, 2016 4 commits
  9. 11 Apr, 2016 2 commits
    • Alex Richardson's avatar
      7ca97fc0
    • Alex Richardson's avatar
      Add a cmake package config module · f7d685be
      Alex Richardson authored
      This makes it a lot easier for CMake based projects to use Cap'n Proto.
      
      Example usage:
      
      find_package(CapnProto)
      capnp_generate_cpp(FOO_SRCS FOO_HDRS foo.capnp)
      add_executable(foo main.cpp ${FOO_SRCS})
      target_link_libraries(foo CapnProto::capnp CapnProto::capnp-rpc)
      
      This is a lot better than the previous variable based solution since
      linking to nonexistent targets is an error whereas an empty variable
      expansion (e.g. due to typos) will be silently ignored. It also makes
      sure that the right compiler flags, include directories, defines and
      link libraries are passed to the compiler for that target without
      needing any other include_directories(), etc.
      f7d685be
  10. 29 Mar, 2016 1 commit
  11. 06 Feb, 2016 1 commit
  12. 01 Feb, 2015 1 commit
  13. 14 Dec, 2014 1 commit
  14. 12 Dec, 2014 1 commit
    • Kenton Varda's avatar
      Move cmake files into c++ subdir. · 04fd66e2
      Kenton Varda authored
      The idea behind the directory organization was that we might have official implementations for other languages in other top-level directories, as siblings to the c++ directory. It seems implausible that we'd use CMake as a meta-build-system over all of these.
      
      Another reason for this change is that the release tarball actually contains only the c++ subdirectory. We probably want to include cmake files in the release.
      04fd66e2
  15. 01 Dec, 2014 1 commit
  16. 30 Nov, 2014 3 commits
  17. 29 Oct, 2014 2 commits
  18. 20 Oct, 2014 3 commits
  19. 19 Oct, 2014 1 commit
  20. 18 Oct, 2014 2 commits
  21. 15 Oct, 2014 1 commit
    • Joshua Warner's avatar
      improve cmake build · d4b14736
      Joshua Warner authored
      * Move binaries into the bin directory and libs into the lib directory in the output
      * Make sure the actual binary output file of capnp-tool is just capnp
      * Remove need for deprecated cmake get_property function
      d4b14736
  22. 14 Oct, 2014 1 commit
  23. 12 Oct, 2014 1 commit
  24. 11 Oct, 2014 2 commits