0ccf21968a
To prevent compiler warnings on the unsafe/deprecated methods strcpy, strncpy, gmtime, localtime... gcc does not accept the safe _s method alternatives.
68 lines
1.8 KiB
CMake
68 lines
1.8 KiB
CMake
cmake_minimum_required (VERSION 3.1)
|
|
project (tsmuxer_main CXX)
|
|
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED TRUE)
|
|
set(CMAKE_CXX_EXTENSIONS FALSE)
|
|
|
|
execute_process(
|
|
COMMAND git rev-parse --short HEAD
|
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
|
RESULT_VARIABLE GIT_REV_SHORT_RV
|
|
OUTPUT_VARIABLE GIT_REV_SHORT
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
|
)
|
|
set(TSMUXER_RELEASE FALSE)
|
|
set(VERSION_NUMBER "2.6.16")
|
|
if(${TSMUXER_RELEASE})
|
|
set(TSMUXER_VERSION ${VERSION_NUMBER})
|
|
elseif(${GIT_REV_SHORT_RV} EQUAL 0)
|
|
set(TSMUXER_VERSION "git-${GIT_REV_SHORT}")
|
|
else()
|
|
set(TSMUXER_VERSION "${VERSION_NUMBER}-dev")
|
|
endif()
|
|
add_definitions("-DTSMUXER_VERSION=\"${TSMUXER_VERSION}\"")
|
|
|
|
if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
|
|
include(GNUInstallDirs)
|
|
mark_as_advanced(CLEAR
|
|
CMAKE_INSTALL_BINDIR
|
|
CMAKE_INSTALL_DATADIR
|
|
)
|
|
else()
|
|
set(CMAKE_INSTALL_BINDIR bin)
|
|
endif()
|
|
|
|
if(MSVC)
|
|
add_compile_options("/utf-8")
|
|
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
|
|
endif()
|
|
|
|
if(WIN32)
|
|
add_definitions(-DUNICODE -D_UNICODE)
|
|
endif()
|
|
|
|
if(TSMUXER_STATIC_BUILD AND UNIX)
|
|
list(INSERT CMAKE_FIND_LIBRARY_SUFFIXES 0 .a)
|
|
list(REMOVE_DUPLICATES CMAKE_FIND_LIBRARY_SUFFIXES)
|
|
endif()
|
|
|
|
set(TSMUXER_COVERAGE FALSE CACHE BOOL "Enable collecting coverage information")
|
|
if(${TSMUXER_COVERAGE})
|
|
if(${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU")
|
|
add_compile_options("--coverage")
|
|
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} --coverage")
|
|
elseif(${CMAKE_CXX_COMPILER_ID} MATCHES "Clang")
|
|
add_compile_options("-fprofile-instr-generate" "-fcoverage-mapping")
|
|
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fprofile-instr-generate")
|
|
else()
|
|
message(FATAL_ERROR "Coverage not supported for compiler ${CMAKE_CXX_COMPILER_ID}")
|
|
endif()
|
|
endif()
|
|
|
|
add_subdirectory(libmediation)
|
|
add_subdirectory(tsMuxer)
|
|
if(TSMUXER_GUI)
|
|
add_subdirectory(tsMuxerGUI)
|
|
endif()
|