[asterisk-scf-commits] asterisk-scf/integration/gitall.git branch "master" updated.

Commits to the Asterisk SCF project code repositories asterisk-scf-commits at lists.digium.com
Tue Jul 19 13:49:24 CDT 2011


branch "master" has been updated
       via  097dcef6e04c45c9537a61e4fa8ab906a814f742 (commit)
       via  66ceb95c9ff6795d80b77fdcab2106e433ed9fc8 (commit)
       via  ebde1b0550c4ce1ab1b61a3bc555278749e151ab (commit)
       via  cff344199fa958787c5a949ba1c294a459ecba85 (commit)
       via  fa9c9336f1c6065b512a1e5da3a39f332d0c699f (commit)
      from  ce2e3648ef6186a601ad8c63205ba0d080f7292c (commit)

Summary of changes:
 CMakeLists.txt                             |    6 ++--
 cmake/AsteriskSCF.cmake                    |   19 +++++++-------
 cmake/modules/pjproject-configure.cmake.in |    2 +
 cmake/modules/pjproject.cmake              |   37 ++++++++++++++++++++++-----
 4 files changed, 45 insertions(+), 19 deletions(-)
 create mode 100644 cmake/modules/pjproject-configure.cmake.in


- Log -----------------------------------------------------------------
commit 097dcef6e04c45c9537a61e4fa8ab906a814f742
Merge: 66ceb95 ebde1b0
Author: Kevin P. Fleming <kpfleming at digium.com>
Date:   Tue Jul 19 13:49:08 2011 -0500

    Merge branch 'master' of git://git.asterisk.org/asterisk-scf/release/cmake

diff --cc cmake/modules/pjproject-configure.cmake.in
index 0000000,f4f17de..f4f17de
mode 000000,100644..100644
--- a/cmake/modules/pjproject-configure.cmake.in
+++ b/cmake/modules/pjproject-configure.cmake.in

commit 66ceb95c9ff6795d80b77fdcab2106e433ed9fc8
Author: Kevin P. Fleming <kpfleming at digium.com>
Date:   Tue Jul 19 13:47:55 2011 -0500

    Bring in pjproject CMake script *after* initializing the main project.
    
    In order to have the main project's compiler flags and build type taken into
    account by the pjproject build system, it must be initialized after the main
    project has been initialized.

diff --git a/CMakeLists.txt b/CMakeLists.txt
index a2c1275..8decb7b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -20,15 +20,15 @@ set(integrated_build true)
 # Make our additional CMake modules available
 list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules")
 
-# Include pjproject build integration
-include(pjproject)
-
 # Include common AsteriskSCF build infrastructure
 include("${CMAKE_SOURCE_DIR}/cmake/AsteriskSCF.cmake")
 
 # This project requires Ice 3.4.x
 astscf_project("Asterisk SCF" 3.4)
 
+# Include pjproject build integration
+include(pjproject)
+
 astscf_slice_plugins("SliceVisitorPattern:create")
 astscf_slice_plugins("SliceClassMemberDefault:create")
 

commit ebde1b0550c4ce1ab1b61a3bc555278749e151ab
Author: Kevin P. Fleming <kpfleming at digium.com>
Date:   Tue Jul 19 13:38:48 2011 -0500

    Ensure that the project's compiler flags are used when building pjproject.
    
    With these changes, any compiler flags set by the CMake project that brings
    in pjproject.cmake will be provided to the pjproject 'configure' script, and
    will be applied to the builds made by its build system. This will allow
    debuggers to see into the pjproject code, if the containing project is being
    built in 'debug' mode.

diff --git a/modules/pjproject-configure.cmake.in b/modules/pjproject-configure.cmake.in
new file mode 100644
index 0000000..f4f17de
--- /dev/null
+++ b/modules/pjproject-configure.cmake.in
@@ -0,0 +1,2 @@
+set(ENV{CFLAGS} "${CMAKE_C_FLAGS} ${CMAKE_C_FLAGS_${CMAKE_BUILD_TYPE}} ${ADDITIONAL_CFLAGS}")
+execute_process(COMMAND "./configure" "--disable-sound")
diff --git a/modules/pjproject.cmake b/modules/pjproject.cmake
index d632a5a..8dd11c4 100644
--- a/modules/pjproject.cmake
+++ b/modules/pjproject.cmake
@@ -25,21 +25,44 @@ endif()
 
 # This is a simple check to see if we are doing a 64-bit build, if so we need to get pjproject to use -fPIC so the icebox services can get built
 if (CMAKE_SIZEOF_VOID_P MATCHES 8)
