summaryrefslogtreecommitdiff
path: root/cmake
diff options
context:
space:
mode:
authorGustavo Sverzut Barbieri <barbieri@profusion.mobi>2017-01-26 13:58:26 -0200
committerGustavo Sverzut Barbieri <barbieri@profusion.mobi>2017-01-26 14:23:24 -0200
commit18af6422a07f447de84201fd94b32c24ce80d70d (patch)
treeed5b4541b0031e9395500039ce75161f3158da78 /cmake
parentf4744e1d2a6cb1698400dd9922edaf7ac56d100d (diff)
downloadefl-18af6422a07f447de84201fd94b32c24ce80d70d.tar.gz
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.
Diffstat (limited to 'cmake')
-rw-r--r--cmake/helpers/EflMacros.cmake8
1 files changed, 8 insertions, 0 deletions
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)