function(ALICE_CleanOutput _output input)
- string(REGEX REPLACE "\n" " " clean ${input})
+ string(REGEX REPLACE "\n" " " clean "${input}")
set(${_output} ${clean} PARENT_SCOPE)
endfunction(ALICE_CleanOutput)
set(corrected)
foreach(path ${value})
set(external)
- string(REGEX MATCH "^/" external ${path})
+ string(REGEX MATCH "^/" external "${path}")
if(NOT external)
list(APPEND corrected "${CMAKE_SOURCE_DIR}/${path}" )
else()
- list(APPEND corrected ${path})
+ list(APPEND corrected "${path}")
endif(NOT external)
endforeach(path)
set(${_output} ${corrected} PARENT_SCOPE)
foreach(arg ${input})
set(item ${arg})
if(prefix)
- string(REGEX MATCH "^${prefix}" pre ${arg})
+ string(REGEX MATCH "^${prefix}" pre "${arg}")
endif(prefix)
if(suffix)
- string(REGEX MATCH "${suffix}$" suf ${arg})
+ string(REGEX MATCH "${suffix}$" suf "${arg}")
endif(suffix)
if(NOT pre)
set(item "${prefix}${item}")
set(format)
foreach(arg ${input})
set(item ${arg})
- string(REGEX MATCH "^(/|-)" preformatted ${item})
+ string(REGEX MATCH "^(/|-)" preformatted "${item}")
if(NOT preformatted)
set(item "-l${item}")
endif(NOT preformatted)
if(ALIDEBUG STREQUAL "YES")
set(ALICE_TARGET ${ALICE_TARGET}DEBUG)
message("Befor ${CXXFLAGS}")
- string(REGEX MATCHALL "-O[^ ]*" FFLAGS ${FFLAGS})
- string(REGEX MATCHALL "-O[^ ]*" CXXFLAGS ${CXXFLAGS})
+ string(REGEX MATCHALL "-O[^ ]*" FFLAGS "${FFLAGS}")
+ string(REGEX MATCHALL "-O[^ ]*" CXXFLAGS "${CXXFLAGS}")
message("After ${CXXFLAGS}")
- string(REGEX MATCHALL "-O[^ ]*" CFLAGS ${CFLAGS})
- string(REGEX MATCHALL "-O[^ ]*" SOFLAGS ${SOFLAGS})
- string(REGEX MATCHALL "-O[^ ]*" LDFLAGS ${LDFLAGS})
+ string(REGEX MATCHALL "-O[^ ]*" CFLAGS "${CFLAGS}")
+ string(REGEX MATCHALL "-O[^ ]*" SOFLAGS "${SOFLAGS}")
+ string(REGEX MATCHALL "-O[^ ]*" LDFLAGS "${LDFLAGS}")
set(FFLAGS "-g ${FFLAGS}")
set(CXXFLAGS "-g ${CXXFLAGS}")
set(CFLAGS "-g ${CFLAGS}")
foreach(PACKAGEFILE ${PACKAGES})
set(lib)
set(bin)
- string(REGEX MATCH "CMakelib" lib ${PACKAGEFILE})
- string(REGEX MATCH "CMakebin" bin ${PACKAGEFILE})
+ string(REGEX MATCH "CMakelib" lib "${PACKAGEFILE}")
+ string(REGEX MATCH "CMakebin" bin "${PACKAGEFILE}")
get_filename_component(PACKAGE ${PACKAGEFILE} NAME)
- string(REGEX REPLACE "^CMake(lib|bin)(.*)\\.pkg" "\\2" PACKAGE ${PACKAGE})
+ string(REGEX REPLACE "^CMake(lib|bin)(.*)\\.pkg" "\\2" PACKAGE "${PACKAGE}")
if(ALICEDEV)
message("Adding package ${PACKAGE} in ${MODULE}")
endif(ALICEDEV)
get_property(EXCLUDEPACKAGE TARGET ${PACKAGE} PROPERTY EXCLUDE_FROM_ALL)
if(NOT EXCLUDEPACKAGE)
install(TARGETS ${PACKAGE}
- RUNTIME DESTINATION bin
- LIBRARY DESTINATION lib
- ARCHIVE DESTINATION bin)
+ RUNTIME DESTINATION bin/tgt_${ALICE_TARGET}
+ LIBRARY DESTINATION lib/tgt_${ALICE_TARGET}
+ ARCHIVE DESTINATION bin/tgt_${ALICE_TARGET})
endif(NOT EXCLUDEPACKAGE)
endforeach(PACKAGEFILE)
# Format neccesary arguments
ALICE_Format(DINC "-I" "" "${DINC};${CMAKE_INCLUDE_EXPORT_DIRECTORY}")
set_source_files_properties(${PDS} PROPERTIES GENERATED TRUE)
+ set_source_files_properties(${PDS} PROPERTIES COMPILE_FLAGS "-w")
add_custom_command(OUTPUT ${PDS}
COMMAND cd ${PROJECT_SOURCE_DIR} && ${ROOTCINT} -f ${CMAKE_CURRENT_BINARY_DIR}/${PDS} -c -D_MODULE=\\\"${MODULE}\\\" ${DEDEFINE} ${DCINTFLAGS} ${DINC} ${DCINTHDRS} ${DDH}
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
include_directories(${CMAKE_INCLUDE_EXPORT_DIRECTORY})
add_library(${PACKAGE} SHARED ${PCS} ${PFS} ${PS} ${PDS})
+ set_target_properties(${PACKAGE} PROPERTIES SUFFIX .so)
if(PELIBS OR SHLIB)
add_dependencies(${PACKAGE}-static libAliMDC root-static-libs)
target_link_libraries(${PACKAGE}-static ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/libAliMDC.a ${ROOTLIBDIR}/libRoot.a ${ROOTLIBDIR}/libfreetype.a ${ROOTLIBDIR}/libpcre.a -pthread -ldl -lcurses)
- install(TARGETS ${PACKAGE}-static RUNTIME DESTINATION bin COMPONENT MDC)
- install(FILES ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/libAliMDC.a ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/libAliMDC.a ${ROOTLIBDIR}/libRoot.a ${ROOTLIBDIR}/libfreetype.a ${ROOTLIBDIR}/libpcre.a DESTINATION lib COMPONENT MDC)
+ install(TARGETS ${PACKAGE}-static RUNTIME DESTINATION bin/tgt_${ALICE_TARGET} COMPONENT MDC)
+ install(FILES ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/libAliMDC.a ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/libAliMDC.a ${ROOTLIBDIR}/libRoot.a ${ROOTLIBDIR}/libfreetype.a ${ROOTLIBDIR}/libpcre.a DESTINATION lib/tgt_${ALICE_TARGET} COMPONENT MDC)
install(FILES ${PROJECT_SOURCE_DIR}/RAW/mdc.h DESTINATION include COMPONENT MDC)
set(CPACK_RPM_PACKAGE_SUMMARY "AliMDC static libraries")
set(CPACK_RPM_PACKAGE_NAME "alimdc")
set(CPACK_RPM_PACKAGE_VERSION "${ALIMDCVERSION}")
set(CPACK_RPM_PACKAGE_RELEASE "${ALIMDCRELEASE}")
- set(CPACK_RPM_PACKAGE_LICENSE "Copyright: CERN ALICE Off-line Group")
+ set(CPACK_RPM_PACKAGE_LICENSE "License: CERN ALICE Off-line Group")
set(CPACK_RPM_PACKAGE_VENDOR "ALICE Core Off-line Group")
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "AliMDC static libraries")
set(CPACK_RPM_PACKAGE_GROUP "Applications/Alice")
endmacro(ALICE_GenerateLinkDef)
macro(ALICE_BuildPAR)
- if(EXISTS ${ALICE_ROOT}/${MODULE}/PROOF-INF.${PACKAGE})
- add_custom_target(${PACKAGE}.par
- COMMAND sed -e 's/include .\(ROOTSYS\)\\/test\\/Makefile.arch/include Makefile.arch/\; s/PACKAGE = .*/PACKAGE = ${PACKAGE}/' < Makefile > ${PACKAGE}/Makefile
- COMMAND cp -pR ${ROOTSYS}/test/Makefile.arch ${PACKAGE}/Makefile.arch
- COMMAND cp -pR PROOF-INF.${PACKAGE} ${PACKAGE}/PROOF-INF
- COMMAND cp -pR lib${PACKAGE}.pkg ${PACKAGE}
- COMMAND tar --exclude=.svn -czhf ${CMAKE_BINARY_DIR}/${PACKAGE}.par ${PACKAGE}
- COMMAND ${CMAKE_COMMAND} -E remove_directory ${PACKAGE}
- COMMAND ${CMAKE_COMMAND} -E cmake_echo_color --red --bold "${PACKAGE}.par has been created in ${CMAKE_BINARY_DIR}"
- DEPENDS ${SRCS} ${HDRS} ${FSRCS} ${DHDR}
- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} )
-
+
+ # if(EXISTS ${ALICE_ROOT}/${MODULE}/PROOF-INF.${PACKAGE})
+ if(EXISTS ${CMAKE_SOURCE_DIR}/${MODULE}/PROOF-INF.${PACKAGE})
+ set(PARSRCS)
foreach(file ${SRCS} ${HDRS} ${FSRCS} ${DHDR})
get_filename_component(srcdir ${file} PATH)
- add_custom_command(OUTPUT ${file}
- COMMAND mkdir -p ${PACKAGE}/${srcdir}
- COMMAND cp -pR ${file} ${PACKAGE}/${file}
+ add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${PACKAGE}/${file}-par
+ COMMAND mkdir -p ${CMAKE_CURRENT_BINARY_DIR}/${PACKAGE}/${srcdir}
+ COMMAND cp -pR ${file} ${CMAKE_CURRENT_BINARY_DIR}/${PACKAGE}/${file}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} )
+ list(APPEND PARSRCS ${CMAKE_CURRENT_BINARY_DIR}/${PACKAGE}/${file}-par)
endforeach(file ${SRCS} ${HDRS} ${FSRCS} ${DHDR})
+
+ add_custom_target(${PACKAGE}.par
+ COMMAND sed -e 's/include .\(ROOTSYS\)\\/test\\/Makefile.arch/include Makefile.arch/\; s/PACKAGE = .*/PACKAGE = ${PACKAGE}/\; s,SRCS *=.*,SRCS = ${SRCS},\;' < Makefile | sed -e 's,HDRS *=.*,HDRS = ${HDRS},\; s,FSRCS *=.*,FSRCS = ${FSRCS},\; s,DHDR *=.*,DHDR = ${DHDR},' > ${CMAKE_CURRENT_BINARY_DIR}/${PACKAGE}/Makefile
+ COMMAND cp -pR ${ROOTSYS}/test/Makefile.arch ${CMAKE_CURRENT_BINARY_DIR}/${PACKAGE}/Makefile.arch
+ COMMAND cp -pR PROOF-INF.${PACKAGE} ${CMAKE_CURRENT_BINARY_DIR}/${PACKAGE}/PROOF-INF
+# COMMAND cp -pR lib${PACKAGE}.pkg ${CMAKE_CURRENT_BINARY_DIR}/${PACKAGE}
+ COMMAND ${CMAKE_COMMAND} -E chdir ${CMAKE_CURRENT_BINARY_DIR} tar --exclude=.svn -czhf ${CMAKE_BINARY_DIR}/${PACKAGE}.par ${PACKAGE}
+ COMMAND ${CMAKE_COMMAND} -E remove_directory ${CMAKE_CURRENT_BINARY_DIR}/${PACKAGE}
+ COMMAND ${CMAKE_COMMAND} -E cmake_echo_color --red --bold "${PACKAGE}.par has been created in ${CMAKE_BINARY_DIR}"
+ DEPENDS ${PARSRCS}
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} )
+
+ add_dependencies(${PACKAGE}.par ${SRCS} ${FSRCS} ${HDRS} ${DHDR})
add_dependencies(par-all ${PACKAGE}.par)
add_dependencies(${MODULE}-par-all ${PACKAGE}.par)
COMMAND ${CMAKE_COMMAND} -E cmake_echo_color --green --bold "${PACKAGE}.par testing succeeded"
WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
+ add_dependencies(test-${PACKAGE}.par ${PACKAGE}.par)
add_dependencies(test-par-all test-${PACKAGE}.par)
add_dependencies(test-${MODULE}-par-all test-${PACKAGE}.par)
- endif(EXISTS ${ALICE_ROOT}/${MODULE}/PROOF-INF.${PACKAGE})
+ endif(EXISTS ${CMAKE_SOURCE_DIR}/${MODULE}/PROOF-INF.${PACKAGE})
+ # endif(EXISTS ${ALICE_ROOT}/${MODULE}/PROOF-INF.${PACKAGE})
+
endmacro(ALICE_BuildPAR)