set(TARGET_NAME ${TARGET_NAME})
endmacro(PROJECT_TARGET_ADD)
-macro(PROJECT_HAS_TESTS)
- foreach(T ${PROJECT_TARGETS})
- get_target_property(TL ${T} "LABELS")
- if(TL AND "${TL}" MATCHES "^TEST-")
- set(HAS_TESTS TRUE)
- endif()
- endforeach()
-endmacro()
-
macro(PROJECT_PKGDEP_ADD PKG_NAME)
set_property(GLOBAL APPEND PROPERTY PROJECT_PKG_DEPS ${PKG_NAME})
endmacro(PROJECT_PKGDEP_ADD)
set(PACKAGE_TEST_HTTPDIR ${PROJECT_PKG_TEST_DIR}/${HTTPDIR})
set(PACKAGE_TEST_DATADIR ${PROJECT_PKG_TEST_DIR}/${DATADIR})
- if(NOT ${CMAKE_BUILD_TYPE} STREQUAL "RELEASE")
- add_custom_target(populate
+ if(${BUILD_TEST_WGT})
+ add_custom_command(OUTPUT ${PACKAGE_BINDIR} ${PACKAGE_ETCDIR} ${PACKAGE_LIBDIR} ${PACKAGE_HTTPDIR} ${PACKAGE_DATADIR} ${PACKAGE_TEST_BINDIR} ${PACKAGE_TEST_ETCDIR} ${PACKAGE_TEST_LIBDIR} ${PACKAGE_TEST_HTTPDIR} ${PACKAGE_TEST_DATADIR}
COMMAND mkdir -p ${PACKAGE_BINDIR} ${PACKAGE_ETCDIR} ${PACKAGE_LIBDIR} ${PACKAGE_HTTPDIR} ${PACKAGE_DATADIR}
COMMAND mkdir -p ${PACKAGE_TEST_BINDIR} ${PACKAGE_TEST_ETCDIR} ${PACKAGE_TEST_LIBDIR} ${PACKAGE_TEST_HTTPDIR} ${PACKAGE_TEST_DATADIR})
+ add_custom_target(populate DEPENDS ${PACKAGE_BINDIR} ${PACKAGE_ETCDIR} ${PACKAGE_LIBDIR} ${PACKAGE_HTTPDIR} ${PACKAGE_DATADIR} ${PACKAGE_TEST_BINDIR} ${PACKAGE_TEST_ETCDIR} ${PACKAGE_TEST_LIBDIR} ${PACKAGE_TEST_HTTPDIR} ${PACKAGE_TEST_DATADIR})
else()
- add_custom_target(populate
+ add_custom_command(OUTPUT ${PACKAGE_BINDIR} ${PACKAGE_ETCDIR} ${PACKAGE_LIBDIR} ${PACKAGE_HTTPDIR} ${PACKAGE_DATADIR}
COMMAND mkdir -p ${PACKAGE_BINDIR} ${PACKAGE_ETCDIR} ${PACKAGE_LIBDIR} ${PACKAGE_HTTPDIR} ${PACKAGE_DATADIR})
+ add_custom_target(populate DEPENDS ${PACKAGE_BINDIR} ${PACKAGE_ETCDIR} ${PACKAGE_LIBDIR} ${PACKAGE_HTTPDIR} ${PACKAGE_DATADIR})
endif()
# Dirty trick to define a default INSTALL command for app-templates handled
set(S ".ctlso")
endif()
generate_one_populate_target(${P}${OUT}${S} "${PACKAGE_LIBDIR}/plugins")
- elseif(NOT ${CMAKE_BUILD_TYPE} STREQUAL "RELEASE" AND ${T} STREQUAL "TEST-PLUGIN")
+ elseif(${T} STREQUAL "TEST-PLUGIN")
if(NOT S)
set(S ".ctlso")
endif()
endif()
list(APPEND BINDINGS_LIST "${P}${OUT}${S}")
generate_one_populate_target(${P}${OUT}${S} ${PACKAGE_LIBDIR})
+ SET_TARGET_PROPERTIES(${T} PROPERTIES
+ LINK_FLAGS ${BINDINGS_LINK_FLAG}
+ )
elseif(${T} STREQUAL "BINDINGV2")
if(NOT S)
set(S ".so")
endif()
afb_genskel("-2")
generate_one_populate_target(${P}${OUT}${S} ${PACKAGE_LIBDIR})
+ SET_TARGET_PROPERTIES(${T} PROPERTIES
+ LINK_FLAGS ${BINDINGS_LINK_FLAG}
+ )
elseif(${T} STREQUAL "BINDINGV3")
if(NOT S)
set(S ".so")
endif()
afb_genskel("-3")
generate_one_populate_target(${P}${OUT}${S} ${PACKAGE_LIBDIR})
+ SET_TARGET_PROPERTIES(${T} PROPERTIES
+ LINK_FLAGS ${BINDINGS_LINK_FLAG}
+ )
elseif(${T} STREQUAL "EXECUTABLE")
if(NOT S)
set(S "")
else()
generate_one_populate_target(${P}${OUT}${S} ${PACKAGE_BINDIR})
endif()
- elseif(NOT ${CMAKE_BUILD_TYPE} STREQUAL "RELEASE" AND ${T} STREQUAL "TEST-EXECUTABLE")
+ elseif(${T} STREQUAL "TEST-EXECUTABLE")
if(NOT S)
set(S "")
endif()
endif()
elseif(${T} STREQUAL "HTDOCS")
generate_one_populate_target(${P}${OUT} ${PACKAGE_HTTPDIR})
- elseif(NOT ${CMAKE_BUILD_TYPE} STREQUAL "RELEASE" AND ${T} STREQUAL "TEST-HTDOCS")
+ elseif(${T} STREQUAL "TEST-HTDOCS")
generate_one_populate_target(${P}${OUT} ${PACKAGE_HTTPDIR})
elseif(${T} STREQUAL "DATA" )
generate_one_populate_target(${TARGET} ${PACKAGE_DATADIR})
- elseif(NOT ${CMAKE_BUILD_TYPE} STREQUAL "RELEASE" AND ${T} STREQUAL "TEST-DATA")
+ elseif(${T} STREQUAL "TEST-DATA")
generate_one_populate_target(${TARGET} ${PACKAGE_TEST_DATADIR})
elseif(${T} STREQUAL "BINDING-CONFIG" )
generate_one_populate_target(${TARGET} ${PACKAGE_ETCDIR})
- elseif(NOT ${CMAKE_BUILD_TYPE} STREQUAL "RELEASE" AND ${T} STREQUAL "TEST-CONFIG")
+ elseif(${T} STREQUAL "TEST-CONFIG")
generate_one_populate_target(${TARGET} ${PACKAGE_TEST_ETCDIR})
endif()
- elseif(${CMAKE_BUILD_TYPE} MATCHES "[Dd][Ee][Bb][Uu][Gg]")
+ elseif("${CMAKE_BUILD_TYPE}" MATCHES "[Dd][Ee][Bb][Uu][Gg]")
MESSAGE("${Yellow}.. Warning: ${TARGET} ignored when packaging.${ColourReset}")
endif()
endforeach()
endmacro(remote_targets_populate)
macro(wgt_package_build)
+ if(NOT EXISTS ${TEST_WIDGET_CONFIG_TEMPLATE})
+ MESSAGE(STATUS "${BoldBlue}Notice!:Using default test widget configuration's file.\n-- If you want to use a customized test-config.xml template then specify TEST_WIDGET_CONFIG_TEMPLATE in your config.cmake file.${ColourReset}")
+ set(TEST_WIDGET_CONFIG_TEMPLATE "${CMAKE_SOURCE_DIR}/${PROJECT_APP_TEMPLATES_DIR}/test-wgt/test-config.xml.in" CACHE PATH "Path to the test widget config file template (test-config.xml.in)")
+ endif()
if(NOT EXISTS ${WIDGET_CONFIG_TEMPLATE})
MESSAGE(FATAL_ERROR "${Red}WARNING ! Missing mandatory files to build widget file.\nYou need a config.xml template: please specify WIDGET_CONFIG_TEMPLATE correctly.${ColourReset}")
endif()
set(WIDGET_ENTRY_POINT lib)
endif()
- add_custom_command(OUTPUT ${PROJECT_PKG_BUILD_DIR}/config.xml
- COMMAND ${CMAKE_COMMAND} -DINFILE=${WIDGET_CONFIG_TEMPLATE} -DOUTFILE=${PROJECT_PKG_BUILD_DIR}/config.xml -DPROJECT_BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR} -P ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_APP_TEMPLATES_DIR}/cmake/configure_file.cmake
- COMMAND cp ${ICON_PATH} ${PROJECT_PKG_BUILD_DIR}/${PROJECT_ICON}
- )
- add_custom_command(OUTPUT ${PROJECT_PKG_TEST_DIR}/test-config.xml ${PROJECT_PKG_TEST_DIR}/bin/launcher
- COMMAND ${CMAKE_COMMAND} -DINFILE=${CMAKE_SOURCE_DIR}/${PROJECT_APP_TEMPLATES_DIR}/test-widget/test-config.xml.in -DOUTFILE=${PROJECT_PKG_TEST_DIR}/config.xml -DPROJECT_BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR} -P ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_APP_TEMPLATES_DIR}/cmake/configure_file.cmake
- COMMAND cp ${ICON_PATH} ${PROJECT_PKG_TEST_DIR}/${PROJECT_ICON}
- COMMAND cp ${CMAKE_SOURCE_DIR}/${PROJECT_APP_TEMPLATES_DIR}//test-widget/launcher.sh.in ${PROJECT_PKG_TEST_DIR}/bin/launcher
- )
-
if(NOT ${CMAKE_BUILD_TYPE} STREQUAL "RELEASE")
string(TOLOWER "${PROJECT_NAME}-${CMAKE_BUILD_TYPE}" WGT_NAME)
- add_custom_target(packaging_wgt DEPENDS ${PROJECT_PKG_BUILD_DIR}/config.xml ${PROJECT_PKG_TEST_DIR}/test-config.xml ${PROJECT_PKG_TEST_DIR}/bin/launcher)
else()
string(TOLOWER "${PROJECT_NAME}" WGT_NAME)
- add_custom_target(packaging_wgt DEPENDS ${PROJECT_PKG_BUILD_DIR}/config.xml)
endif()
# Fulup ??? copy any extra file in wgt/etc into populate package before building the widget
endif()
endif()
+ add_custom_command(OUTPUT ${PROJECT_PKG_BUILD_DIR}/config.xml
+ COMMAND ${CMAKE_COMMAND} -DINFILE=${WIDGET_CONFIG_TEMPLATE} -DOUTFILE=${PROJECT_PKG_BUILD_DIR}/config.xml -DPROJECT_BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR} -P ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_APP_TEMPLATES_DIR}/cmake/configure_file.cmake
+ COMMAND cp ${ICON_PATH} ${PROJECT_PKG_BUILD_DIR}/${PROJECT_ICON}
+ )
+ add_custom_command(OUTPUT ${PROJECT_PKG_TEST_DIR}/config.xml ${PROJECT_PKG_TEST_DIR}/bin/launcher
+ COMMAND ${CMAKE_COMMAND} -DINFILE=${TEST_WIDGET_CONFIG_TEMPLATE} -DOUTFILE=${PROJECT_PKG_TEST_DIR}/config.xml -DPROJECT_BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR} -P ${PROJECT_APP_TEMPLATES_DIR}/cmake/configure_file.cmake
+ COMMAND mkdir -p ${PROJECT_PKG_TEST_DIR}/bin
+ COMMAND cp ${ICON_PATH} ${PROJECT_PKG_TEST_DIR}/${PROJECT_ICON}
+ COMMAND cp ${CMAKE_SOURCE_DIR}/${PROJECT_APP_TEMPLATES_DIR}/test-widget/launcher.sh.in ${PROJECT_PKG_TEST_DIR}/bin/launcher
+ )
+
add_custom_command(OUTPUT ${WGT_NAME}.wgt
DEPENDS ${PROJECT_TARGETS}
COMMAND ${packCMD}
COMMAND ${packCMDTest}
)
- PROJECT_HAS_TESTS()
- if(NOT ${CMAKE_BUILD_TYPE} STREQUAL "RELEASE" AND HAS_TESTS)
+ if(${BUILD_TEST_WGT})
+ add_custom_target(packaging_wgt DEPENDS ${PROJECT_PKG_BUILD_DIR}/config.xml ${PROJECT_PKG_TEST_DIR}/config.xml ${PROJECT_PKG_TEST_DIR}/bin/launcher)
add_custom_target(widget DEPENDS ${WGT_NAME}.wgt ${WGT_NAME}-test.wgt)
set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES "${CMAKE_CURRENT_BINARY_DIR}/${WGT_NAME}-test.wgt")
else()
+ add_custom_target(packaging_wgt DEPENDS ${PROJECT_PKG_BUILD_DIR}/config.xml)
add_custom_target(widget DEPENDS ${WGT_NAME}.wgt)
endif()