diff options
author | Gustavo Sverzut Barbieri <barbieri@profusion.mobi> | 2017-01-26 13:58:26 -0200 |
---|---|---|
committer | Gustavo Sverzut Barbieri <barbieri@profusion.mobi> | 2017-01-26 14:23:24 -0200 |
commit | 18af6422a07f447de84201fd94b32c24ce80d70d (patch) | |
tree | ed5b4541b0031e9395500039ce75161f3158da78 /cmake | |
parent | f4744e1d2a6cb1698400dd9922edaf7ac56d100d (diff) | |
download | efl-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.cmake | 8 |
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) |