annotate src/capnproto-0.6.0/c++/src/CMakeLists.txt @ 62:0994c39f1e94

Cap'n Proto v0.6 + build for OSX
author Chris Cannam <cannam@all-day-breakfast.com>
date Mon, 22 May 2017 10:01:37 +0100
parents
children
rev   line source
cannam@62 1
cannam@62 2 # Tests ========================================================================
cannam@62 3
cannam@62 4 if(BUILD_TESTING)
cannam@62 5 include(CTest)
cannam@62 6
cannam@62 7 if (EXTERNAL_CAPNP)
cannam@62 8 # Setup CAPNP_GENERATE_CPP for compiling test schemas
cannam@62 9 find_package(CapnProto CONFIG QUIET)
cannam@62 10 if (NOT CapnProto_FOUND)
cannam@62 11 # Try and find the executables from an autotools-based installation
cannam@62 12 # Setup paths to the schema compiler for generating ${test_capnp_files}
cannam@62 13 if(NOT EXTERNAL_CAPNP AND NOT CAPNP_LITE)
cannam@62 14 set(CAPNP_EXECUTABLE $<TARGET_FILE:capnp_tool>)
cannam@62 15 set(CAPNPC_CXX_EXECUTABLE $<TARGET_FILE:capnpc_cpp>)
cannam@62 16 else()
cannam@62 17 # Allow paths to tools to be set with either environment variables or find_program()
cannam@62 18 if (NOT CAPNP_EXECUTABLE)
cannam@62 19 if (DEFINED ENV{CAPNP})
cannam@62 20 set(CAPNP_EXECUTABLE "$ENV{CAPNP}")
cannam@62 21 else()
cannam@62 22 find_program(CAPNP_EXECUTABLE capnp)
cannam@62 23 endif()
cannam@62 24 endif()
cannam@62 25
cannam@62 26 if(NOT CAPNPC_CXX_EXECUTABLE)
cannam@62 27 if (DEFINED ENV{CAPNPC_CXX})
cannam@62 28 set(CAPNPC_CXX_EXECUTABLE "$ENV{CAPNPC_CXX}")
cannam@62 29 else()
cannam@62 30 # Also search in the same directory that `capnp` was found in
cannam@62 31 get_filename_component(capnp_dir "${CAPNP_EXECUTABLE}" DIRECTORY)
cannam@62 32 find_program(CAPNPC_CXX_EXECUTABLE capnpc-c++ HINTS "${capnp_dir}")
cannam@62 33 endif()
cannam@62 34 endif()
cannam@62 35 endif()
cannam@62 36 endif()
cannam@62 37
cannam@62 38 set(CAPNP_INCLUDE_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}")
cannam@62 39 #TODO(someday) It would be nice to use targets instead of variables in CAPNP_GENERATE_CPP macro
cannam@62 40 endif()
cannam@62 41
cannam@62 42 # Sadly, we can't use the 'test' target, as that's coopted by ctest
cannam@62 43 add_custom_target(check "${CMAKE_CTEST_COMMAND}" -V)
cannam@62 44 endif() # BUILD_TESTING
cannam@62 45
cannam@62 46 # kj ===========================================================================
cannam@62 47
cannam@62 48 add_subdirectory(kj)
cannam@62 49
cannam@62 50 # capnp ========================================================================
cannam@62 51
cannam@62 52 add_subdirectory(capnp)