diff --git a/coreapi/gitversion.cmake b/coreapi/gitversion.cmake index 5c6facdab..23fecb10c 100644 --- a/coreapi/gitversion.cmake +++ b/coreapi/gitversion.cmake @@ -1,5 +1,5 @@ ############################################################################ -# CMakeLists.txt +# gitversion.cmake # Copyright (C) 2014 Belledonne Communications, Grenoble France # ############################################################################ diff --git a/share/CMakeLists.txt b/share/CMakeLists.txt index 0ae15ce76..6fcf96392 100644 --- a/share/CMakeLists.txt +++ b/share/CMakeLists.txt @@ -20,8 +20,24 @@ # ############################################################################ -install(FILES archived-rootca.pem - RENAME rootca.pem +if(APPLE) + find_program(OPENSSL_PROGRAM openssl) + find_program(SED_PROGRAM sed) + execute_process( + COMMAND ${OPENSSL_PROGRAM} version -d + OUTPUT_VARIABLE OPENSSL_VERSION + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + execute_process( + COMMAND ${SED_PROGRAM} "s/OPENSSLDIR: \"\(.*\)\"/\1/" "${OPENSSL_VERSION}" + OUTPUT_VARIABLE HTTPS_CA_DIR + OUTPUT_STRIP_TRAILING_WHITESPACE + ) +endif() + +execute_process(COMMAND ${CMAKE_COMMAND} -DHTTPS_CA_DIR=${HTTPS_CA_DIR} -DWORK_DIR=${CMAKE_CURRENT_SOURCE_DIR} -DOUTPUT_DIR=${CMAKE_CURRENT_BINARY_DIR} -P ${CMAKE_CURRENT_SOURCE_DIR}/rootca.cmake) + +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/rootca.pem DESTINATION ${PACKAGE_DATA_DIR}/linphone PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ ) diff --git a/share/rootca.cmake b/share/rootca.cmake new file mode 100644 index 000000000..d988b778e --- /dev/null +++ b/share/rootca.cmake @@ -0,0 +1,40 @@ +############################################################################ +# rootca.cmake +# Copyright (C) 2014 Belledonne Communications, Grenoble France +# +############################################################################ +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +############################################################################ + +if(HTTPS_CA_DIR) + set(ENV{HTTPS_CA_DIR} "${HTTPS_CA_DIR}") +endif() + +execute_process( + COMMAND ${CMAKE_COMMAND} -E remove "fresh-rootca.pem" + WORKING_DIRECTORY ${OUTPUT_DIR} +) +execute_process( + COMMAND "../scripts/mk-ca-bundle.pl" "${OUTPUT_DIR}/fresh-rootca.pem" + WORKING_DIRECTORY ${WORK_DIR} +) +if(EXISTS "${OUTPUT_DIR}/fresh-rootca.pem") + file(RENAME "${OUTPUT_DIR}/fresh-rootca.pem" "${OUTPUT_DIR}/rootca.pem") +else() + file(COPY "${WORK_DIR}/archived-rootca.pem" DESTINATION "${OUTPUT_DIR}") + file(RENAME "${OUTPUT_DIR}/archived-rootca.pem" "${OUTPUT_DIR}/rootca.pem") +endif()