Commit 89246d12 authored by Ghislain MARY's avatar Ghislain MARY

Define groupable builders.

parent 36f0d667
......@@ -24,6 +24,7 @@ set(EP_bcg729_GIT_REPOSITORY "git://git.linphone.org/bcg729.git" CACHE STRING "b
set(EP_bcg729_GIT_TAG_LATEST "master" CACHE STRING "bcg729 tag to use when compiling latest version")
set(EP_bcg729_GIT_TAG "7f76ef482b26400995474d37fc330565a9fe0e9e" CACHE STRING "bcg729 tag to use")
set(EP_bcg729_EXTERNAL_SOURCE_PATHS "bcg729")
set(EP_bcg729_GROUPABLE YES)
set(EP_bcg729_LINKING_TYPE "${DEFAULT_VALUE_CMAKE_LINKING_TYPE}")
set(EP_bcg729_DEPENDENCIES EP_ms2)
......@@ -24,6 +24,7 @@ set(EP_bzrtp_GIT_REPOSITORY "git://git.linphone.org/bzrtp.git" CACHE STRING "bzr
set(EP_bzrtp_GIT_TAG_LATEST "master" CACHE STRING "bzrtp tag to use when compiling latest version")
set(EP_bzrtp_GIT_TAG "197b527d97a633074ecac82938a20073f73b88b0" CACHE STRING "bzrtp tag to use")
set(EP_bzrtp_EXTERNAL_SOURCE_PATHS "bzrtp")
set(EP_bzrtp_GROUPABLE YES)
set(EP_bzrtp_LINKING_TYPE "${DEFAULT_VALUE_CMAKE_LINKING_TYPE}")
set(EP_bzrtp_DEPENDENCIES )
......
......@@ -24,6 +24,7 @@ set(EP_msamr_GIT_REPOSITORY "git://git.linphone.org/msamr.git" CACHE STRING "msa
set(EP_msamr_GIT_TAG_LATEST "master" CACHE STRING "msamr tag to use when compiling latest version")
set(EP_msamr_GIT_TAG "076adbf96b8c369eb82817802819444fdc119139" CACHE STRING "msamr tag to use")
set(EP_msamr_EXTERNAL_SOURCE_PATHS "msamr")
set(EP_msamr_GROUPABLE YES)
set(EP_msamr_LINKING_TYPE "${DEFAULT_VALUE_CMAKE_LINKING_TYPE}")
set(EP_msamr_DEPENDENCIES EP_ms2 EP_opencoreamr)
......
......@@ -24,6 +24,7 @@ set(EP_msilbc_GIT_REPOSITORY "git://git.linphone.org/msilbc.git" CACHE STRING "m
set(EP_msilbc_GIT_TAG_LATEST "master" CACHE STRING "msilbc tag to use when compiling latest version")
set(EP_msilbc_GIT_TAG "c5924ec00cfb4620bae6e980afdff89206211f64" CACHE STRING "msilbc tag to use")
set(EP_msilbc_EXTERNAL_SOURCE_PATHS "msilbc")
set(EP_msilbc_GROUPABLE YES)
set(EP_msilbc_LINKING_TYPE "${DEFAULT_VALUE_CMAKE_LINKING_TYPE}")
set(EP_msilbc_DEPENDENCIES EP_ms2 EP_libilbcrfc3951)
......
......@@ -24,6 +24,7 @@ set(EP_msopenh264_GIT_REPOSITORY "git://git.linphone.org/msopenh264.git" CACHE S
set(EP_msopenh264_GIT_TAG_LATEST "master" CACHE STRING "msopenh264 tag to use when compiling latest version")
set(EP_msopenh264_GIT_TAG "0722c480d61746e9ab36f76b04ab2f3210890d07" CACHE STRING "msopenh264 tag to use")
set(EP_msopenh264_EXTERNAL_SOURCE_PATHS "msopenh264")
set(EP_msopenh264_GROUPABLE YES)
set(EP_msopenh264_LINKING_TYPE "${DEFAULT_VALUE_CMAKE_LINKING_TYPE}")
set(EP_msopenh264_DEPENDENCIES EP_ms2 EP_openh264)
......
......@@ -24,6 +24,7 @@ set(EP_mssilk_GIT_REPOSITORY "git://git.linphone.org/mssilk.git" CACHE STRING "m
set(EP_mssilk_GIT_TAG_LATEST "master" CACHE STRING "mssilk tag to use when compiling latest version")
set(EP_mssilk_GIT_TAG "60c53a1542f3c5cb93342c7fb16e00ce075dd8f7" CACHE STRING "mssilk tag to use")
set(EP_mssilk_EXTERNAL_SOURCE_PATHS "mssilk")
set(EP_mssilk_GROUPABLE YES)
set(EP_mssilk_LINKING_TYPE "${DEFAULT_VALUE_CMAKE_LINKING_TYPE}")
set(EP_mssilk_DEPENDENCIES EP_ms2)
......@@ -24,6 +24,7 @@ set(EP_mswasapi_GIT_REPOSITORY "git://git.linphone.org/mswasapi.git" CACHE STRIN
set(EP_mswasapi_GIT_TAG_LATEST "master" CACHE STRING "mswasapi tag to use when compiling latest version")
set(EP_mswasapi_GIT_TAG "81fe8504f70854bf7e1beb870248d31c5ffd4f5b" CACHE STRING "mswasapi tag to use")
set(EP_mswasapi_EXTERNAL_SOURCE_PATHS "mswasapi")
set(EP_mswasapi_GROUPABLE YES)
set(EP_mswasapi_LINKING_TYPE "${DEFAULT_VALUE_CMAKE_LINKING_TYPE}")
set(EP_mswasapi_EXTRA_LDFLAGS "/SAFESEH:NO")
......
......@@ -24,6 +24,7 @@ set(EP_msx264_GIT_REPOSITORY "git://git.linphone.org/msx264.git" CACHE STRING "m
set(EP_msx264_GIT_TAG_LATEST "master" CACHE STRING "msx264 tag to use when compiling latest version")
set(EP_msx264_GIT_TAG "3a9b5a9ff79ea45b9f8f03d03d4a4a9213dc2c5d" CACHE STRING "msx264 tag to use")
set(EP_msx264_EXTERNAL_SOURCE_PATHS "msx264")
set(EP_msx264_GROUPABLE YES)
set(EP_msx264_LINKING_TYPE "${DEFAULT_VALUE_CMAKE_LINKING_TYPE}")
set(EP_msx264_DEPENDENCIES EP_ms2 EP_x264)
......@@ -23,6 +23,8 @@
set(EP_tunnel_GIT_REPOSITORY "gitosis@git.linphone.org:tunnel.git" CACHE STRING "tunnel repository URL") # Private repository
set(EP_tunnel_GIT_TAG_LATEST "master" CACHE STRING "tunnel tag to use when compiling latest version")
set(EP_tunnel_GIT_TAG "8f56e77729e6aed5d0daf9ddec94ad67a936e0d0" CACHE STRING "tunnel tag to use")
set(EP_tunnel_EXTERNAL_SOURCE_PATHS "tunnel")
set(EP_tunnel_GROUPABLE YES)
set(EP_tunnel_LINKING_TYPE "${DEFAULT_VALUE_CMAKE_LINKING_TYPE}")
set(EP_tunnel_DEPENDENCIES )
......
......@@ -618,31 +618,33 @@ function(linphone_builder_add_external_projects)
endfunction()
macro(detect_conflicting_cmake_options)
list(REMOVE_DUPLICATES EP_linphone_builder_CMAKE_OPTIONS)
set(_new_options )
foreach(_option ${EP_linphone_builder_CMAKE_OPTIONS})
string(REGEX MATCH "^-D(.+)=(.*)$" _match "${_option}")
if(_match)
set(_new_option "-D${CMAKE_MATCH_1}=")
if(CMAKE_MATCH_2)
set(_new_option "${_new_option}ON")
set(_conflicting_option "${_new_option}OFF")
else()
set(_new_option "${_new_option}OFF")
set(_conflicting_option "${_new_option}ON")
endif()
list(FIND _new_options "${_new_option}" _found)
list(FIND _new_options "${_conflicting_option}" _conflict_found)
if(_found EQUAL -1)
list(APPEND _new_options "${_new_option}")
endif()
if(_conflict_found GREATER -1)
message(FATAL_ERROR "Conflicting options ${_new_option} and ${_conflicting_option}")
if(EP_linphone_builder_CMAKE_OPTIONS)
list(REMOVE_DUPLICATES EP_linphone_builder_CMAKE_OPTIONS)
set(_new_options )
foreach(_option ${EP_linphone_builder_CMAKE_OPTIONS})
string(REGEX MATCH "^-D(.+)=(.*)$" _match "${_option}")
if(_match)
set(_new_option "-D${CMAKE_MATCH_1}=")
if(CMAKE_MATCH_2)
set(_new_option "${_new_option}ON")
set(_conflicting_option "${_new_option}OFF")
else()
set(_new_option "${_new_option}OFF")
set(_conflicting_option "${_new_option}ON")
endif()
list(FIND _new_options "${_new_option}" _found)
list(FIND _new_options "${_conflicting_option}" _conflict_found)
if(_found EQUAL -1)
list(APPEND _new_options "${_new_option}")
endif()
if(_conflict_found GREATER -1)
message(FATAL_ERROR "Conflicting options ${_new_option} and ${_conflicting_option}")
endif()
endif()
endforeach()
if(_new_options)
set(EP_linphone_builder_CMAKE_OPTIONS ${_new_options})
endif()
endforeach()
if(_new_options)
set(EP_linphone_builder_CMAKE_OPTIONS ${_new_options})
endif()
endmacro()
......@@ -676,8 +678,12 @@ function(linphone_builder_add_grouped_external_source_path_projects)
set(EP_linphone_builder_LINKING_TYPE ${EP_linphone_builder_LINKING_TYPES})
endif()
detect_conflicting_cmake_options()
list(REMOVE_DUPLICATES EP_linphone_builder_EXTRA_LDFLAGS)
list(REMOVE_DUPLICATES EP_linphone_builder_DEPENDENCIES)
if(EP_linphone_builder_EXTRA_LDFLAGS)
list(REMOVE_DUPLICATES EP_linphone_builder_EXTRA_LDFLAGS)
endif()
if(EP_linphone_builder_DEPENDENCIES)
list(REMOVE_DUPLICATES EP_linphone_builder_DEPENDENCIES)
endif()
list(APPEND EP_linphone_builder_CMAKE_OPTIONS ${EP_linphone_builder_ADDITIONAL_CMAKE_OPTIONS})
linphone_builder_add_external_project("linphone_builder")
add_dependencies(TARGET_linphone_builder EP_linphone_builder)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment