function(debug_message) if(MESSAGE_DEBUG_ACTIVE) message("${ARGN}") endif() endfunction(debug_message) option(MESSAGE_DEBUG_ACTIVE OFF) set(CMAKE_DEBUG_POSTFIX "d") get_filename_component(_mymoduledir ${CMAKE_CURRENT_LIST_FILE} PATH) SET(USER_MODULE_PATH "" CACHE PATH "set this to define a folder for module override") IF(USER_MODULE_PATH) SET(CMAKE_MODULE_PATH "${USER_MODULE_PATH};${_mymoduledir};${CMAKE_MODULE_PATH}") ELSE(USER_MODULE_PATH) SET(CMAKE_MODULE_PATH "${_mymoduledir};${CMAKE_MODULE_PATH}") ENDIF(USER_MODULE_PATH) # Allow the user to toggle between static/shared builds option(EXTERNAL_ASSEMBLY_BUILD_SHARED_HINT OFF) set(EXTERNAL_ASSEMBLY_BUILD_SHARED ${EXTERNAL_ASSEMBLY_BUILD_SHARED_HINT}) # option(EXTERNAL_ASSEMBLY_INDIVIDUAL_INSTALL_PACKAGE "set to on to install each package into its own folder" OFF) # Allow the user to decide if Packages that use Find have to search in environment option(EXTERNAL_ASSEMBLY_SEARCH_AND_USE_SYSTEM_MODULES "set to on if you prefer system modules" OFF) if(NOT EXTERNAL_ASSEMBLY_SEARCH_AND_USE_SYSTEM_MODULES) #set(Package_search_hints NO_SYSTEM_ENVIRONMENT_PATH NO_DEFAULT_PATH) set(Package_search_hints NO_SYSTEM_ENVIRONMENT_PATH) endif() # if(UNIX) set(EXTERNAL_ASSEMBLY_BUILD_COMMAND "make;-j;4" CACHE STRING "set this to define a folder for module override") endif() # set(Package_list "") set(Package_list_added "") # # FIND_PACKAGE(Subversion) # IF(Subversion_FOUND) # debug_message("svn exec-->${Subversion_SVN_EXECUTABLE}<-->${Subversion_VERSION_SVN}<--") # ENDIF(Subversion_FOUND) find_program(PATCH_PROGRAM patch) IF(PATCH_PROGRAM) debug_message("patch exec-->${PATCH_PROGRAM}") ENDIF() include(ExternalProject) set(EXTERNAL_ASSEMBLY_BASE_BUILD ${CMAKE_BINARY_DIR}/bld) set(EXTERNAL_ASSEMBLY_COMMON_PREFIX ${CMAKE_BINARY_DIR}/install CACHE PATH "set this to the assembly installation") if( NOT EXTERNAL_ASSEMBLY_INDIVIDUAL_INSTALL_PACKAGE) set(CMAKE_PREFIX_PATH ${EXTERNAL_ASSEMBLY_COMMON_PREFIX}) endif() #here we want the sources to accumulate if( NOT EXTERNAL_ASSEMBLY_BASE_SOURCE ) get_filename_component(EXTERNAL_ASSEMBLY_BASE_SOURCE ${CMAKE_SOURCE_DIR}/../../Sources ABSOLUTE) endif() #set up initial flags set(BUILD_SHARED_LIBS ${EXTERNAL_ASSEMBLY_BUILD_SHARED}) if(NOT EXTERNAL_ASSEMBLY_BUILD_SHARED) #this is to avoid linking errors on AMD64, basically add -fPIC also to static lib buildslike #relocation R_X86_64_32S #see #http://www.cmake.org/pipermail/cmake/2006-September/011316.html #http://www.gentoo.org/proj/en/base/amd64/howtos/index.xml?part=1&chap=3 if("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64" ) if(APPLE) message("ATTENZIONE!!!! uso hack per unix AMD64 !!!!!!!! ") endif() set(CMAKE_C_FLAGS "-fPIC ${CMAKE_C_FLAGS}") set(CMAKE_CXX_FLAGS "-fPIC ${CMAKE_CXX_FLAGS}") endif() endif() set(Package_Pass_Variables CMAKE_PREFIX_PATH CMAKE_MODULE_PATH CMAKE_DEBUG_POSTFIX BUILD_SHARED_LIBS CMAKE_VERBOSE_MAKEFILE CMAKE_BUILD_TYPE CMAKE_C_FLAGS CMAKE_CXX_FLAGS CMAKE_EXE_LINKER_FLAGS CMAKE_CXX_COMPILER CMAKE_C_COMPILER CMAKE_Fortran_COMPILER Package_search_hints CMAKE_FIND_ROOT_PATH CMAKE_FIND_ROOT_PATH_MODE_PROGRAM CMAKE_FIND_ROOT_PATH_MODE_LIBRARY CMAKE_FIND_ROOT_PATH_MODE_INCLUDE CMAKE_MAKE_PROGRAM) if(APPLE) set(Package_Pass_Variables ${Package_Pass_Variables} CMAKE_OSX_ARCHITECTURES) endif() include(AssemblySetupFunctionsCore) include(AssemblySetupFunctionsUtils) include(AssemblySetupFunctionsOld)