summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorJoshua Haberman <jhaberman@gmail.com>2018-12-10 10:18:48 -0800
committerJoshua Haberman <jhaberman@gmail.com>2018-12-10 10:18:48 -0800
commit336402b4d7251d37239d2f7ff8259174525baa38 (patch)
treec3ed0af3e6bbd58b35fc370794c5d7732aea5bab /CMakeLists.txt
parentbfa3c015bb8de950d0e6b0076be89df4bc37fba7 (diff)
WIP, core library compiles now.
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt216
1 files changed, 1 insertions, 215 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4fb3b53..26ac066 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -57,209 +57,6 @@ elseif(UNIX)
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--build-id")
endif()
-<<<<<<< HEAD
-FIND_PACKAGE(Lua)
-if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/third_party/protobuf/Makefile.am")
- set(PROTOBUF_FOUND TRUE)
-endif()
-find_program(RAGEL NAMES ragel)
-
-if(LUA_FOUND)
- include_directories(${LUA_INCLUDE_DIR})
-
- add_library(upb_c SHARED
- upb/bindings/lua/upb.c
- upb/bindings/lua/def.c
- upb/bindings/lua/msg.c
- )
- target_link_libraries(upb_c LINK_PRIVATE
- upbpb_pic
- upbdef_pic
- upbhandlers_pic upb_pic )
-
- add_library(pb_c SHARED
- upb/bindings/lua/upb/pb.c
- )
- target_link_libraries(pb_c LINK_PRIVATE upb_c upbpb_pic)
-
- set_target_properties(upb_c
- PROPERTIES
- LIBRARY_OUTPUT_DIRECTORY "upb/bindings/lua"
- PREFIX ""
- SUFFIX ".so")
- set_target_properties(pb_c
- PROPERTIES
- LIBRARY_OUTPUT_DIRECTORY "upb/bindings/lua/upb"
- PREFIX ""
- SUFFIX ".so")
-
- add_custom_command(
- OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/tools/upbc
- DEPENDS ${CMAKE_SOURCE_DIR}/tools/upbc
- ${CMAKE_SOURCE_DIR}/tools/upbc.lua
- ${CMAKE_SOURCE_DIR}/tools/make_c_api.lua
- ${CMAKE_SOURCE_DIR}/upb/bindings/lua/upb.lua
- ${CMAKE_SOURCE_DIR}/upb/bindings/lua/upb/pb.lua
- upb_c
- pb_c
- COMMAND ${CMAKE_COMMAND} -E copy
- ${CMAKE_SOURCE_DIR}/tools/upbc
- ${CMAKE_SOURCE_DIR}/tools/upbc.lua
- ${CMAKE_SOURCE_DIR}/tools/make_c_api.lua
- ${CMAKE_CURRENT_BINARY_DIR}/tools)
- add_custom_command(
- OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lua/upb.lua
- DEPENDS ${CMAKE_SOURCE_DIR}/upb/bindings/lua/upb.lua
- COMMAND ${CMAKE_COMMAND} -E copy
- ${CMAKE_SOURCE_DIR}/upb/bindings/lua/upb.lua
- ${CMAKE_CURRENT_BINARY_DIR}/upb/bindings/lua)
- add_custom_command(
- OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/lua/upb/pb.lua
- DEPENDS ${CMAKE_SOURCE_DIR}/upb/bindings/lua/upb/pb.lua
- COMMAND ${CMAKE_COMMAND} -E copy
- ${CMAKE_SOURCE_DIR}/upb/bindings/lua/upb/pb.lua
- ${CMAKE_CURRENT_BINARY_DIR}/upb/bindings/lua/upb)
-
- add_custom_command(
- OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/upb/pb/compile_decoder_x64.h
- DEPENDS upb/pb/compile_decoder_x64.dasc
- COMMAND
- cd ${CMAKE_CURRENT_SOURCE_DIR} &&
- lua third_party/dynasm/dynasm.lua
- -c upb/pb/compile_decoder_x64.dasc
- > ${CMAKE_CURRENT_BINARY_DIR}/upb/pb/compile_decoder_x64.h
- )
-
- add_custom_target(
- genfiles2 ALL
- DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/upb/pb/compile_decoder_x64.h
- )
-
- add_test(
- NAME testlua
- COMMAND lua ${CMAKE_SOURCE_DIR}/tests/bindings/lua/test_upb.lua
- ${CMAKE_SOURCE_DIR}/tests/bindings/lua/test_upb.pb.lua
- )
- set_property(TEST testlua PROPERTY ENVIRONMENT
- LUA_PATH=${CMAKE_SOURCE_DIR}/third_party/lunit/?.lua$<SEMICOLON>${CMAKE_SOURCE_DIR}/upb/bindings/lua/?.lua
- LUA_CPATH=${CMAKE_BINARY_DIR}/upb/bindings/lua/?.so
- )
- set_tests_properties(testlua
- PROPERTIES
- DEPENDS "upb_c;pb_c"
- )
- enable_testing()
-endif()
-
-if(LUA_FOUND AND PROTOBUF_FOUND)
- set(protobuf_BUILD_TESTS OFF CACHE BOOL "enable tests for proto2" FORCE)
- set(protobuf_BUILD_SHARED_LIBS OFF CACHE BOOL "enable shared libs for proto2" FORCE)
- set(protobuf_BUILD_CONFORMANCE ON CACHE BOOL "Build conformance tests" FORCE)
- add_subdirectory(third_party/protobuf/cmake)
-
- add_custom_target(
- upbc ALL
- DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/tools/make_c_api.lua
- ${CMAKE_CURRENT_SOURCE_DIR}/tools/upbc.lua
- ${CMAKE_CURRENT_BINARY_DIR}/tools/upbc
- ${CMAKE_CURRENT_BINARY_DIR}/lua/upb.lua
- ${CMAKE_CURRENT_BINARY_DIR}/lua/upb/pb.lua
- )
-
- add_custom_command(
- OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/conformance.upb.h
- ${CMAKE_CURRENT_BINARY_DIR}/google/protobuf/test_messages_proto3.upb.h
- ${CMAKE_CURRENT_BINARY_DIR}/google/protobuf/test_messages_proto3.upb.c
- ${CMAKE_CURRENT_BINARY_DIR}/google/protobuf/any.upb.c
- ${CMAKE_CURRENT_BINARY_DIR}/google/protobuf/duration.upb.c
- ${CMAKE_CURRENT_BINARY_DIR}/google/protobuf/field_mask.upb.c
- ${CMAKE_CURRENT_BINARY_DIR}/google/protobuf/struct.upb.c
- ${CMAKE_CURRENT_BINARY_DIR}/google/protobuf/timestamp.upb.c
- ${CMAKE_CURRENT_BINARY_DIR}/google/protobuf/wrappers.upb.c
- ${CMAKE_CURRENT_BINARY_DIR}/conformance.upb.c
- DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/tools/upbc
- ${CMAKE_CURRENT_SOURCE_DIR}/third_party/protobuf/conformance/conformance.proto
- COMMAND protoc --include_imports
- ${CMAKE_CURRENT_SOURCE_DIR}/third_party/protobuf/conformance/conformance.proto
- ${CMAKE_CURRENT_SOURCE_DIR}/third_party/protobuf/src/google/protobuf/test_messages_proto3.proto
- -I${CMAKE_CURRENT_SOURCE_DIR}/third_party/protobuf/conformance
- -I${CMAKE_CURRENT_SOURCE_DIR}/third_party/protobuf/src
- -o${CMAKE_CURRENT_BINARY_DIR}/conformance.pb &&
- tools/upbc ${CMAKE_CURRENT_BINARY_DIR}/conformance.pb
- )
-
- add_custom_command(
- OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/google/protobuf/descriptor.upb.h
- ${CMAKE_CURRENT_BINARY_DIR}/google/protobuf/descriptor.upb.c
- DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/tools/upbc
- ${CMAKE_CURRENT_SOURCE_DIR}/google/protobuf/descriptor.proto
- COMMAND protoc
- ${CMAKE_CURRENT_SOURCE_DIR}/google/protobuf/descriptor.proto
- -I${CMAKE_CURRENT_SOURCE_DIR}
- -o${CMAKE_CURRENT_BINARY_DIR}/descriptor.pb &&
- tools/upbc ${CMAKE_CURRENT_BINARY_DIR}/descriptor.pb
- )
-
- add_custom_target(
- genfiles ALL
- DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/conformance.upb.h
- ${CMAKE_CURRENT_BINARY_DIR}/google/protobuf/descriptor.upb.h
- )
-
- add_executable(conformance_upb
- tests/conformance_upb.c
- ${CMAKE_CURRENT_BINARY_DIR}/conformance.upb.c
- ${CMAKE_CURRENT_BINARY_DIR}/google/protobuf/test_messages_proto3.upb.c
- ${CMAKE_CURRENT_BINARY_DIR}/google/protobuf/any.upb.c
- ${CMAKE_CURRENT_BINARY_DIR}/google/protobuf/duration.upb.c
- ${CMAKE_CURRENT_BINARY_DIR}/google/protobuf/field_mask.upb.c
- ${CMAKE_CURRENT_BINARY_DIR}/google/protobuf/struct.upb.c
- ${CMAKE_CURRENT_BINARY_DIR}/google/protobuf/timestamp.upb.c
- ${CMAKE_CURRENT_BINARY_DIR}/google/protobuf/wrappers.upb.c
- )
- target_link_libraries(conformance_upb LINK_PRIVATE
- upb
- )
-
- add_custom_target(
- conformance
- DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/conformance_upb
- ${CMAKE_CURRENT_BINARY_DIR}/third_party/protobuf/cmake/conformance_test_runner
- COMMAND ${CMAKE_CURRENT_BINARY_DIR}/third_party/protobuf/cmake/conformance_test_runner ${CMAKE_CURRENT_BINARY_DIR}/conformance_upb
- )
-
-endif()
-
-if (RAGEL)
- add_custom_command(
- OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/upb/json/parser.c
- DEPENDS upb/json/parser.rl
- COMMAND cd ${CMAKE_CURRENT_SOURCE_DIR} && RAGEL -C -o ${CMAKE_CURRENT_BINARY_DIR}/upb/json/parser.c upb/json/parser.rl
- )
-endif()
-
-configure_file(tools/copy_genfiles.sh.in tools/copy_genfiles.sh)
-
-set(UPB_SRCS
- upb/decode.c
- upb/encode.c
- upb/msg.c
- upb/table.c
- upb/upb.c
-)
-
-set (UPBDEF_SRCS
- upb/def.c
- upb/msgfactory.c
-)
-
-set(UPBHANDLERS_SRCS
- upb/sink.c
- upb/handlers.c
-)
-
-set(UPBPB_SRCS
-=======
enable_testing()
add_library(upb
@@ -290,15 +87,7 @@ add_library(upb
upb/refcounted.h
upb/sink.h
upb/upb.h)
-add_library(upb_descriptor
- upb/descriptor/descriptor.upbdefs.c
- upb/descriptor/reader.c
- upb/descriptor/descriptor.upbdefs.h
- upb/descriptor/reader.h)
-target_link_libraries(upb_descriptor
- upb)
add_library(upb_pb
->>>>>>> cmake-mac-fixes
upb/pb/compile_decoder.c
upb/pb/decoder.c
upb/pb/decoder.int.h
@@ -308,11 +97,9 @@ add_library(upb_pb
upb/pb/varint.int.h
upb/pb/decoder.h
upb/pb/encoder.h
- upb/pb/glue.h
upb/pb/textprinter.h)
target_link_libraries(upb_pb
- upb
- upb_descriptor)
+ upb)
add_library(upb_json
upb/json/parser.c
upb/json/printer.c
@@ -369,7 +156,6 @@ add_executable(test_cpp
add_test(NAME test_cpp COMMAND test_cpp)
target_link_libraries(test_cpp
upb
- upb_descriptor
upb_pb
upb_test)
add_executable(test_table
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback