60 lines
1.9 KiB
CMake
60 lines
1.9 KiB
CMake
cmake_minimum_required(VERSION 2.8)
|
|
|
|
project(libcyusbserial C)
|
|
|
|
set(CMAKE_HELPERS_BINARY_DIR ${PROJECT_SOURCE_DIR}/cmake/helpers)
|
|
set(CMAKE_HELPERS_SOURCE_DIR ${PROJECT_SOURCE_DIR}/cmake/helpers)
|
|
list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/modules)
|
|
|
|
include(FindLibUSB)
|
|
if(WIN32)
|
|
include(FindLibPThreadsWin32)
|
|
endif()
|
|
|
|
################################################################################
|
|
# System configuration
|
|
################################################################################
|
|
|
|
# OSX
|
|
if(APPLE)
|
|
set(CMAKE_MACOSX_RPATH ON)
|
|
set(CMAKE_SKIP_BUILD_RPATH FALSE)
|
|
set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
|
|
set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
|
|
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
|
|
list(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/lib" isSystemDir)
|
|
if(${isSystemDir} STREQUAL "-1")
|
|
set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
|
|
endif()
|
|
endif()
|
|
|
|
################################################################################
|
|
# GCC and Clang
|
|
################################################################################
|
|
if(CMAKE_C_COMPILER_ID STREQUAL "GNU" OR
|
|
CMAKE_C_COMPILER_ID STREQUAL "Clang")
|
|
|
|
add_definitions(-Wall)
|
|
add_definitions(-Wextra)
|
|
add_definitions(-Wno-unused-parameter)
|
|
|
|
if(TREAT_WARNINGS_AS_ERRORS)
|
|
add_definitions(-Werror)
|
|
endif()
|
|
|
|
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
|
add_definitions(-DDEBUG=1)
|
|
add_definitions(-O0)
|
|
endif(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
|
|
|
endif(CMAKE_C_COMPILER_ID STREQUAL "GNU" OR
|
|
CMAKE_C_COMPILER_ID STREQUAL "Clang")
|
|
|
|
################################################################################
|
|
# Process subdirectories
|
|
################################################################################
|
|
include_directories(${PROJECT_SOURCE_DIR}/include)
|
|
add_subdirectory(include)
|
|
add_subdirectory(lib)
|
|
add_subdirectory(tools)
|