From 18af6422a07f447de84201fd94b32c24ce80d70d Mon Sep 17 00:00:00 2001 From: Gustavo Sverzut Barbieri Date: Thu, 26 Jan 2017 13:58:26 -0200 Subject: [PATCH] cmake: auto-detect binaries in src/bin/libname if no CMakeLists.txt similar to tests, binaries should also follow the same rule and allow single-binaries with single-source. --- cmake/helpers/EflMacros.cmake | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/cmake/helpers/EflMacros.cmake b/cmake/helpers/EflMacros.cmake index 098d229165..002b06e00d 100644 --- a/cmake/helpers/EflMacros.cmake +++ b/cmake/helpers/EflMacros.cmake @@ -700,6 +700,8 @@ endfunction() # # Internal function to process bins of current EFL_LIB() function(_EFL_LIB_PROCESS_BINS_INTERNAL) + unset(${EFL_LIB_CURRENT}_BINS CACHE) + if(EXISTS ${EFL_BIN_SOURCE_DIR}/CMakeLists.txt) EFL_BIN(${EFL_LIB_CURRENT}) else() @@ -711,6 +713,10 @@ function(_EFL_LIB_PROCESS_BINS_INTERNAL) endforeach() endif() + if(NOT ${EFL_LIB_CURRENT}_BINS AND EXISTS ${EFL_BIN_SOURCE_DIR} AND NOT EXISTS ${EFL_BIN_SOURCE_DIR}/CMakeLists.txt) + EFL_BIN(${EFL_LIB_CURRENT}) + endif() + if(${EFL_LIB_CURRENT}_BINS) add_custom_target(${EFL_LIB_CURRENT}-bins DEPENDS ${${EFL_LIB_CURRENT}_BINS}) endif() @@ -1091,6 +1097,8 @@ function(EFL_BIN _binname) if(INSTALL_DIR) install(TARGETS ${_bintarget} RUNTIME DESTINATION ${INSTALL_DIR}) endif() + + LIST_APPEND_GLOBAL(${EFL_LIB_CURRENT}_BINS ${_bintarget}) endfunction() # EFL_TEST(Name)