From 9edad357134e26e0c0811fc68b193c2fd6a6fc19 Mon Sep 17 00:00:00 2001 From: mutouyun Date: Sun, 30 Dec 2018 14:37:54 +0800 Subject: [PATCH] add cmake support --- .travis.yml | 5 ++++- build/CMakeLists.txt | 22 ++++++++++++++++++++++ build/{src.pro => ipc.pro} | 0 3 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 build/CMakeLists.txt rename build/{src.pro => ipc.pro} (100%) diff --git a/.travis.yml b/.travis.yml index bb5338a..e7242a0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,6 +17,9 @@ matrix: env: - MATRIX_EVAL="CC=gcc-7 && CXX=g++-7" - compiler: clang + - compiler: clang + env: + - MATRIX_EVAL="USING_CMAKE=1" before_install: - eval "${MATRIX_EVAL}" @@ -24,7 +27,7 @@ before_install: script: - qmake -v - cd ./build - - qmake -o Makefile src.pro QMAKE_CC=$CC QMAKE_CXX=$CXX QMAKE_LINK=$CXX + - if [ $USING_CMAKE -eq 1 ]; then cmake CMakeLists.txt; else qmake -o Makefile ipc.pro QMAKE_CC=$CC QMAKE_CXX=$CXX QMAKE_LINK=$CXX; fi - qmake -o MakefileTest test.pro QMAKE_CC=$CC QMAKE_CXX=$CXX QMAKE_LINK=$CXX - make - make -f MakefileTest diff --git a/build/CMakeLists.txt b/build/CMakeLists.txt new file mode 100644 index 0000000..98d836d --- /dev/null +++ b/build/CMakeLists.txt @@ -0,0 +1,22 @@ +cmake_minimum_required(VERSION 3.10) +project(ipc) + +add_compile_definitions(__IPC_LIBRARY__) +if(CMAKE_COMPILER_IS_GNUCXX) + add_compile_options("-std=gnu++1z") +else() + add_compile_options("/std:c++17") +endif() + +include_directories("../include") +include_directories("../src") + +if(UNIX) + file(GLOB DIR_SRCS ../src/platform/*_linux.cpp) +else() + file(GLOB DIR_SRCS ../src/platform/*_win.cpp) +endif() +aux_source_directory(../src DIR_SRCS) + +add_library(ipc SHARED ${DIR_SRCS}) +set(LIBRARY_OUTPUT_PATH ../output) \ No newline at end of file diff --git a/build/src.pro b/build/ipc.pro similarity index 100% rename from build/src.pro rename to build/ipc.pro