-  set(ADDITIONAL_CONFIGURE_ARGUMENTS "CFLAGS=-fPIC")
+  set(ADDITIONAL_CFLAGS "-fPIC")
 endif()
 
-add_custom_command(OUTPUT "${CMAKE_SOURCE_DIR}/pjproject/build.mak" COMMAND "./configure" "--disable-sound" ${ADDITIONAL_CONFIGURE_ARGUMENTS} WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/pjproject" COMMENT "Configuring pjproject")
-add_custom_command(OUTPUT "${CMAKE_SOURCE_DIR}/pjproject/pjlib/build/.pjlib-asteriskscf.depend" COMMAND "make" "dep" "TARGET_NAME=asteriskscf" WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/pjproject" COMMENT "Dependency generating pjproject" DEPENDS "${CMAKE_SOURCE_DIR}/pjproject/build.mak")
-add_custom_target(pjproject-clean COMMAND "make" "clean" "TARGET_NAME=asteriskscf" WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/pjproject" COMMENT "Cleaning pjproject")
-add_custom_target(pjproject-distclean COMMAND "make" "distclean" "TARGET_NAME=asteriskscf" WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/pjproject" COMMENT "Deep cleaning pjproject")
+configure_file("${CMAKE_SOURCE_DIR}/cmake/modules/pjproject-configure.cmake.in" pjproject-configure.cmake)
+
+add_custom_command(OUTPUT "${CMAKE_SOURCE_DIR}/pjproject/build.mak"
+                   COMMAND ${CMAKE_COMMAND} -P ${CMAKE_BINARY_DIR}/pjproject-configure.cmake
+		   WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/pjproject"
+		   COMMENT "Configuring pjproject")
+add_custom_command(OUTPUT "${CMAKE_SOURCE_DIR}/pjproject/pjlib/build/.pjlib-asteriskscf.depend"
+                   COMMAND "make" "dep" "TARGET_NAME=asteriskscf"
+		   WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/pjproject"
+		   COMMENT "Dependency generating pjproject"
+		   DEPENDS "${CMAKE_SOURCE_DIR}/pjproject/build.mak")
+add_custom_target(pjproject-clean
+                  COMMAND "make" "clean" "TARGET_NAME=asteriskscf"
+		  WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/pjproject"
+		  COMMENT "Cleaning pjproject")
+add_custom_target(pjproject-distclean
+                  COMMAND "make" "distclean" "TARGET_NAME=asteriskscf"
+		  WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/pjproject"
+		  COMMENT "Deep cleaning pjproject")
 
 # Function which adds build targets for the following supported pjproject components: pjlib, pjlib-util, pjnath, pjmedia, pjsip.
 function(pjproject_build PJPROJECT_COMPONENT)
   if(UNIX)
     if(${PJPROJECT_COMPONENT} STREQUAL "third_party")
-      add_custom_target("pjproject-third_party" COMMAND "make" "TARGET_NAME=asteriskscf" WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/pjproject/third_party/build" COMMENT "Building pjproject third party components" DEPENDS "${CMAKE_SOURCE_DIR}/pjproject/pjlib/build/.pjlib-asteriskscf.depend")
+      add_custom_target("pjproject-third_party"
+                        COMMAND "make" "TARGET_NAME=asteriskscf"
+			WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/pjproject/third_party/build"
+			COMMENT "Building pjproject third party components"
+			DEPENDS "${CMAKE_SOURCE_DIR}/pjproject/pjlib/build/.pjlib-asteriskscf.depend")
     else()
-      add_custom_target("pjproject-${PJPROJECT_COMPONENT}" COMMAND "make" "TARGET_NAME=asteriskscf" "DIRS=${PJPROJECT_COMPONENT}/build" WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/pjproject" COMMENT "Building pjproject-${PJPROJECT_COMPONENT}" DEPENDS "${CMAKE_SOURCE_DIR}/pjproject/pjlib/build/.pjlib-asteriskscf.depend")
+      add_custom_target("pjproject-${PJPROJECT_COMPONENT}"
+                        COMMAND "make" "TARGET_NAME=asteriskscf" "DIRS=${PJPROJECT_COMPONENT}/build"
+			WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/pjproject"
+			COMMENT "Building pjproject-${PJPROJECT_COMPONENT}"
+			DEPENDS "${CMAKE_SOURCE_DIR}/pjproject/pjlib/build/.pjlib-asteriskscf.depend")
       add_dependencies("pjproject-${PJPROJECT_COMPONENT}" "pjproject-pjlib")
     endif()
     if(${PJPROJECT_COMPONENT} STREQUAL "pjsip")

commit cff344199fa958787c5a949ba1c294a459ecba85
Author: Kevin P. Fleming <kpfleming at digium.com>
Date:   Tue Jul 19 13:37:39 2011 -0500

    Use proper variable for identifying GNU C compiler.
    
    The CMake variable that identifies the C compiler in use as 'GNU C' was not
    referenced properly; as a result, the script's attempts to set compiler flags
    for compiling C code did not take effect.

diff --git a/AsteriskSCF.cmake b/AsteriskSCF.cmake
index 51bc21c..799747e 100644
--- a/AsteriskSCF.cmake
+++ b/AsteriskSCF.cmake
@@ -359,7 +359,7 @@ function(astscf_project NAME ICE_VERSION)
     endif()
   endif()
 
-  if(CMAKE_COMPILER_IS_GNUC)
+  if(CMAKE_COMPILER_IS_GNUCC)
     list(APPEND c_flags_debug "-Wall" "-g3")
     list(APPEND c_flags_profile "-ftest-coverage" "-fprofile-arcs")
   endif()

commit fa9c9336f1c6065b512a1e5da3a39f332d0c699f
Author: Kevin P. Fleming <kpfleming at digium.com>
Date:   Tue Jul 19 13:36:24 2011 -0500

    Convert __astscf_append_to_var back to a macro.
    
    This really does need to be a macro, not a function, so that the variable it
    sets will be set in the *caller's* PARENT_SCOPE. In the current code, all of
    the logic to set compiler flags is effectively ignored, because those variables
    aren't set in the proper scope.

diff --git a/AsteriskSCF.cmake b/AsteriskSCF.cmake
index 0e13f2c..51bc21c 100644
--- a/AsteriskSCF.cmake
+++ b/AsteriskSCF.cmake
@@ -103,12 +103,13 @@ function(__astscf_set_cache_string var value reason)
   endforeach()
 endfunction()
 
-function(__astscf_append_to_var VAR)
+macro(__astscf_append_to_var VAR)
+  unset(_atv)
   foreach(item ${ARGN})
-    set(_altv "${_altv} ${item}")
+    set(_atv "${_atv} ${item}")
   endforeach()
-  set(${VAR} "${${VAR}} ${_altv}" PARENT_SCOPE)
-endfunction()
+  set(${VAR} "${${VAR}} ${_atv}" PARENT_SCOPE)
+endmacro()
 
 # installation directories (these are all relative to ${CMAKE_INSTALL_PREFIX})
 __astscf_set_cache_path(INSTALL_SYS_CONF_DIR etc "read-only data files that pertain to a single machine")
@@ -135,11 +136,11 @@ if(NOT CMAKE_BUILD_TYPE)
     FORCE)
 endif()
 
-# since Debug, debug and DeBuG all mean the same thing to cmake, tolower it
+# since Debug, debug and DeBuG all mean the same thing to cmake, toupper it
 # for consistency
-string(TOLOWER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE)
+string(TOUPPER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE)
 
-if(WIN32 AND ${CMAKE_BUILD_TYPE} STREQUAL profile)
+if(WIN32 AND ${CMAKE_BUILD_TYPE} STREQUAL PROFILE)
   message(FATAL_ERROR "Profile builds not supported")
 endif()
 
@@ -169,7 +170,7 @@ if(UNIX)
   set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS true)
 endif()
 
-if(${CMAKE_BUILD_TYPE} STREQUAL profile)
+if(${CMAKE_BUILD_TYPE} STREQUAL PROFILE)
   message(STATUS "Disabling shared libs.")
   set(BUILD_SHARED_LIBS false
     CACHE BOOL "Enables building shared libraries." FORCE)

-----------------------------------------------------------------------


-- 
asterisk-scf/integration/gitall.git



More information about the asterisk-scf-commits mailing list