cmake_minimum_required(VERSION 2.8) project(agipdctrl) enable_testing() set(MAJOR_VERSION 0) set(MINOR_VERSION 3) set(LIBRARY_VERSION "${MAJOR_VERSION}.${MINOR_VERSION}") set(SO_VERSION ${LIBRARY_VERSION}) # configure path #binary output path set(EXECUTABLE_OUTPUT_PATH "${CMAKE_SOURCE_DIR}/bin") message(STATUS "executable output path is:${EXECUTABLE_OUTPUT_PATH}") #lib output path set(LIBRARY_OUTPUT_PATH "${CMAKE_SOURCE_DIR}/bin") message(STATUS "library output path is:${LIBRARY_OUTPUT_PATH}") #install path set(CMAKE_INSTALL_LIB_PATH "${CMAKE_INSTALL_PREFIX}/lib") set(CMAKE_INSTALL_INC_PATH "${CMAKE_INSTALL_PREFIX}/include/fsdetector/agipdctrl") message(STATUS "install path is:${CMAKE_INSTALL_PREFIX}") #add module set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/") message(STATUS "module path is:${CMAKE_MODULE_PATH}") #find necessary packages find_package(LibFSDETCore) find_package(LibBoost) include_directories("${PROJECT_SOURCE_DIR}/src/" ${Boost_INCLUDE_DIRS} ${FSDETCORE_LIB_INCLUDE_DIRS}) link_directories(${FSDETCORE_LIB_LIBRARY_DIRS}) # check compiler ID if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") #require at least gcc 4.9 if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.9) message(FATAL_ERROR "GCC version must be at least 4.9!") endif() else() message(FATAL_ERROR "Unsupported compiler") endif() # add common flags add_definitions("-Wall -std=c++11 -fPIC -pthread -D_REENTRANT") # define build type, by default is release if ("${CMAKE_BUILD_TYPE}" STREQUAL "DEBUG") message(STATUS "Setting build type to DEBUG") set(CMAKE_CXX_FLAGS_DEBUG "-O2 -g") set(CMAKE_BUILD_TYPE "DEBUG") else() set(CMAKE_CXX_FLAGS_RELEASE "-O3") set(CMAKE_BUILD_TYPE "RELEASE") endif() message(STATUS "Build type: ${CMAKE_BUILD_TYPE}") #add shared linker flags set(SHARED_LINKER_FLAGS ${Boost_LIBRARIES} ${FSDETCORE_LIB_LIBRARIES} boost_filesystem boost_system boost_regex boost_date_time) set(PKG_LIBS "-lboost_system -lboost_filesystem -lboost_regex -lboost_date_time -lboost_thread -lpthread -lz") #src #add_subdirectory("include") add_subdirectory("src") add_subdirectory("test")