From a2c9197734e3089a3b7735d892fcbf27032b64a1 Mon Sep 17 00:00:00 2001 From: "Pierre R. Mai" Date: Sun, 5 Feb 2017 16:54:57 +0100 Subject: [PATCH 1/2] Add basic CMake build script (resolves #4). --- CMakeLists.txt | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 000000000..d7732b126 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,9 @@ +cmake_minimum_required(VERSION 3.7) +project(open-simulation-interface) +find_package(Protobuf 2.6.1 REQUIRED) +file(GLOB OSI_PROTO_FILES osi_*.proto) +PROTOBUF_GENERATE_CPP(PROTO_SRC PROTO_HEADER ${OSI_PROTO_FILES}) +add_library(open_simulation_interface STATIC ${PROTO_SRC} ${PROTO_HEADER}) +target_include_directories(open_simulation_interface PUBLIC ${PROTOBUF_INCLUDE_DIR}) +target_link_libraries(open_simulation_interface PUBLIC ${PROTOBUF_LIBRARY}) +set (OSI_PROTOBUF_INCLUDE_PATH ${CMAKE_CURRENT_BINARY_DIR} CACHE INTERNAL "[OSI] Path to generated protobuf files for the open simulation interface.") From 2e04c0f25b011d24ae5170c5ac512de1bde1bbdb Mon Sep 17 00:00:00 2001 From: "Pierre R. Mai" Date: Mon, 6 Feb 2017 02:45:52 +0100 Subject: [PATCH 2/2] Add PIC static library for shared library building. --- CMakeLists.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index d7732b126..e8e2de9c1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,4 +6,8 @@ PROTOBUF_GENERATE_CPP(PROTO_SRC PROTO_HEADER ${OSI_PROTO_FILES}) add_library(open_simulation_interface STATIC ${PROTO_SRC} ${PROTO_HEADER}) target_include_directories(open_simulation_interface PUBLIC ${PROTOBUF_INCLUDE_DIR}) target_link_libraries(open_simulation_interface PUBLIC ${PROTOBUF_LIBRARY}) +add_library(open_simulation_interface_pic STATIC ${PROTO_SRC} ${PROTO_HEADER}) +set_property(TARGET open_simulation_interface_pic PROPERTY POSITION_INDEPENDENT_CODE ON) +target_include_directories(open_simulation_interface_pic PUBLIC ${PROTOBUF_INCLUDE_DIR}) +target_link_libraries(open_simulation_interface_pic PUBLIC ${PROTOBUF_LIBRARY}) set (OSI_PROTOBUF_INCLUDE_PATH ${CMAKE_CURRENT_BINARY_DIR} CACHE INTERNAL "[OSI] Path to generated protobuf files for the open simulation interface.")