Skip to content
This repository has been archived by the owner on Jul 12, 2023. It is now read-only.
/ kms-core Public archive

Commit

Permalink
Review CMake compiler flags: harmonize usage of -fPIC and -pthreads
Browse files Browse the repository at this point in the history
Also remove unneeded entries in "add_dependencies()" commands
  • Loading branch information
j1elo committed Jul 6, 2017
1 parent 0f936b4 commit 0af59fb
Show file tree
Hide file tree
Showing 8 changed files with 38 additions and 42 deletions.
9 changes: 4 additions & 5 deletions CMake/CodeGenerator.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,16 @@ set (GENERATE_JAVA_CLIENT_PROJECT FALSE CACHE BOOL "Generate java maven client l
set (GENERATE_JS_CLIENT_PROJECT FALSE CACHE BOOL "Generate js npm client library")
set (DISABLE_LIBRARIES_GENERATION FALSE CACHE BOOL "Disable C/C++ libraries generation, just useful for generating client code")

set (ENABLE_CODE_GENERATION_FORMAT_CHECK FALSE CACHE BOOL "Check if codding style of generated code is correct")
set (ENABLE_CODE_GENERATION_FORMAT_CHECK FALSE CACHE BOOL "Check if coding style of generated code is correct")
mark_as_advanced(ENABLE_CODE_GENERATION_FORMAT_CHECK)

set (KURENTO_MODULES_DIR /usr/share/kurento/modules CACHE PATH "Directory where kurento modules descriptors can be found")
set (KURENTO_MODULES_DIR /usr/share/kurento/modules CACHE PATH "Directory where kurento module descriptors can be found")
mark_as_advanced(KURENTO_MODULES_DIR)

set (KURENTO_MODULES_DIR_INSTALL_PREFIX kurento/modules CACHE PATH "Directory where kurento modules descriptors are installed (relative to \${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}). Also .so module files are installed using this prefix, but relative to \${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR})")
set (KURENTO_MODULES_DIR_INSTALL_PREFIX kurento/modules CACHE PATH "Directory where kurento module descriptors are installed (relative to \${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}). Also .so module files are installed using this prefix, but relative to \${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR})")
mark_as_advanced(KURENTO_MODULES_DIR_INSTALL_PREFIX)

set (KURENTO_CLIENT_JS_GIT https://github.com/Kurento/kurento-client-js CACHE STRING "Url of kurento-client-js git repository to get templates from")
set (KURENTO_CLIENT_JS_GIT https://github.com/Kurento/kurento-client-js CACHE STRING "URL of kurento-client-js git repository to get templates from")
set (KURENTO_CLIENT_JS_BRANCH master CACHE STRING "Branch of kurento-client-js repository to get templates from")

set (CMAKE_MODULES_INSTALL_DIR
Expand Down Expand Up @@ -482,7 +482,6 @@ function (generate_kurento_libraries)
set_target_properties(${VALUE_CODE_IMPLEMENTATION_LIB}interface PROPERTIES
VERSION ${PROJECT_VERSION}
SOVERSION ${PROJECT_VERSION_MAJOR}
COMPILE_FLAGS "-fPIC"
)

install(TARGETS ${VALUE_CODE_IMPLEMENTATION_LIB}interface
Expand Down
14 changes: 9 additions & 5 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,15 @@ find_package(KurentoHelpers REQUIRED)
include(DpkgBuildFlags)
get_dpkg_buildflags_c(DPKG_BUILDFLAGS_C)
get_dpkg_buildflags_cxx(DPKG_BUILDFLAGS_CXX)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${DPKG_BUILDFLAGS_C} -std=c11 -Wall -Werror")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${DPKG_BUILDFLAGS_CXX} -std=c++11 -Wall -Werror")

# Disable error when macros __TIME__, __DATE__ or __TIMESTAMP__ are encountered
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${DPKG_BUILDFLAGS_C} -std=c11 -Wall -Werror -pthread")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${DPKG_BUILDFLAGS_CXX} -std=c++11 -Wall -Werror -pthread")
set(CMAKE_C_FLAGS_DEBUG "-g -O0") # FIXME Ideal is '-Og' but a bug in GCC prevents this,
set(CMAKE_CXX_FLAGS_DEBUG "-g -O0") # causing "may be used uninitialized" errors: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58455
set(CMAKE_C_FLAGS_RELEASE "-DNDEBUG") # CMake adds '-O3' by default,
set(CMAKE_CXX_FLAGS_RELEASE "-DNDEBUG") # which would overwrite our '-O2' from dpkg-buildflags
set(CMAKE_POSITION_INDEPENDENT_CODE ON) # Use "-fPIC" for all targets, including static libs

# FIXME Disable error when macros __TIME__, __DATE__ or __TIMESTAMP__ are encountered
include(CheckCXXCompilerFlag)
CHECK_CXX_COMPILER_FLAG("-Wno-error=date-time" HAS_WARNING_DATE_TIME)
if(HAS_WARNING_DATE_TIME)
Expand Down Expand Up @@ -70,7 +75,6 @@ else()
generic_find(LIBNAME Boost REQUIRED COMPONENTS filesystem system regex unit_test_framework)
endif()

#gst-plugins dependencies
generic_find(LIBNAME gstreamer-1.5 VERSION ${GST_REQUIRED} REQUIRED)
generic_find(LIBNAME gstreamer-base-1.5 VERSION ${GST_REQUIRED} REQUIRED)
generic_find(LIBNAME gstreamer-video-1.5 VERSION ${GST_REQUIRED} REQUIRED)
Expand Down
2 changes: 0 additions & 2 deletions src/gst-plugins/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")

include(GLibHelpers)

add_subdirectory(commons)
Expand Down
22 changes: 11 additions & 11 deletions src/gst-plugins/commons/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ set(KMS_SDP_UTILS_HEADERS

add_library(sdputils ${KMS_SDP_UTILS_SOURCES} ${KMS_SDP_UTILS_HEADERS})

set_property (TARGET sdputils
set_property(TARGET sdputils
PROPERTY INCLUDE_DIRECTORIES
${gstreamer-1.5_INCLUDE_DIRS}
${gstreamer-base-1.5_INCLUDE_DIRS}
Expand All @@ -23,9 +23,11 @@ target_link_libraries(sdputils
${gstreamer-pbutils-1.5_LIBRARIES}
)

set_target_properties(sdputils PROPERTIES PUBLIC_HEADER "${KMS_SDP_UTILS_HEADERS}")

set_target_properties(sdputils PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION ${PROJECT_VERSION_MAJOR})
set_target_properties(sdputils PROPERTIES
PUBLIC_HEADER "${KMS_SDP_UTILS_HEADERS}"
VERSION ${PROJECT_VERSION}
SOVERSION ${PROJECT_VERSION_MAJOR}
)

set(CUSTOM_PREFIX "kurento")
set(INCLUDE_PREFIX "${CMAKE_INSTALL_INCLUDEDIR}/${CUSTOM_PREFIX}/commons")
Expand Down Expand Up @@ -164,7 +166,7 @@ add_glib_marshal(KMS_COMMONS_SOURCES KMS_COMMONS_HEADERS kms-core-marshal __kms_

add_library(kmsgstcommons SHARED ${KMS_COMMONS_SOURCES} ${KMS_COMMONS_HEADERS})

set_property (TARGET kmsgstcommons
set_property(TARGET kmsgstcommons
PROPERTY INCLUDE_DIRECTORIES
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_BINARY_DIR}
Expand All @@ -176,8 +178,6 @@ set_property (TARGET kmsgstcommons
${gstreamer-rtp-1.5_INCLUDE_DIRS}
)

add_dependencies(kmsgstcommons kmsrefstruct kmsutils sdputils)

target_link_libraries(kmsgstcommons
kmsutils
sdputils
Expand Down Expand Up @@ -216,11 +216,11 @@ install(FILES
DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig
)

foreach (HEADER ${KMS_COMMONS_HEADERS})
list (APPEND FIND_HEADERS commons/${HEADER})
endforeach ()
foreach(HEADER ${KMS_COMMONS_HEADERS})
list(APPEND FIND_HEADERS commons/${HEADER})
endforeach()

set (REQUIRED_LIBS
set(REQUIRED_LIBS
"gstreamer-1.5 ${GST_REQUIRED}"
"gstreamer-base-1.5 ${GST_REQUIRED}"
"gstreamer-sdp-1.5 ${GST_REQUIRED}"
Expand Down
2 changes: 0 additions & 2 deletions src/server/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,6 @@ set(KMS_CORE_IMPL_HEADERS
implementation/SignalHandler.hpp
)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread")

include(CodeGenerator)
generate_code(
MODELS ${CMAKE_CURRENT_SOURCE_DIR}/interface
Expand Down
3 changes: 0 additions & 3 deletions tests/check/element/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ endforeach(test)

#SDP Tests
add_test_program (test_sdp_agent sdp_agent.c)
add_dependencies(test_sdp_agent kmsgstcommons sdputils)
target_include_directories(test_sdp_agent PRIVATE
${gstreamer-1.5_INCLUDE_DIRS}
${gstreamer-check-1.5_INCLUDE_DIRS}
Expand All @@ -54,7 +53,6 @@ target_link_libraries(test_sdp_agent

# metadata
add_test_program (test_metadata metadata.c)
add_dependencies(test_metadata kmsgstcommons)
target_include_directories(test_metadata PRIVATE
${gstreamer-1.5_INCLUDE_DIRS}
${gstreamer-check-1.5_INCLUDE_DIRS}
Expand All @@ -70,7 +68,6 @@ target_link_libraries(test_metadata

#lists
add_test_program (test_lists lists.c)
add_dependencies(test_lists kmsgstcommons)
target_include_directories(test_lists PRIVATE
${gstreamer-1.5_INCLUDE_DIRS}
${gstreamer-check-1.5_INCLUDE_DIRS}
Expand Down
8 changes: 4 additions & 4 deletions tests/check/general/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
add_test_program (test_utils utils.c)
add_dependencies(test_utils ${LIBRARY_NAME}plugins kmsgstcommons)
add_dependencies(test_utils ${LIBRARY_NAME}plugins)
target_include_directories(test_utils PRIVATE
${gstreamer-1.5_INCLUDE_DIRS}
${gstreamer-check-1.5_INCLUDE_DIRS}
Expand All @@ -10,7 +10,7 @@ target_link_libraries(test_utils
kmsgstcommons)

add_test_program (test_refcounts refcounts.c)
add_dependencies(test_refcounts ${LIBRARY_NAME}plugins kmsgstcommons)
add_dependencies(test_refcounts ${LIBRARY_NAME}plugins)
target_include_directories(test_refcounts PRIVATE
${gstreamer-1.5_INCLUDE_DIRS}
${gstreamer-check-1.5_INCLUDE_DIRS}
Expand All @@ -21,7 +21,7 @@ target_link_libraries(test_refcounts
kmsgstcommons)

add_test_program (test_rembmanager rembmanager.c)
add_dependencies(test_rembmanager ${LIBRARY_NAME}plugins kmsgstcommons)
add_dependencies(test_rembmanager ${LIBRARY_NAME}plugins)
target_include_directories(test_rembmanager PRIVATE
${gstreamer-1.5_INCLUDE_DIRS}
${gstreamer-check-1.5_INCLUDE_DIRS}
Expand All @@ -32,7 +32,7 @@ target_link_libraries(test_rembmanager
kmsgstcommons)

add_test_program (test_rtpsync rtpsync.c)
add_dependencies(test_rtpsync ${LIBRARY_NAME}plugins kmsrtpsync)
add_dependencies(test_rtpsync ${LIBRARY_NAME}plugins)
target_include_directories(test_rtpsync PRIVATE
${gstreamer-1.5_INCLUDE_DIRS}
${gstreamer-check-1.5_INCLUDE_DIRS}
Expand Down
20 changes: 10 additions & 10 deletions tests/server/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ set(VALGRIND_TEST_VARIABLES
set(SUPPRESSIONS "${CMAKE_CURRENT_SOURCE_DIR}/valgrind.supp")

add_test_program(test_module_manager moduleManager.cpp)
add_dependencies(test_module_manager ${LIBRARY_NAME}module ${LIBRARY_NAME}impl)
add_dependencies(test_module_manager ${LIBRARY_NAME}module)
set_property(TARGET test_module_manager
PROPERTY INCLUDE_DIRECTORIES
${CMAKE_CURRENT_BINARY_DIR}/../../
Expand All @@ -28,7 +28,7 @@ target_link_libraries(test_module_manager
)

add_test_program(test_media_set mediaSet.cpp)
add_dependencies(test_media_set ${LIBRARY_NAME}module ${LIBRARY_NAME}impl)
add_dependencies(test_media_set ${LIBRARY_NAME}module)
set_property(TARGET test_media_set
PROPERTY INCLUDE_DIRECTORIES
${CMAKE_CURRENT_BINARY_DIR}/../../
Expand All @@ -48,7 +48,7 @@ target_link_libraries(test_media_set
)

add_test_program(test_media_element mediaElement.cpp)
add_dependencies(test_media_element kmscoreplugins ${LIBRARY_NAME}impl kmsgstcommons)
add_dependencies(test_media_element kmscoreplugins)
set_property(TARGET test_media_element
PROPERTY INCLUDE_DIRECTORIES
${KmsJsonRpc_INCLUDE_DIRS}
Expand All @@ -71,7 +71,7 @@ target_link_libraries(test_media_element
)

add_test_program(test_rtp_endpoint_cpp rtpEndpoint.cpp)
add_dependencies(test_rtp_endpoint_cpp kmscoreplugins ${LIBRARY_NAME}impl)
add_dependencies(test_rtp_endpoint_cpp kmscoreplugins)
set_property(TARGET test_rtp_endpoint_cpp
PROPERTY INCLUDE_DIRECTORIES
${KmsJsonRpc_INCLUDE_DIRS}
Expand All @@ -85,15 +85,15 @@ set_property(TARGET test_rtp_endpoint_cpp
${glibmm-2.4_INCLUDE_DIRS}
${gstreamer-1.5_INCLUDE_DIRS}
${Boost_INCLUDE_DIRS}
)
)
target_link_libraries(test_rtp_endpoint_cpp
${LIBRARY_NAME}impl
${glibmm-2.4_LIBRARIES}
${Boost_LIBRARIES}
)
)

add_test_program(test_sdp_endpoint sdpEndpoint.cpp)
add_dependencies(test_sdp_endpoint kmscoreplugins ${LIBRARY_NAME}impl)
add_dependencies(test_sdp_endpoint kmscoreplugins)
set_property(TARGET test_sdp_endpoint
PROPERTY INCLUDE_DIRECTORIES
${KmsJsonRpc_INCLUDE_DIRS}
Expand All @@ -115,7 +115,7 @@ target_link_libraries(test_sdp_endpoint
)

add_test_program(test_media_object mediaObject.cpp)
add_dependencies(test_media_object kmscoreplugins ${LIBRARY_NAME}impl)
add_dependencies(test_media_object kmscoreplugins)
set_property(TARGET test_media_object
PROPERTY INCLUDE_DIRECTORIES
${KmsJsonRpc_INCLUDE_DIRS}
Expand All @@ -137,7 +137,7 @@ target_link_libraries(test_media_object
)

add_test_program(test_complex_type complexType.cpp)
add_dependencies(test_complex_type kmscoreplugins ${LIBRARY_NAME}impl)
add_dependencies(test_complex_type kmscoreplugins)
set_property(TARGET test_complex_type
PROPERTY INCLUDE_DIRECTORIES
${KmsJsonRpc_INCLUDE_DIRS}
Expand All @@ -158,7 +158,7 @@ target_link_libraries(test_complex_type
)

add_test_program(test_uri_endpoint uriEndpoint.cpp)
add_dependencies(test_uri_endpoint kmscoreplugins ${LIBRARY_NAME}impl)
add_dependencies(test_uri_endpoint kmscoreplugins)
set_property(TARGET test_uri_endpoint
PROPERTY INCLUDE_DIRECTORIES
${KmsJsonRpc_INCLUDE_DIRS}
Expand Down

0 comments on commit 0af59fb

Please sign in to comment.