51 lines
1.3 KiB
CMake
51 lines
1.3 KiB
CMake
cmake_minimum_required(VERSION 3.0)
|
|
project(i3ipc++)
|
|
|
|
SET(BUILD_STATIC_LIBS ON)
|
|
SET(BUILD_SHARED_LIBS OFF)
|
|
add_subdirectory(3rd/jsoncpp)
|
|
UNSET(BUILD_STATIC_LIBS)
|
|
UNSET(BUILD_SHARED_LIBS)
|
|
|
|
find_package(PkgConfig)
|
|
pkg_check_modules(SIGCPP REQUIRED sigc++-2.0)
|
|
|
|
include_directories(
|
|
${SIGCPP_INCLUDE_DIRS}
|
|
3rd/jsoncpp/include
|
|
3rd/auss/include
|
|
include/
|
|
)
|
|
|
|
link_directories(
|
|
${SIBCPP_LIBRARY_DIRS}
|
|
3rd/jsoncpp/src/lib_json/
|
|
)
|
|
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -Wextra -Wno-unused-parameter")
|
|
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g3 -DDEBUG")
|
|
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O2")
|
|
|
|
file(GLOB_RECURSE SRC src/*.cpp)
|
|
add_library(i3ipc++_static STATIC ${SRC})
|
|
|
|
SET(I3IPCpp_LIBRARY_DIRS ${CMAKE_CURRENT_BINARY_DIR})
|
|
SET(I3IPCpp_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR})
|
|
SET(I3IPCpp_LIBRARIES i3ipc++_static ${SIGCPP_LIBRARIES} jsoncpp_lib_static)
|
|
|
|
find_package(CxxTest)
|
|
if(CXXTEST_FOUND)
|
|
include_directories(${CXXTEST_INCLUDE_DIR})
|
|
include_directories(src/)
|
|
add_definitions(
|
|
-DTEST_SRC_ROOT="${CMAKE_CURRENT_SOURCE_DIR}/test"
|
|
)
|
|
|
|
enable_testing()
|
|
file(GLOB SRC_TEST test/*.hpp)
|
|
CXXTEST_ADD_TEST(i3ipcpp_check test.cpp ${SRC_TEST})
|
|
target_link_libraries(i3ipcpp_check ${I3IPCpp_LIBRARIES})
|
|
else()
|
|
message(WARNING "CxxTest not found. Unable to run unit-tests")
|
|
endif()
|