summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorJoshua Haberman <jhaberman@gmail.com>2018-12-08 09:54:09 +0100
committerJoshua Haberman <jhaberman@gmail.com>2018-12-08 09:54:09 +0100
commit14c96a143c63a01c1080a23d9e1c0196d06f0e5e (patch)
treef59388c3d84b175c335581a0f065e2c31d22834a /CMakeLists.txt
parente77ab811ba3e1ed069822cb5dccb4d643d3e56d3 (diff)
parent35fa3df8ecc3f451af0512e70a03f89ee407c85c (diff)
Merge branch 'cmake-mac-fixes' into defcleanup
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt152
1 files changed, 124 insertions, 28 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2e94bd3..2b270b2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,3 +1,4 @@
+# This file was generated from BUILD using tools/make_cmakelists.py.
cmake_minimum_required(VERSION 3.1)
@@ -9,16 +10,14 @@ endif()
cmake_minimum_required (VERSION 3.0)
cmake_policy(SET CMP0048 NEW)
-project (upb)
+
+project(upb)
+
# Prevent CMake from setting -rdynamic on Linux (!!).
SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "")
SET(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS "")
-# Options we define for users.
-option(UPB_ENABLE_ASAN "Enable address sanitizer." OFF)
-option(UPB_ENABLE_UBSAN "Enable undefined behavior sanitizer." OFF)
-
# Set default build type.
if(NOT CMAKE_BUILD_TYPE)
message(STATUS "Setting build type to 'RelWithDebInfo' as none was specified.")
@@ -51,8 +50,6 @@ endif()
include_directories(.)
include_directories(${CMAKE_CURRENT_BINARY_DIR})
-set(CMAKE_CXX_FLAGS "-std=c++11 -W -Wall -Wno-sign-compare")
-set(CMAKE_C_FLAGS "-std=c89 -W -Wall -Wno-sign-compare")
if(APPLE)
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -undefined dynamic_lookup -flat_namespace")
@@ -60,6 +57,7 @@ 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)
@@ -261,33 +259,131 @@ set(UPBHANDLERS_SRCS
)
set(UPBPB_SRCS
+=======
+enable_testing()
+
+add_library(upb
+ google/protobuf/descriptor.upb.c
+ upb/decode.c
+ upb/def.c
+ upb/encode.c
+ upb/handlers.c
+ upb/handlers-inl.h
+ upb/msg.c
+ upb/msgfactory.c
+ upb/port_def.inc
+ upb/port_undef.inc
+ upb/refcounted.c
+ upb/sink.c
+ upb/structdefs.int.h
+ upb/structs.int.h
+ upb/table.c
+ upb/table.int.h
+ upb/upb.c
+ google/protobuf/descriptor.upb.h
+ upb/decode.h
+ upb/def.h
+ upb/encode.h
+ upb/handlers.h
+ upb/msg.h
+ upb/msgfactory.h
+ 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
upb/pb/encoder.c
upb/pb/textprinter.c
upb/pb/varint.c
-)
-
-set(UPBJSON_SRCS
+ 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)
+add_library(upb_json
upb/json/parser.c
upb/json/printer.c
-)
+ upb/json/parser.h
+ upb/json/printer.h)
+target_link_libraries(upb_json
+ upb)
+add_library(upb_cc_bindings INTERFACE)
+target_link_libraries(upb_cc_bindings INTERFACE
+ upb)
+add_library(upb_test
+ tests/testmain.cc
+ tests/test_util.h
+ tests/upb_test.h)
+add_executable(test_varint
+ tests/pb/test_varint.c)
+add_test(NAME test_varint COMMAND test_varint)
+target_link_libraries(test_varint
+ upb_pb
+ upb_test)
+add_executable(test_def
+ tests/test_def.c)
+add_test(NAME test_def COMMAND test_def)
+target_link_libraries(test_def
+ upb_pb
+ upb_test)
+add_executable(test_handlers
+ tests/test_handlers.c)
+add_test(NAME test_handlers COMMAND test_handlers)
+target_link_libraries(test_handlers
+ upb_pb
+ upb_test)
+add_executable(test_decoder
+ tests/pb/test_decoder.cc)
+add_test(NAME test_decoder COMMAND test_decoder)
+target_link_libraries(test_decoder
+ upb_pb
+ upb_test)
+add_executable(test_encoder
+ tests/pb/test_encoder.cc)
+add_test(NAME test_encoder COMMAND test_encoder)
+add_custom_command(
+ TARGET test_encoder POST_BUILD
+ COMMAND ${CMAKE_COMMAND} -E copy
+ ${CMAKE_SOURCE_DIR}/upb/descriptor/descriptor.pb
+ ${CMAKE_CURRENT_BINARY_DIR}/upb/descriptor/descriptor.pb)
+target_link_libraries(test_encoder
+ upb_cc_bindings
+ upb_pb
+ upb_test)
+add_executable(test_cpp
+ tests/test_cpp.cc)
+add_test(NAME test_cpp COMMAND test_cpp)
+target_link_libraries(test_cpp
+ upb
+ upb_descriptor
+ upb_pb
+ upb_test)
+add_executable(test_table
+ tests/test_table.cc)
+add_test(NAME test_table COMMAND test_table)
+target_link_libraries(test_table
+ upb
+ upb_test)
+add_executable(test_json
+ tests/json/test.upbdefs.c
+ tests/json/test.upbdefs.h
+ tests/json/test_json.cc)
+add_test(NAME test_json COMMAND test_json)
+target_link_libraries(test_json
+ upb_json
+ upb_test)
-add_library(upb ${UPB_SRCS})
-add_library(upbdef ${UPBDEF_SRCS})
-add_library(upbhandlers ${UPBHANDLERS_SRCS})
-add_library(upbpb ${UPBPB_SRCS})
-add_library(upbjson ${UPBJSON_SRCS})
-
-add_library(upb_pic ${UPB_SRCS})
-add_library(upbdef_pic ${UPBDEF_SRCS})
-add_library(upbhandlers_pic ${UPBHANDLERS_SRCS})
-add_library(upbpb_pic ${UPBPB_SRCS})
-add_library(upbjson_pic ${UPBJSON_SRCS})
-
-set_property(TARGET upb_pic PROPERTY POSITION_INDEPENDENT_CODE ON)
-set_property(TARGET upbdef_pic PROPERTY POSITION_INDEPENDENT_CODE ON)
-set_property(TARGET upbhandlers_pic PROPERTY POSITION_INDEPENDENT_CODE ON)
-set_property(TARGET upbpb_pic PROPERTY POSITION_INDEPENDENT_CODE ON)
-set_property(TARGET upbjson_pic PROPERTY POSITION_INDEPENDENT_CODE ON)
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback